← Questões de Sistemas Operacionais

Sistemas Operacionais · FGV · 2021

Questão comentada de Sistemas Operacionais

Considere um sistema operacional onde o processo P1 precisa dos recursos R1 e R2 para prosseguir com seu processamento. Concomitantemente, há um processo P2, que também precisa dos recursos R1 e R2. A situação em que, simultaneamente, o processo P1 detém o recurso R1 e espera pelo recurso R2 e o processo P2 detém o recurso R2 e espera pelo recurso R1, é denominada

Gabarito: B

Deadlock acontece quando dois ou mais processos entram em um impasse e cada um fica esperando o outro liberar um recurso. É o famoso cenário do "você me dá isso que eu te dou aquilo", só que ninguém solta nada e o sistema fica travado nessa dança. Para isso ocorrer, em regra, aparecem as quatro condições clássicas: exclusão mútua, posse e espera, não preempção e espera circular. No enunciado, P1 segura R1 e espera R2, enquanto P2 segura R2 e espera R1. Perceba a espera circular: um depende do outro para seguir, mas cada um já está com um recurso que o outro precisa. Isso impede a progressão de ambos e caracteriza deadlock. A banca FGV costuma cobrar esse conceito de forma bem direta, trocando o nome do fenômeno por uma descrição prática do impasse. Não há nada de "livelock" aqui, porque livelock é quando os processos continuam ativos, reagindo e mudando de estado, mas sem avançar. Aqui, os dois simplesmente ficam presos na espera. Então, o gabarito B está correto porque o caso descreve exatamente um bloqueio recíproco entre processos, típico de deadlock. Em linguagem de prova: um recurso na mão, o outro na espera, e ninguém consegue prosseguir.

Continue treinando

Questões relacionadas