sync schreibt alle ungepufferten Daten im Speicher auf die Platte. Dies kann
einschließen (ist aber nicht beschränkt auf): Modifierte Superblocks,
modifizierte Inodes und verzögerte Lese- und Schreibzugriffe. Dies muss vom
Kernel implementiert werden. Das Programm
sync macht nichts weiter, als den Systemruf
sync(2)
durchzuführen.
Der Kernel lässt Daten im Hauptspeicher um (relativ langsame) Plattenzugriffe zu
vermeiden. Das verbessert die Systemleistung, aber wenn der Computer abstürzt,
kann Datenverlust oder Dateisystemkorrumpierung die Folge sein.
sync stellt sicher, dass alles, was im Speicher ist, auf Platte geschrieben wird.
sync solle gerufen werden, bevor der Prozessor in einer ungewöhnlichen Weise
angehalten wird (z. B., bevor »kernel panic« ausgelöst wird während des
Debuggens neuen Kernelcodes).
Im Allgemeinen sollte der Prozessor mit
shutdown(8) [Englisch]
oder
reboot(8) [Englisch]
oder
halt(8) [Englisch]
angehalten werden, die versuchen, das System in einen ruhigen Zustand zu
versetzen, bevor sie
sync(2)
aufrufen. (Es gibt verschiedene Implementationen dieser Befehle; auf manchen
Systemen sollten
reboot(8) [Englisch]
and
halt(8) [Englisch]
nicht direkt gerufen werden.)