Please enable JavaScript.
Coggle requires JavaScript to display documents.
Deadlocks, Mapa Mental 7 SO 2025/1 Thalison Vinicius - Coggle Diagram
Deadlocks
O Problema do Deadlock
Em multiprogramação, processos competem por recursos finitos
Conjunto de processos bloqueados
Cada um mantendo un recurso
Modelo do Sistema
Cada processo utiliza um recurso
Requisição/Solicitação
Uso
Liberação
Conjunto finito de recursos
Caracterização do Deadlock
Condições Necessárias
Exclusão mútua
Apenas um processo pode usar o recurso por vez
Manter esperar
Processo com recurso espera outro recurso
Não preempção
Recurso só é liberado voluntariamente
Esperar circular
Cadeia de processos esperando recursos entre si
Grafo de Alocação de Recursos
Vértices
Conjunto consiste em todos os processos no sistema
Conjunto consiste em todos os tipos de recursos no sistema
Aresta
Requisição
Pi -> Rj
Atribuição
Rj -> Pi
Sem ciclos = sem deadlock
Se apenas uma instância por tipo de recurso, então dealock
Se várias instâncias por tipo de recurso, possibilidade de deadlock
Métodos para tratamento de Deadlocks
Garantir que pelo menor 1 das 4 condições não seja satisfeita
SO detecta e trata depois
Ignorar o problema
Evitando Deadlock
Estado Seguro
Sistema deve decidir se a alocação é imediata ou não
Sistema em estado seguro -> sem deadlock
Sistema em estado inseguro -> risco de deadlock
Detecção de Deadlock
Algoritmo para detectar deadlock
Algoritmo para recuperar do deadlock
Recuperação de Deadlock
Informar o usuário
Abortar processo(s)
Abortar todos os processos envolvidos
Abortar um por vez até eliminar o deadlock
Critérios de escolha
Prioridade do processo
Tempo ja executado/restante
Recursos utilizados
Recursos necessários
Quantos processos terão que ser terminados
interativo ou batch?
Preempção de recurso(s)
Escolhe a vitima
Reversão (Rollback)
Starvation
Mapa Mental 7 SO 2025/1 Thalison Vinicius