Questão de Sistemas Operacionais — Deadlock — INSTITUTO AOCP 2024
Sistemas Operacionais›Deadlock
Código
qg263639
Banca
INSTITUTO AOCP
Órgão
UFTM
Ano
2024
Nível
Médio
Cargo
Técnico em Tecnologia da Informação - Todas as Áreas
Em sistemas operacionais, a alocação inadequada de recursos pode levar a uma situação conhecida como deadlock. Qual das seguintes alternativas descreve corretamente um deadlock?
ADeadlock ocorre quando um programa consome todos os recursos de CPU, deixando pouco para outros processos.
BDeadlock é uma situação em que dois ou mais processos estão esperando indefinidamente por recursos liberados por outros processos.
CDeadlock acontece quando há uma falha de hardware que impede o acesso aos recursos do sistema.
DDeadlock é um estado em que o sistema operacional aloca recursos em excesso, causando a interrupção do funcionamento do sistema.
Revelar gabarito e comentário▾
GabaritoB — Deadlock é uma situação em que dois ou mais processos estão esperando indefinidamente por recursos liberados por outros processos.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Deadlock em Sistemas Operacionais
Gabarito: letra B. Deadlock é a situação em que dois ou mais processos ficam bloqueados indefinidamente, cada um aguardando a liberação de um recurso que está retido por outro processo do conjunto, formando uma espera circular que impede qualquer um de prosseguir. Essa é a definição clássica adotada pela literatura de sistemas operacionais (Tanenbaum, Silberschatz, entre outros).
O deadlock é um dos problemas mais estudados em sistemas concorrentes, pois é inerente à natureza de sistemas operacionais e bancos de dados. Para que ele ocorra, quatro condições precisam ser satisfeitas simultaneamente: exclusão mútua (cada recurso só pode ser usado por um processo por vez), posse e espera (um processo detém um recurso enquanto aguarda outro), não-preempção (recursos não podem ser retirados à força de um processo) e espera circular (existe um ciclo de processos, onde cada um espera por um recurso detido pelo próximo). A ausência de qualquer uma dessas condições impede o deadlock.
Na prática, imagine dois processos A e B. O processo A detém o recurso R1 e precisa de R2; o processo B detém R2 e precisa de R1. Nenhum dos dois libera o recurso que já possui, e ambos ficam esperando indefinidamente pelo recurso do outro. Esse é o cenário típico de deadlock, que pode ocorrer com recursos de hardware (impressoras, unidades de fita) ou de software (registros de banco de dados, locks de memória).
A banca explora aqui a confusão entre deadlock e outros problemas de concorrência, como starvation (um processo nunca recebe o recurso, mas os demais progridem) e condição de corrida (acesso concorrente a dados sem sincronização). O deadlock é caracterizado pela espera circular e indefinida, não pela falta de recursos ou por falhas de hardware.
Guarde o critério decisivo: deadlock envolve processos esperando uns pelos outros em um ciclo, não apenas um processo consumindo recursos ou uma falha do sistema. É exatamente essa distinção que separa a alternativa correta das demais.
Deadlock: Definição (Espera circular e indefinida, Processos aguardam recursos retidos por outros); 4 condições (todas necessárias) (Exclusão mútua, Posse e espera, Não-preempção, Espera circular); Confusões comuns (Starvation (processo nunca recebe recurso), Condição de corrida (acesso sem sincronização), Monopolização de CPU, Falha de hardware)
Alternativa A — ❌ Incorreta
Descreve um cenário de monopolização de CPU por um processo, o que pode causar lentidão ou até starvation de outros processos, mas não é deadlock. No deadlock, os processos estão bloqueados esperando recursos, não consumindo CPU. Além disso, a CPU é um recurso preemptível, gerenciado pelo escalonador, e não costuma ser o foco de deadlocks.
Alternativa B — ✅ Correta ⟵ GABARITO
Esta é a definição precisa de deadlock: dois ou mais processos em espera indefinida por recursos que estão retidos por outros processos do mesmo conjunto, formando um ciclo de dependência. É exatamente o que ocorre no exemplo clássico dos dois processos que detêm recursos distintos e precisam do recurso um do outro.
Alternativa C — ❌ Incorreta
Falha de hardware pode causar indisponibilidade de recursos, mas não é deadlock. O deadlock é um problema de concorrência entre processos, não uma falha física do sistema. Uma falha de hardware interrompe o funcionamento, mas não gera a espera circular característica do deadlock.
Alternativa D — ❌ Incorreta
Alocação excessiva de recursos pode causar instabilidade ou queda do sistema, mas não é deadlock. O deadlock não depende da quantidade de recursos disponíveis — pode ocorrer mesmo com recursos abundantes, desde que as quatro condições sejam satisfeitas. A definição correta envolve a espera circular, não o excesso de alocação.
NÃO CAIA NESSA!
A banca troca o conceito de deadlock por outros problemas de sistema: a alternativa A confunde com starvation ou monopolização de CPU, a C com falha de hardware e a D com sobrecarga de recursos. O candidato que não domina a definição exata acaba marcando uma dessas. Lembre-se: deadlock é sempre espera circular e indefinida entre processos.
PEGA ESSA DICA!
Para identificar deadlock em questões, procure pela palavra "esperando" ou "aguardando" associada a "recursos liberados por outros processos". Se a alternativa mencionar ciclo, espera mútua ou bloqueio permanente, é deadlock. Se falar em falta de recursos, falha ou excesso, é outro problema.