75162398 Deadlock Sd
1455 palavras
6 páginas
Deadlock em SDDeadlock 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