Deadlockerkennung bei mehreren Exemplaren eines Betriebsmitteltyps
|
|
||
|
Prinzip der Reduzierung |
|
Um in einem Betriebsmittelgraphen, der den Zustand eines Systems repräsentiert, in dem es von jedem Betriebsmitteltyp mehrere äquivalente Exemplare gibt, einen Deadlock festzustellen, versucht man, diesen Graphen zu reduzieren. Das bedeutet, daß man im Graphen zunächst nach einem Prozeß sucht, dessen Betriebsmittelanforderung im aktuellen Zustand erfüllt werden kann. Ist dies der Fall, kann man den Graphen um diesen Prozeß reduzieren, da dieser Prozeß schließlich in der Lage ist, seine Arbeit zu vollenden und danach alle von ihm belegten Betriebsmittel freigibt. Dieser Prozeß kann also nicht blockieren und kann somit auch nicht für eine eventuelle Deadlock-Situation verantwortlich sein. Reduzieren bedeutet dabei konkret, daß man alle Kanten, die mit diesem Prozeß in Verbindung stehen (d.h. sowohl die von diesem Prozeß ausgehenden als auch die, die auf diesen Prozeß zeigen) aus dem Graphen entfernt. Damit ist eine neue Ausgangssituation entstanden, in der man nun nach einem weiteren reduzierbaren Prozeß sucht.
Läßt sich der Betriebsmittelgraph in der beschriebenen Art und Weise um alle Prozesse reduzieren, so kann man daraus folgern, daß in dem Zustand, der durch die Ausgangssituation des Betriebsmittelgraphen repräsentiert worden ist, kein Deadlock vorgelegen hat. Tritt dagegen im Laufe des beschriebenen Verfahrens eine Situation ein, in der sich der Betriebsmittelgraph nicht weiter reduzieren läßt (aber noch Kanten vorhanden sind), so liegt eine Deadlock-Situation vor. Für diese Deadlock-Situation sind dabei alle die Prozesse verantwortlich, die nicht reduziert werden konnten.
|
|
|
Beispiel einer erfolgreichen Reduzierung |
|
Das folgende Beispiel soll die erfolgreiche Reduzierung eines Betriebsmittelgraphen zeigen. Dabei soll die in Abbildung (a) gezeigte Ausgangssituation auf das Vorhandensein eines Deadlocks untersucht werden. Es wird deutlich, daß hier keine Deadlock-Situation vorliegt, denn alle Prozesse lassen sich durch die folgenden Schritte aus dem Betriebsmittelgraphen reduzieren:
|
|
|
Beispiel eines Dedlock-Zustandes
|
|
Der links abgebildete Betriebsmittelgraph stellt dagegen eine Deadlock-Situation dar, da sich dieser Graph nicht weiter reduzieren läßt:
|
|
Letzte Änderung: 27.September 1999 © Copyright Andreas Lucks |
|
||