Please enable JavaScript.
Coggle requires JavaScript to display documents.
Deadlocks - Coggle Diagram
Deadlocks
Modelo do Sistema
Sistema = Conjunto finito de recursos
Cada processo utiliza um recurso
Requisição/Solicitação
Uso
Liberação
Ex: CPU de 2 núcleos = 2 instâncias
Métodos para Tratamento de Deadlocks
Garantir que o sistema nunca entrará em deadlock
Uma das condições necessárias não seja satisfeita
Entre em um estado de deadlock e se recupere
Ignorar o problema
Caracterização do Deadlock
Condições Necessárias
Exclusão mútua
Manter e esperar
Não preempção
Espera circular
Grafo de Alocação de Recursos
Se o grafo não contém ciclos
Sem deadlock
Se o grafo contém um ciclo
Apenas uma instância por tipo de recurso
Deadlock
Várias instâncias
Possibilidade de deadlock.
Detecção de Deadlock
Única Instância de Cada Tipo de Recurso
Manter gráfico de espera
Múltiplas Instâncias de um Tipo de Recurso
Algoritmos usando matrizes
Recuperação de Deadlock
Terminando o processo
Aborte todos os processos em deadlock
Aborte um processo de cada vez
Preempção de Recursos
Seleção uma vítima
Reversão (Rollback)
Starvation
Introdução
O Problema do Deadlock
Processo espera não consegue mudar de estado
Recursos reservados para outros processos
Deadlock = “Impasse”
Prevenção de Deadlock
Uma das condições necessárias não seja satisfeita
Evitando Deadlock
Estado Seguro
Fatos básicos
Garantir que sistema nao entrara estado inseguro