3.2.12.1 Vier Bedingungen nach Coffman

[gesichtete Version][gesichtete Version]
Zeile 9: Zeile 9:
Sie beschreiben darin vier Bedingungen, welche allesamt eingetreten sein müssen, und damit einen Deadlock-Zustand verursacht haben:
Sie beschreiben darin vier Bedingungen, welche allesamt eingetreten sein müssen, und damit einen Deadlock-Zustand verursacht haben:
</p>
</p>
<br />
<p>
<p>
# <loop_index>Mutual exclusion condition, Deadlock|Deadlock, Mutual exclusion condition</loop_index>''Mutual exclusion condition''<br />Eine Ressource steht einem Prozess nur exklusiv zur Verfügung, sie kann also nicht gleichzeitig von mehreren Prozessen belegt werden.<br /><br />
# <loop_index>Mutual exclusion condition, Deadlock|Deadlock, Mutual exclusion condition</loop_index>''Mutual exclusion condition''<br />Eine Ressource steht einem Prozess nur exklusiv zur Verfügung, sie kann also nicht gleichzeitig von mehreren Prozessen belegt werden.<br /><br />

Version vom 6. Februar 2015, 21:10 Uhr

Vier Bedingungen nach Coffman

Eine grundlegende Arbeit über System Deadlocks veröffentlichten E.G. Coffman, Jr.; M.J. Elphick und A. Shoshani im Jahre 1971 in der Zeitschrift Computing Surveys, Vol. 3, No. 2; (hier ist ein alternativer Link zu diesem Dokument).

Sie beschreiben darin vier Bedingungen, welche allesamt eingetreten sein müssen, und damit einen Deadlock-Zustand verursacht haben:


  1. Mutual exclusion condition
    Eine Ressource steht einem Prozess nur exklusiv zur Verfügung, sie kann also nicht gleichzeitig von mehreren Prozessen belegt werden.

  2. Wait for condition
    Prozesse warten und behalten dabei die Kontrolle über bereits zugewiesene Ressourcen solange, bis sie alle Ressourcen zugesprochen bekommen haben, um schließlich ihre Arbeit fortführen zu können.

  3. No preemption condition
    Zugewiesene Ressourcen können einem Prozess nicht gewaltsam wieder entrissen werden.

  4. Circular wait condition
    Es gibt eine zyklische Kette von Prozessen, die bereits eine oder mehrere Ressourcen zugewiesen bekommen haben, und die gleichzeitig auf weitere Ressourcen warten, welche bereits dem jeweils nächsten Prozess in der Kette zugesprochen wurden.


Wichtig

Wenn alle vier Bedingungen zur selben Zeit zutreffen, dann liegt ein Deadlock vor.