deadlock
Deadlock (Impasse)
Aula 07
Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br Roteiro
• Conceito de Deadlock;
• Recursos;
• Condições de ocorrência;
• Estratégias para tratar Deadlocks;
• Prevenção de deadlocks;
• Leituras Sugeridas
• Exercícios
Deadlocks
Na ausência de uma sincronização pode ocorrer um deadlock; Definição: É o congestionamento de requisições de recursos no âmbito de todo o sistema que começa quando 2 ou mais programas são colocados em espera até que o recurso vital se torne disponível.
Normalmente não pode ser resolvido pelo S.O. e requer intervenção externa por parte do operador ou dos usuários, forçando a tomar atitudes drásticas, como provocar manualmente o término do programa.
3
Deadlocks
Analogia: escada muito estreita em um prédio.
A escada foi construída como uma rota de fuga na eventualidade de um incêndio,
As pessoas que trabalham no prédio muitas vezes preferem usá-las ao invés de esperar pelos elevadores. O tráfego vai bem até que duas pessoas movendo em direção opostas se cruzam - há espaço para apenas uma pessoa em cada degrau.
4
Deadlocks
Analogia: Congestionamento de trânsito
Situação de deadlock
5
Deadlocks - Recursos
Existem 2 tipos de recursos:
Preemptivos: podem ser retirados do processo sem prejuízos;
Exemplo: Memória – 2 processos solicitam a impressão (sistema time-sharing)
Processo A obtém a impressora;
CPU retira processo A e processo B tenta obter a impressora;
Situação de deadlock;
Envia processo B para disco e carrega o processo A na memória – elimina o deadlock;
6
Deadlocks
Não-preemptivos: não podem ser retirados do
Nãoprocesso => causam prejuízos;
CD-ROM;
Processo A começou a gravar um CD-ROM,
Retirar repentinamente do processo A o gravador de CD e passar a um outro processo,
Resultará em um CD com