W dniu 16.11.2013 21:52, krul tefał-enu pisze:
> Pracowałem od około 3 godzin na komputerze i w tym czasie miałem otwarty plik
> txt, w którym dokonywałem notatek, używając funkcji zapisz co jakieś 5 minut.
> W pewnej chwili komputer się przegrzał, nie było niebieskiego ekranu tylko
> wszystko zamarło i stanęło w miejscu. Wyłączyłem maszynę na jakieś 10 minut i
> odpaliłem ponownie. Plik txt ma ostatnie zmiany zapisane 2 godziny przed
> awarią, dlaczego
> skoro co 5 minut używałem opcji save??!
Zapis realizowany przez aplikację jest realizowany do bufora
w pamięci operacyjnej i dopiero potem system operacyjny to
zrzuca na nośnik faktycznie (fizycznie). W efekcie operacja
zapisu może być odłożona na czas od kilku do kilkudziesięciu
sekund. Dobre programy wywołują zatem funkcję wymuszającą po
zapisaniu pliku faktyczne zrzucenie go na nośnik, a nawet ro-
bią coś takiego, że nową wersję pliku zapisują pod nową nazwą,
a dopiero po zapisaniu danych na nośnik podmieniają metadane
(zmieniając nazwę zbioru).
Podejrzewam, że tutaj nałożyło się jeszcze jakieś drobne
uszkodzenie systemu plików, tzn. w momencie, gdy komputer
się zawiesił, system operacyjny mógł właśnie zapisywać naj-
nowszą wersję zbioru z bufora na nośnik i ponieważ operacja
została przerwana, z dziennika transakcji została odtworzona
jakaś poprzednia wersja metadanych, wskazująca na bloki uży-
wane przez jedną z poprzednich wersji zbioru.
Generalnie -- system operacyjny nie gwarantuje sam z siebie
integralności danych w warunkach błędnie działającego sprzę-
tu lub zasilania. NTFS gwarantuje tylko integralność metada-
nych, ale nie samych danych.
--
|""""""""""""""""""""""""""""""""""""""""""""""""""""""""""|
| Radosław Sokół | http://www.grush.one.pl/ |
| | Politechnika Śląska |
\........................................................../
|