Aula IV - Gerência de Memória Virtual - Parte II
Working Set
Apesar de suas diversas vantagens, o mecanismo de MV introduz um sério problema. Como cada processo possui na MP apenas algumas páginas alocadas, evitando-se assim uma alta taxa de paginação e ao mesmo permitindo um maior compartilhamento e utilização, o sistema deve manter um conjunto mínimo de frames buscando uma baixa taxa de paginação. Caso os processos tenham na MP um número insuficiente de páginas para a execução do programa (page fault) ocorre o thrashing, provocando sérias conseqüências ao desempenho do sistema. Para reduzirmos estas incidências foi desenvolvido o Working Set, definido como sendo o conjunto das páginas referenciadas por um processo durante determinado intervalo de tempo, relacionado ao princípio da localidade.
O princípio da localidade (dividido em duas partes) significa: o processador tenderá a concentrar suas referências a um conjunto de páginas do processo durante um determinado período de tempo.
Parte 1 – Localidade espacial: tendência de que após referência a uma posição de memória sejam realizadas novas referências a endereços próximos.
Parte2 – Localidade temporal: tendência de que após referência a uma posição de memória esta mesma posição seja novamente referenciada em um curto intervalo de tempo.
O princípio da localidade é indispensável para que a gerência de memória virtual funcione eficientemente, pois apenas com referências dos endereços de um processo é possível manter parte do código de cada um dos diversos programas na MP sem prejuízo à sua execução. Considerando um programa com rotinas de inicialização, um loop principal e rotinas de finalização, manter o programa inteiro na memória principal seria ineficiente. Abaixo ilustra-se que no instante t2, o working set do processo, W(t2, ∆t), são as páginas referenciadas no intervalo ∆t (t2 – t1), isto é, páginas P2, P3 e P8. O intervalo de tempo ∆t é denominado janela do working set.
Podemos observar, então,