Questão de Sistemas Operacionais — Geral — FUNDATEC 2025
Sistemas Operacionais›Geral
Código
qa701161
Banca
FUNDATEC
Órgão
SBC
Ano
2025
Cargo
POSCOMP ( )
Tipicamente, a execução de um processo em um sistema operacional de tempo compartilhado caracteriza-se pela alternância entre ciclos de execução da CPU e ciclos de espera de E/S, até o seu término. Os tempos médios dos ciclos de execução da CPU e de espera de E/S denominaremos, respectivamente, exec_t e es_t. Considere um conjunto de processos que seguem esse padrão de alternância entre CPU e E/S, os quais executam sob um sistema operacional com escalonamento do tipo round-robin (RR) preemptivo. Assuma que o tempo médio para realizar uma troca de contexto seja dado por switch_t. Assinale a alternativa que melhor minimiza o tempo médio de turnaround dos processos.
A(exec_t > switch_t) e (exec_t > quantum).
B(exec_t < switch_t) e (exec_t < quantum).
C(exec_t > switch_t) e (exec_t < quantum).
D(exec_t < switch_t) e (exec_t > quantum).
E(exec_t + switch_t) > quantum.
Revelar gabarito e comentário▾
GabaritoC — (exec_t > switch_t) e (exec_t < quantum).
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 Round-Robin: minimizando o turnaround
Gabarito: letra C. Para minimizar o tempo médio de turnaround em um sistema round-robin, o quantum deve ser maior que o tempo de troca de contexto (exec_t > switch_t) e menor que o tempo médio de CPU burst (exec_t < quantum). Isso equilibra a redução do overhead de trocas de contexto com a manutenção da responsividade do sistema.
O tempo de turnaround é o intervalo entre a chegada de um processo e sua conclusão, incluindo o tempo de execução, o tempo de espera na fila e o tempo gasto em trocas de contexto. Em um sistema round-robin, cada processo recebe um quantum de tempo da CPU; se o processo não termina dentro do quantum, ele é preemptado e vai para o final da fila de prontos. O overhead de cada preempção é o tempo de troca de contexto (switch_t).
Para minimizar o turnaround, precisamos considerar dois fatores conflitantes:
Quantum muito pequeno: Se o quantum for muito pequeno, o número de trocas de contexto aumenta drasticamente, pois cada processo é interrompido com frequência. Cada troca de contexto consome tempo de CPU que não é usado para executar o processo, aumentando o turnaround. O overhead total devido às trocas de contexto é proporcional ao número de trocas, que é inversamente proporcional ao quantum.
Quantum muito grande: Se o quantum for muito grande, o sistema se comporta como FCFS (First Come, First Served), e processos com bursts curtos de CPU podem sofrer com o efeito comboio, aumentando o turnaround médio. Além disso, a responsividade do sistema diminui, o que é indesejável em sistemas de tempo compartilhado.
Portanto, o quantum ideal deve ser maior que o tempo de troca de contexto para que o overhead não domine, mas menor que o tempo médio de CPU burst para que a preempção ainda ocorra com frequência suficiente para manter a responsividade. A alternativa C captura exatamente essa condição: exec_t > switch_t e exec_t < quantum.
NÃO CAIA NESSA!
A banca inverte a relação entre quantum e burst. Muitos candidatos pensam que o quantum deve ser maior que o burst para minimizar o turnaround, mas isso faria o sistema se comportar como FCFS, aumentando o turnaround médio. O correto é quantum menor que o burst para manter a preempção e a responsividade.
1exec_t > switch_t
2exec_t < quantum
3Menor turnaround
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Afirma que exec_t > switch_t e exec_t > quantum. A primeira condição é correta, mas a segunda é exatamente o oposto do ideal. Se o quantum for maior que o burst, o processo não será preemptado durante seu burst, e o sistema se comporta como FCFS, aumentando o turnaround médio. O erro está em inverter a relação entre quantum e burst.
Alternativa B — ❌ Incorreta
Afirma que exec_t < switch_t e exec_t < quantum. A primeira condição é incorreta, pois se o tempo de troca de contexto for maior que o burst, o overhead domina e o turnaround aumenta. A segunda condição é correta, mas a primeira invalida a alternativa. O erro está em inverter a relação entre burst e switch_t.
Alternativa C — ✅ Correta ⟵ GABARITO
Afirma que exec_t > switch_t e exec_t < quantum. Ambas as condições são corretas: o burst deve ser maior que o tempo de troca de contexto para que o overhead não domine, e o quantum deve ser menor que o burst para que a preempção ocorra e a responsividade seja mantida. Isso minimiza o turnaround médio.
Alternativa D — ❌ Incorreta
Afirma que exec_t < switch_t e exec_t > quantum. Ambas as condições são incorretas: o burst deve ser maior que o switch_t, e o quantum deve ser menor que o burst. A alternativa inverte ambas as relações, resultando em alto overhead e comportamento FCFS.
Alternativa E — ❌ Incorreta
Afirma que (exec_t + switch_t) > quantum. Essa condição é insuficiente e não garante a minimização do turnaround. Ela não especifica a relação entre exec_t e switch_t, nem entre exec_t e quantum, que são os fatores críticos. A condição correta é exec_t > switch_t e exec_t < quantum.