Questão nº 42
Questão de Tecnologia da Informação · FGV CVM 2024 (nº 42)
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:
- 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;
- 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; (alternativa correta)
- 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;
- 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;
- Eintrodução de um sistema de cotas de recursos, onde cada processo recebe uma cota fixa, que pode ser ajustada manualmente conforme a necessidade.
Resposta comentada
Gabarito Alternativa B
Starvation (ou inanição) ocorre quando um processo (um programa em execução) nunca consegue os recursos (como tempo de CPU) que precisa para rodar, porque outros processos são sempre priorizados, deixando-o em espera indefinida. Para resolver isso, é preciso garantir que todos os processos, eventualmente, recebam sua vez.
- (A) Incorreta: Embora o Round-Robin previna starvation ao distribuir o tempo de CPU igualmente, ele ignora prioridades, o que pode comprometer a eficiência global para processos críticos que o sistema já prioriza. É o distrator mais tentador, pois resolve a starvation, mas não se encaixa na nuance de "sem comprometer a eficiência global" e na existência de prioridades.
- (B) Correta: A criação de um sistema de prioridades dinâmicas, onde a prioridade de um processo aumenta com o tempo de espera (técnica conhecida como Aging ou envelhecimento), é a solução clássica e mais eficaz para starvation em sistemas baseados em prioridades. Ela garante que nenhum processo espere indefinidamente, ao mesmo tempo que permite a manutenção de um sistema de prioridades para eficiência.
- (C) Incorreta: O FCFS (First-Come, First-Served) previne starvation, mas pode levar ao "efeito comboio" (convoy effect), onde um processo longo bloqueia todos os outros, e não permite qualquer tipo de priorização, o que pode ser ineficiente para um sistema corporativo.
- (D) Incorreta: Um mecanismo de feedback para ajuste em tempo real é uma abordagem mais ampla de otimização e gerenciamento de recursos, mas não é a solução direta e específica para o problema de starvation causado por prioridades estáticas.
- (E) Incorreta: Um sistema de cotas de recursos define limites de uso, mas não resolve diretamente a starvation causada por um escalonador que ignora processos de baixa prioridade; na verdade, cotas mal definidas poderiam até agravar o problema.
Fonte: FGV CVM 2024 Analista CVM - TI Sistemas e Desenvolvimento (Perfil 8) (Caderno Tipo 1). Reproduzida para fins de estudo.