Algoritmo do banqueiro
lsdmaksmdamdmlks
ICEC – Instituto Cuiabá de Ensino e Cultura
Cuiabá MT
sdasdasdsadsad@hotmail.com
1. INTRODUÇÃO
Algoritmo do Banqueiro - Criado por Dijkstra em 1965, é um algoritmo de alocação de recursos e que pode evitar a ocorrência de Deadlock.
Seu nome foi originado a partir de seu funcionamento, o qual pode ser comparado ao comportamento de um banqueiro fornecendo créditos a um determinado número de clientes.
Deadlock é a situação em que um processo aguarda por um recurso que nunca estará disponível ou um evento que não ocorrerá, um conjunto de processos em que todo o processo pertencente ao conjunto estiver esperando por um evento que somente um outro processo desse mesmo conjunto o poderá fazer, a solução conhecida como Algoritmo do Banqueiro (implementada com a presença das quatro condições) também possui várias limitações. A maior delas é a necessidade de um número fixo de processos ativos e de recursos disponíveis no sistema. Essa limitação impede que a solução seja implementada na prática, pois é muito difícil prever o número de usuários no sistema e o número de recursos disponíveis, para que ocorra a situação de deadlock, quatro condições são necessárias simultaneamente:
2. CONDICOES PARA A OCORRÊNCIA
- exclusão mútua: cada recurso só pode estar alocado a um único processo em um determinado instante;
- espera por recurso: um processo, além dos recursos já alocados, pode estar esperando por outros recursos;
- não-preempção: um recurso não pode ser liberado de um processo só porque outros processos desejam o mesmo recurso; - espera circular: um processo pode ter de esperar por um recurso alocado a outro processo e vice-versa.
Para prevenir a ocorrência de deadlocks, é preciso garantir que uma das quatro condições apresentadas, necessárias para sua existência, nunca se satisfaça. A prevenção de deadlocks evitando-se a ocorrência de qualquer uma das quatro condições é bastante