Algoritmo del Banquero

El Algoritmo del banquero, en sistemas operativos es una forma de evitar el interbloqueo, propuesta por primera vez por Edsger Dijkstra. Es un acercamiento teórico para evitar los interbloqueos en la planificación de recursos. Requiere conocer con anticipación los recursos que serán utilizados por todos los procesos. Esto último generalmente no puede ser satisfecho en la práctica. Así, el uso de este tipo de algoritmo permite impedir el interbloqueo, pero supone una serie de restricciones: Se debe conocer la máxima demanda de recursos por anticipado. Los procesos deben ser independientes, es decir que puedan ser ejecutados en cualquier orden. Por lo tanto su ejecución no debe estar forzada por condiciones de sincronización. Debe haber un número fijo de recursos a utilizar y un número fijo de procesos. Los procesos no pueden finalizar mientras retengan recursos.


Ejemplo de input (Para cada matriz nombre proceso, recurso 1, recurso 2, ... ):

P1,8,5,3
P2,4,2,3
P3,7,0,2
P4,7,2,2
P5,3,3,3