Prévia do material em texto
UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS FACULDADE DE COMPUTAÇÃO CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: SISTEMAS OPERACIONAIS PROFESSORA: FABÍOLA P. OLIVEIRA ARAÚJO ATIVIDADE 06 – Deadlock QUESTÃO 01: O que é deadlock? Quais as condições necessárias para que exista um deadlock em um sistema? QUESTÃO 02: Diante das condições citadas na questão anterior, explique o que aconteceria se elas fossem combatidas na tentativa de se evitar o deadlock. Cite os principais problemas que poderiam acontecer no sistema. QUESTÃO 03: Dê um exemplo de deadlock simples de recurso envolvendo três processos e três recursos. Desenhe o grafo de alocação de recursos apropriado. QUESTÃO 04: Um sistema tem dois processos e três recursos idênticos. Cada processo precisa no máximo de dois recursos. É possível ocorrer deadlock? Justifique a sua resposta. QUESTÃO 05: Observe cuidadosamente a tabela abaixo. Se o processo D requisitar uma unidade a mais, isso levará a um estado seguro ou inseguro? O que acontecerá se a requisição chegar do processo C ao invés do processo D? PROCESSO ALOCADOS NECESSÁRIOS A 1 6 B 1 5 C 2 4 D 4 7 Disponível: 2 QUESTÃO 06: O fato de um estado ser inseguro não implica necessariamente que o sistema sofrerá deadlock. Explique por que isso é verdade. Dê um exemplo de estado inseguro e mostre como todos os processos poderiam concluir sem ocorrer um deadlock. Atividade 06 – Deadlock QUESTÃO 07: Por que a recuperação de deadlock é um problema tão difícil? Por que é difícil escolher quais processos devem ser “mortos” na recuperação de deadlock? QUESTÃO 08: Defina e discuta, com exemplos, cada um dos seguintes conceitos de recursos abaixo: a) Recurso preemptivo; b) Recurso não preemptivo; c) Recurso compartilhado; QUESTÃO 9: Considere o deadlock de tráfego mostrado na figura abaixo. a) Demonstre que as quatro condições necessárias para a ocorrência do deadlock, citadas na Questão 01, estão presentes nesse exemplo. b) Defina uma regra simples para impedir deadlocks nesse sistema; QUESTÃO 10: O Algoritmo do Banqueiro de Dijkstra tem uma série de deficiências que impedem sua utilização efetiva em sistemas reais. Comente por que cada uma das seguintes restrições pode ser considerada uma deficiência do Algoritmo do Banqueiro: a) O número de recursos a ser alocado permanece fixo; b) A população de processos permanece fixa; c) Usuários devem declarar previamente suas necessidades máximas de recursos; d) O sistema operacional garante que as requisições de recursos serão atendidas em tempo finito; Atividade 06 – Deadlock