Sistemas Operacionais         -Deadlocks                                Ernesto Massa                        (slides forne...
Deadlock           Suponha a seguinte situação:               Um   processo detenha o recurso A e                solicit...
Condições Necessárias ao        Deadlock           Exclusão Mútua                   Todo recurso está associado a apenas...
Recursos           Alguns exemplos de recursos em            um sistema computacional:               impressoras        ...
Recursos           Recursos preemptíveis               Podem      ser retirados de um processo                    sem pr...
Modelagem de Deadlocks           Modelagem com grafos dirigidos                   O recurso R está alocado ao processo A...
Modelagem de Deadlocks           Estratégias para o tratamento de            Deadlocks:               Ignorar       por ...
Modelagem de Deadlock        Como ocorre         um deadlock      Pode-se identificar as       quatro condições?Pearson ...
Algoritmo do Avestruz           Finge que o problema não existe           Razoável quando:               Deadlocks ocor...
Detecção com um Recurso        de Cada Tipo           Observe a posse e solicitações de            recursos           Um...
Detecção com vários Recursos        de Cada Tipo           Estruturas de dados necessárias ao            algoritmo de det...
Detecção com Múltiplos Recursos        de Cada Tipo    Um exemplo     de algoritmo:         Garantia de          recurso...
Recuperação de Deadlock           Preempção de Recurso               Retiradade um recurso de algum                proce...
Recuperação de Deadlock           Recuperação através da eliminação            de processos               Elimina um dos...
Evitando Deadlocks        Trajetórias de Recursos           Trajetórias de recursos de dois processosPearson Education   ...
Estados Seguros e Inseguros           O estado em (a) é um estado            seguroPearson Education                     ...
Estados Seguros e Inseguros           Demonstração de que o estado em            (b) é inseguroPearson Education         ...
O Algoritmo do Banqueiro        para um Único Recurso           Três estados de alocação de            recursos          ...
O Algoritmo do Banqueiro        para Múltiplos Recursos     Exemplo do      algoritmo do      banqueiro com      múltiplo...
Prevenção de Deadlock        Exclusão Mútua           Alguns dispositivos (como uma            impressora) podem fazer us...
Prevenção de Deadlock        Posse e Espera           Exigir que todos os processos requisitem os            recursos ant...
Prevenção de Deadlock        Não Preempção           Inviável           Considere um processo de posse de            uma...
Prevenção de Deadlock        Espera Circular           Recursos ordenados numericamentePearson Education                 ...
Prevenção de Deadlock           Resumo das abordagens para            prevenir deadlockPearson Education                 ...
Próximos SlideShares
Carregando em…5
×

2009 1 - sistemas operacionais - aula 7 - deadlocks

910 visualizações

Publicada em

0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
910
No SlideShare
0
A partir de incorporações
0
Número de incorporações
86
Ações
Compartilhamentos
0
Downloads
53
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

2009 1 - sistemas operacionais - aula 7 - deadlocks

  1. 1. Sistemas Operacionais -Deadlocks Ernesto Massa (slides fornecidos pela Prentice Hall e adaptados para esta disciplina) 1Pearson Education Sistemas Operacionais Modernos – 2ª Edição
  2. 2. 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.Pearson Education 2 Sistemas Operacionais Modernos – 2ª Edição
  3. 3. 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.Pearson Education 3 Sistemas Operacionais Modernos – 2ª Edição
  4. 4. 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.Pearson Education 4 Sistemas Operacionais Modernos – 2ª Edição
  5. 5. 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.Pearson Education 5 Sistemas Operacionais Modernos – 2ª Edição
  6. 6. 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 UPearson Education 6 Sistemas Operacionais Modernos – 2ª Edição
  7. 7. 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áriasPearson Education 7 Sistemas Operacionais Modernos – 2ª Edição
  8. 8. Modelagem de Deadlock  Como ocorre um deadlock  Pode-se identificar as quatro condições?Pearson Education 8 Sistemas Operacionais Modernos – 2ª Edição
  9. 9. 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 operacionalPearson Education 9 Sistemas Operacionais Modernos – 2ª Edição
  10. 10. Detecção com um Recurso de Cada Tipo  Observe a posse e solicitações de recursos  Um ciclo pode ser encontrado dentro do grafo, denotando deadlockPearson Education 10 Sistemas Operacionais Modernos – 2ª Edição
  11. 11. Detecção com vários Recursos de Cada Tipo  Estruturas de dados necessárias ao algoritmo de detecção de deadlockPearson Education 11 Sistemas Operacionais Modernos – 2ª Edição
  12. 12. Detecção com Múltiplos Recursos de Cada Tipo  Um exemplo de algoritmo:  Garantia de recursos suficientes para atender recursiva- mente a todos os processos.Pearson Education 12 Sistemas Operacionais Modernos – 2ª Edição
  13. 13. Recuperação de Deadlock  Preempção de Recurso  Retiradade 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.Pearson Education 13 Sistemas Operacionais Modernos – 2ª Edição
  14. 14. 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.Pearson Education 14 Sistemas Operacionais Modernos – 2ª Edição
  15. 15. Evitando Deadlocks Trajetórias de Recursos  Trajetórias de recursos de dois processosPearson Education 15 Sistemas Operacionais Modernos – 2ª Edição
  16. 16. Estados Seguros e Inseguros  O estado em (a) é um estado seguroPearson Education 16 Sistemas Operacionais Modernos – 2ª Edição
  17. 17. Estados Seguros e Inseguros  Demonstração de que o estado em (b) é inseguroPearson Education 17 Sistemas Operacionais Modernos – 2ª Edição
  18. 18. O Algoritmo do Banqueiro para um Único Recurso  Três estados de alocação de recursos seguro seguro inseguroPearson Education 18 Sistemas Operacionais Modernos – 2ª Edição
  19. 19. O Algoritmo do Banqueiro para Múltiplos Recursos  Exemplo do algoritmo do banqueiro com múltiplos recursos EXIST. ALOC. DISP.Pearson Education 19 Sistemas Operacionais Modernos – 2ª Edição
  20. 20. 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.Pearson Education 20 Sistemas Operacionais Modernos – 2ª Edição
  21. 21. 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.Pearson Education 21 Sistemas Operacionais Modernos – 2ª Edição
  22. 22. Prevenção de Deadlock Não Preempção  Inviável  Considere um processo de posse de uma impressora  Nomeio da impressão  Tomada a impressora a força!!??Pearson Education 22 Sistemas Operacionais Modernos – 2ª Edição
  23. 23. Prevenção de Deadlock Espera Circular  Recursos ordenados numericamentePearson Education 23 Sistemas Operacionais Modernos – 2ª Edição
  24. 24. Prevenção de Deadlock  Resumo das abordagens para prevenir deadlockPearson Education 24 Sistemas Operacionais Modernos – 2ª Edição

×