Please enable JavaScript.
Coggle requires JavaScript to display documents.
Deadlock - Coggle Diagram
Deadlock
Detecção de Deadlock
Usado quando não há prevenção nem evitação
Sistema deve
Detectar se deadlock ocorreu
Executar algoritmo para recuperação
Única Instância de Cada Tipo de Recurso
Mantém gráfico de espera
Nós
Processos
Setas indicam quem está esperando quem
Algoritmo busca ciclo no gráfico
Ciclo = deadlock
Múltiplas Instâncias de um Tipo de Recurso
Método gráfico não funciona
Usam-se algoritmos com matrizes
Complexidade: O(m × n²)
m = tipos de recursos
n = número de processos
Recuperação de Deadlock
Após detecção
Avisar usuário
Solução manual
Recuperação automática
Abortar processos para quebrar a espera circular
Preempção de recursos de processos envolvidos
Terminando os processos
Duas Estratégias
Abortar todos os processos em deadlock
Abortar um por um até remover o ciclo
Critérios para escolha dos processos a serem abortados
Prioridade do processo
Tempo de execução já realizado e restante
Recursos já utilizados
Preempção de Recursos
Envolve três aspectos principais
Seleção de uma vítima
Qual processo ou recurso será preemptado?
Minimizar o custo da preempção
Reversão (Rollback)
Retornar o processo a um estado seguro anterior
Starvation
Um processo pode ser sempre escolhido como vítima
Evita fome priorizando quem sofreu menos rollbacks