W systemie Windows można zwykle „wysunąć” urządzenie pamięci USB przed fizycznym odłączeniem go, aby uniknąć uszkodzenia danych.
Jednak w przypadku niektórych urządzeń system Windows nie zapewnia opcji „wysuwania”. Widziałem to najczęściej z niektórymi smartfonami.
Dlaczego to?
Odpowiedzi:
Prawdopodobnie dlatego, że metoda używana do przesyłania plików do telefonu ( MTP zamiast pamięci masowej USB ) nakłada ciężar danych i integralność systemu plików na urządzenie odbierające dane, co w przypadku telefonów komórkowych również uważa się za inteligentne i samodzielne - zasilany lub mieć z powrotem baterię.
Urządzenia pamięci masowej USB to zwykle głupie karty pamięci lub dyski twarde, urządzenia MTP , takie jak telefony, aparaty fotograficzne i podobne są ogólnie rozsądnie inteligentnymi urządzeniami, które osobiście zajmują się ich przechowywaniem. W związku z tym transfer plików może odbywać się w ideologii peer-to-peer, a nie w trybie smart-host-głupi-klient. Gdy dane zostaną „przesłane” do telefonu, zależy to od systemu operacyjnego telefonu i metod systemu plików, aby zapewnić prawidłowe przechowywanie pliku.
Jeśli przesyłanie pliku zostanie przerwane, a tym samym częściowo przesłane, telefon może zdecydować, czy zwolnić przydzielone miejsce, czy pokazać, co zostało przeniesione w poszczególnych przypadkach. Podejrzewam, że większość przerwanych transferów po prostu usuwa niekompletne dane i uwalnia wszelkie przydzielone bloki. Integralność systemu plików jest aktywnie zarządzana przez telefon.
Ponieważ takie przeniesienie albo się zdarza, albo tak się nie dzieje, a wysuwanie oprogramowania jest niepotrzebne, jedynym powodem, aby to zrobić, jest to, aby osoba korzystająca z komputera mogła uzyskać ciepłe, lśniące uczucie „gotowe”. USB z pewnością nie potrzebuje go z perspektywy sprzętowej i jest całkiem zadowolony z urządzeń podłączanych podczas pracy.
Ze strony Wikipedii MTP:
źródło
Podsumowanie
Jest to ostatecznie kwestia tego, czy urządzenie korzysta z MSC czy MTP / PTP. Z reguły dedykowane urządzenia pamięci masowej, takie jak dyski flash i zewnętrzne dyski twarde, używają MSC, natomiast smartfony i inne urządzenia, które muszą utrzymywać dostęp do danych po podłączeniu do komputera lub wymagają kontroli nad przesyłanymi danymi, będą korzystać z MTP. Wiele kamer korzysta z PTP, podzbioru MTP.
Jeśli urządzenie korzysta z MSC, musisz je wysunąć z komputera, zanim będziesz mógł je usunąć. Jeśli używa MTP lub PTP, wysuwanie nie jest wymagane.
Szczegóły techniczne
Mass Storage Class (MSC) umożliwia komputerowi komunikację z napędem w taki sam sposób byłoby w wewnętrzny dysk twardy lub SSD, co czyni go szybciej niż inne protokoły przesyłania danych. Tego właśnie używają dedykowane urządzenia pamięci masowej, takie jak dyski flash USB i zewnętrzne dyski twarde. Wymaga to jednak poziomu blokudostęp do podstawowych nośników pamięci, a to oznacza wyłączny dostęp do urządzenia. W rezultacie MSC nie jest odpowiedni dla urządzeń inteligentnych, ponieważ muszą mieć dostęp do zawartości systemu plików, gdy komputer go używa. Smartfon musiałby skutecznie zamknąć swój system operacyjny, zanim będzie mógł przyznać komputerowi dostęp na poziomie bloków - uciążliwa procedura i taka, która uniemożliwiłaby uruchamianie aplikacji lub korzystanie w inny sposób z urządzenia, gdy jest ono podłączone. Obowiązkiem komputera jest upewnienie się, że dane zostały całkowicie przesłane, więc musisz powiedzieć komputerowi, że wykonałeś to, wysuwając je.
Media Transfer Protocol (MTP) , który jest używany przez większość inteligentnych urządzeń, obejmuje poziom plikówdostęp, a urządzenie, a nie komputer hosta, jest odpowiedzialne za zarządzanie danymi. Smartfony używają MTP, ponieważ muszą mieć dostęp do danych, gdy urządzenie jest podłączone do komputera. MTP pozwala również urządzeniu kontrolować lub ograniczać ilość przesyłanych danych; niektóre (głównie starsze) odtwarzacze multimediów cyfrowych / MP3 używają protokołu MTP w celu wymuszenia ochrony przed kopiowaniem (DRM) w przesyłanych plikach lub w celu zapewnienia zgodności przesyłanych plików multimedialnych z urządzeniem. Ponieważ MTP po prostu przedstawia hierarchiczną strukturę plików / folderów, komputer nie musi się martwić o system plików lub sposób przechowywania danych przez urządzenie. W każdym razie w przypadku MTP nie jest konieczne jawne polecenie wysuwania; gdy urządzenie poinformuje system o zakończeniu przesyłania (okno dialogowe postępu zostało zamknięte), możesz je usunąć bez jawnego wysuwania.
MTP jest nadzbiorem protokołu Picture Transfer Protocol (PTP) , który został pierwotnie zaprojektowany dla kamer komunikujących się z komputerami. Wiele kamer nadal korzysta z PTP, ale niektóre obsługują MSC, a niektóre umożliwiają wybór między MSC i PTP. Ponadto niektóre aparaty obsługują bezpośrednie drukowanie za pośrednictwem protokołu znanego jako PictBridge , który wymaga PTP. Podobnie jak w przypadku MTP, PTP nie wymaga polecenia wysuwania. To, czy kamera może korzystać z MSC, PTP lub obu, zależy od tego, jak kamera obsługuje pamięć, gdy jest podłączona do komputera.
Pamiętaj, że jeśli wyjmiesz kartę pamięci z aparatu i włożysz ją do gniazda karty SD lub innego czytnika multimediów w komputerze, będzie to urządzenie MSC i będziesz musiał ją wysunąć po zakończeniu przesyłania zdjęć.
źródło
Projekt dotyczy również sposobu zasilania urządzeń.
Tam, gdzie oba urządzenia mają własne źródło energii, na przykład komputer i smartfon, jest wystarczająco dużo miejsca na wdrożenie odpowiedniej obsługi przerw w przesyłaniu lub innych awarii. Konstrukcja opiera się na stale dostępnej mocy i jest to stabilny współczynnik, który pozwala uczynić drugi czynnik (komunikacyjnym) odpornym na uszkodzenia. Bez niego w wyjątkowych przypadkach, na przykład, jeśli nagle bateria zostanie wyjęta ze smartfona lub komputer zostanie siłą wyłączony, te urządzenia i ich systemy nie są bardziej odporne na błędy niż głupie dyski USB. (
chkdsk
ktoś?) Te odporne na uszkodzenia urządzenia polegają tylko na wystarczającej ilości czasu, aby z wdziękiem rozwiązać oczekiwane problemy.Ale urządzenia zasilane z hosta mają mało czasu na reakcję na odłączenie od zasilania. A hostowanie systemu plików na takim urządzeniu oznacza nie tylko obsługę żądań użytkowników, ale także dostępność odczytów i zapisów w tle wykonywanych przez procesy w tle hosta nieznane użytkownikowi. Użytkownik nigdy nie wie, czy komunikacja odbywa się w danym momencie. Należy więc podać wyraźny sposób zasygnalizowania zamiaru wyłączenia (i jest to polecenie Eject), na którym host musi zaprzestać jakichkolwiek operacji. Nagłe odłączenie zasilania jest wtedy oczekiwane bez ryzyka. Zdarzenie „Wysuń” to prosty sposób na rozpoczęcie właściwej finalizacji, podczas gdy nadal możemy polegać na ciągłym działaniu. A substancja nie różni się teraz od powyższego przypadku: moc jest przyznawanapodczas wszystkich niezbędnych działań. Po zakończeniu host wysyła sygnał zwrotny (ponieważ to użytkownik fizycznie kontroluje przerwy w zasilaniu), że teraz można bezpiecznie przerwać zasilanie urządzenia bez ryzyka.
Widzimy więc, że jednym z najważniejszych czynników decydujących o projekcie jest to, czy urządzenie może działać autonomicznie, aby mieć czas na obsługę awarii, czy nie. Jeśli nie, należy zażądać wcześniejszej wyraźnej finalizacji - za pomocą polecenia Eject.
źródło