Frage

nur eine schnelle Abfrage über die sicheren / unsichere Zustände in Dijkstra Banker Algorithmus .. .

Wenn einer der Prozesse in der Momentaufnahme des Systems (zum Beispiel derjenige unten) bereits alle seine Bedürfnisse hat erfüllt und es gibt nicht genügend Ressourcen verfügbar, um die Bedürfnisse von allen anderen Prozessen gerecht zu werden, ist das System in ein sicherer Zustand? Ich weiß, normalerweise gehen wir davon aus, dass, sobald ein Prozess seine erforderlichen Ressourcen erhält, wird es enden bald nach und alle Ressourcen zurück, aber diese Annahme ist einkalkuliert, wenn wir den Zustand des Systems zu berechnen?

  Allocated        Maximum     Available

    | A | B         | A | B      A | B
 ---+---+---     ---+---+---    ---+---
 P1 | 1 | 2      P1 | 1 | 2      1 | 3
 P2 | 5 | 3      P2 | 7 | 8    

EDIT

Nur auf meine Frage eines wenig klarer zu machen: Das System ist in dem obigen Beispiel in einem sicheren Zustand oder in einem unsicheren Zustand? Vermuten wir, dass Anfragen von P2 verzögert, bis P1 zurückkehrt Ressourcen, bei denen Anforderungen können der Punkt P2 erfüllt werden und damit das System sicher ist, oder ist das System unsicher, da zur Zeit keine der möglichen Anforderungen können erfüllt werden?

War es hilfreich?

Lösung

Das System ist in einem sicheren Zustand, weil Prozess 1 ausgeführt werden kann. Wenn es fertig ist, wird es für Prozess 2 zu beenden genügend Kopien der Ressource A und Ressource B sein. Somit besteht ein „schedule“, mit der das System die Prozesse bis zur Vollständigkeit ablaufen kann. Dies bedeutet, es ist sicher.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top