75162398 Deadlock Sd

1455 palavras 6 páginas
Deadlock em SD

Deadlock em SD

• S ocorre impasse se 3 coisas acontecem:

– Exclus˜ao mu´tua

– Alocac¸˜ao n˜ao-preemptiva dos recursos

– Espera c´ıclica, i.e., um ciclo no grafo de processos e recursos
• Como lidar? ignorar , impedir (evitar), detectar, prevenir

Impedir a ocorrˆencia de deadlock

• processos apresentam suas necessidades a priori

• muito ineficiente

• processos s˜ao capazes de determinar seus recursos a priori?

Deadlocks em sistemas distribu´ıdos s˜ao similares aos dea- dlocks em processadores u´nicos, por´em s˜ao mais dif´ıceis de prevenir ou detectar. Como j´a vimos anteriormente, para que ocorra deadlock, a condic¸˜ao de exclus˜ao mu´tua, alocac¸˜ao n˜ao- preemptiva de recursos e a espera circular por recursos devem ocorrer ao mesmo tempo no sistema. Podemos utilizar 4 es- trat´egias para tratar deadlocks: ignorar o problema, impedir, de- tectar para recuperac¸˜ao, prevenir da ocorrˆencia de deadlocks.
Para impedir a ocorrˆencia de deadlocks ´e necess´ario que o SO receba informaco˜es adicionais relativas a quais recursos um pro- cesso solicitar´a e utilizar´a durante sua vida u´til. Assim, podemos utilizar algoritmos que determinam se ´e poss´ıvel alocar todos os recursos sem que ocorra deadlock. O problema dessa estrat´egia ´e que ´e muito ineficiente e processos nem sempre sabem determinar a priori todos os recursos de que necessitar˜ao.

Ignorar a ocorrˆencia de deadlock

• N˜ao se faz nada, ignora-se o problema

• E´ a soluc¸˜ao adotada pela maior parte dos sistemas tradicionais (UNIX, Windows)
• Usu´arios detectam um problema e comecam a matar os processos problem´aticos manualmente at´e que o sistema volte a funcionar
Prevenc¸˜ao a ocorrˆencia de deadlock

• um u´nico recurso simultˆaneo por processo

• pr´e-alocac¸˜ao de todos os recursos

• numerar recursos e solicit´a-los sempre em ordem
• processos com prioridade (pode causar starvation)

A soluc¸˜ao mais utilizada pela maioria

Relacionados