Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Amaliric Ander Geändert vor über 11 Jahren
1
FH-Hof Deadlocks Richard Göbel
2
FH-Hof Deadlock - Definition Menge von Prozessen ist an einem Deadlock beteiligt: wenn jeder Prozess in dieser Menge auf ein Signal wartet, das nur ein anderer Prozess in dieser Menge liefern kann.
3
FH-Hof Bedingungen für einen Deadlock Mutual Exclusion Condition: Ressourcen dürfen nicht gleichzeitig von mehreren oder nur von einer begrenzten Anzahl von Prozessen zugegriffen werden. Hold and Wait Condition: Prozesse, die bereits andere Ressourcen blockiert haben, können auf die Freigabe weiterer Ressourcen warten. No Preemption Condition: Blockierte Ressourcen dürfen nicht dem Prozess "weggenommen" werden. Circular Wait Condition: Es existiert eine zyklische Kette von Prozessen, die jeweils auf die Freigabe des einer Ressource von dem folgenden Prozess in der Kette warten.
4
FH-Hof Mutual Exlude Condition Kapseln von Ressourcen durch Software: Simulation einer unbegrenzten Kapazität bei gleichzeitigem Zugriff durch mehrere Prozesse Beispiel: Warteschlange für einen Drucker Nur für wenige Typen von Ressourcen anwendbar
5
FH-Hof Hold and Wait Condition Prozesse: fordern alle benötigten Ressourcen in einem Schritt an geben alle Ressourcen ebenfalls in einem einzelnen Schritt wieder frei Prozess wartet auf die Freigabe aller benötigten Ressourcen, ohne andere Ressourcen zu blockieren. Probleme: benötigte Ressourcen sind am Anfang nicht immer klar Ressourcen werden relativ lange blockiert
6
FH-Hof No Preemption Condition Wann kann einem Prozess eine Ressource weggenommen werden? Nur in speziellen Fällen möglich! Im vielen Fällen muss ein Prozess danach mit einem Fehler abgebrochen werden.
7
FH-Hof Circular Wait Condition Option 1 Jeder Prozess blockiert gleichzeitig nur eine Ressource Vor der Anforderung einer Ressource muss die aktuelle Ressource freigegeben werden. Option 2 Nummerierung aller Ressourcen Ein Prozess fordert nur Ressourcen in der vorgegeben Reihenfolge an Beide Ansätze funktionieren nicht in allen Fällen
8
FH-Hof Erkennen eines Deadlock – Kapazität = 1 Darstellung von Prozessen (z.B. durch Kreise) und Ressourcen (z.B. durch Rechtecke) werden als Knoten eines gerichteten Graphen dargestellt. Wartet ein Prozess auf eine Ressource, dann existiert ein Pfeil von dem Prozess auf die benötigte Ressource Ist eine Ressource einem Prozess zugeordnet, dann existiert ein Pfeil von dieser Ressource zu dem entsprechenden Prozess.
9
FH-Hof Beispiel für eine solche Grafik R A S C F W D U GE TV B
10
FH-Hof Erkennen eines Deadlock – Kapazität 1 Der Vektor E gibt für jede Ressource die grundsätzlich vorhandene Kapazität an: E = (e 1, e 2,..., e m ) Der Vektor A gibt die noch verfügbaren freien Kapazitäten für jede Ressource an: A = (a 1, a 2,..., a m ) Die Matrix C gibt die belegten Kapazität für jeden Prozess an Für jeden Prozess eine Zeile (zum Beispiel n Zeilen) Für jeden Prozess genau eine Zeile mit m Einträgen.. Die Matrix R gibt die benötigten Kapazitäten für jeden Prozess an
11
FH-Hof Matrizen und Bedingung
12
FH-Hof Verfahren Wähle einen Prozess i ohne Markierung aus, für dessen Zeile in der Matrix R die folgende Eigenschaft gilt: Angeforderte Kapazität muss verfügbar sein (r i1 a 1, r i2 a 2,..., r im a m ) Dieser Prozess könnte bis zum Ende durchlaufen Prozess i markieren Addiere frei werdenden Kapazitäten von i von zu dem Vektor A : A := A + (r i1,..., r im ) Verfahren beenden wenn kein Prozess mehr markiert werden kann Unmarkierte Prozesse sind an einem Deadlock beteiligt.
13
FH-Hof Deadlock auflösen Breche mindestens einen beteiligten Prozess ab Möglichst wenige Prozesse abbrechen. Breche Prozess ab, der leicht wiederholt werden kann.
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.