Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Algoritmos — FGV 2024

Algoritmos e Estrutura de DadosAlgoritmos
Código
fg098567
Banca
FGV
Órgão
TJ-MS
Ano
2024
Nível
Superior
Cargo
Técnico de Nível Superior - Analista de Sistemas Computacionais - Web Designer
Marcos, um analista do TJ contratado para otimizar o desempenho de um servidor de alta capacidade, enfrenta desafios com lentidão durante períodos de alta demanda. Uma investigação minuciosa revelou que a raiz do problema reside na gestão ineficaz da memória cache. Para abordar isso, Marcos sugere a adoção de um algoritmo de substituição de cache mais eficiente.Considerando os algoritmos de substituição de cache mais comuns, Marcos resolverá o problema de desempenho do servidor com o algoritmo:
  1. ALeast Recently Used (LRU);
  2. BFirst-In, First-Out (FIFO);
  3. CRandom Replacement (RR);
  4. DLeast Frequently Used (LFU);
  5. EMost Recently Used (MRU).
Revelar gabarito e comentário

GabaritoA — Least Recently Used (LRU);

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”.

Algoritmos de substituição de cache

Gabarito: letra A (LRU). O algoritmo Least Recently Used (LRU) é o mais indicado para melhorar o desempenho do servidor em cenários de alta demanda, pois substitui a página que não é usada há mais tempo, assumindo que páginas usadas recentemente têm maior probabilidade de reuso. Essa estratégia reduz faltas de página e otimiza o uso da memória cache.

A banca testa o conhecimento sobre os algoritmos clássicos de substituição de cache e sua eficiência relativa. Em servidores de alta capacidade, o LRU é amplamente recomendado por equilibrar simplicidade e bom desempenho na prática.

Alternativa A — ✅ Correta ⟵ GABARITO

O LRU (Least Recently Used) remove o item que não foi acessado há mais tempo. Ele é eficaz porque explora a localidade temporal: itens usados recentemente tendem a ser usados novamente. Por isso, é uma escolha robusta para ambientes de alta demanda.

Alternativa B — ❌ Incorreta

O FIFO (First-In, First-Out) remove o item mais antigo, independentemente do uso. Isso pode causar a substituição de páginas frequentemente acessadas, degradando o desempenho. O problema conhecido como “belady’s anomaly” mostra que FIFO pode até piorar com mais memória.

Alternativa C — ❌ Incorreta

O Random Replacement (RR) escolhe uma página aleatoriamente para substituir. Embora simples e sem sobrecarga de estado, não tem garantia de desempenho. Em geral, é inferior ao LRU em cenários de alta demanda.

Alternativa D — ❌ Incorreta

O LFU (Least Frequently Used) remove a página com menor frequência de acesso. Ele pode reter páginas que foram muito usadas no passado, mas que não são mais relevantes, causando ineficiência. Além disso, o LFU tem maior custo de implementação.

Alternativa E — ❌ Incorreta

O MRU (Most Recently Used) remove exatamente a página usada mais recentemente. Isso é contraproducente, pois a página recém-usada tem alta probabilidade de ser necessária novamente. O MRU é usado em situações específicas (como cache de disco em alguns sistemas), mas não é adequado para o problema descrito.

Gabarito: letra A.

Link permanente: /questoes/fg098567