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.