Navigationsleiste oben Startseite zur Inhaltsübersicht Reduzierung eines Betriebsmittelgraphen Deadlock-Vermeidung

  Möglichkeiten der Deadlockbeseitigung


Einleitung

Wurde in einem Betriebsystem eine Deadlock-Situation erkannt (z.B. mit Hilfe der Zyklenerkennung oder der Reduzierung eines Betriebsmittelgraphen), besteht die nächste Aufgabe darin, den erkannten Deadlock im System zu beseitigen. Dafür gibt es mehrere verschiedene Möglichkeiten, von denen hier nun einige vorgestellt werden:


1) Prozesse abbrechen

Eine Möglichkeit der Deadlockbeseitigung, die jedoch sehr rabiat und deshalb auch nicht immer ratsam ist, besteht darin
  • einen der verklemmten Prozesse einfach abzubrechen oder

  • einen Prozeß abzubrechen, der zwar am Deadlock direkt nicht beteiligt ist, aber ein von einem verklemmten Prozeß benötigtes Betriebsmittel belegt.
Die abgebrochenen Prozesse geben dadurch ihre belegten Betriebsmittel frei und stellen sie somit anderen Prozessen zur Verfügung. Diese Maßnahme sollte jedoch nicht auf Kosten des abgebrochenen Prozesses gehen, d.h. sie sollte nur angewendet werden, falls die abgebrochenen Prozesse danach erneut ohne Seiteneffekte neu gestartet werden können.


2) Prozesse zurücksetzen

Bei diesem Verfahren der Deadlockbeseitigung speichert man die Zustände jedes Prozesses in regelmäßigen Zeitabständen ab, so daß man bestimmte Checjkpunkte erhält, an denen man einen Prozeß ggf. erneut starten kann. Beim Eintreten eines Deadlocks setzt man dann einen Prozeß, der ein zur Auflösung dieses Deadlocks benötigtes Betriebsmittel belegt, auf einen Zustand zurück, in dem er dieses Betriebsmittel noch nicht belegt hatte. Das Betriebsmittel wird dadurch für andere Prozesse verfügbar und kann somit einem verklemmmten Prozeß zugeteilt werden. Auf diese Weise kann eine Deadlock-Situation aufgelöst werden, allerdings auf Kosten des zurückgesetzten Prozesses, der seine seit dem Checkpunkt geleistete Arbeit natürlich erneut verrichten muß.

3) Temporärer Betriebsmittelentzug

Schließlich gibt es die Möglichkeit, einem Prozeß temporär das von einem anderen, blockierten Prozeß benötigte Betriebsmittel zu entziehen und es zunächst diesem anderen Prozeß zur Verfügung zu stellen. Dieser kann dadurch unter Umständen seine Arbeit fortsetzen und eine Deadlock-Situation auflösen. Hat er dann seine Arbeit vollendet und das Betriebsmittel somit wieder freigegeben, so kann sich auch der Prozeß, dem das Betriebsmittel entzogen wurde, wieder um dieses Betriebsmittel bewerben. Dieses Verfahren ist jedoch nicht für alle Betriebsmittel möglich, denn nicht jedes Betriebsmittel kann einem Prozeß zunächst entzogen und später ohne Probleme wieder zurückgegeben werden. Bei einem Drucker könnten sich dadurch z.B. Ausgaben verschiedener Prozesse auf dem Papier vermischen (falls zwischenzeitlich kein manueller Papierwechsel vorgenommen wird).

Navigationsleiste unten nach oben Universität Oldenburg Reduzierung eines Betriebsmittelgraphen Deadlock-Vermeidung
Letzte Änderung: 26.September 1999 © Copyright Andreas Lucks