Mindmap
Sistemas operacionais: Deadlock
Inhalt der Mindmap
Sistemas operacionais: Deadlock
Gerência de recursos
- Compartilhamento de recursos
- Deve-se determinar se os recursos podem ser usados por vários processos simultaneamente ou não
- Alguns problemas podem ocorrer quando duas ou mais tarefas acessam os mesmos recursos de forma concorrente
- Deadlock
- Definição
- Situação na qual um processo está esperando por um evento particular que jamais ocorrerá
- Deadlock é o bloqueio indeterminado entre processos que dependem simultaneamente de acesso a um recurso compartilhado
- Tipos de deadlock
- Deadlock de processos
- Processo espera pela ocorrência de um determinado evento que não é sinalizado pelo sistema oepracionail
- Extremamente difíceis de detectar, pois estão associados a erros no código do processo
- Deadlock de recursos
- Causado por espera circular
- Processo A detém um recurso 1, e precisa do recurso 2 para poder prosseguir
- Processo B, por sua vez, detém o recurso 2, e precisa do recurso 1 para poder prosseguir
- Causado por espera circular
- Deadlock de processos
- Condições necessárias para deadlock
- Exclusão mútua
- Em um determinado instante, cada recurso está ou alocado a um único processo ou disponível
- Negando a condição de exclusão mútua
- Utilização de um sistema de spool
- Um único processo acessa recurso diretamente
- Demais processos acessam o processo de spool do recurso evitando o deadlock
- Problemas
- Tem todo recurso pode ser alocado via spooling
- O próprio sistema de spooling pode gerar deadlocks
- Utilização de um sistema de spool
- Posse e espera
- Processos detêm a posse de certos recursos e esperam por outros
- Negando a condição de posse e espera
- Requisição de todos recursos para um processo de uma única vez
- Se todos os recursos estão disponíveis, o sistema os aloca para o processo requisitante
- Se algum recurso não estiver disponível, processo espera até que todos estejam disponíveis
- Problemas
- Desperdício de recursos pela subutilização
- Processo pode esperar indefinidamente para obter todos recursos requisitados
- Requisição de todos recursos para um processo de uma única vez
- Não preempção
- Recursos não podem ser removidos dos processos que os utilizam até o término do uso
- Negando a condição de não preempção
- Pode gerar desperdício de recursos
- Não é desejado, por exemplo, que um processo perca a posse da impressora durante o uso
- Espera circular
- Existe uma cadeia circular na qual cada processo detém um ou mais recursos requisitados por outro processo
- Negando a condição de espera circular
- Cada processo só pode alocar um único recurso por vez
- Para utilizar um segundo recurso, deve liberar o primeiro
- Exclusão mútua
- Estratégias para evitar deadlock
- Prevenir
- Garantir que não ocorra pelo menos 1 das 4 condições necessárias para ocorrência de deadlock
- Recuperar
- Deixa o sistema entrar em estado de deadlock e o corrigi
- Ignorar
- Presume-se que deadlocks nunca ocorrem
- Solução usada pela maioria dos sistemas operacionais
- Prevenir
- Adiamento indefinido ou Starvation
- Processos esperam pela alocação de recursos ou pelas decisões de escalonamento, sem nunca ter acesso ao recurso
- Motivo de ocorrência
- Geralmente quando recursos são alocadas em um esquema de prioridades
- Chegada de processos prioritários impossibilita o acesso de processo menos prioritários a recursos
- Como evitá-lo
- Aumento de prioridade de processos conforme espera por recurso
- Definição
- Deadlock
- Compartilhamento de recursos
Informationen
- Beschreibung
- Sistemas operacionais Mindmap am Sistemas operacionais: Deadlock, erstellt von Michel Souza am 23/02/2018.
- Erstellt von
- Michel Souza
- Aufrufe
- 1
- Bewertung