RSS

Media wymagają odmontowywania

Liczba odsłon: 57

Kiedyś zapisywanie danych było proste. Wystarczyło wybrać opcję Save, poczekać, aż program zgłosi zapisanie pliku a lampka stacji dysków zgaśnie i już można było wyłączać komputer albo wyciągać dyskietkę.

Potem wprowadzono buforowanie zapisu. W przypadku dyskietek bezwzględnie zablokowano tę opcję — ludzie zbytnio byli przyzwyczajeni do tego, że zgłoszenie programu oznacza, że można już wyjąć nośnik ze stacji. Dyski twarde jednak były buforowane i od razu ujawniły się problemy związane z takim podejściem. Zbyt często użytkownicy zapisywali dokument, wybierali opcję wyjścia z programu i widząc zgłoszenie C:\> — wyłączali komputer, tracąc „zapisane” dane. Nie pomagało wprowadzenie pięciosekundowego limitu, po którym dane zawsze były zrzucane na nośnik: czasem użytkownicy byli szybsi. Sytuacja poprawiła się nieco w momencie wprowadzenia obowiązkowej synchronizacji buforów z nośnikiem przed wyświetleniem znaku zgłoszenia systemu MS-DOS, ale wszystkim przewrażliwionym na punkcie bezpieczeństwa danych producenci programów buforujących zalecali całkowite wyłączenie buforowania.

Dzisiaj mamy podobną sytuację z nośnikami pamięci Flash EEPROM podłączanymi do portów USB. Pamięci tego typu wymagają skutecznego buforowania zapisu, by działać sprawnie i nie zużywać się w przyspieszonym tempie. Buforowanie jednak natychmiast wprowadza ryzyko, że nośnik zostanie wyjęty zanim jeszcze cała zawartość buforów zostanie zrzucona do pamięci Flash; pół biedy, jeżeli straci się tylko zawartość pliku, jednak niewłaściwe zsynchronizowanie metadanych systemu plików może oznaczać utratę całej zawartości partycji lub nośnika.

System Windows stara się zapobiec takim sytuacjom, jak najszybciej zrzucając dane z buforów na nośnik. Operacja zamknięcia pliku nie jest (przy standardowych ustawieniach) kończona zanim bufory nie zostaną zsynchronizowane, dzięki czemu program raczej zawiesi się na czas zapisywania danych, niż przedwcześnie zgłosi pomyślny zapis. Mimo to w niektórych sytuacjach może się zdarzyć, że wyciągniemy z portu pen-drive, na którym parę plików było jeszcze otwartych — a w takim przypadku strata części (lub całości) danych jest całkiem prawdopodobna.

Dlatego zawsze należy korzystać z ikony bezpiecznego usuwania sprzętu i dopiero po uzyskaniu komunikatu systemowego, że nośnik został odmontowany, wolno faktycznie wyjąć go z gniazda. Dopiero w tym momencie bowiem pewne jest, że wszystkie otwarte pliki zostały zamknięte, bufory zsynchronizowane, a dalsze zapisy na nośniku — zablokowane.