2009 1 - sistemas operacionais - aula 7 - deadlocks
-
Upload
computacao-depressao -
Category
Documents
-
view
534 -
download
0
Transcript of 2009 1 - sistemas operacionais - aula 7 - deadlocks
1Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Sistemas Operacionais-Deadlocks
Ernesto Massa
(slides fornecidos pela Prentice Hall e adaptados para esta disciplina)
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.
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.
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.
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.
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
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
8Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Modelagem de Deadlock
Como ocorre um deadlock
Pode-se identificar as quatro condições?
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
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
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
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.
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.
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.
15Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Evitando DeadlocksTrajetórias de Recursos
Trajetórias de recursos de dois processos
16Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Estados Seguros e Inseguros
O estado em (a) é um estado seguro
17Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Estados Seguros e Inseguros
Demonstração de que o estado em (b) é inseguro
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
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.
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.
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.
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!!??
23Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Prevenção de Deadlock Espera Circular
Recursos ordenados numericamente
24Pearson Education Sistemas Operacionais Modernos – 2ª Edição
Prevenção de Deadlock
Resumo das abordagens para prevenir deadlock