Banqueiro
-
Upload
julio-peixoto -
Category
Documents
-
view
216 -
download
0
description
Transcript of Banqueiro
-
ALGORITMO DO BANQUEIRO Sistemas Operacionais I Jlio Peixoto da Silva Jnior - 371978
Criado por Dijkstra em 1965 um algoritmo de alocao de recursos que
pode evitar a ocorrncia de deadlock, pode ser visto como uma extenso do
algoritmo de deteco de impasses. Ele modelado da seguinte maneira: um
banqueiro de uma pequena cidade pode negociar com um grupo de clientes para
os quais liberas as linhas de crdito. O que o algoritmo faz verificar se a
liberao de uma requisio capaz de levar a um estado inseguro. Em caso
positivo, a requisio negada. Se a libertao de uma requisio levar a um
estado seguro, ento ela atendida.
Como hiptese imagine que cada cliente possui seu negcio, e cada um
deles faz frequentemente requisies de emprstimos ao banco para continuar
operando seus negcios. O banqueiro possui uma quantidade limitada de
unidades de crdito e precisa saber distribuir as unidades da melhor forma
possvel para todos os seus clientes. Portanto podemos associar que as
unidades de crditos fazem o papel dos recursos do sistema, os clientes so os
processos que necessitam de recursos para continuar seu processamento e o
banqueiro o sistema operacional.
Para fazer a distribuio da melhor forma possvel, o banqueiro (sistema
operacional) precisa saber o nmero de clientes, quantos recursos cada um
deles possui e precisa, e quantas unidades de credito ainda esto disponveis.
Os clientes possuem um limite mximo de crditos, quando esse limite atingido
significa que todas as suas necessidades foram atendidas e agora os crditos
podem ser devolvidos ao banqueiro. A partir dessas informaes o banqueiro faz
um clculo de quando uma situao segura e quando uma situao insegura.
Uma situao dita segura quando o nmero de unidades de crditos
disponveis o suficiente para atender s necessidades de um cliente e de
clientes futuros, ou atingir o seu limite mximo, fazendo com que os crditos
alocados sejam devolvidos ao banqueiro. Uma situao dita insegura quando
as unidades disponveis no sero capazes de satisfazer as necessidades do
cliente e nem de atingir o limite mximo, caracterizando assim uma situao de
deadlock.
O algoritmo do banqueiro considera que cada solicitao de emprstimo
deve ser analisada se sua concesso levar a um estado seguro, se sim a
requisio ser atendida, se no ela ser adiada. O algoritmo pode ser utilizado
para inmeros recursos, podemos dividir as operaes em duas matrizes, uma
mostra quanto de cada recurso atualmente est alocado para cada tipo de
processo e a outra apresentado quantos recursos cada processo ainda precisa
para completar sua execuo . O vetor de recursos disponvel a diferena entre
aquilo que o sistema tem e aquilo que atualmente est em uso pelos processos.
O que o algoritmo faz :
1. procurar uma linha na matriz de recursos que cada processo ainda
necessita, cuja necessidades de recursos sejam todas inferiores ou iguais aos
recursos disponveis, caso nenhuma linha com essas caractersticas o sistema
entrara em situao de impasse;
2. considere que o processo da linha escolhida requisite todos os
recursos de que necessita e termina. O algoritmo marcar esse processo como
terminado e adiciona ao vetor de recursos disponveis.
-
ALGORITMO DO BANQUEIRO Sistemas Operacionais I Jlio Peixoto da Silva Jnior - 371978 3. repete os passos 1 e 2 at que todos os processos sejam marcados
como terminados, que o caso seguro, ou at ocorrer um impasse (caso
inseguro).
Segundo Tanenbaum, embora em teoria o algoritmo seja maravilhoso, na
prtica essencialmente intil, porque os processos raramente sabem com
antecipao o mximo de recursos de que vo precisar. O nmero mximo de
processos no fixo, mas varia dinamicamente medida que novos usurios
entram e saem. Na prtica so poucos os sistemas que usam o algoritmo do
banqueiro para evitar impasses.