Questão de Sistemas Operacionais — Algoritmo de Escalonamento — FGV 2023
Sistemas Operacionais›Algoritmo de Escalonamento
Código
fg073226
Banca
FGV
Órgão
TJ-SE
Ano
2023
Nível
Médio
Cargo
Técnico Judiciário - Especialidade - Programação de Sistemas
Para um usuário interagir com um computador sem o Sistema Operacional (SO), ele deve conhecer profundamente diversos detalhes sobre o hardware do equipamento. Um técnico de programação de sistemas está testando um SO e verificou que se trata de uma arquitetura multiprogramada na qual vários processos são executados de forma concorrente.Nesse contexto, o algoritmo de escalonamento que seleciona o processo que tiver o menor tempo de processador ainda por executar é o:
Anão preemptivo;
Bpor prioridade;
Ccircular;
DFirst-In-First-Out (FIFO);
EShortest-Job-First (SJF).
Revelar gabarito e comentário▾
GabaritoE — Shortest-Job-First (SJF).
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”.
Algoritmos de Escalonamento - Shortest-Job-First (SJF)
Gabarito: letra E. O algoritmo que seleciona o processo com o menor tempo de processador ainda por executar é o Shortest-Job-First (SJF). Esse critério busca minimizar o tempo médio de espera, escolhendo a tarefa de menor duração prevista (ou menor tempo restante, na versão preemptiva). A descrição do enunciado casa perfeitamente com o SJF, enquanto as demais alternativas usam outros critérios (ordem de chegada, prioridade, fatia de tempo fixa ou categoria genérica).
O escalonador de processos é o componente do sistema operacional que decide qual processo pronto será executado pela CPU. Diferentes algoritmos utilizam diferentes métricas:
Algoritmo
Critério de escolha
FIFO (First-In, First-Out)
Ordem de chegada
Por prioridade
Valor numérico de prioridade (maior ou menor, conforme definição)
Circular (Round Robin)
Fatia de tempo fixa, alternância cíclica
SJF (Shortest-Job-First)
Menor tempo de CPU restante (ou total previsto)
Não preemptivo
Categoria que indica que o processo não é interrompido até terminar ou bloquear, mas não é um algoritmo específico
Alternativa A — ❌ Incorreta
"Não preemptivo" é uma característica de escalonamento, não um algoritmo. Um algoritmo pode ser não preemptivo (ex.: FIFO, SJF não preemptivo) ou preemptivo (ex.: Round Robin, SJF preemptivo). A banca oferece essa opção para confundir quem pensa em "não interrompe", mas o enunciado pede o nome do algoritmo que usa o menor tempo restante.
Alternativa B — ❌ Incorreta
O escalonamento por prioridade seleciona o processo com maior (ou menor) prioridade atribuída, não necessariamente o de menor tempo de CPU restante. Embora prioridade possa ser baseada em tempo estimado, a definição padrão é por valor de prioridade, não pelo menor tempo.
Alternativa C — ❌ Incorreta
O algoritmo circular (Round Robin) atribui a cada processo uma fatia de tempo fixa (quantum) e alterna entre eles em ordem circular. Não considera o tempo restante, e sim a justiça temporal.
Alternativa D — ❌ Incorreta
First-In-First-Out (FIFO) executa os processos na ordem em que chegam à fila de prontos. É simples, mas não leva em conta a duração dos processos.
Alternativa E — ✅ Correta ⟵ GABARITO
O Shortest-Job-First (SJF) é exatamente o algoritmo que seleciona o processo com o menor tempo de processador ainda por executar (ou, na versão não preemptiva, o menor tempo total de CPU). A ideia é reduzir o tempo médio de espera, favorecendo tarefas curtas.
NÃO CAIA NESSA!
Em provas de sistemas operacionais, decore os critérios de cada algoritmo: SJF = menor tempo de CPU; RR = fatia de tempo; FIFO = ordem de chegada; Prioridade = valor de prioridade. A pegadinha comum é trocar SJF por "não preemptivo" ou "por prioridade", como nesta questão.