Betriebssysteme

Prozessverwaltung

Strategien zum Verhindern von Deadlocks

– Deadlock Prevention (Verhinderung) Es wird verhindert, dass nie alle notwendigen Bedingung
1.-4. gleichzeitig erfüllt sein können. In der Praxis darf ein Prozess nur dann neue Betriebsmittel anfor-
dern, wenn er gerade nicht wartet. Somit wird Bedingung 2 verhindert und es treten keine Deadlocks
mehr auf. In Realzeitsystemen ist die Verhinderung besonders wichtig, z.B. Kernkraftwerke.
– Deadlock Avoidance (Vermeidung) Aufgrund von bisherigen Erfahrungswerten, werden Dead-
locks vermieden, allerdings nicht verhindert. Eine Möglichkeit ist, das nur dann ein Prozess auf ein
Betriebsmittel zugreifen darf, wenn alle anderen Prozesse keine Betriebsmittel besitzen, dies ist aber
kaum praktikabel, da so keine Parallelisierung möglich ist. Es wird nur selten verwendet.
– Deadlock Detection and Recovery Man versucht Deadlocks zu erkennen und zu beseitigen. Die
Algorithmen zur Erkennung sind aber recht aufwendig O(n 2 ). Auch das Beenden des Deadlocks sind
zeitaufwendig.

Diskussion