Deadlock vs. Trap
Gabarito oficial: A (trap). Contudo, a descrição apresentada no enunciado é a definição clássica de deadlock: um conjunto de processos bloqueados, cada um esperando por um evento que apenas outro processo do mesmo conjunto pode causar. O gabarito oficial parece conter um erro, pois trap é um conceito diferente.
Alternativa A — ❌ Incorreta (mas gabarito oficial)
Trap é uma interrupção síncrona gerada por uma instrução (ex.: divisão por zero, chamada de sistema). Não se relaciona com bloqueio circular de processos.
Alternativa B — ✅ Correta (deveria ser o gabarito)
Deadlock (ou impasse) ocorre quando dois ou mais processos ficam permanentemente bloqueados, cada um aguardando um recurso que está retido por outro processo do conjunto. É exatamente o que o enunciado descreve.
Alternativa C — ❌ Incorreta
Blocklock não é um termo técnico reconhecido em sistemas operacionais. Possível confusão com deadlock ou bloqueio (block).
Alternativa D — ❌ Incorreta
Starvation (ou inanição) acontece quando um processo nunca recebe o recurso necessário, mas não há dependência circular entre processos.
Alternativa E — ❌ Incorreta
Thrashing refere-se à alta taxa de troca de páginas (paginação excessiva) que degrada o desempenho, não a um bloqueio entre processos.
Conclusão: Pela definição, a resposta correta é deadlock (B). O gabarito oficial (trap) é incompatível com o enunciado. Recomenda-se atenção ao estudar o tema.