Questão de Algoritmos e Estrutura de Dados — Algoritmos — IV - UFG 2024
Algoritmos e Estrutura de Dados›Algoritmos
Código
qg121377
Banca
IV - UFG
Órgão
TJ-AC
Ano
2024
Nível
Superior
Cargo
CS-UFG - - Analista Judiciário - Analista de Infraestrutura de TI
Alguns algoritmos de escalonamento podem acabar por priorizar alguns processos em detrimento de outros. Quando um processo nunca é executado porque outros processos são executados por terem maior prioridade, o processo não executado está em condição de:
Ablocking.
Binterruption.
Cstarvation.
Ddeadlock.
Revelar gabarito e comentário▾
GabaritoC — starvation.
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”.
Escalonamento de Processos: Starvation
Gabarito: letra C. A condição descrita — um processo nunca é executado porque outros processos de maior prioridade são sempre escalonados — é a definição clássica de starvation (ou inanição).
A banca testa o conhecimento dos problemas clássicos de escalonamento. Cada alternativa corresponde a um conceito distinto:
Alternativa A — ❌ Incorreta
Blocking ocorre quando um processo espera por um recurso (ex: I/O) e fica bloqueado até que o recurso esteja disponível. Não é uma negação eterna por prioridade, mas sim uma espera temporária.
Alternativa B — ❌ Incorreta
Interruption é o mecanismo pelo qual o sistema operacional interrompe a execução de um processo (preempção) para dar lugar a outro. Não é uma condição de inanição, mas sim o evento que pode levar a ela.
Alternativa C — ✅ Correta ⟵ GABARITO
Starvation (inanição) é exatamente o que o enunciado descreve: um processo nunca é escalonado porque outros, com maior prioridade, sempre ocupam a CPU. É um problema típico de algoritmos de escalonamento baseados em prioridade sem envelhecimento (aging).
Alternativa D — ❌ Incorreta
Deadlock é um impasse em que dois ou mais processos ficam esperando indefinidamente por recursos que estão retidos por outros processos do conjunto. Todos os processos envolvidos ficam bloqueados, não apenas um sendo preterido por prioridade.
NÃO CAIA NESSA!
É comum confundir starvation com deadlock. A diferença-chave: no deadlock há uma espera circular por recursos (todos os envolvidos param); na starvation um processo é repetidamente preterido por prioridade (apenas ele não avança, enquanto os outros executam). Na prova, lembre-se: se o enunciado fala em "prioridade" e "sempre executam outros", é starvation.