③ Prozess-Synchronisation

Auf einen Blick

Laufen mehrere Prozesse/Threads parallel und greifen auf gemeinsame Ressourcen zu, drohen Race Conditions. Synchronisation erzwingt definierte Zeitrelationen. Werkzeuge: Spinlocks (aktives Warten) und Semaphoren (passives Warten). Gefahr dabei: Deadlocks.

Notes in diesem Kapitel

  1. Prozess-Kommunikation — konkurrierend vs. kooperierend, IPC
  2. Race Conditions — wenn das Ergebnis vom Timing abhängt
  3. Kritischer Abschnitt & Mutual Exclusion — die zu schützende Code-Strecke
  4. Spinlocks — aktives Warten per TestAndSet
  5. Semaphoren — passives Warten mit Warteschlange
  6. Deadlocks — die 4 Bedingungen & Behandlung
  7. Philosophenproblem — das klassische Lehrbeispiel

Roter Faden

Aus paralleler Prozess-Kommunikation entstehen Race Conditions. Die Lösung ist der Schutz des kritischen Abschnitts durch wechselseitigen Ausschluss. Dafür gibt es zwei Wartestrategien: aktiv (Spinlocks) und passiv (Semaphoren). Wer Sperren ungeschickt kombiniert, erzeugt Deadlocks — anschaulich im Philosophenproblem. Eng verwandt ist Scheduling (Kapitel 4), das die CPU als Ressource „synchronisiert".

Drei Grundformen (Praxis)

  1. aktives Warten per Spinlocks
  2. passives Warten mittels Semaphoren
  3. Message Passing im verteilten Fall (kein gemeinsamer Speicher)

← Kapitel 2 · Kapitel 4 → ����������������������������������������������������������������������������


Prozess-Kommunikation ➡️


name {
	<big>**Buy me a coffee ☕**</big>
	<span style="font-size: 0.6em;">Diese Website zu hosten hat mich 12$ gekostet 😭<span>
	}
type link
action https://paypal.me/joelkowylin

Built with LogoFlowershow