Algoritmo banquero

Llamado: (Algoritmo de Dijkstra)

Este algoritmo se usa para evitar interbloqueos en el sistema, básicamente procede de la siguiente manera: cada proceso declara el máximo de recursos a utilizar y cada vez que se hace una solicitud de asignación de recursos, se determina si al asignar los recursos se deja en un estado inseguro y de ser así se pospone la asignación, de lo contrario, se asignan los recursos solicitados.

Asignación

Se determina si hay disponiboles
Se valida que no exceda su máximo declarado
Se verifica que si se concede la petición, el sistema quede en estado seguro
Si no se cumple cualquiera de estas condiciones, el proceso queda suspendido hasta que exista una liberación de recursos.

Desventajas

Se necesita saber desde un principio el máximo de recursos que usará cada proceso
Este proceso implica un retardo en cada asignación de recursos, lo que puede degradar el sistema si se manejan muchos recursos y/o procesos
Se requiere una garantía de devolución: c/proceso liberará los recursos asignados


proceso\recursoR1 (7)R2(7)R3(7)
MaximosP1531
P2323
P3231
P4503
AsignadosP1331
P2222
P3011
P4001
NecesariosP1200
P2101
P3220
P4502
Disponibles212

0 comentarios:

Publicar un comentario