Bei der Vermeidung von Deadlocks sollte eine Umgebung geschaffen werden, in der Deadlocks gar nicht erst auftreten können. In der Praxis ist das - wenn überhaupt - nur in Einzelfällen (d.h. für bestimmte, aber nicht für alle Betriebsmittel) möglich.
Betriebsmittel werden i.d.R. nach und nach von Prozessen angefordert. Sie werden deshalb auch nicht alle auf einmal dem betreffenden Prozess zugeteilt!
Angenommen einem Prozess sind bereits eine beliebige Anzahl an Betriebsmitteln zugewiesen worden. Dann geht es bei der Verhinderung von Deadlocks darum, dem Prozess nur dann eine weitere Ressource zuzusprechen, wenn sichergestellt ist, dass dadurch in der Zukunft kein Deadlock entstehen kann.
Bei der Anforderung eines Betriebsmittels muss vom Betriebssystem also eine Entscheidung getroffen werden. Tanenbaum 2009 bringt es auf den Punkt:
Es stellt sich also die Frage, ob ein Algorithmus existiert, der Deadlocks zuverlässig verhindern kann, indem er immer die richtige Entscheidung trifft.
Eine Antwort erläutert Tanenbaum 2009 dazu auch: "ja, aber", wobei das "aber" zu der Erkenntnis führt, dass in der Praxis immer Situationen zu befürchten sind, die nicht von dem betreffenden Algorithmus abgedeckt werden können.
Weitere Details zur Deadlock-Verhinderung können - je nach Verfügbarkeit der Quellen - nachgelesen werden bei:
Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png