В Windows вы обычно можете «извлечь» USB-накопитель, прежде чем физически отключить его, чтобы избежать повреждения данных.
Однако для некоторых устройств Windows не предоставляет опцию «извлечь». Я видел это чаще всего на некоторых смартфонах.
Почему это?
Ответы:
Вероятно, потому что метод, который используется для передачи файлов на телефоны ( MTP, а не USB Mass Storage ), возлагает ответственность за целостность данных и файловой системы на устройство, принимающее данные, которое в случае с мобильными телефонами также считается интеллектуальным и самостоятельным. -сила или иметь резервную батарею.
Запоминающие устройства USB, как правило, представляют собой тупые карты памяти или жесткие диски, а устройства MTP, такие как телефоны, камеры и аналогичные устройства, обычно представляют собой достаточно интеллектуальные устройства, которые сами управляют их хранением. Таким образом, передача файлов может происходить в идеологии peer-to-peer, а не в smart-host-dumb-client. После того, как данные «отправлены» на телефон, это зависит от операционной системы телефона и методов файловой системы, чтобы обеспечить правильное хранение файла.
Если передача файла прервана и, таким образом, частично передана, телефон может решить, освободить ли выделенное место или показать, что было передано в каждом конкретном случае. Я подозреваю, что большинство прерванных передач просто отбросит неполные данные и освободит все выделенные блоки. Целостность файловой системы активно управляется телефоном.
Поскольку такая передача либо происходит, либо не происходит, и удаление программного обеспечения не является необходимым, единственная причина, по которой он выполняется, заключается в том, чтобы человек, использующий компьютер, мог получить ощущение теплого сияния "Я сделал". USB, безусловно, не нужен с аппаратной точки зрения и вполне доволен подключением устройств к сети.
Со страницы Википедии MTP:
источник
Резюме
В конечном счете, это вопрос того, использует ли устройство MSC или MTP / PTP. Как правило, выделенные устройства хранения, такие как флэш-диски и внешние жесткие диски, используют MSC, в то время как смартфоны и другие устройства, которым необходимо поддерживать доступ к данным при подключении к компьютеру или требовать контроля над передаваемыми данными, будут использовать MTP. Многие камеры используют PTP, подмножество MTP.
Если устройство использует MSC, вам необходимо извлечь его из компьютера, прежде чем вы сможете удалить его. Если он использует MTP или PTP, выброс не требуется.
Технические подробности
Класс Mass Storage Class (MSC) позволяет компьютеру обмениваться данными с диском почти так же, как с внутренним жестким диском или твердотельным накопителем, что делает его более быстрым, чем другие протоколы для передачи данных. Это то, что используют специальные устройства хранения, такие как USB-накопители и внешние жесткие диски. Тем не менее, это требует уровня блокадоступ к базовому носителю, а это означает эксклюзивный доступ к устройству. В результате MSC не подходит для интеллектуальных устройств, потому что они должны иметь возможность доступа к содержимому файловой системы, пока компьютер ее использует. Смартфон фактически должен был бы закрыть свою ОС, прежде чем он сможет предоставить доступ к компьютеру на уровне блоков - громоздкая процедура, которая помешает вам запускать приложения или иным образом использовать устройство, пока оно подключено. Компьютер несет ответственность за то, чтобы данные были полностью переданы, поэтому вам нужно сообщить компьютеру, что вы сделали, удалив его.
Протокол передачи мультимедиа (MTP) , который используется большинством интеллектуальных устройств, включает файловый уровеньдоступ, и устройство, а не хост-компьютер, отвечает за управление данными. Смартфоны используют MTP, потому что они должны иметь возможность доступа к данным, когда устройство подключено к компьютеру. MTP также позволяет устройству контролировать или ограничивать передачу данных; некоторые (в основном старые) цифровые мультимедийные / MP3-плееры используют MTP для обеспечения защиты от копирования (DRM) переданных файлов или для обеспечения совместимости передаваемых мультимедийных файлов с устройством. Поскольку MTP просто представляет иерархическую структуру файлов / папок, компьютеру не нужно беспокоиться о файловой системе или о том, как устройство хранит данные. В любом случае, с MTP нет необходимости в явной команде eject; как только устройство сообщит системе, что передача завершена (диалоговое окно выполнения закрыто), вы можете удалить устройство, не извлекая его явно.
MTP - это расширенный набор протокола передачи изображений (PTP) , который изначально был разработан для камер, обменивающихся данными с компьютерами. Многие камеры по-прежнему используют PTP, но некоторые поддерживают MSC, а некоторые позволяют выбирать между MSC и PTP. Кроме того, некоторые камеры поддерживают прямую печать через протокол, известный как PictBridge , для которого требуется PTP. Как и в случае с MTP, PTP не требует команды eject. Возможность использования камерой MSC, PTP или того и другого зависит от того, как камера обрабатывает свое хранилище при подключении к компьютеру.
Обратите внимание, что если вы извлечете карту памяти из камеры и вставите ее в слот для карт памяти SD или в другое устройство чтения мультимедиа на своем компьютере, это будет устройство MSC, и вам придется извлечь ее, когда вы закончите передачу изображений.
источник
Дизайн также связан с тем, как устройства питаются.
Там, где оба устройства имеют собственный источник энергии, например компьютер и смартфон, имеется достаточно места для правильной обработки прерываний передачи или любого другого сбоя. Конструкция опирается на постоянно доступную мощность, и это стабильный фактор, который позволяет сделать другой фактор (коммуникационный) отказоустойчивым. Без этого, в исключительном случае, например, если аккумулятор внезапно извлекается из смартфона или ПК принудительно отключается, эти устройства и их системы на самом деле не более устойчивы к ошибкам, чем неработающие USB-накопители. (
chkdsk
кто-нибудь?) Эти отказоустойчивые устройства просто полагаются на достаточно времени, чтобы изящно решить ожидаемые проблемы.Но устройства, работающие от их хоста, практически не имеют времени на любую реакцию на отключение от их питания. А размещение файловой системы в таком устройстве означает не только обслуживание пользовательских запросов, но также доступность для фоновых операций чтения и записи, выполняемых фоновыми процессами хоста, неизвестными пользователю. Пользователь никогда не знает, происходит ли общение в данный момент. Таким образом, должен быть предусмотрен явный способ сигнализации о намерении выключения (и это та команда Eject), при которой хост должен прекратить выполнение каких-либо операций. Внезапное отключение питания ожидается без риска. Таким образом, событие «Извлечение» - это простой способ начать надлежащее завершение, в то время как мы все еще можем рассчитывать на непрерывную работу. И вещество теперь ничем не отличается от приведенного выше случая: власть предоставленаво время всех необходимых действий. Когда закончите, хост посылает сигнал назад (потому что это пользователь, который физически контролирует прерывание питания), что теперь безопасно внезапно отключить питание устройства без риска.
Итак, мы видим, что одним из наиболее важных факторов, влияющих на дизайн, является то, способно ли устройство работать автономно, чтобы иметь время для обработки сбоев, или нет. Если нет, то предварительная явная финализация должна быть запрошена командой Eject.
источник