https://unix.stackexchange.com/a/12818/674
dit
Les fichiers de verrouillage sont utilisés par les programmes pour s'assurer que deux instances séparées
(bien comportées) d'un programme, qui peuvent s'exécuter simultanément sur un
système, n'accèdent pas à autre chose en même temps. L'idée est
avant que le programme n'accède à sa ressource, il vérifie la présence d'un
fichier de verrouillage, et si le fichier de verrouillage existe, soit sortir l'erreur ou attendre
qu'il disparaisse. Lorsqu'il n'existe pas, le programme voulant "acquérir"
la ressource crée le fichier, puis d'autres instances
susceptibles de se présenter plus tard attendront que ce processus soit terminé avec lui. Bien entendu, cela suppose que le programme « acquérant » le verrou le libère en fait
et n'oublie pas de supprimer le fichier de verrouillage.Cela fonctionne parce que le système de fichiers sous tous les systèmes d'exploitation de type UNIX
applique la sérialisation, ce qui signifie qu'une seule modification du
système de fichiers se produit réellement à un moment donné . Un peu comme les serrures avec
les bases de données et autres.
Que signifie le dernier paragraphe ?
Est-il exact que sous Linux, un fichier peut être écrit simultanément par deux processus et que le système d'exploitation ne fournit pas de synchronisation implicite mais nécessite une synchronisation explicite de la part des programmeurs ?
Le verrouillage du fichier est-il un moyen explicite de synchroniser l'accès au même fichier par plusieurs processus ?
Merci.