Navigationsleiste oben Startseite zur Inhaltsübersicht Deadlock-Definition Verfahren der Deadlockbehandlung

  Bedingungen für das Auftreten eines Deadlocks


Bemerkung

In Lehrbüchern werden häufig vier bestimmte Bedingungen für das Auftreten eines Deadlocks genannt. Demnach kann in einem Betriebssystem eine Deadlock-Situation nur dann eintreten, wenn in diesem System gleichzeitig alle dieser im folgenden näher betrachteten Bedingungen erfüllt sind. Trifft auch nur eine der Voraussetzungen nicht zu, ist dagegen keine Verklemmung möglich.

(In den Abbildungen auf dieser Seite wird die in gängigen Lehrbüchern übliche Notation verwendet, um die Beziehungen zwischen einem Prozeß und einem Betriebsmittel auszudrücken.)


1) Wechselseitiger Ausschluß

wechselseitiger Ausschluß



Die Bedingung des wechselseitigen Ausschlusses (mutal exclusion) besagt, daß jedes Betriebsmittel eines Betriebssystems zu einem Zeitpunkt entweder nur von genau einem einzigen Prozeß exklusiv belegt oder aber frei ist.
So ist zwar jeder Prozeß in der Lage, zu einem Zeitpunkt mehrere verschiedene Betriebsmittel zu belegen (siehe Fall (a) in nebenstehender Abbildung), ein Betriebsmittel kann aber zu jedem Zeitpunkt nur von maximal einem einzigen Prozeß belegt werden. Bei einer Situation wie in Fall (b) ist die Bedingung des wechselseitigen Ausschlusses also nicht erfüllt, da hier das Betriebsmittel X gleichzeitig von Prozeß A und von Prozeß B belegt wird.

2) Belegungs- und Wartebedingung

Die Belegungs- und Wartebedingung (hold and wait) sagt aus, daß alle am Deadlock beteiligten Prozesse zum einen bereits Betriebsmittel belegt haben, andererseits aber noch weitere Betriebsmittel anfordern, die momentan nicht frei sind. Die Prozesse können also nicht alle ihre benötigten Betriebsmittel auf einmal belegen, sondern müssen auf das Freiwerden einiger ihrer angeforderten Betriebsmittel warten.

3) Nicht-Unterbrechbarkeit

Die Bedingung der Nicht-Unterbrechbarkeit (no preemption) bedeutet, daß ein Prozeß einem anderen Prozeß nicht einfach ein Betriebsmittel entziehen kann, das dieser zur Zeit belegt. Betriebsmittel können also nur von dem Prozeß freigegeben werden, der dieses Betriebsmittel vorher auch belegt hat. Ein anderer Prozeß, der dieses Betriebsmittel ebenfalls benötigt, muß warten, bis dieses vom vorherigen Benutzer dieses Betriebsmittels freigegeben wird.

4) Zyklische Wartebedingung

wechselseitiger Ausschluß


Die zyklische Wartebedingung (circular wait) besagt, daß bei einem Deadlock eine geschlossenen Kette von zwei oder mehr Prozessen existieren muß, so daß jeder Prozeß dieses Zyklus ein Betriebsmittel anfordert, das vom nächsten Prozeß in der Kette belegt wird.
Die nebenstehende Abbildung zeigt hierfür ein einfaches Beispiel. Prozeß A belegt Betriebsmittel X und fordert Betriebsmittel Y an. Dieses Betriebsmittel wird von Prozeß B belegt, der wiederum das von A belegte Betriebsmittel X anfordert. Somit liegt in diesem Beispiel eine solche geschlossene Kette vor.

Navigationsleiste unten nach oben Universität Oldenburg Deadlock-Definition Verfahren der Deadlockbehandlung
Letzte Änderung: 25.September 1999 © Copyright Andreas Lucks