Puehlhofer Betriebsysteme1-1.pdf - von Petra Schuster
Puehlhofer Betriebsysteme1-1.pdf - von Petra Schuster
Puehlhofer Betriebsysteme1-1.pdf - von Petra Schuster
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
88 BETRIEBSSYSTEME<br />
4. Überprüfe, ob <strong>von</strong> dem aktuellen Knoten noch nicht markierte<br />
Kanten ausgehen. Falls ja, gehe zu Schritt 5, sonst zu Schritt 6.<br />
5. Wähle eine der unmarkierten Kanten aus und markiere sie. Setze den<br />
Endknoten dieser Kante als neuen aktuellen Knoten und gehe zu<br />
Schritt 3.<br />
6. Es ist nun eine Sackgasse erreicht. Gehe zurück zu dem vorherigen<br />
Knoten, also zu dem Knoten, der zuvor der aktuelle Knoten war, und<br />
setze den Algorithmus mit Schritt 3 fort. Falls dieser Knoten der<br />
Startknoten ist, enthält der Graph keinen Zyklus und der Algorithmus<br />
terminiert.<br />
Es gibt bessere als den vorgestellten Algorithmus zur Lösung des Problems.<br />
An dieser Stelle genügt uns jedoch die Existenz eines Algorithmus.<br />
'HDGORFN(UNHQQXQJPLWPHKUHUHQ%HWULHEVPLWWHOQLQMHGHU.ODVVH<br />
Wenn es mehrere Instanzen einer Betriebsmittelklasse gibt, wird ein Matrixbasierter<br />
Algorithmus eingesetzt.<br />
Im ersten Schritt sucht der Algorithmus nach einem Prozeß, der bis zu seiner<br />
Beendigung ausgeführt werden kann. Ein solcher Prozeß ist dadurch<br />
charakterisiert, daß alle seine Betriebsmittelanforderungen durch die aktuell<br />
verfügbaren erfüllt werden können. Bei Beendigung gibt der Prozeß alle<br />
seine Betriebsmittel frei.<br />
Falls alle Prozesse vollständig ausgeführt werden können, ist keiner an<br />
einem Deadlock beteiligt.<br />
Falls einer oder mehrere niemals ausgeführt werden können, befinden sie<br />
sich in einem Deadlock-Zustand.<br />
Deadlocks können also erkannt werden. Aber wann soll die Suche<br />
durchgeführt werden?<br />
Wird bei jeder Anforderung überprüft, wird der Deadlock zum<br />
frühestmöglichen Zeitpunkt erkannt, aber sehr viel Prozessorzeit verbraucht.<br />
Wenn die Überprüfung nur durchgeführt wird, wenn die Prozessorauslastung<br />
gering ist, fällt der Verlust an Rechenleistung nicht sehr ins Gewicht und<br />
wenige ausführbare Prozesse deuten auf Blockaden hin.