El término se usa porque el programador ve más memoria de la que realmente hay, Cuando en realidad esta memoria es una mezcla de la memoria principal y una parte de la memoria secundaria. 


Un ejemplo de memoria virtual, es cuando se fragmenta un disco.

El sistema operativo, a través de su módulo de gestión de memoria, se encarga de mover programas completos, segmentos o páginas entre la memoria real y la memoria secundaria. 

Si se mueven procesos completos, se llama Multiprogramación en memoria real, pero si se mueven segmentos o páginas, se llama Multiprogramación con memoria virtual.

Para hacer esto, se usan varias teorías.

Dentro de las teorías, una de las que mantiene mas relevancia es el Conjunto del Trabajo. AL ver esta teoría, esta nos dice que un proceso o programa nunca alberga todo el espacio de direcciones a cada momento, sino que solamente hay un conjunto de localidades activas que lo conforman.

Si las páginas o segmentos que contienen el conjunto de trabajo están siempre en la RAM, el programa funcionará muy bien.

Otro factor importante es el fenómeno de la localidad, que significa que algunos programas tienden a usar mucho las instrucciones que están cerca de la instrucción que se está ejecutando en ese momento.