Questão nº 55

Questão de Tecnologia da Informação · FGV CVM 2024 (nº 55)

FGV2024Analista CVM - TI Sistemas e Desenvolvimento (Perfil 8)Tecnologia da Informação
Gabarito: Bver comentário ↓

No contexto de um sistema operacional que suporta execução paralela, o analista Léo é encarregado de otimizar um aplicativo que faz uso intensivo de threads. O aplicativo em questão tem experimentado tempos de resposta inconsistentes, suspeitando-se de uma ineficiência na forma como as threads são gerenciadas e escalonadas.

Considerando um ambiente com múltiplos núcleos de CPU, para melhorar o desempenho do aplicativo, o analista Léo deve:

Resposta comentada

Gabarito Alternativa B

Threads são unidades de execução dentro de um programa, e para que um aplicativo multithreaded funcione eficientemente em um sistema com múltiplos núcleos de CPU, o sistema operacional precisa gerenciar e escalonar (decidir qual thread roda quando) essas threads de forma inteligente, evitando gargalos e garantindo que as tarefas mais importantes sejam executadas rapidamente.

(A) Incorreta: Simplesmente aumentar o número de threads para igualar os núcleos não garante melhor desempenho; pode aumentar a sobrecarga de troca de contexto (context switching) e a contenção de recursos, piorando a performance. A armadilha aqui é a crença intuitiva de que mais threads sempre significam mais paralelismo e, consequentemente, melhor desempenho, ignorando os custos de gerenciamento e a natureza das tarefas.
(B) Correta: Implementar um escalonamento baseado em prioridades permite que as threads que executam operações críticas para o desempenho do aplicativo recebam mais tempo de CPU, reduzindo a latência e melhorando a consistência dos tempos de resposta, o que é fundamental para otimizar um aplicativo com uso intensivo de threads e problemas de inconsistência.
(C) Incorreta: Forçar threads a um único núcleo anula os benefícios de um ambiente multi-core, criando um gargalo e serializando a execução, o que degradaria drasticamente o desempenho do aplicativo.
(D) Incorreta: Mudar para um modelo de programação baseado em eventos é uma alteração arquitetural fundamental, não uma otimização do gerenciamento de threads existente; embora útil para certas cargas de trabalho (I/O-bound), não é a solução para otimizar o escalonamento de threads já existentes em um aplicativo multithreaded.
(E) Incorreta: Reduzir a prioridade do processo do aplicativo faria com que o sistema operacional dedicasse menos recursos a ele, piorando diretamente seu desempenho e seus tempos de resposta, o oposto do objetivo de otimização.

Fonte: FGV CVM 2024 Analista CVM - TI Sistemas e Desenvolvimento (Perfil 8) (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho