3 SynchronisationProzess-Kommunikation

Prozess-Kommunikation

Auf einen Blick

In modernen OS agieren mehrere Prozesse/Threads parallel und teilen sich Ressourcen. Sie treten konkurrierend oder kooperierend auf — beide brauchen meist Kommunikation (IPC). Ein wichtiger Spezialfall ist die Synchronisation.

Die Ausgangssituation

  • Mehrere Prozesse/Threads agieren parallel.
  • Ressourcen sind häufig global verfügbar:
    • shared (gemeinsam nutzbar) — z.B. read-only-Dateien; gleichzeitiger Zugriff ist unkritisch.
    • exklusiv nutzbar — z.B. CPU, Drucker; hier wird Zugriff kritisch.

Daraus ergeben sich konkurrierende (Wettbewerb um Ressourcen) und kooperierende (Zusammenarbeit) Situationen. Beiden gemein: die Notwendigkeit zur Prozess-Kommunikation.

Synchronisation als Spezialfall

Synchronisation = Herstellen definierter Zeitrelationen zwischen Prozessen, genauer: das Erzwingen zeitlich definierter Abfolgen der Programmschritte. Besonders relevant beim Zugriff auf gemeinsame Ressourcen.

Folge fehlender Synchronisation

Ohne Synchronisation drohen Race Conditions — das Ergebnis hängt dann nichtdeterministisch vom Timing ab.

Verwandte Notes

Race Conditions · Kritischer Abschnitt & Mutual Exclusion · Semaphoren · Threads

← Kapitelübersicht


⬅️ Kapitelübersicht · Race Conditions ➡️

Built with LogoFlowershow