segunda-feira, 29 de abril de 2013

Prevenção de Deadlock

Para que um deadlock ocorra é necessário que as quatro condições que caracterizam um deadlock sejam estabelecidas. Assegurando que pelo menos uma dessas condições não se estabeleça, podemos nos prevenir contra a ocorrência de deadlocks. A seguir vamos analisar as quatro condições detalhadamente.
  1. Exclusão Mútua. Deve estar presente em recursos não compartilháveis, a exemplo disso uma impressora não pode ser compartilhada simultaneamente por vários processos. Mas os recursos compartilhados necessariamente não precisam ser acessados ao mesmo tempo para ser considerado um recurso compartilhado. Porém a prevenção contra deadlock não pode ser feita através da negação da exclusão mútua, pois alguns recursos não podem ser compartilhados.
  2. Posse e espera. Para que essa condição não seja satisfeita, devemos garantir que sempre que um processo solicitar um recurso, ele não esteja em posse de nenhum outro recurso.Um protocolo que pode ser usado requer que os processos solicitem e recebam todos os seus recursos antes de começar a ser executado pelo sistema. Outro protocolo permite que um processo solicite recursos apenas quando ele não tem qualquer recurso. Um processo pode solicitar alguns recursos e usá-los. Nessa condição quando ele estiver em posse dos recursos é necessário que ele libere-os para solicitar os novos. Esses dois recursos apresentam duas grandes desvantagens, a utilização dos recursos pode ser baixa, já que podem ficar muito tempo sem serem utilizados e é possível que haja inanição, já que um processo pode solicitar um recurso que seja muito popular assim ele sempre estará alocado fazendo com que o processo que o solicitou fique esperando indefinidamente.
  3. Inexistência de Preempção. Para garantir que essa condição não ocorra pode ser usado o protocolo que se um processo estiver em posse de alguns recursos e solicitar outros recursos que não possam ser alocados, então os recursos que o processo estiver ocupando devem ser liberados, ou seja o processo deve sofrer uma preempção. O processo será reiniciado quando os recursos que ele tinha estiverem liberados e os adicionais que ele havia solicitado também. Enquanto ele está esperando se algum outro processo solicitar os recursos que o mesmo está ocupando seus recursos podem ser interrompidos mas isso ocorre somente se outro processo solicitar os recursos. Esse protocolo pode ser aplicado facilmente quando os recursos cujo estado pode ser facilmente salvo e restaurado posteriormente como os registradores da CPU e espaço de memória.
  4. Espera Circular. Uma maneira de garantir que essa condição nunca ocorra é impor uma ordenação absoluta a todos os tipos de recursos e requer que cada processo solicite recursos em uma ordem de enumeração crescente. E também se várias instancias do mesmo tipo de recurso forem necessárias, uma única solicitação deve ser emitida para todas elas.


3 comentários:

  1. Best Hotels in Miami, FL - Mapyro
    Save 전주 출장마사지 money and places to stay near Miami 포천 출장안마 Casino and other Miami Hotels 충청북도 출장마사지 in the Marina District. 당진 출장안마 Casino and Resort 통영 출장샵 in the Marina District, Miami.

    ResponderExcluir
  2. Casinos Near You in Jordan 6-reels & 12-reels | Air Jordan
    Find your next hotel stay near you air jordan 18 retro racer blue to you in Jordan 6-reels air jordan 18 retro red suede & 해외 토토 사이트 12-reels. All-around top-rated hotels with world-class amenities, 24/7 토토 축구 중계 넷마블 Casino and Spa and Casino. authentic air jordan 18 retro toro mens sneakers

    ResponderExcluir
  3. No surprise most gamers nonetheless decide to play by way of their favorite on line casino website. More and extra gamers are switching to mobile phones and tablets. This moment provoked the launch of latest online casinos and bookmakers codecs. Customers can guess on sports 1xbet korea and spin their favorite slots directly from their cellular anyplace. Almost all providers and playing institutions have tailored their sites to cellular requirements.

    ResponderExcluir