Pular para o conteúdo principal

Questão de Sistemas Operacionais — Algoritmo de Escalonamento — FGV 2023

Sistemas OperacionaisAlgoritmo 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:
  1. Anão preemptivo;
  2. Bpor prioridade;
  3. Ccircular;
  4. DFirst-In-First-Out (FIFO);
  5. 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.

Gabarito: letra E.

Link permanente: /questoes/fg073226