bjlhjlh
504 palavras
3 páginas
Algoritmos de Detecção e Tratamento de Deadlocks.Detecção de Deadlocks Centralizada
são mantidos os processos e os recursos alocados a eles, formando um grafo de recurso alocados. Toda a maquina possui um grafo desses, porém deve-se manter um grafo único, com a união de todos grafos do sistema.
Com essa tipo de detecção ele encontra um processo é termina acabando com o deadlock.
Detecção de Deadlocks Distribuida
Ele é um algoritmo de banqueiro de Chandy-Misra-Haas ele permite ao processo acessa vários recursos de uma só vez, tornando a fase que de crescimento do algoritmo mais acelerada. Desse jeito pode ter que espera dois ou mais recursos simultaneamente.
O funcionamento dele ocorre quando M ou mais processos estão executando.
Ele utiliza comandos de avisos para o processo que esta utilizando o recurso que ele deseja essa aviso contém três informações: os números dos processos que mandaram e receberam a mensagem e dos que estão bloqueados.
Assim, se a mensagem voltar ao processo que iniciou a mensagem, existe um ciclo e, por consequência, um deadlock.
Tratamento de deadlock
Um deadlock pode ser tratado, em geral, das seguintes formas:
1)Prevenção – O SO evita a ocorrência de deadlock por meio de uma alocação cuidadosa dos recursos, decidindo se a liberação de um recurso é ou não segura.
2)Ignorância – Utilização do “Algoritmo do Avestruz”, que consiste em simples- mente ignorar o problema por este ser extremamente raro de ocorrer.
3)Detecção – Consiste basicamente na implementação pelo sistema de uma es- trutura de dados para armazenar informações a respeito dos processos e dos recursos alocados a eles, informações estas que deverão ser atualizadas de forma dinâmica para sempre representar o atual estado dos processos e recursos alocados.
Recursos que podem levar a Deadlock
Abaixo, alguns exemplos de recursos que podem acarretar em deadlock:
1)Bloqueios - Espera para adquirir bloqueios em recursos. Ocorre quando,