Frage

Könnte jemand bitte eine Schritt-durch-Ansatz zur Lösung des folgenden Problems mit der Bankier-Algorithmus?Wie kann ich feststellen, ob eine "sichere Zustand" vorhanden ist?Was gemeint ist, wenn ein Prozess kann "run to completion"?

In diesem Beispiel habe ich vier Prozesse und 10 Instanzen der gleichen Ressource.

          Resources Allocated | Resources Needed
Process A                   1                  6
Process B                   1                  5
Process C                   2                  4
Process D                   4                  7
War es hilfreich?

Lösung

Pro Wikipedia,

Ein Staat (wie im obigen Beispiel), wird als sicher angesehen, wenn es möglich ist, alle Prozesse zu beenden ausführen (beenden).Da das system nicht wissen kann, wenn ein Prozess beendet wird, oder wie viele Ressourcen, es wird angefordert haben, dann geht das system davon aus, dass alle Prozesse, die schließlich versuchen, um erhalten Ihre angegebenen maximalen Ressourcen und beenden Sie bald danach.Dies ist eine vernünftige Annahme ist in den meisten Fällen, da sich das system ist nicht besonders darum, wie lange jeder Prozess läuft (zumindest nicht von einer deadlock-Vermeidung Perspektive).Auch, wenn ein Prozess beendet wird, ohne den Erwerb seiner maximalen Ressourcen, es macht es nur leichter auf das system.

Kann ein Prozess bis zum Abschluss ausgeführt, wenn die Anzahl von jeder Art von Ressource, die Sie benötigt, zur Verfügung, zwischen sich und dem system.Wenn ein Prozess benötigt 8 Einheiten einer bestimmten Ressource, und reserviert hat 5 units, dann kann es bis zum Abschluss ausgeführt werden, wenn es mindestens 3 weitere Einheiten zur Verfügung, die es zuordnen können.

Ihr Beispiel, das system verwaltet eine einzelne Ressource, mit 10 Einheiten zur Verfügung.Die Laufenden Prozesse habe bereits zugeordnet 8 (1+1+2+4) Einheiten, so gibt es 2 Einheiten nach Links.Der Betrag, den jeder Prozess muss abgeschlossen sein, ist die maximale weniger, was es bereits zugeteilt, so am Anfang braucht 5 weitere (6-1) aus, B muss 4 (5-1), C braucht mehr 2 (4-2) - und-D-Bedarf 3 (7-4).Es sind 2 verfügbar, so dass Prozess C ist zulässig bis zum Abschluss, also um bis zu 2 Einheiten (verlassen 4 verfügbar).An diesem Punkt entweder B oder D ausgeführt werden kann (wir gehen davon aus, dass D).Sobald D abgeschlossen hat, wird es werden 8 Einheiten zur Verfügung, nachdem die entweder A oder B ausgeführt werden können (wir vermuten).Einmal abgeschlossen, wird es werden 9 Einheiten zur Verfügung, und dann B ausgeführt werden kann, die lassen alle 10 Einheiten nach Links für die weitere Arbeit.Da können wir wählen eine Anordnung der Prozesse, die erlauben, dass alle Prozesse, die ausgeführt werden, der Zustand wird als "sicher".

Andere Tipps

  Resources Allocated | Resources Needed    claim
  Process A      1                  6            5
  Process B      1                  5            4
  Process C      2                  4            2
  Process D      4                  7            3

Insgesamt Ressourcen zugewiesen ist 8 Daher 2 Ressourcen sind daher noch zugeordnet werden, der Prozeß C und Prozeß c nach Beendigung Reliefe 4 Ressourcen zugeordnet ist, das Verfahren B gegeben werden kann, nach dem Verfahren B durchleben 5 Ressourcen Schlichten, die das Verfahren A zugeordnet ist, die n A-Prozess nach Finishing zuordnet 2 Ressourcen Prozess D

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