La memoria
virtual es una técnica de gestión de la memoria que permite que el sistema
operativo disponga, tanto para el software de usuario como para sí mismo, de
mayor cantidad de memoria que esté disponible físicamente. La mayoría de los
ordenadores tienen cuatro tipos de memoria: registros en la CPU,
la memoria
caché (tanto dentro como fuera del CPU), la
memoria RAM y el disco
duro. En ese orden, van de menor capacidad y mayor velocidad a mayor capacidad
y menor velocidad.
La memoria virtual aparece unida a
los sistemas operativos modernos. Permite simular una RAM de mayor tamaño que la que tienes
instalada en tu equipo.
Pero, veamos cómo se ejecuta un
programa. Las aplicaciones y sus datos, para poder ser usados por el procesador, tienen que pasar del disco duro, que es donde se encuentra
almacenado todo cuando apagas al equipo, a la memoria RAM que puede ser
accedida de forma directa por el micro.
Surge, por tanto la necesidad de tener la mayor cantidad de esta, para
poder hacer funcionar de forma correcta el sistema.
La memoria RAM de una computadora, hace unos años, era un elemento muy
caro. Si a esto unimos, que no todas las aplicaciones que se están ejecutando
se usan a la vez, parece necesario un sistema que controle el uso de la
memoria.
Aunque la RAM era cara, los discos duros no lo eran tanto. Se podía
entonces usar el disco duro para simular que tenemos más memoria. El
procedimiento era sencillo, se pasaba al disco las porciones de RAM que no se
usaban en un determinado momento.
Esta técnica consigue simular, por tanto, más memoria, y las
aplicaciones ni se dan cuenta de todo lo que esta ocurriendo por debajo. En un
sistema operativo normal, se llega a simular tener el doble que sin usarla.
Como contrapartida el sistema puede comportase de manera más lenta en algunas
situaciones.
Esto es debido a que la velocidad de acceso de los datos al disco duro
es miles de veces más lenta que a la memoria RAM.
Si una porción de memoria no se encuentra en esta, el sistema necesita
tiempo para leerla y devolverla a la memoria principal ya que este es el único
lugar donde el procesador puede ejecutarlo.
Como ves la memoria se organiza en niveles. Primero las caches del micro
que se encargan de tener los datos que más usas cerca del procesador, después
la memoria RAM, quedando como último recurso el disco duro. A mayor proximidad
al micro, mayor velocidad, pero la memoria es mucho más cara.
¿Por qué es tan importante?
Si nos quedamos sin memoria no podremos ejecutar más programas y los que
estamos ejecutando tendrán problemas para trabajar con más datos. Además, el
uso de memoria virtual puede hacer que tu equipo funcione más lento si es
necesario ir por datos al disco duro. Es siempre un compromiso entre la
velocidad y la cantidad de datos que el sistema es capaz de procesar.
Jamás una configuración de más memoria virtual podrá ser mejor que una
ampliación de memoria RAM. Es más, lo ideal sería tener un equipo que no
necesitase tener esta característica activada.
Uso en los sistemas operativos modernos
En cada versión de tu sistema operativo, como es gestionado esta memoria
y los algoritmos que la gobiernan son mejorados. Sin embargo, el mayor uso de
interfaces gráficas y herramientas cada vez más sofisticadas hace que los
sistemas sean unos devoradores de RAM.
Una de las razones por las que un sistema mejora su velocidad usando un disco SSD es debido a esta funcionalidad.
Ten siempre en cuenta que una mejora de velocidad de acceso a los datos, aunque
no sea espectacular, puede ayudar mucho a un equipo con limitaciones de memoria
ya que todo el sistema se puede enfrentar a bloqueos constantes.