Pular para o conteúdo principal

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

Sistemas OperacionaisAlgoritmo de Escalonamento
Código
fg077398
Banca
FGV
Órgão
CVM
Ano
2024
Nível
Superior
Cargo
Analista - Perfil 8 - TI / Sistemas e Desenvolvimento - Tarde
Em um sistema de gerenciamento de recursos de uma grande corporação de tecnologia, o analista Hop precisa resolver um problema de Starvation que afeta a distribuição equitativa de recursos computacionais entre vários processos críticos. Após uma análise profunda, Hop identifica que o algoritmo de escalonamento atual prioriza processos com requisitos de recursos mais altos, deixando processos com requisitos menores em espera indefinida. Para resolver esse problema, Hop propõe uma solução inovadora que reestrutura a lógica de alocação de recursos, garantindo que todos os processos recebam uma fatia justa de tempo de CPU, sem comprometer a eficiência global do sistema.Para resolver o problema de Starvation, Hop adotou a seguinte abordagem:
  1. Aimplementação de um algoritmo de escalonamento Round-Robin, que distribui o tempo de CPU igualmente entre todos os processos, independentemente de seus requisitos de recursos;
  2. Bcriação de um sistema de prioridades dinâmicas, onde os processos que esperam há mais tempo têm sua prioridade aumentada gradualmente até que sejam atendidos;
  3. Cadoção do algoritmo de escalonamento First-Come, First-Served (FCFS), garantindo que todos os processos sejam atendidos pela ordem de chegada, sem priorização baseada em requisitos de recursos;
  4. Ddesenvolvimento de um mecanismo de feedback que ajusta a alocação de recursos em tempo real, baseado na análise de uso de CPU e na previsão de demanda futura;
  5. Eintrodução de um sistema de cotas de recursos, onde cada processo recebe uma cota fixa, que pode ser ajustada manualmente conforme a necessidade.
Revelar gabarito e comentário

GabaritoA — implementação de um algoritmo de escalonamento Round-Robin, que distribui o tempo de CPU igualmente entre todos os processos, independentemente de seus requisitos de recursos;

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 Processos – Round-Robin

Gabarito: letra A. O algoritmo Round-Robin (RR) distribui o tempo de CPU igualmente entre todos os processos em uma fila circular, atribuindo a cada um um quantum fixo, independentemente de seus requisitos. Essa característica o torna imune ao problema de starvation (inanição), conforme descrito na literatura. O enunciado destaca que a solução deve garantir que todos os processos recebam uma fatia justa de tempo de CPU, o que é exatamente o que o RR oferece.

A banca testa o conhecimento dos algoritmos de escalonamento e sua capacidade de eliminar starvation. O RR é o único entre as opções que distribui o processador de forma equitativa e sem prioridades.

Alternativa A — ✅ Correta ⟵ GABARITO

O Round-Robin é um algoritmo preemptivo que utiliza um quantum de tempo. Cada processo pronto recebe um intervalo fixo de CPU; se não termina, retorna ao final da fila. Isso garante que nenhum processo fique indefinidamente sem execução. O texto de apoio afirma que o RR é "livre de inanição" e "distribui o tempo de CPU igualmente entre todos os processos, independentemente de seus requisitos de recursos".

Alternativa B — ❌ Incorreta

A criação de prioridades dinâmicas com aumento gradual da prioridade (aging) resolve a starvation, mas não garante que todos os processos recebam uma fatia justa de tempo de CPU. O aging eleva a prioridade de processos que esperam há mais tempo, mas ainda é um esquema baseado em prioridades: processos com maior prioridade (mesmo que obtida por espera) podem receber mais tempo de CPU do que aqueles que acabaram de chegar. A questão enfatiza "fatia justa" – interpretada como igual –, o que é característica do RR, não do aging.

Alternativa C — ❌ Incorreta

O algoritmo First-Come, First-Served (FCFS) executa os processos na ordem de chegada, sem prioridade por recursos, mas não distribui o tempo de CPU igualmente. Processos longos podem monopolizar a CPU (não preemptivo), causando longos tempos de espera para processos curtos que chegam depois. Embora não haja starvation tecnicamente (todos eventualmente executam), a distribuição não é equitativa como exige o enunciado.

Alternativa D — ❌ Incorreta

Um mecanismo de feedback que ajusta a alocação em tempo real com base no uso e previsão de demanda pode ser complexo e não garante, por si só, a eliminação da starvation. Sem uma política de equalização, processos com menor previsão de demanda poderiam continuar sendo preteridos. A descrição não assegura a "fatia justa".

Alternativa E — ❌ Incorreta

Cotas fixas ajustadas manualmente são uma abordagem estática que não reage automaticamente às mudanças de carga. Se a cota de um processo for insuficiente ou não for reajustada, o processo pode sofrer starvation. Além disso, o ajuste manual não é uma solução inovadora nem automática como a proposta no enunciado.

NÃO CAIA NESSA!

A alternativa B (aging) parece resolver a starvation, e de fato resolve, mas a questão pede especificamente que "todos os processos recebam uma fatia justa de tempo de CPU". O Round-Robin é o único que dá exatamente o mesmo tempo a cada processo, independentemente de qualquer fator. O aging dá prioridade a quem espera mais, o que pode resultar em tempos de CPU desiguais. Fique atento ao termo "justa" – a banca pode explorar essa nuance.

PEGA ESSA DICA!

Na prova, quando o problema for starvation e a solução exigir igualdade de tempo de CPU, lembre-se: Round-Robin é o algoritmo justo por excelência. Se o problema for apenas evitar que processos fiquem esperando para sempre, tanto RR quanto aging são válidos. Leia o enunciado com atenção.

Gabarito: letra A.

Link permanente: /questoes/fg077398