Deadlock

Disponível somente no TrabalhosFeitos
  • Páginas : 9 (2171 palavras )
  • Download(s) : 0
  • Publicado : 18 de junho de 2012
Ler documento completo
Amostra do texto
Deadlock



Em sistema multiprogramado, deadlock é um bloqueio perpétuo ou impasse. Dizemos que um processo está em deadlock quando espera por um evento particular que jamais irá acontecer.
Igualmente dizemos que um sistema está em deadlock quando um ou mais processos estão nesta situação.
Segundo Tanenbaum: "Um conjunto de processos está em deadlock quando cada processo do conjunto estáesperando por um evento que apenas outro processo do conjunto pode causar".
Caracterização das deadlocks
Uma deadlock pode ocorrer de diferentes maneiras:
* quando um processo é colocado em espera por algo, e o sistema operacional não inclui qualquer previsão para o atendimento desta espera. É o deadlock de um único processo [one-process deadlock];
* quando se forma uma cadeia sucessiva desolicitações de recursos que culminam num arranjo circular, onde um processo P1 segura [holding] um recurso R2 e requisita um recurso R1 alocado para um processo P2, que por sua vez está solicitando o recurso R2, em uso por P1. Como nenhum desses processos se dispõe a liberar o recurso que detêm isso configura uma situação de deadlock.

Independentemente do tipo, os deadlocks causam seriosprejuízos ao sistema, pois mesmo num one-process deadlock, recursos ficam alocados desnecessariamente, o que significa que restarão menos recursos para os demais processos. Nos deadlocks circulares, além da alocação desnecessária de recursos, podem ser formadas filas de esperas pelos recursos envolvidos, deteriorando o tempo de resposta do sistema, podendo até causar situações de instabilidade oucrash do sistema operacional.
Quando um processo é bloqueado indefinidamente, ficando em espera por um recurso, dizemos que está ocorrendo um adiamento indefinido ou bloqueio indefinido (respectivamente indefinite postponement, indefinite blocking). Como um processo nessa situação não pode prosseguir com a sua execução devido à ausência de recursos, também dizemos que ele está em starvation(estagnado).
A maioria dos problemas que culminam com os deadlocks estão relacionados com recursos dedicados, isto é, com recursos que devem ser utilizados serialmente, ou seja, por um processo de cada vez.
O problema de deadlock existe em qualquer sistema operacional multiprogramável, mas as soluções implementadas devem considerar o tipo do sistema e o impacto no seu desempenho. O interesse em pesquisade deadlock incluem:
* prevenção de deadlock;
* impedimento de deadlock;
* detecção de deadlock;
* recuperação de deadlock.
Condições necessárias para a ocorrência de deadlocks
Existem quatro condições para a ocorrência de deadlocks:
1. condição de exclusão mútua [mutual exclusion]: os processos exigem controle exclusivo dos recursos que solicitam. Um recurso só pode estaralocado para um processo de cada vez;
2. condição de espera por recurso [hold and wait]: os processos mantêm alocados recursos enquanto solicitam novos recursos. O processo que alocou um recurso "exclusivo" pode segurar este recurso enquanto espera obter novos recursos;
3. condição de ausência de preemptividade [não preemptividade, no preemption]: os recursos não podem ser retirados dosprocessos que os mantêm alocados enquanto estes processos não finalizam seu uso. Uma vez que um processo obtenha um recurso, o sistema não pode removê-lo do controle do processo até que este tenha finalizado seu uso;
4. condição de espera circular [circular wait condition]: forma-se uma cadeia circular de processos, onde cada processo solcita um recurso alocado pelo próximo processo na cadeia.Dois ou mais processos estão alocados em uma cadeia circular na qual cada processo está esperando por um ou mais recursos que o próximo processo da cadeia está mantendo alocado.
Soluções para as deadlocks
Segundo Tanenbaum, existem basicamente quatro alternativas para o tratamento dos bloqueios perpétuos, ou seja, quatro estratégias básicas para resolvermos os problemas dos deadlocks:
1....
tracking img