Que es la memoria virtual ?

Introducción:

Lamentablemente son muchos los que confunden la memoria virtual con la memoria RAM. Son dos cosas totalmente diferentes.
Con este artículo voy a intentar explicar sus diferencias, de una manera sencilla y obviando muchisimos detalles tecnicos.

 

Comencemos:

El microprocesador o CPU es el "cerebro" de la compu.
Basicamente su mision es leer y escribir en la memoria RAM y es ahi donde unicamente puede ejecutar un programa leyendo cada instruccion.
Es imposible que el CPU ejecute un .exe leyendolo directamente desde el disco rigido o cualquier otro dispositivo de almacenamiento.
En ese caso el CPU ejecuta muchisimas instrucciones para decirle a la controladora (por ej. del disco rigido)  que lea el contenido de ese programa y lo vuelque en la RAM y entonces, recien ahi, desde la RAM lo puede ejecutar.

 

Ejemplo:

Supongamos que queremos ejecutar al mismo tiempo tres programas bien pesados.
El CPU instruye a las unidades de almacenamiento que carguen en la RAM todo lo necesario.
Pero nuestra compu es algo viejita... y no le alcanza para cargar el Programa 3.

 

Memoria virtual:

Afortunadamente a algun genio se le ocurrio una simple idea.
Cuando algun proceso este un poco desocupado, algo asi como sin hacer nada util en ese momento, el sistema operativo hace un volcado del contenido de los bloques de memoria (paginas) ocupado por dicho proceso, a un archivo de intercambio.
En pocas palabras: mueve el programa en pausa al archivo pagefile.sys de Windows.

Asi se obtiene de nuevo mas espacio libre y finalmente el Programa 3 puede ser cargado en la RAM para que el CPU lo pueda ejecutar.

 

Conclusión:

Gracias a esta tecnica es posible disfrutar de programas pesados aun cuando la RAM disponible no alcanza.
Tengo que aclarar que esta tecnica no es propia de Windows.
Es comun en GNU/Linux generar una particion exclusiva para el swap (vendria a ser el archivo pagefile.sys de Windows).
Tambien vale aclarar que es IMPOSIBLE aumentar la RAM con un pendrive o tarjeta de memoria.
Lo unico que se logra es tener mas espacio para la memoria virtual

 

Comentarios