DEADLOCKS - IMPASSES                                  Sistemas Operacionais                                  Cristiano Pir...
DEADLOCKS - IMPASSES      ¢            3.1. Recurso      ¢            3.2. Introdução aos deadlocks      ¢            3...
RECURSOS   ¢ Exemplos                de recursos de computador        —   impressoras        —   unidades de fita      ...
RECURSOS (1)    ¢ Deadlocks                  ocorrem quando …         —   garante-se aos processos acesso exclusivo aos ...
RECURSOS (2)     ž         Seqüência de eventos necessários ao uso de um                recurso                  1.    so...
CÓDIGOS COM E SEM POSSIBILIDADE DE DEADLOCKsexta-feira, 27 de maio de 2011
INTRODUÇÃO AOS DEADLOCKS        ž Definição  formal:            Um conjunto de processos está em situação de            d...
QUATRO CONDIÇÕES PARA           DEADLOCK    1.         Condição de exclusão mútua          —      todo recurso está ou as...
MODELAGEM DE DEADLOCK COM           GRAFOS DIRIGIDOS                        processo                        recurso       ...
COMO OCORRE UM DEADLOCK                                  10sexta-feira, 27 de maio de 2011
COMO PODE SER EVITADO UM          DEADLOCK                                  11sexta-feira, 27 de maio de 2011
ESTRATÉGIAS PARA TRATAR           DEADLOCKS                1. Ignorar por completo o problema;                2. Detecção ...
ALGORITMO DO AVESTRUZ         ¢ Finge que o problema não existe         ¢ Razoável se              — deadlocks ocorrem ...
DETECÇÃO COM UM RECURSODE CADA TIPO       R    ¢ Observe  a posse e solicitações de recursos    ¢ Um ciclo pode ser enco...
RECUPERAÇÃO DE DEADLOCK         ¢ Existemvárias, mas não são interessantes.         ¢ Recuperação através de preempção  ...
RECUPERAÇÃO DE DEADLOCK           (2)      ¢   Recuperação através da eliminação de processos           — forma mais gro...
EVITANDO DEADLOCKS         TRAJETÓRIAS DE RECURSOS                        Trajetórias de recursos de dois processos       ...
PREVENÇÃO DE DEADLOCK         ATACANDO A CONDIÇÃO DE EXCLUSÃO       ž Alguns dispositivos (como uma impressora)          ...
PREVENÇÃO DE DEADLOCK         ATACANDO A CONDIÇÃO DE POSSE E ESPERA ž   Exigir que todos os processos requisitem os recur...
PREVENÇÃO DE DEADLOCK         ATACANDO A CONDIÇÃO DE NÃO PREEMPÇÃO   ¢ Esta é uma opção inviável   ¢ Considere um proces...
PREVENÇÃO DE DEADLOCKATACANDO A CONDIÇÃO DE ESPERA CIRCULAR (1)               a)       Recursos ordenados numericamente   ...
PREVENÇÃO DE DEADLOCK  ATACANDO A CONDIÇÃO DE ESPERA CIRCULAR (2)         Resumo das abordagens para prevenir deadlock    ...
Upcoming SlideShare
Loading in...5
×

Aula 03-deadlock

3,177

