Prozess-Kommunikation
Prozess-Kommunikation
Auf einen Blick
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