Questão de Sistemas Operacionais — Algoritmo de Escalonamento — INSTITUTO AOCP 2025
Sistemas Operacionais›Algoritmo de Escalonamento
Código
qg539427
Banca
INSTITUTO AOCP
Órgão
IF-MS
Ano
2025
Nível
Superior
Cargo
Professor EBTT - Informática/Desenvolvimento WEB
Os algoritmos de gerenciamento de processador têm como objetivo alocar tempo de CPU (Central Processing Unit) para os processos em execução de maneira eficiente e justa, garantindo que os processos sejam executados de forma equilibrada, sem desperdício de recursos e priorizando os mais importantes ou os que necessitam de mais tempo de processamento. Esses algoritmos estão ligados ao escalonamento de processos, que organiza a execução de processos no processador.Assinale a alternativa que apresenta o algoritmo que tem como estratégia priorizar os processos com o tempo de execução estimado mais curto, ou seja, aquele em que o processo com o menor tempo de execução é executado primeiro.
AShortest Job First.
BFirst-In, First-Out.
CRound Robin.
DMultilevel Queue Scheduling.
EFeedback Scheduling.
Revelar gabarito e comentário▾
GabaritoA — Shortest Job First.
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 de processos
Gabarito: letra A. O algoritmo que prioriza o processo com o menor tempo de execução estimado é o Shortest Job First (SJF) — literalmente "o menor trabalho primeiro". É um algoritmo não preemptivo, típico de sistemas em lote, que organiza a fila de prontos em ordem crescente de duração estimada da CPU. As demais alternativas descrevem outras políticas: FIFO (ordem de chegada), Round Robin (fatia de tempo), Multilevel Queue (múltiplas filas por prioridade) e Feedback (filas com prioridade dinâmica).
O escalonamento de processos é a atividade do sistema operacional que decide qual processo pronto deve ocupar a CPU a cada momento. Como a CPU é um recurso escasso em sistemas multiprogramados, o escalonador precisa equilibrar critérios como justiça, eficiência, tempo de resposta e vazão. Os algoritmos se dividem em duas grandes famílias: preemptivos (podem interromper um processo em execução para dar a CPU a outro — ex.: Round Robin, Shortest Remaining Time Next) e não preemptivos (o processo executa até terminar ou se bloquear voluntariamente — ex.: FIFO, SJF).
O Shortest Job First é um algoritmo não preemptivo que seleciona, dentre os processos prontos, aquele com o menor tempo de execução estimado. A ideia é minimizar o tempo médio de espera: se processos curtos são atendidos primeiro, eles saem rápido da fila e não "seguram" os demais. Por exemplo, com três processos P1 (8 ms), P2 (4 ms) e P3 (2 ms) chegando juntos, o SJF executaria P3 → P2 → P1, gerando tempo médio de espera de (0 + 2 + 6)/3 ≈ 2,67 ms — bem menor que o FIFO na ordem P1 → P2 → P3, que daria (0 + 8 + 12)/3 ≈ 6,67 ms. A principal desvantagem é o risco de starvation: se processos curtos chegam continuamente, processos longos podem ficar esperando indefinidamente. Além disso, exige prever o tempo de execução de cada processo, o que nem sempre é possível na prática.
A pegadinha desta questão é puramente conceitual: o enunciado descreve com todas as letras a estratégia do SJF ("processo com o menor tempo de execução é executado primeiro") e o candidato pode confundir com o Shortest Remaining Time Next (SRTN), que é a versão preemptiva do SJF — mas essa alternativa nem aparece. Também é comum confundir SJF com FIFO, pois ambos são não preemptivos; a diferença está no critério de seleção: FIFO usa a ordem de chegada, SJF usa o tempo de execução. Guarde essa fronteira: é exatamente nela que as alternativas se separam.
Algoritmos de escalonamento: Critério de seleção (FIFO → ordem de chegada, SJF → menor tempo de execução, Round Robin → fatia de tempo igual, Multilevel Queue → prioridade da fila, Feedback → comportamento dinâmico); Preemptivos (Round Robin, SRTN (versão preemptiva do SJF)); Não preemptivos (FIFO, SJF)
Alternativa A — ✅ Correta ⟵ GABARITO
O Shortest Job First (SJF) é exatamente o algoritmo descrito no enunciado: prioriza o processo com o menor tempo de execução estimado, executando-o primeiro. É um algoritmo não preemptivo, usado principalmente em sistemas em lote, que organiza a fila de prontos em ordem crescente de duração. O nome já entrega a estratégia: "shortest job" = menor trabalho; "first" = primeiro.
Alternativa B — ❌ Incorreta
O First-In, First-Out (FIFO), também chamado de First-Come, First-Served (FCFS), executa os processos na ordem de chegada — o primeiro que chega é o primeiro a ser executado. Não há qualquer análise do tempo de execução: um processo longo que chega primeiro será executado antes de vários processos curtos que chegaram depois, aumentando o tempo médio de espera. O critério é a ordem de chegada, não a duração estimada.
Alternativa C — ❌ Incorreta
O Round Robin (RR) é um algoritmo preemptivo que concede a cada processo uma fatia de tempo (quantum) fixa e igual. Quando o quantum expira, o processo é suspenso e vai para o final da fila de prontos, dando lugar ao próximo. O critério é a alternância circular com tempo limitado — não há priorização por tempo de execução. É o algoritmo clássico de sistemas interativos e de compartilhamento de tempo.
Alternativa D — ❌ Incorreta
O Multilevel Queue Scheduling divide a fila de prontos em múltiplas filas com níveis de prioridade (ex.: processos do sistema, interativos, em lote). Cada fila pode usar um algoritmo próprio (RR, FIFO, etc.) e o escalonador decide qual fila atender primeiro, geralmente por prioridade fixa. O critério é a prioridade da fila, não o tempo de execução do processo individual.
Alternativa E — ❌ Incorreta
O Feedback Scheduling (ou Multilevel Feedback Queue) é uma variação do Multilevel Queue em que os processos podem migrar entre filas conforme seu comportamento. Um processo que usa toda a sua fatia de tempo é movido para uma fila de prioridade menor; um processo que se bloqueia cedo (por E/S, por exemplo) pode subir de prioridade. O critério é o comportamento dinâmico do processo, não o tempo de execução estimado.
PEGA ESSA DICA!
Para diferenciar os algoritmos na prova, pergunte: qual é o critério de seleção? FIFO = ordem de chegada; SJF = menor tempo de execução; Round Robin = fatia de tempo igual; Multilevel Queue = prioridade da fila; Feedback = comportamento dinâmico. Se o enunciado falar em "menor tempo de execução primeiro", a resposta é SJF (ou SRTN, se for preemptivo).