Published on

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
3,177
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
173
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Aula 03-deadlock

  1. 1. DEADLOCKS - IMPASSES Sistemas Operacionais Cristiano Pires Martinssexta-feira, 27 de maio de 2011
  2. 2. DEADLOCKS - IMPASSES ¢ 3.1. Recurso ¢ 3.2. Introdução aos deadlocks ¢ 3.3. Algoritmo do avestruz ¢ 3.4. Detecção e recuperação de deadlocks ¢ 3.5. Evitando deadlocks ¢ 3.6. Prevenção de deadlocks ¢ 3.7. Outras questõessexta-feira, 27 de maio de 2011
  3. 3. RECURSOS ¢ Exemplos de recursos de computador — impressoras — unidades de fita — tabelas ¢ Processos precisam de acesso aos recursos numa ordem racional ¢ Suponha que 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 e assim permanecem 3sexta-feira, 27 de maio de 2011
  4. 4. RECURSOS (1) ¢ Deadlocks ocorrem quando … — garante-se aos processos acesso exclusivo aos dispositivos — esses dispositivos são normalmente chamados de recursos ¢ Recurso — Recurso é algo que pode ser usado somente por um único processo em um dado instante de tempo. ¢ Recursos preemptíveis — podem ser retirados de um processo sem quaisquer efeitos prejudiciais ¢ Recursos não preemptíveis — vão induzir o processo a falhar se forem retirados 4sexta-feira, 27 de maio de 2011
  5. 5. RECURSOS (2) ž Seqüência de eventos necessários ao uso de um recurso 1. solicitar o recurso 2. usar o recurso 3. liberar o recurso ž Deve esperar se solicitação é negada — processo solicitante pode ser bloqueado — pode falhar resultando em um código de erro 5sexta-feira, 27 de maio de 2011
  6. 6. CÓDIGOS COM E SEM POSSIBILIDADE DE DEADLOCKsexta-feira, 27 de maio de 2011
  7. 7. INTRODUÇÃO AOS DEADLOCKS ž Definição formal: Um conjunto de processos está em situação de deadlock se todo processo pertencente ao conjunto estiver esperando por um evento que somente um outro processo desse mesmo conjunto poderá fazer acontecer ž Normalmente o evento é a liberação de um recurso atualmente retido. ž Nenhum dos processos pode... — executar — liberar recursos — ser acordado 7sexta-feira, 27 de maio de 2011
  8. 8. QUATRO CONDIÇÕES PARA DEADLOCK 1. Condição de exclusão mútua — todo recurso está ou associado a um processo ou disponível 2. Condição de posse e espera — processos que retêm recursos podem solicitar novos recursos 3. Condição de não preempção — recursos concedidos previamente não podem ser forçosamente tomados 4. Condição de espera circular — deve ser uma cadeia circular de 2 ou mais processos — cada um está à espera de recurso retido pelo membro seguinte dessa cadeia — Obs.: Todas devem estar presentes para que ocorra um deadlock. 8sexta-feira, 27 de maio de 2011
  9. 9. MODELAGEM DE DEADLOCK COM GRAFOS DIRIGIDOS processo recurso a) recurso R alocado ao processo A b) processo B está solicitando/esperando pelo recurso S c) processos C e D estão em deadlock sobre recursos T e U 9sexta-feira, 27 de maio de 2011
  10. 10. COMO OCORRE UM DEADLOCK 10sexta-feira, 27 de maio de 2011
  11. 11. COMO PODE SER EVITADO UM DEADLOCK 11sexta-feira, 27 de maio de 2011
  12. 12. ESTRATÉGIAS PARA TRATAR DEADLOCKS 1. Ignorar por completo o problema; 2. Detecção e recuperação; 3. Evitação dinâmica: ¢ alocação cuidadosa de recursos 4. Prevenção: ¢ negação de uma das quatro condições necessárias 12sexta-feira, 27 de maio de 2011
  13. 13. ALGORITMO DO AVESTRUZ ¢ Finge que o problema não existe ¢ Razoável se — deadlocks ocorrem muito raramente — custo da prevenção é alto ¢ UNIX e Windows seguem esta abordagem ¢ É uma ponderação entre — conveniência — correção 13sexta-feira, 27 de maio de 2011
  14. 14. DETECÇÃO COM UM RECURSODE CADA TIPO R ¢ Observe a posse e solicitações de recursos ¢ Um ciclo pode ser encontrado dentro do grafo, denotando deadlock 14sexta-feira, 27 de maio de 2011
  15. 15. RECUPERAÇÃO DE DEADLOCK ¢ Existemvárias, mas não são interessantes. ¢ Recuperação através de preempção — retirar um recurso de algum outro processo — depende da natureza do recurso ¢ Recuperação através de reversão de estado — verifica um processo periodicamente — usa este estado salvo — reinicia o processo se este é encontrado em estado de deadlock 15sexta-feira, 27 de maio de 2011
  16. 16. RECUPERAÇÃO DE DEADLOCK (2) ¢ Recuperação através da eliminação de processos — forma mais grosseira mas também mais simples de quebrar um deadlock — elimina um dos processos no ciclo de deadlock — os outros processos conseguem seus recursos — escolhe processo que pode ser reexecutado desde seu início 16sexta-feira, 27 de maio de 2011
  17. 17. EVITANDO DEADLOCKS TRAJETÓRIAS DE RECURSOS Trajetórias de recursos de dois processos 17sexta-feira, 27 de maio de 2011
  18. 18. PREVENÇÃO DE DEADLOCK ATACANDO A CONDIÇÃO DE EXCLUSÃO ž 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 — tentar assegurar que o menor número possível de processos possa de fato requisitar o recurso 18sexta-feira, 27 de maio de 2011
  19. 19. PREVENÇÃO DE DEADLOCK ATACANDO A CONDIÇÃO DE 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 — podem não saber quantos e quais recursos vão precisar no início da execução — e também retêm recursos que outros processos poderiam estar usando ž Variação: — processo deve desistir de todos os recursos — para então requisitar todos os que são imediatamente necessários 19sexta-feira, 27 de maio de 2011
  20. 20. PREVENÇÃO DE DEADLOCK ATACANDO A CONDIÇÃO DE NÃO PREEMPÇÃO ¢ Esta é uma opção inviável ¢ Considere um processo de posse de uma impressora — no meio da impressão — retoma a impressora a força — !!?? 20sexta-feira, 27 de maio de 2011
  21. 21. PREVENÇÃO DE DEADLOCKATACANDO A CONDIÇÃO DE ESPERA CIRCULAR (1) a) Recursos ordenados numericamente b) Um grafo de recursos 21sexta-feira, 27 de maio de 2011
  22. 22. PREVENÇÃO DE DEADLOCK ATACANDO A CONDIÇÃO DE ESPERA CIRCULAR (2) Resumo das abordagens para prevenir deadlock 22sexta-feira, 27 de maio de 2011
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×