Questão de Algoritmos e Estrutura de Dados — Algoritmos — IADES 2019
Algoritmos e Estrutura de Dados›Algoritmos
Código
qq484072
Banca
IADES
Órgão
AL-GO
Ano
2019
Nível
Superior
Cargo
Segurança da Informação
O scheduling da CPU lida com a escolha de qual processo, ou thread, da fila de prontos deve ser alocado a seguir. Existem vários algoritmos com essa função, sendo que um é comprovadamente ótimo, no quesito de minimizar o tempo médio de espera para determinado conjunto de processos. Esse algoritmo ótimo é scheduling
Btrabalho mais curto primeiro (SJF – Shortest Job First).
Cpor prioridades.
Dround-robin (RR).
Ede filas multiníveis.
Revelar gabarito e comentário▾
GabaritoB — trabalho mais curto primeiro (SJF – 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”.
Escalonamento de CPU: Algoritmo Ótimo
Gabarito: letra B. O algoritmo SJF (Shortest Job First) é comprovadamente ótimo para minimizar o tempo médio de espera de um conjunto de processos, desde que os tempos de execução (bursts) sejam conhecidos antecipadamente. Esse resultado é um teorema clássico na área de sistemas operacionais.
A questão cobra o conhecimento de que, entre os algoritmos de escalonamento, o SJF (ou sua versão preemptiva, SRTF – Shortest Remaining Time First) é o que produz o menor tempo médio de espera.
Alternativa A — ❌ Incorreta
FCFS (First-Come, First-Served) não é ótimo; o tempo médio de espera depende da ordem de chegada e pode ser muito alto se processos longos chegarem antes de processos curtos.
Alternativa B — ✅ Correta ⟵ GABARITO
SJF é o algoritmo ótimo para minimizar o tempo médio de espera. O teorema comprova que o escalonamento por menor trabalho primeiro resulta no menor tempo médio de espera possível para um conjunto de processos com bursts conhecidos.
Alternativa C — ❌ Incorreta
O escalonamento por prioridades não é ótimo para tempo médio de espera; ele pode causar starvation (adiamento indefinido de processos de baixa prioridade) e não garante otimização do tempo médio.
Alternativa D — ❌ Incorreta
Round-Robin (RR) é um algoritmo justo e preemptivo, mas não otimiza o tempo médio de espera. Na verdade, o tempo médio de espera do RR tende a ser maior que o do SJF, especialmente para processos de bursts curtos.
Alternativa E — ❌ Incorreta
Filas multiníveis (Multilevel Queue) são uma estrutura hierárquica, mas não são um algoritmo específico; a escolha do algoritmo em cada fila pode variar, e não há garantia de otimização do tempo médio de espera.
PEGA ESSA DICA!
Lembre-se de que, embora o SJF seja teoricamente ótimo, na prática é difícil prever o burst de CPU dos processos. Por isso, sistemas operacionais reais usam aproximações como o algoritmo de filas multiníveis com realimentação. Na prova, porém, a resposta é SJF.