La commande
sync
écrit sur le disque toutes les données dans les tampons en mémoire.
Ceci peut inclure les superblocs modifiés, les i-noeuds modifiés,
et les écritures différées.
Ceci est implémenté dans le noyau, le programme
sync
ne fait rien d'autre que d'invoquer l'appel système
sync(2).
Le noyau garde des données en mémoire pour éviter d'avoir à faire trop
de lectures et écritures (relativement lentes) sur le disque.
Ceci améliore sensiblement les performances,
mais si l'ordinateur se plante, des données peuvent être perdues,
ou le système de fichiers peut être endommagé.
L'application
sync
garantit que le contenu des tampons en mémoire soit écrit sur le disque.
Normalement,
sync
devrait être invoqué avant que le processeur soit arrêté de manière
anormale (par exemple avant de déclencher une panique du noyau lors
du débogage d'un nouveau module du noyau).
En général, la machine doit être arrêtée en employant les commandes
shutdown(8),
reboot(8)
ou
halt(8),
qui tentent de mettre le système dans un état calme, avant d'appeler
sync(2).
(Il existe plusieurs implémentations de ces commandes, consultez la
documentation de votre distribution, car sur certains systèmes,
il ne faut pas appeler
reboot(8)
ou
halt(8)
directement).