2009 1 - sistemas operacionais - aula 7 - deadlocks
TRANSCRIPT
![Page 1: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/1.jpg)
1Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Sistemas Operacionais-Deadlocks
Ernesto Massa
(slides fornecidos pela Prentice Hall e adaptados para esta disciplina)
![Page 2: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/2.jpg)
2Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Deadlock
Suponha a seguinte situação: Um processo detenha o recurso A e
solicite o recurso B. Ao mesmo tempo um outro processo detém B e solicita A.
Ambos são bloqueados permanentemente!
Esta situação é chamada de DEADLOCK.
![Page 3: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/3.jpg)
3Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Condições Necessárias ao Deadlock
Exclusão Mútua Todo recurso está associado a apenas um processo,
ou se encontra disponível. Posse e Espera
Processos retêm alguns recursos, aguardando por outros recursos necessários.
Não Preempção Os recursos utilizados por um processo não podem
ser retirados dele sem o seu concentimento. Espera Circular
Formação de uma cadeia circular com 2 ou mais processos. Cada processo está à espera de ao menos um recurso retido pelo membro seguinte dessa cadeia.
![Page 4: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/4.jpg)
4Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Recursos
Alguns exemplos de recursos em um sistema computacional: impressoras unidades de disco arquivos
Processos precisam de acesso aos recursos em uma ordem lógica particular durante o seu processamento.
![Page 5: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/5.jpg)
5Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Recursos
Recursos preemptíveis Podem ser retirados de um processo
sem provocar quaisquer efeitos prejudiciais.
Recursos não preemptíveis Induzem o processo a falhar se forem
retirados.
![Page 6: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/6.jpg)
6Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Modelagem de Deadlocks
Modelagem com grafos dirigidos O recurso R está alocado ao processo A O processo B está solicitando/esperando pelo
recurso S Os processos C e D estão em deadlock sobre
recursos T e U
![Page 7: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/7.jpg)
7Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Modelagem de Deadlocks
Estratégias para o tratamento de Deadlocks: Ignorar por completo o problema
Algoritmo da Avestruz Detectar e recuperar Evitar dinâmicamente
Alocação cuidadosa de recursos Prevenir
Remover uma das quatro condições necessárias
![Page 8: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/8.jpg)
8Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Modelagem de Deadlock
Como ocorre um deadlock
Pode-se identificar as quatro condições?
![Page 9: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/9.jpg)
9Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Algoritmo do Avestruz
Finge que o problema não existe Razoável quando:
Deadlocks ocorrem muito raramente O custo da prevenção for muito alto
É uma ponderação entre a conveniência e a correção.
perfil exato x perfil operacional
![Page 10: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/10.jpg)
10Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Detecção com um Recursode Cada Tipo
Observe a posse e solicitações de recursos
Um ciclo pode ser encontrado dentro do grafo, denotando deadlock
![Page 11: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/11.jpg)
11Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Detecção com vários Recursosde Cada Tipo
Estruturas de dados necessárias ao algoritmo de detecção de deadlock
![Page 12: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/12.jpg)
12Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Detecção com Múltiplos Recursosde Cada Tipo
Um exemplo de algoritmo: Garantia de
recursos suficientes para atender recursiva-mente a todos os processos.
![Page 13: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/13.jpg)
13Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Recuperação de Deadlock
Preempção de Recurso Retirada de um recurso de algum
processo. Dependente da natureza do recurso.
Reversão de Estado Gravação do estado dos processos
periodicamente. Se for encontrado um deadlock, retorna
a execução ao último estado seguro.
![Page 14: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/14.jpg)
14Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Recuperação de Deadlock
Recuperação através da eliminação de processos Elimina um dos processos no ciclo de
deadlock. A forma mais grosseira porém mais
simples de se quebrar um deadlock. Os outros processos conseguem seus
recursos recursivamente. Deve ser escolhido um processo de
baixo impacto e que pode ser reexecutado desde seu início.
![Page 15: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/15.jpg)
15Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Evitando DeadlocksTrajetórias de Recursos
Trajetórias de recursos de dois processos
![Page 16: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/16.jpg)
16Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Estados Seguros e Inseguros
O estado em (a) é um estado seguro
![Page 17: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/17.jpg)
17Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Estados Seguros e Inseguros
Demonstração de que o estado em (b) é inseguro
![Page 18: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/18.jpg)
18Pearson Education Sistemas Operacionais Modernos – 2ª Edição
O Algoritmo do Banqueiro para um Único Recurso
Três estados de alocação de recursosseguro seguro inseguro
![Page 19: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/19.jpg)
19Pearson Education Sistemas Operacionais Modernos – 2ª Edição
O Algoritmo do Banqueiropara Múltiplos Recursos
Exemplo do algoritmo do banqueiro com múltiplos recursos
EXIST.ALOC.DISP.
![Page 20: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/20.jpg)
20Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Prevenção de Deadlock Exclusão Mútua
Alguns dispositivos (como uma impressora) podem fazer uso de spool o daemon de impressão é o único que usa o
recurso impressora. desta forma deadlock envolvendo a impressora
é eliminado. Nem todos os dispositivos podem fazer
uso de spool. Princípio:
Evitar alocar um recurso quando ele não for absolutamente necessário.
Assegurar que o menor número possível de processos possa de fato requisitar o recurso.
![Page 21: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/21.jpg)
21Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Prevenção de Deadlock Posse e Espera
Exigir que todos os processos requisitem os recursos antes de iniciarem um processo nunca tem que esperar por aquilo que
precisa
Problemas Os processos podem não saber quantos e quais
recursos vão precisar no início da execução Retenção de recursos por mais tempo que o
necessário,.
Variação: Cada processo deve desistir de todos os recursos,
para então requisitar todos os que são imediatamente necessários.
![Page 22: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/22.jpg)
22Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Prevenção de Deadlock Não Preempção
Inviável Considere um processo de posse de
uma impressora No meio da impressão Tomada a impressora a força!!??
![Page 23: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/23.jpg)
23Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Prevenção de Deadlock Espera Circular
Recursos ordenados numericamente
![Page 24: 2009 1 - sistemas operacionais - aula 7 - deadlocks](https://reader034.vdocuments.com.br/reader034/viewer/2022052304/55939e551a28abe47f8b46a1/html5/thumbnails/24.jpg)
24Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Prevenção de Deadlock
Resumo das abordagens para prevenir deadlock