Gerenciamento de Memória
Outra vantagem ainda é que a lista de páginas modificadas permite, que o VMS agrupe suas operações de E/S. Isto é, em vez de escrever uma página de cada vez, o VMS pode escrever muitas com uma chamada de E/S. Quando a lista de páginas modificadas torna-se longa, o VMS escreve várias de suas páginas. As páginas em memória virtual contígua de um processo podem ser escritas em posições consecutivas no disco, reduzindo o tempo total de E/S.
As páginas não são sempre removidas do conjunto de trabalho. Os serviços do sistema permitem que as páginas sejam fixadas. Páginas fixadas são sempre válidas. Isto é, enquanto o processo for resistente, elas estarão no conjunto de trabalho, incluindo as páginas fixadas, também será retirado da memória.
Permuta e Cabeçalho de Processo. Os conjuntos de trabalho de todos os processos executáveis podem não caber todos na memória simultaneamente. Em casos assim, o VMS pode remover alguns deles (permuta para fora) e carregar alguns outros (permuta pala dentro). Isso é necessário quando o processo executável de mais alta prioridade não está resistente na memória. Então o permutador é necessário.
Grande parte das informações que o permutador precisa estão no cabeçalho de processo (Process Header - PHD). O VMS mantém um PHD para cada processo e armazena sua posiçao em um bloco de controle de processo (Process Control Block - PCB). O PHD contém as tabelas de páginas P0 e P1. Elas crescem uma em direção à outra à medida que o conjunto de trabalho aumenta.
Com visto na figura a seguir:
O PHD também contém a lista do conjunto de trabalho e a tabela de seção de processo. A tabela de seção de processo contém informações sobre a posição de arquivos, chamada arquivos de seção, que contém páginas de processo. Cada entrada contém informações usadas para localizar um arquivo. Entradas múltiplas permitem que o gerenciador de memória localize páginas de diferentes arquivos de seção.
A lista do conjunto de trabalho descreve as entradas válidas da tabela de páginas. Suas entradas são armazenadas em três áreas consecutivas do PHD. A figura a seguir demonstra a lista do conjunto de trabalho:
O PHD também contém ponteiros que localizam essas áreas. A primeira área contém entradas para páginas permanentemente fixadas na memória pelo VMS. Elas sempre fazem parte do conjunto de trabalho e incluem a pilha do núcleo, cabeçalho de processo e partes da tabela de páginas P1.
A segunda área contém entradas para páginas que um processo tenha fixado na memória. Um processo pode, por exemplo, fixar páginas contendo lógica, que devem responder rapidamente a certos eventos. Isso é especialmente verdadeiro nos processos em tempo real.
A terceira área contém entradas para paginas permutáveis. essa é a parte dinâmica da lista do conjunto de trabalho. As entradas são armazenadas em uma fila circular, para facilitar a estratégia de substituição de página FIFO. O PHD contém ponteiros para o começo e o fim da fila. Cada entrada da lista do conjunto de trabalho contém o seguinte:Endereço virtual ela página.
Bit de fixação - igual a 1 se a página estiver fixada na memória.
Bit de validade - indica que a entrada atual está em uso isto é, contém informações válidas).
Campo de tipo - determina o tipo da página, como por exemplo, página de processo, página de sistema, página global apenas de leitura ou página da tabela de páginas.
Bit de modificação - indica se uma página foi alterada.