Są dwie rzeczy do przemyślenia tutaj, na co wskazują inne odpowiedzi.
Pierwszym z nich jest uszkodzenie systemu plików. Odnosi się to do struktur metadanych, które sprawiają, że system plików jest użyteczny i jest rozumiany i kontrolowany przez jądro.
Drugi to zawartość plików. Gdy zawartość pliku jest uszkodzona, jądro nie będzie o tym wiedzieć (ani się tym przejmować). Złożone systemy, takie jak bazy danych, wdrażają własne urządzenia metadanych, aby poradzić sobie z tym problemem, ale w przypadku większości typów plików w typowym systemie stacjonarnym nie ma czegoś takiego.
Jeśli edytujesz plik, „zmiana” pliku może polegać na zapisie w kilku lokalizacjach. Po zakończeniu wszystkich zapisów plik jest w spójnym stanie, ale po zakończeniu tylko niektórych zapisów zawartość pliku może być uszkodzona (niespójna)
System operacyjny (powinien) „zgrupuje” powiązane operacje zapisu w transakcji. Na przykład, gdy plik rośnie, dane muszą zostać zapisane w blokach należących do tego pliku, a struktury systemu plików muszą zostać zaktualizowane, aby przydzielić te nowe bloki do pliku i możliwe zmiany we wpisie katalogu (np. Czas ostatniej modyfikacji ) zostaną zaktualizowane, wszystko jako jedna grupa. Gdy wszystko to zostanie zsynchronizowane (opróżnione) na dysk, system plików znów będzie spójny, ale zawartość pliku może nie być, dopóki wszystkie odpowiednie zapisy nie zostaną przesłane przez aplikację i opróżnione na dysk przez system operacyjny.
Jeśli aplikacja jest w trakcie skomplikowanej zmiany i zostanie zablokowana przed wydaniem wszystkich transakcji, na przykład naciśniesz ZAPISZ i natychmiast zamkniesz pokrywę laptopa, cała grupa zmian może nie zostać wprowadzona do kolejek zapisu jądra.
Ogólnie wszystko, co znajduje się w kolejkach zapisu, zostanie opróżnione na dysk. Systemy plików powinny zasadniczo być spójne. Ze względu na dzienniki systemu plików może to jednak oznaczać, że niektóre z tych zmian są tymczasowo zapisywane w dzienniku, aczkolwiek bezpiecznie na dysku.
Zawartość pliku to jednak inna historia.