Pregunta

simplemente una consulta rápida sobre los estados seguros / inseguros de Dijkstra en del banquero algoritmo .. .

Si uno de los procesos en la instantánea del sistema (por ejemplo, la de abajo) ya tiene todas sus necesidades satisfechas y no hay suficientes recursos disponibles para satisfacer las necesidades de cualquiera de los otros procesos, es el sistema de un estado seguro? Sé que normalmente se asume que una vez que un proceso recibe sus recursos requeridos se dará por terminada poco después y devolver todos los recursos, pero esta suposición es factor in cuando se calcula el estado del sistema?

  Allocated        Maximum     Available

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

editar

Sólo para hacer mi pregunta un poco más claro: es el sistema en el ejemplo anterior en un estado seguro o un estado inseguro? Asumimos que las solicitudes de P2 se retrasan hasta que los recursos devuelve P1, a la que se pueden satisfacer las peticiones punto de P2 y por lo tanto el sistema es seguro, o es el sistema inseguro porque en la actualidad ninguna de las posibles solicitudes se puede cumplir?

¿Fue útil?

Solución

El sistema está en un estado seguro, porque el proceso 1 se puede ejecutar. Cuando termine, habrá suficientes copias de los recursos A y B de recursos para el proceso 2 para terminar. Por lo tanto, existe un "programa" con la que el sistema puede ejecutar sus procesos de finalización. Esto significa que es seguro.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top