Memória Virtual é um esquema de armazenamento que dá ao usuário a ilusão de ter uma memória principal muito grande. Isso é feito tratando uma parte da memória secundária como memória principal.
Neste esquema, o usuário pode carregar processos de tamanho maior que a memória principal disponível, tendo a ilusão de que a memória está disponível para carregar o processo.
Em vez de carregar um grande processo na memória principal, o Sistema Operacional carrega as diferentes partes de mais de um processo na memória principal.
Ao fazer isso, o grau de multiprogramação aumentará e, portanto, a utilização da CPU também aumentará.
Como funciona a memória virtual?
Na palavra moderna, a memória virtual tornou-se bastante comum atualmente. Neste esquema, sempre que algumas páginas precisarem ser carregadas na memória principal para a execução e a memória não estiver disponível para essas muitas páginas, então nesse caso, ao invés de impedir que as páginas entrem na memória principal, o SO procura por as áreas de RAM menos utilizadas nos últimos tempos ou que não são referenciadas e copie-as para a memória secundária para liberar espaço para as novas páginas na memória principal.
Como todo esse procedimento acontece automaticamente, faz com que o computador sinta que tem RAM ilimitada.
Paginação por demanda
A Paginação por Demanda é um método popular de gerenciamento de memória virtual. Na paginação sob demanda, as páginas de um processo menos utilizadas são armazenadas na memória secundária.
Uma página é copiada para a memória principal quando sua demanda é feita ou ocorre uma falha de página. Existem vários algoritmos de substituição de página que são usados para determinar as páginas que serão substituídas. Discutiremos cada um deles posteriormente em detalhes.
Instantâneo de um sistema de gerenciamento de memória virtual
Suponhamos que 2 processos, P1 e P2, contenham 4 páginas cada. Cada tamanho de página é de 1 KB. A memória principal contém 8 quadros de 1 KB cada. O sistema operacional reside nas duas primeiras partições. Na terceira partição, 1stA página de P1 é armazenada e os demais frames também são mostrados preenchidos com as diferentes páginas de processos na memória principal.
As tabelas de páginas de ambas as páginas têm tamanho de 1 KB cada e, portanto, podem caber em um quadro cada. As tabelas de páginas de ambos os processos contêm diversas informações que também são mostradas na imagem.
A CPU contém um registrador que contém o endereço base da tabela de páginas que é 5 no caso de P1 e 7 no caso de P2. Este endereço base da tabela de páginas será adicionado ao número da página do endereço lógico quando se trata de acessar a entrada correspondente real.
Vantagens da memória virtual
- O grau de Multiprogramação será aumentado.
- O usuário pode executar aplicativos grandes com menos RAM real.
- Não há necessidade de comprar mais memória RAM.
Desvantagens da memória virtual
- O sistema fica mais lento porque a troca leva tempo.
- Leva mais tempo para alternar entre aplicativos.
- O usuário terá menos espaço no disco rígido para seu uso.