Não está aumentando a memória física . Sua finalidade é algo completamente diferente. O que ele pode fazer é disponibilizar outros armazenamentos que permitem que os programas usem mais memória do que a fisicamente disponível.
A memória virtual é usada para separar e isolar processos uns dos outros e também permitir que o acesso à memória seja desviado para locais alternativos.
A memória virtual permite que o sistema forneça a cada processo seu próprio espaço de memória isolado de outros processos. Com programas que operam efetivamente em seu próprio espaço, eles dão acesso total a todo o espaço de endereçamento, em vez de ter que trabalhar em torno de outros programas que também podem precisar usar os "mesmos" endereços. Isso tem o efeito colateral de aumentar a confiabilidade e a segurança, pois os processos não podem interferir facilmente uns com os outros.
O espaço de memória virtual de um aplicativo é construído conforme necessário. Um aplicativo parece estar (em si mesmo) em um único bloco contíguo de memória, mas pode estar completamente disperso na memória física.
A memória virtual também permite que os acessos de memória sejam interceptados e desviados, o que nos permite usar recursos como um arquivo de troca. O que isto significa é que podemos empurrar partes da memória que não foram usadas recentemente para o disco e configurar um ponteiro que diz "este bloco de memória está no arquivo x no local y" e então podemos liberar a memória física área para uso por outro aplicativo. Quando uma aplicação precisa dessa memória, ela pode ser lida de volta do disco, colocada em algum local da RAM física (potencialmente diferente de onde ela estava antes) e mapeada de volta para o mesmo local da memória virtual como era antes.
Da mesma forma que o arquivo de paginação é usado, a memória virtual também pode permitir que o sistema operacional faça o que é efetivamente o carregamento "preguiçoso" de bibliotecas compartilhadas para um programa. Quando o programa principal informa ao sistema operacional que deseja usar uma biblioteca específica, o sistema operacional pode economizar tempo verificando os requisitos da biblioteca, alocando o espaço na área de memória virtual para o aplicativo, mas em vez de carregar a biblioteca inteira pode adiar o carregamento de páginas da biblioteca do disco até que elas sejam realmente necessárias. Desta forma, as únicas partes da biblioteca que são carregadas na RAM são as partes que são realmente usadas pelo programa, as partes que nunca são usadas nunca são carregadas e, portanto, não perdem RAM.
Usando essas técnicas, melhoramos a estabilidade do sistema e permitimos que mais processos sejam executados em um espaço confinado sem que eles se afetem indevidamente uns aos outros. Não "aumenta a memória", mas nos permite usar com mais eficiência o que temos.
O arquivo de troca é ativado por sistemas de memória virtual, mas no passado era confundido como sendo a memória virtual.