Ed
há 2 semanas
Para evitar deadlocks, é importante entender as quatro condições necessárias para que um deadlock ocorra, que são: exclusão mútua, retenção e espera, não-preempção e espera circular. Para prevenir deadlocks, é necessário garantir que pelo menos uma dessas condições não ocorra. Vamos analisar as alternativas: A) Implementar a exclusão mútua, liberar os recursos antes de utilizá-los, retirar o recurso de um processo e utilizar a memória principal. - A exclusão mútua não deve ser implementada para evitar deadlocks. B) Requisitar os recursos antes de utilizá-los, alocar mais de um recurso para o processo, utilizar a referência circular e retirar a exclusão mútua. - A referência circular deve ser evitada, e a exclusão mútua não deve ser retirada. C) Retirar a exclusão mútua, alocar mais de um recurso para o processo, retirar o recurso de um processo e utilizar um descritor de processo. - Novamente, a exclusão mútua não deve ser retirada. D) Retirar a exclusão mútua, requisitar os recursos antes de utilizá-los, retirar o recurso de um processo e evitar a referência circular. - A exclusão mútua não deve ser retirada, mas a referência circular deve ser evitada. E) Implementar a exclusão mútua, requisitar os recursos antes de utilizá-los, retirar o recurso de um processo e liberar os recursos depois que usá-los. - A exclusão mútua é uma condição que pode levar a deadlocks, mas a liberação de recursos após o uso é uma boa prática. A alternativa que melhor se alinha com as condições para evitar deadlocks é a D) Retirar a exclusão mútua, requisitar os recursos antes de utilizá-los, retirar o recurso de um processo e evitar a referência circular. Portanto, a resposta correta é a D.