Prevenção de Deadlock Exclusão mútua: impossível de evitar em geral. Aquisição gradativa de recursos: impossível de evitar. Sem preempção: Evitável. Adquirir todos os recursos antes de começar a executar.
Para detectar o deadlock, o sistema deve implementar uma estrutura de dados que armazene as informações sobre os processos e os recursos alocados a eles. Essas estruturas deverão ser atualizadas dinamicamente, de modo que reflitam realmente a situação de cada processo/recurso no sistema.
Existem três estratégias para tratamento de deadlocks: Ignorar a situação. Detectar o deadlock e recuperar o sistema. Evitar o deadlock.
...
Inicialmente, desmarcar todos os processos;Para um processo Pi desmarcado, verificar se todos os elementos da linha i na Matriz R são menores ou iguais aos da Matriz A;
Modelagem dos impasses
Podemos usar quatro estratégias para tratar dos impasses: Ignorar totalmente a existência dos impasses. Detectar o impasse e recuperar o sistema após a ocorrência deste impasse. Evitar a ocorrência dos impasses em tempo de execução, ao alocar os recursos aos processos.
4) Espera circular: para evitar que se formem ciclos fechados no grafo de recursos devemos fazer com que cada processo só possa ter um recurso por vez e se desejar outro, deve liberar o que possui (isto impossibilitaria coisas simples como cópia de uma fita para outra) ou senão podemos dar uma numeração global a todos ...
29 curiosidades que você vai gostar
O caso em que o starvation ocorre é quando um processo escritor está esperando para ser atendido, mas sempre chega outro processe escritor que é escolhido pelo escalonador. Uma possível correção para isso seria manter a ordem de atendimento dos escritores utilizando uma fila FIFO.
Existem quatro condições para a ocorrência de deadlock:Condição de exclusão mútua. Em um determinado instante, cada recurso está em uma de duas situações: ou associado a um único processo ou disponível.Condição de posso e espera. ... Condição de não preempção. ... Condição de espera circular.
Preemptíveis: pode ser tirado do processo que o possui sem prejudicar o resultado da computação. Não-preemptíveis: se o recurso for tirado do processo antes de este liberá-lo, o resultado da computação será incorreto. Preemptíveis: pode ser tirado do processo que o possui sem prejudicar o resultado da computação.
São exemplos de recursos que não aceitam preempção:
Disco rígido e impressora. Gravador de CD e memória. Disco rígido e gravador de CD. Nenhum desses pares.
Como saber a altura na fita métrica?
O que fazer com mulher mimada?
Como é se relacionar com alguém com borderline?
Quando uma pessoa é convencida?
Como testar um capacitor de tântalo?
Como fazer gravação de áudio no notebook?
Como saber a acidez do azeite?
O que fazer para acalmar o signo de Áries?
O que fazer com uma criança que faz pirraça?
Como tratar uma pessoa melindrosa?
Como baixar aplicativos no Windows?
O que fazer para ter mais iniciativa?
O que fazer com uma pessoa que reclama de tudo?
Como conviver com pessoas com síndrome de Asperger?