Teoricamente, todos os programas em funcionamento, em um computador ligado, deveriam estar carregados na memória DRAM.
Entretanto, o sistema operacional, “ciente” de que a memória física nem sempre é suficiente para executar todos os programas, reserva no disco rígido um espaço que funciona como um prolongamento da memória RAM.
A essa memória adicional dá-se o nome de memória virtual.
Logo quando o computador inicia, o Sistema Operacional cria a memória virtual. Por ficar no disco rígido do computador, ela é ainda mais lenta do que a memória DRAM. Seu objetivo é evitar que a memória DRAM se esgote e falte memória para o computador trabalhar. Para minimizar a perda de performance, existem algumas técnicas para a implementação da memória virtual. São elas:
1) Paginação: técnica de gerência de memória onde o espaço de endereçamento virtual e o espaço de endereçamento real são divididos em blocos do mesmo tamanho chamados páginas. O objetivo é manter as partes (páginas) de um programa mais utilizadas na DRAM, e as menos utilizadas no disco rígido.
2) Segmentação: técnica de gerência de memória onde o espaço de endereçamento virtual é dividido em blocos de tamanhos diferentes chamados segmentos. Mesma finalidade da paginação.
3) Segmentação com paginação: o espaço de endereçamento é dividido em segmentos, e estes, por sua vez, por páginas.