Um impasse pode ser definido formalmente como “um conjunto de processos está em situação de deadlock, se todo processo pertencente ao conjunto estiver esperando por um evento que somente outro processo desse mesmo conjunto poderá fazer acontecer”. Em situações nas quais o deadlock ocorre, nenhum processo consegue executar o recurso que necessita ou liberar o recurso utilizado e nem mesmo ser acordado, pois o recurso necessário está ocupado, causando uma situação de impasse. São condições para entrar no estado de deadlock, EXCETO:
- A)Exclusão mútua, em que todo recurso está associado a um processo ou disponível.
Certa, porque a exclusão mútua é uma das condições necessárias para o deadlock ocorrer.
- B)Posse e espera, cujos processos que retêm recursos podem solicitar novos recursos.
Certa, pois a posse e espera também integra o conjunto clássico de condições do deadlock.
- C)Não preempção, cujos recursos concedidos previamente não podem ser forçosamente tomados.
Certa, já que a não preempção é outra condição necessária para a formação do impasse.
- D)Espera circular, devendo ser uma cadeia circular de apenas dois processos, na qual cada um está à espera de recursos retidos pelo membro anterior dessa cadeia.
Errada, porque a espera circular não precisa ser composta apenas por dois processos; ela pode envolver uma cadeia maior.
Gabarito: D
Deadlock, ou impasse, acontece quando processos ficam travados porque cada um espera algo que só outro do mesmo grupo pode liberar. A doutrina clássica aponta 4 condições necessárias para que o deadlock possa ocorrer: exclusão mútua, posse e espera, não preempção e espera circular. Se uma delas for quebrada, o impasse deixa de se formar. A exclusão mútua significa que certos recursos só podem ser usados por um processo por vez, como impressora ou arquivo em escrita. Na posse e espera, o processo já segura um recurso e, mesmo assim, pede outro. Na não preempção, o sistema não pode simplesmente tomar o recurso de volta à força. E na espera circular existe uma cadeia de processos em que cada um espera um recurso que está com o próximo da cadeia. O gabarito é a letra D porque ela erra ao dizer que a espera circular deve ser formada por apenas dois processos. Isso não é verdade. A cadeia pode ter dois, três, quatro ou mais processos; o ponto central é haver um ciclo de espera entre eles, e não um número fixo de participantes. Então, resumindo: as quatro condições estão corretas como conceito clássico de deadlock, mas a alternativa D tenta limitar indevidamente a espera circular. Em provas, isso é típico: a banca pega uma definição certa e enfia um detalhe restritivo que não existe.