2009 1 - sistemas operacionais - aula 7 - deadlocks

Preview:

Citation preview

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

Recommended