Pular para o conteúdo principal

Questão de Sistemas Operacionais — Deadlock — FUNDATEC 2023

Sistemas OperacionaisDeadlock
Código
qq896958
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Suporte de Banco de Dados
Assinale a alternativa correta sobre os conceitos de deadlocks e starvation (inanição).
  1. AStarvation e deadlock têm o mesmo significado, ocorrendo quando uma transação espera que a outra libere um lock para acessar um determinado recurso.
  2. BStarvation e deadlock ocorrem ambos quando uma transação mantém um lock adquirido por muito tempo, impedindo que outras transações acessem o recurso protegido por esse lock.
  3. CStarvation ocorre quando uma transação necessita adquirir um lock que está sendo usado por outra transação e espera indefinidamente pela sua liberação, o que a impede de progredir, enquanto deadlock ocorre quando duas transações esperam uma pela liberação de um lock que está sendo usado pela outra.
  4. DDeadlock ocorre quando duas transações esperam uma pela liberação de um lock que está sendo usado pela outra, enquanto starvation é um tipo de deadlock, que ocorre quando uma transação requisita um lock que está sendo usado por outra transação.
  5. ENenhuma das alternativas anteriores está correta.
Revelar gabarito e comentário

GabaritoC — Starvation ocorre quando uma transação necessita adquirir um lock que está sendo usado por outra transação e espera indefinidamente pela sua liberação, o que a impede de progredir, enquanto deadlock ocorre quando duas transações esperam uma pela liberação de um lock que está sendo usado pela outra.

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 e Starvation

Gabarito: letra C. Starvation (inanição) é a espera indefinida por um recurso que nunca é liberado, enquanto deadlock é um impasse circular onde dois ou mais processos esperam indefinidamente por recursos retidos uns pelos outros. A alternativa C descreve corretamente ambos os conceitos, sendo a única correta.

A questão testa a distinção fundamental entre esses dois fenômenos de concorrência em sistemas operacionais. Embora ambos envolvam espera, a causa e a dinâmica são diferentes.

Alternativa A — ❌ Incorreta

Afirma que starvation e deadlock têm o mesmo significado. Erro: starvation e deadlock são conceitos distintos. No deadlock há um ciclo de espera, enquanto na starvation não há ciclo – um processo fica esperando porque outros processos sempre obtêm o recurso antes dele, mas não há bloqueio mútuo.

Alternativa B — ❌ Incorreta

Diz que ambos ocorrem quando uma transação mantém um lock por muito tempo. Erro: isso descreve apenas uma situação que pode levar a starvation, mas não define deadlock. Deadlock exige que duas ou mais transações estejam em espera circular, cada uma segurando um recurso que a outra precisa.

Alternativa C — ✅ Correta ⟵ GABARITO

Descreve starvation como espera indefinida por um lock (correto) e deadlock como espera circular entre duas transações que seguram locks requisitados pela outra (correto). É a definição clássica e precisa.

Alternativa D — ❌ Incorreta

Afirma que starvation é um tipo de deadlock. Erro: starvation não é um tipo de deadlock; são fenômenos independentes. Deadlock envolve ciclo, starvation envolve postergação indefinida sem ciclo.

Alternativa E — ❌ Incorreta

Como a alternativa C está correta, a letra E (“nenhuma das alternativas anteriores está correta”) é falsa.


Característica

Deadlock

Starvation

Ocorre quando

Dois ou mais processos esperam em ciclo por recursos retidos uns pelos outros

Um processo espera indefinidamente por recurso que está sempre sendo alocado a outros processos

Participação

Múltiplos processos envolvidos em ciclo

Um processo é excluído; outros progridem

Condições necessárias

Exclusão mútua, posse-e-espera, não-preempção, espera circular

Escalonamento injusto, sem garantia de progresso

Possibilidade de resolução

Quebra do ciclo (kill processo, preempção)

Aumento de prioridade ou algoritmo justo

NÃO CAIA NESSA!

Na prova, lembre-se: deadlock = circular; starvation = postergação. Se a alternativa mencionar “espera circular”, é deadlock; se falar em “espera indefinida por um recurso”, é starvation. Uma tabela mental ajuda a não confundir.

Link permanente: /questoes/qq896958