Deadlocks Flashcards
Deadlock
Nenne die vier notwendige Bedingungen für Deadlocks
- Wechselseitiger Ausschluß (mutual exclusion)
- Halten-und-Warten (hold and wait)
- Nicht unterbrechbar (non-preemtable)
- Zirkuläre Wartesituation (circular wait)
Vorbeugung
Wie kann mithilfe von Vorbeugung eine von den vier Deadlock-Bedingungen durchbrechen?
- Exklusiver Zugriff: Ressource gemeinsam benutzbar machen
- Halten-und-Warten: Alle Ressourcen müssen vor dem Start angefordert werden
- Nicht-Unterbrechbarkeit: Ressource entziehen und anderem Prozess geben
- Zirkuläres Warten: Reihenfolge der Ressourcenbelegung einschränken
Wartegraph
Nenne die Möglichkeiten/Aufgaben des Betriebssystems um Deadlocks zu verhindern
- Vorbeugung (prevention)
- Vermeidung (avoidance)
- Erkennung (detection)
- Auflösung (recovery)
Deadlock-Erkennung bei einer Ressource pro Typ
Wie lautet der Algorithmus für Deadlock Erkennung?
- Konstruiere den (gerichteten) Wartegraphen
- Suche Zyklen im Wartegraphen
- Wenn ein Zyklus gefunden ist, sind alle Prozesse und Ressourcen des Zyklus im Deadlock
Deadlock Auflösung
Wie werden Deadlocks aufgehoben?
- Deadlocks können durch Unterbrechung aufgehoben werden
- Deadlocks können durch Wiederholungen behoben werden
- Deadlocks können durch Prozesserhebungen behoben werden
Deadlocks
Nachteile von Deadlock-Verbeugung
Ärgerliche Einschränkungen und daher keine allgemeingültige Lösung
Deadlocks
Nachteile von Erkennen & Auflösen
- Abbrechen, Zurücksetzen oder Entzug von Ressourcen ist ein drastischer Eingriff
- Teils unabsehbare Nebenwirkungen
Deadlock-Vermeidung
Nenne die Grundidee bei der Deadlock-Vermeidung
Mindestens ein Prozess muss sein Maximum an gewünschten Ressourcen erhalten können
Deadlock-Vermeidung
Wie kann man die Deadlocks vermeiden?
Indem man die Reihenfolge der Ressourcen ändert
Kritik am Bankier Algorithmus
Nenne die Kritikpunkte vom Bankier-Algorithmus
- Man muss zu viel a priori wissen
- Der Algorithmus ist sehr konservativ