Questão nº 60
Questão de Tecnologia da Informação · FGV CVM 2024 (nº 60)
O analista Zeferino está trabalhando em um sistema operacional que necessita de melhorias em seu algoritmo de escalonamento e nas primitivas de sincronização para otimizar o processamento de tarefas em um ambiente de múltiplos processadores.
Visando à otimização do sistema em questão, a abordagem que deve ser adotada é:
- Aimplementar o algoritmo de escalonamento Round-Robin com quantuns fixos para todos os processos, independentemente de suas prioridades;
- Butilizar semáforos binários para todas as operações de sincronização, aplicando o mesmo valor de inicialização para todos os semáforos;
- Cutilizar o algoritmo de escalonamento de Múltiplas Filas com Feedback, ajustando dinamicamente as prioridades dos processos baseado em suas características de execução; (alternativa correta)
- Dimplementar um único lock global para gerenciar o acesso a todas as seções críticas, independentemente de sua relevância ou frequência de acesso;
- Epriorizar a implementação de algoritmos de escalonamento baseados exclusivamente em prioridades fixas, sem considerar a possibilidade de inversão de prioridades.
Resposta comentada
Gabarito Alternativa C
O escalonamento de processos decide qual tarefa o processador executará a seguir, enquanto as primitivas de sincronização garantem que tarefas concorrentes acessem recursos compartilhados de forma segura, evitando erros.
(A) Incorreta: O Round-Robin com quantuns fixos para todos os processos não otimiza, pois trata todos igualmente, ignorando prioridades e características de execução que poderiam melhorar a eficiência.
(B) Incorreta: Usar semáforos binários para todas as operações de sincronização e com o mesmo valor de inicialização é uma abordagem simplista que pode não atender às diversas necessidades de sincronização, sendo ineficiente ou inadequada para cenários complexos.
(C) Correta: O algoritmo de Múltiplas Filas com Feedback ajusta dinamicamente as prioridades dos processos com base em seu comportamento (ex: uso da CPU), otimizando a resposta para tarefas interativas e o throughput geral do sistema em ambientes de múltiplos processadores.
(D) Incorreta: Implementar um único lock global para todas as seções críticas cria um gargalo severo, serializando o acesso a recursos e anulando os benefícios de um ambiente de múltiplos processadores, resultando em pior desempenho. Armadilha da banca: "lock" e "seções críticas" são termos corretos de sincronização, mas a ideia de um único lock global é uma falha grave de design que impede a paralelização.
(E) Incorreta: Algoritmos de prioridades fixas sem considerar a inversão de prioridades podem causar atrasos críticos em tarefas de alta prioridade, pois uma tarefa de baixa prioridade pode bloquear uma de alta, comprometendo a otimização.
Fonte: FGV CVM 2024 Analista CVM - TI Sistemas e Desenvolvimento (Perfil 8) (Caderno Tipo 1). Reproduzida para fins de estudo.