Informatik Betriebssysteme – Semaphoren und Monitore
Karteikarten zum Thema „Informatik“ · 14 Karten · von atrio. Beispiele: Was ist ein Semaphor in Betriebssystemen? · Was bewirkt die Wait-Operation (P) an ein…
Karten
14 KartenWas ist ein Semaphor in Betriebssystemen?
Rückseite
Ein Semaphor ist eine Ganzzahlvariable mit atomaren Wait- und Signal-Operationen zur Synchronisation konkurrierender Prozesse.
Was bewirkt die Wait-Operation (P) an einem Semaphor?
Rückseite
Wait dekrementiert den Semaphorwert atomar; wird der Wert negativ, blockiert der aufrufende Prozess in der Warteschlange.
Was bewirkt die Signal-Operation (V) an einem Semaphor?
Rückseite
Signal inkrementiert den Semaphorwert atomar; wartet mindestens ein Prozess, wird einer aus der Warteschlange geweckt.
Was unterscheidet einen binären von einem zählenden Semaphor?
Rückseite
Binäre Semaphore erlauben nur Werte 0 und 1 (Mutex), zählende Semaphore verwalten beliebige nicht-negative Werte für Ressourcenpools.
Wie löst ein Semaphor das Critical-Section-Problem?
Rückseite
Ein binärer Semaphor (Mutex) umgibt den kritischen Abschnitt: Wait vor Eintritt, Signal nach Verlassen – garantiert gegenseitigen Ausschluss.
Was ist ein Monitor in der Prozesssynchronisation?
Rückseite
Ein Monitor ist ein abstraktes Datentyp-Modul, das gemeinsame Daten und Operationen kapselt und gegenseitigen Ausschluss automatisch gewährleistet.
Welchen Vorteil bieten Monitore gegenüber Semaphoren?
Rückseite
Monitore erzwingen strukturierte Synchronisation: Mutual Exclusion ist implizit, Programmierfehler wie fehlendes Signal werden durch Sprache verhindert.
Was sind Condition Variables in einem Monitor?
Rückseite
Condition Variables erlauben Prozessen, innerhalb des Monitors auf Ereignisse zu warten (wait) und andere zu benachrichtigen (signal/broadcast).
Wie unterscheidet sich Signal in Monitoren von Semaphor-Signal?
Rückseite
Bei Monitoren führt Signal zu sofortiger Übergabe der Monitor-Exklusivität an den gewarteten Prozess (Hoare-Semantik) oder fortsetzender Ausführung (Mesa-Semantik).
Welche vier Bedingungen müssen für einen Deadlock gleichzeitig erfüllt sein?
Rückseite
Gegenseitiger Ausschluss, Hold-and-Wait, Nicht-Vorentziehbarkeit, zirkuläres Warten – alle vier sind notwendig und hinreichend für Deadlock-Entstehung.
Wie verhindert man Deadlocks bei der Ressourcenallokation mit Semaphoren?
Rückseite
Ressourcen in festgelegter Reihenfolge anfordern (Hierarchie), Timeout-Mechanismen nutzen oder Bankier-Algorithmus für sichere Zustände einsetzen.
Wie implementiert man das Producer-Consumer-Problem mit Semaphoren?
Rückseite
Drei Semaphore: mutex (Critical Section), empty (freie Pufferplätze, init=Puffergröße), full (belegte Plätze, init=0) – Wait/Signal entsprechend.
Wie löst ein Monitor das Producer-Consumer-Problem?
Rückseite
Monitor kapselt Puffer, put/get-Methoden und zwei Condition Variables (notFull, notEmpty) – wait/signal in Methoden bei vollem/leerem Puffer.
Was ist Priority Inversion und wie löst man sie?
Rückseite
Niedrig-priorisierter Prozess hält Lock, den hoch-priorisierter braucht; Lösung: Priority Inheritance (Lock-Halter erbt temporär höchste Priorität wartender Prozesse).