Question

juste une question rapide sur les états sûrs / dangereux dans Dijkstra algorithme de Banker .. .

Si l'un des processus dans l'instantané du système (par exemple celui ci-dessous) a déjà tous ses besoins satisfaits et il n'y a pas de ressources suffisantes pour répondre aux besoins de l'un des autres processus, est le système un état sûr? Je sais que normalement on suppose qu'une fois qu'un processus reçoit ses ressources nécessaires, il prendra fin peu après et retourner toutes les ressources, mais cette hypothèse est pris en compte lorsque l'on calcule l'état du système?

  Allocated        Maximum     Available

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

EDIT

Juste pour faire ma question un peu plus clair: le système est dans l'exemple ci-dessus dans un état de sécurité ou d'un état dangereux? Est-ce que nous supposons que les demandes de P2 sont retardées jusqu'à ce que les ressources des retours P1, au cours de laquelle les demandes de point P2 peuvent être remplies et donc le système est sûr, ou est le système dangereux car actuellement aucune des éventuelles demandes peuvent être remplies?

Était-ce utile?

La solution

Le système est dans un état sûr parce que le procédé 1 peut fonctionner. Quand il se termine, il y aura suffisamment de copies de ressources A et B pour le processus 2 pour terminer. Ainsi, il existe un « calendrier » avec laquelle le système peut exécuter ses processus d'achèvement. Cela signifie qu'il est sûr.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top