Deadlock

Bei einem Deadlock warten mehrere Computerprozesse auf eine Ressource, die einem anderen Prozess zugeteilt ist. In diesem Fall wird keiner der Prozesse ausgeführt, da die erforderliche Ressource von einem anderen Prozess gehalten wird, der seinerseits auf die Freigabe einer Ressource wartet. Vermeiden Sie Deadlocks nach Möglichkeit, noch bevor sie auftreten. Der Ressourcen-Planer kann Deadlocks erkennen und hilft dem Betriebssystem, alle Ressourcen nachzuverfolgen, die den unterschiedlichen Prozessen zugeteilt sind. Deadlocks können auftreten, wenn die folgenden vier Bedingungen gleichzeitig eintreffen:

Keine vordefinierte Aktion – Eine Ressource kann nur freiwillig durch einen Prozess freigegeben werden, nachdem dieser Prozess seine Aufgabe ausgeführt hat.

Gemeinsamer Ausschluss – Ein besonderer Typ von Binär-Semaphor, das den Zugriff auf die gemeinsam genutzte Ressource so steuert, dass Tasks mit höherer Priorität nur möglichst kurz blockiert werden.

Halten und warten – In diesem Zustand müssen Prozesse davon abgehalten werden, eine oder mehrere Ressourcen zu halten und gleichzeitig auf eine oder mehrere andere Ressourcen zu warten.

Kreisförmiges Warten – Erzwingt eine allgemeine Reihenfolge aller Ressourcentypen. Beim kreisförmigen Warten fordern außerdem alle Prozesse Ressourcen in aufsteigender Nummerierung an.

 

Deadlocks können auf drei Arten gelöst werden:

Vermeiden, dass Deadlock-Zustände im System auftreten.

Deadlocks auftreten lassen und dann vordefinierte Aktion ausführen.

Wenn ein Deadlock auftritt, wird das System neu gestartet.