Gabarito: e)
Vamos entender o que cada condição significa no contexto de deadlock:
I. Exclusão mútua: significa que um recurso só pode ser usado por um processo por vez.
II. Posse e espera: um processo que já possui um recurso pode esperar por outros recursos.
III. Não preempção: recursos não podem ser retirados à força de um processo, só liberados voluntariamente.
IV. Espera circular: existe um ciclo de processos onde cada um espera por um recurso que está com outro processo no ciclo.
Para que ocorra deadlock, todas essas condições precisam estar presentes simultaneamente. Se alguma delas faltar, o deadlock não acontece. Por isso, a resposta correta é a alternativa que indica todas as quatro condições: I, II, III e IV.
Vamos entender o que cada condição significa no contexto de deadlock:
I. Exclusão mútua: significa que um recurso só pode ser usado por um processo por vez.
II. Posse e espera: um processo que já possui um recurso pode esperar por outros recursos.
III. Não preempção: recursos não podem ser retirados à força de um processo, só liberados voluntariamente.
IV. Espera circular: existe um ciclo de processos onde cada um espera por um recurso que está com outro processo no ciclo.
Para que ocorra deadlock, todas essas condições precisam estar presentes simultaneamente. Se alguma delas faltar, o deadlock não acontece. Por isso, a resposta correta é a alternativa que indica todas as quatro condições: I, II, III e IV.