next up previous contents
Next: Pipes Up: Primitive Kommunikation Previous: Lock Files   Contents

File Locks

Das VFS bietet Möglichkeiten, Dateien durch sogenannte file locks zu sperren. Prozesse können sich nun bei der Nutzung einer gemeinsamen Ressource synchronisieren, indem sie ähnlich zu der Methode mit den lock files, wo die Datei ständig neu angelegt und wieder gelöscht wird, die eine Datei sperren und wieder entsperren. Dazu dienen die Systemaufrufe flock() (4.4BSD), lockf() (POSIX) und fnctl() (beides).

Häufig ist die gelockte Datei, die gemeinsam genutzte Ressource. Denn z.B. ist es auch möglich, zusätzlich zur Synchronisation, auch Datenaustausch zwischen den Prozessen zu betreiben, indem ein Prozess die Datei sperrt, Daten in sie hineinschreibt, wieder entsperrt und der nächste Prozess die Datei wieder sperrt, um die Daten auszulesen.

Es besteht eine 1:n Beziehung zwischen den kommunizierenden Prozessen. Ein Prozess signalisiert durch setzen des file locks die Benutzung der Ressource und beliebig viele Prozesse können dies abfragen. Es können Daten beliebiger Menge über die gemeinsam benutzte Datei ausgetauscht werden.



2002-02-17