2009 1 - sistemas operacionais - aula 7 - deadlocks
Upcoming SlideShare
Loading in...5
×
 

2009 1 - sistemas operacionais - aula 7 - deadlocks

on

  • 504 views

 

Statistics

Views

Total Views
504
Slideshare-icon Views on SlideShare
426
Embed Views
78

Actions

Likes
2
Downloads
24
Comments
0

1 Embed 78

http://www.computacaodepressao.com.br 78

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    2009 1 - sistemas operacionais - aula 7 - deadlocks 2009 1 - sistemas operacionais - aula 7 - deadlocks Presentation Transcript

    • Sistemas Operacionais -Deadlocks Ernesto Massa (slides fornecidos pela Prentice Hall e adaptados para esta disciplina) 1Pearson 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.Pearson Education 2 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.Pearson Education 3 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.Pearson Education 4 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.Pearson Education 5 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 UPearson Education 6 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áriasPearson Education 7 Sistemas Operacionais Modernos – 2ª Edição
    • Modelagem de Deadlock  Como ocorre um deadlock  Pode-se identificar as quatro condições?Pearson Education 8 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 operacionalPearson Education 9 Sistemas Operacionais Modernos – 2ª Edição
    • 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
    • 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
    • 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
    • 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
    • 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
    • Evitando Deadlocks Trajetórias de Recursos  Trajetórias de recursos de dois processosPearson Education 15 Sistemas Operacionais Modernos – 2ª Edição
    • Estados Seguros e Inseguros  O estado em (a) é um estado seguroPearson Education 16 Sistemas Operacionais Modernos – 2ª Edição
    • Estados Seguros e Inseguros  Demonstração de que o estado em (b) é inseguroPearson Education 17 Sistemas Operacionais Modernos – 2ª Edição
    • 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
    • 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
    • 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
    • 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
    • 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
    • Prevenção de Deadlock Espera Circular  Recursos ordenados numericamentePearson Education 23 Sistemas Operacionais Modernos – 2ª Edição
    • Prevenção de Deadlock  Resumo das abordagens para prevenir deadlockPearson Education 24 Sistemas Operacionais Modernos – 2ª Edição