Claude falcao
Sistemas Operacionais – Ciência da Computação
Computaç
Deadlocks (impasses)
Introdução
Introduç
Prof. Humberto Brandão humberto@dcc.ufmg.br aula disponível no site: http://www.dcc.ufmg.br/~humberto/unifal/ Universidade Federal de Alfenas
Departamento de Ciências Exatas versão da aula: 0.1
• Os deadlocks acontecem quando um conjunto de deadlocks processos/threads disputam por um ou mais recursos; recursos
• Estes recursos podem ser, por exemplo:
–
–
–
–
Um arquivo;
Uma impressora;
Um pedaço da memória;
Vários arquivos.
Deadlocks
Deadlocks
• Se não existe o controle de acessos ao recurso comum, danos irreparáveis podem ocorrer; irrepará ocorrer
• Portanto, deadlocks podem ocorrer tanto na disputa por recursos de hardware, como na disputa por recursos de software;
• Exemplos:
– Arquivos corrompidos;
– Perda de documentos na fila da impressora;
– Erros lógicos em programas de usuário (chave primária incremental em BD, por exemplo);
Deadlocks
• Definição formal:
– “Um conjunto de processos estará em situação de deadlock se todo processo pertencente ao conjunto estiver esperando por um evento que somente um outro processo desse conjunto poderá fazer acontecer.” Recursos Preemptíveis e
Não Preemptíveis
1
Recursos Preemptíveis e
Não Preemptíveis
Recursos Preemptíveis e
Não Preemptíveis
• Um recurso preemptível é aquele que pode ser retirado do processo proprietário sem nenhum prejuízo; • Um recurso não preemptível, ao contrário, é preemptí vel aquele que não pode ser retirado do atual processo proprietário sem que a computação computaç apresente falha; falha – Exemplos:
– Exemplos:
• Memória RAM
• CPU
• Se um processo começou a gravar um CD, fornecer o acesso a gravadora, a outro processo, gera um CD com erros;
• Deadlocks envolvem recursos não preemptíveis. preemptí Recursos Preemptíveis e
Não Preemptíveis
Recursos Preemptíveis e
Não