Questão nº 36
Questão de Análise de Sistemas · CESGRANRIO BNDES 01/2024 (nº 36)
Um usuário de um sistema operacional encontra-se diante de uma situação de deadlock nas seguintes condições:
• o processo W precisa de recursos concedidos previamente a um outro processo Y, que os está utilizando;
• o processo W não pode "tomar à força" esses recursos, ou seja, só pode utilizá-los se o processo Y, que os retém, liberá-los;
• o processo Y não libera esses recursos, e isso não permite a operação do processo W, sendo que essa situação paralisa o sistema operacional.
Nesse caso, trata-se da condição de ocorrência de deadlock de
- Aacesso condicional
- Bespera circular
- Cexclusão mútua
- Dnão preempção (alternativa correta)
- Eposse e espera
Resposta comentada
Gabarito Alternativa D
Deadlock acontece quando um processo fica travado para sempre esperando um recurso que nunca será liberado. A condição de não preempção significa que um processo não pode tomar à força um recurso que está com outro processo — ele só pode usar o recurso quando o dono atual o liberar voluntariamente. É exatamente isso que o enunciado descreve: W precisa do recurso de Y, mas não pode retirá-lo de Y, e Y não o libera.
- (A) Incorreta: "Acesso condicional" não é uma das quatro condições clássicas de deadlock (Coffman); é um termo genérico que não se aplica à situação de retenção forçada.
- (B) Incorreta: "Espera circular" seria se houvesse um ciclo fechado (W espera Y, Y espera Z, Z espera W). No enunciado, só há W esperando Y, sem ciclo — a armadilha é achar que qualquer espera é circular, mas falta o anel.
- (C) Incorreta: "Exclusão mútua" é quando um recurso só pode ser usado por um processo por vez. Isso existe, mas não é o ponto central do texto, que foca na impossibilidade de retirar o recurso à força.
- (D) Correta: A frase "o processo W não pode tomar à força esses recursos" é a definição literal de não preempção: um recurso só é liberado pelo processo que o detém, nunca por intervenção externa. É essa condição que, junto com outras, gera o deadlock.
- (E) Incorreta: "Posse e espera" é quando um processo já tem alguns recursos e fica esperando outros. O texto não diz que W já possui algo; ele só está esperando um recurso de Y. A pegadinha aqui é confundir "esperar por recurso" com "possuir e esperar".
Fonte: CESGRANRIO BNDES 01/2024 Analista - Análise de Sistemas (Suporte) (Caderno Prova 4). Reproduzida para fins de estudo.