Resenha
Esta resenha diz respeito ao conteúdo abordado no livro Sistemas Operacionais Modernos
de Andrew S. Tanembaum, capítulo 6, seção 6.5.3, páginas 173, 174 e 175.
Nesta seção, Tanembaum explica de uma maneira bem clara e simples sobre o que consiste o
algoritmo do banqueiro, inclusive dando exemplos de seu funcionamento.
Imagine que cada cliente possui seu próprio negócio, e cada um deles eventualmente faz
requisições de empréstimos ao banco para continuar operando seus negócios. Entretanto, o
banqueiro possui uma quantidade limitada de unidades de crédito e precisa saber distribuir as
unidades da melhor forma possível entre seus clientes.
Na situação descrita acima, as unidades de créditos fazem o papel dos recursos do sistema,
os clientes são os processos (os quais necessitam de recursos para continuar seu processamento) e o
banqueiro é o sistema operacional.
Uma situação é dita insegura quando as unidades disponíveis não serão capazes de satisfazer
as necessidades do cliente e nem de atingir o limite máximo, caracterizando assim uma situação de
deadlock.
Dito isso podemos realmente concordar que o algoritmo depende de várias informações que
nem sempre estão disponíveis, o que impede seu uso na prática. Devido a isso outras soluções
precisam ser criadas e estudadas para resolver esses problemas de alocações de recursos, pois a
própria natureza desse ambiente gera vários problemas e situações, onde deadlock é apenas um
deles. Embora o algoritmo do banqueiro não esteja totalmente adaptado para esse ambiente, nada
impede que modificações possam ser feitas tornando-o finalmente pronto para uso.