Algoritmos de Substituição de Páginas, Thrashing e WS

Classificado em Computação

Escrito em em português com um tamanho de 3,73 KB

Algoritmos de Substituição de Páginas

Os algoritmos de substituição são cruciais para gerenciar a memória virtual, decidindo qual página remover da memória real quando ocorre uma falha de página.

  • Random (Aleatório): É o pior de todos os métodos, mas é fácil de implementar.

  • FIFO (First-In, First-Out): Substitui a página que está residente na memória real há mais tempo. É fácil de implementar, uma vez que a informação de controle FIFO é uma lista de páginas.

  • LRU (Least Recently Used): Substitui a página que tem a maior distância para trás (no passado), ou seja, a que foi menos utilizada recentemente.

    Este algoritmo substitui a página que não foi referenciada no período mais longo. O LRU é considerado o melhor método aplicável, pois o passado é um bom indicador do futuro (Princípio da Localidade).

  • NUR (Not Used Recently): A vítima é escolhida ciclicamente entre as páginas que não foram acessadas recentemente (baseado em bits de referência).

  • LFU (Least Frequently Used): Substitui a página com o menor número de referências. Requer a contagem de referências.

  • O Relógio (Clock/Second Chance): É uma variante do LRU que dá a cada página uma segunda chance de permanecer na memória real. Este algoritmo organiza as páginas em uma lista circular e funciona no sentido horário.

  • O Relógio com Duas Mãos (Two-Handed Clock): O objetivo deste algoritmo é privilegiar as páginas que foram referenciadas para que permaneçam na memória.

Localidade de Referência

A Localidade de Referência é o fenômeno em que um processo utiliza apenas um conjunto limitado de páginas durante um determinado período de sua execução.

Thrashing (Debate)

Diz-se que o sistema está em thrashing (debate) quando o sistema de paginação gasta mais tempo gerenciando páginas do que executando os processos. Isso resulta em uma queda significativa no desempenho do sistema, causada pelo excesso de falhas de página.

O thrashing está diretamente relacionado com o grau de multiprogramação. Reduzir este nível alivia o problema do thrashing.

O thrashing significa simplesmente que o processo apresenta uma má localidade de referência.


Conjunto de Trabalho (Working Set - WS)

O Conjunto de Trabalho é o conjunto de páginas que um processo requer em um intervalo de tempo de sua execução. Informalmente, refere-se à maior coleção de páginas que devem residir na memória real para garantir um nível aceitável de eficiência.

O modelo de Conjunto de Trabalho permite a execução de um processo apenas se o seu conjunto de trabalho estiver completamente na memória.

O WS (Working Set) é definido como o conjunto de páginas virtuais do processo P que foram acessadas nos últimos $\Delta$ segundos (janela de tempo virtual) de P. Esta estratégia é calculada para cada processo P, baseada no tempo de uso da CPU (tempo virtual).

Fatores que Influenciam o Tamanho do WS:

  • A localidade de referência do processo ao acessar a memória.
  • O tempo entre a era carregar (o tamanho da janela de tempo $\Delta$).
  • O tamanho da página.

Entradas relacionadas: