Sie können sich glücklich schätzen, dass Ihre Daten nie beschädigt wurden, oder Sie haben das Pech, nie bemerkt zu haben, dass Ihre Daten beschädigt wurden.
Wenn Sie eine Aktion ausführen, die auf einen Datenträger geschrieben werden soll, stellen die meisten Betriebssysteme den Schreibvorgang in eine Warteschlange. Von Zeit zu Zeit leeren sie die Warteschlange. (Ich nenne es hier eine Warteschlange, aber tatsächlich können Vorgänge außerhalb der angegebenen Reihenfolge ausgeführt werden. Betriebssysteme tun dies, wenn es schneller ist und das gleiche Endergebnis liefert.) Dies kann die Schreibvorgänge erheblich beschleunigen, da das System es versucht um sie auszuführen, wenn es nichts Besseres zu tun hat und weil es sie intelligent gruppieren kann.
Wenn Sie Ihr Gerät vom Stromnetz trennen, bevor alles geschrieben wurde, fehlen möglicherweise die neuesten Daten. Schlimmer noch, wenn das Betriebssystem fehlerhafte Vorgänge ausgeführt hat, können Sie Ihr Gerät in einen inkonsistenten Zustand versetzen und mehr als die neuesten Daten verlieren.
Einige Betriebssysteme wechseln für Wechselmedien in einen konservativeren (aber langsameren) Modus, um das Risiko zu verringern, das mit dem Trennen des Geräts vor dem Trennen verbunden ist.
HINZUGEFÜGT : Nicht ordnungsgemäße
Vorgänge sind manchmal nicht nur eine Frage der Geschwindigkeit. Bei billigen Flash-Medien (die auf Hardwareebene keine Sektorneuzuweisung bewirken) ist die Anzahl der Schreibvorgänge in einem bestimmten Sektor begrenzt. Wenn Sie alle Änderungen naiv schreiben, können die Sektoren, die die Dateizuordnungstabelle enthalten, in einem (V) FAT-Dateisystem (der häufigste Fall für Wechseldatenträger) oder das Journal in einem typischen modernen Dateisystem gelöscht werden. (Siehe z. B. diese Diskussion sync
auf der Linux-Kernel-Mailingliste .) Das Nicht-Aktualisieren der FAT oder des Journals jedes Mal, wenn eine Datei geschrieben wird, ist nicht nur ein großer Leistungsgewinn, sondern auch gut für die Lebensdauer der Hardware.
Bis vor kurzem gab Linux nur die Wahl zwischen sync
(schreibe alle Änderungen async
, sobald sie eintreten) und (schreibe wann immer es dir passt). Neuere Versionen führen die flush
Option für FAT-Dateisysteme ein, die irgendwo dazwischen liegt (alle verzögerten Schreibvorgänge löschen, sobald die Festplatte inaktiv wird). In Ubuntu 10.04 ist es standardmäßig aktiviert.
In einem anderen Fall stellt das Abmelden eines Wechseldatenträgers sicher, dass in keiner Anwendung eine Datei geöffnet ist. Wenn Sie die Verbindung vor dem Trennen nicht trennen, werden Sie nicht bemerken, wenn Sie nicht gespeicherte Daten haben, bis es zu spät ist. Das Aufheben der Bereitstellung, während eine Datei geöffnet ist, erhöht auch die Wahrscheinlichkeit einer Beschädigung, sowohl auf Dateisystemebene (das Betriebssystem hat möglicherweise einige Vorgänge in die Warteschlange gestellt, bis die Datei geschlossen wird) als auch auf Anwendungsebene (z. B. wenn die Anwendung eine Sperrdatei erstellt, hat sie gewonnen). nicht entfernt werden).