O algoritmo foi desenvolvido por
Edsger Dijkstra em 1965. É um algoritmo de alocação de recursos com prevenção
de impasses que testa a segurança pela simulação da alocação do máximo
pré-determinado possível de montantes de todos os recursos computacionais, logo
em seguida faz uma verificação de estados-seguros para testar a possibilidade
de condições de impasse para todas as outras atividades pendentes, antes de
decidir se a alocação deve prosseguir.
Algoritmo do banqueiro com múltiplos recursos
O
algoritmo do banqueiro pode ser generalizado para tratar múltiplos recursos. A
figura abaixo mostra como ele funciona.
Na figura 1 vemos duas matrizes.
A primeira, do lado esquerdo, mostra quanto de cada recurso atualmente está alocado
para cada um dos cinco processos. A matriz do lado direito mostra de quantos
recursos cada processo ainda precisa para completar sua execução.
Os três vetores à direita da
figura mostram:
·
E
recursos existentes.
·
P
recursos alocados.
·
A
recursos disponíveis.
