Banqueiro

Preview:

DESCRIPTION

Algoritimo

Citation preview

  • 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.

Recommended