S
Gerência de Memória - Parte III
Profª. Joselice Siebra joselice.moura@ifce.edu.br Gerência de Memória
Modelo de
Conjunto de Trabalho
Um processo possui, em geral, várias fases de execução:
Em uma fase da execução, o processo acessa somente um subconjunto do conjunto de páginas.
Este subconjunto, em geral, se mantém estável, até que uma nova fase de execução seja iniciada (localidade de referência).
Imagine um loop, cujo código ocupe três páginas, a tendência dessas páginas três páginas serem referenciadas diversas vezes é muito alta.
Página 0
Inicialização
Página 1
WHILE () DO
BEGIN
Página 2
Página 3
END;
Página 4
Imprime
Resultados
1
Gerência de Memória
Gerência de Memória
Modelo de
Conjunto de Trabalho
O conjunto de páginas atualmente acessadas por um processo é chamado Conjunto de Trabalho (Working Set).
Se todo o Working Set estiver na memória, então, o processo executará rapidamente até que passe para uma nova fase.
Se a memória não puder armazenar todo este conjunto, então, o processo executará lentamente, pois muitas falhas de páginas serão geradas (thrashing).
Modelo de
Conjunto de Trabalho
Na Paginação Sob Demanda, as páginas são copiadas somente quando o acesso à página gerar uma falha de página: Quando o processo é inicializado, nenhuma página é copiada e todos os bits presente/ausente da tabela são limpos.
Falhas de páginas são geradas até que todas as páginas do conjunto funcional da fase de execução atual sejam copiadas.
2
Gerência de Memória
Gerência de Memória
Modelo de
Conjunto de Trabalho
O Modelo de Conjunto de Trabalho pode ser usado se a
Paginação sob Demanda for ineficiente:
O sistema tenta monitorar o conjunto de trabalho para garantir que este esteja na memória ao executar o processo.
Neste caso, temos uma pré paginação (Paginação Antecipada), pois as páginas são copiadas antes da execução do processo começar. Para implementar o modelo, o sistema pode usar o algoritmo de idade, para escolher somente