Definición: ¿Qué significa memoria virtual (VM)?
La memoria virtual (VM) es una función desarrollada para el kernel de un sistema operativo (SO) que simula memoria principal adicional, como RAM (memoria de acceso aleatorio) o almacenamiento en disco. Esta técnica implica la manipulación y gestión de la memoria al permitir la carga y ejecución de programas más grandes o múltiples programas simultáneamente. También permite que cada programa funcione como si tuviera memoria infinita y, a menudo, se considera más rentable que comprar RAM adicional.
La memoria virtual permite que el software utilice memoria adicional utilizando la unidad de disco duro (HDD) como almacenamiento temporal. La mayoría de las unidades de procesamiento central (CPU) proporcionan unidades de administración de memoria (MMU) que admiten la memoria virtual. La MMU admite las "tablas de páginas" que se utilizan para transformar las direcciones "reales" y "virtuales" ubicadas en la memoria y en el disco duro.
Un sistema operativo que utiliza memoria virtual libera espacio al transferir datos desde el disco duro que no se requieren de inmediato. Cuando se necesitan los datos, se vuelven a copiar en el disco duro. Cuando se está utilizando toda la RAM, VM intercambia datos al HDD y luego de nuevo. Por lo tanto, VM permite una memoria total del sistema más grande; sin embargo, se requiere una escritura de código complicada.
Techinfo explica la memoria virtual (VM)
En las décadas de 1940 y 1950, antes de la VM, los grandes programas implementaban lógica para administrar el almacenamiento primario y secundario. El proceso se llamó superposición. Cuando un programa era más grande que el almacenamiento de memoria, el procedimiento permitía que las partes del programa que no se usaban continuamente se trataran como una superposición. Cada superposición individual sobrescribirá la superposición actual en la memoria. La programación de superposición fue extensa. Una de las principales razones para crear VM no fue la memoria primaria adicional, sino la facilidad de programación. En 1969 se realizó la efectividad de la memoria virtual; y se implementó ampliamente.
VM literalmente intenta usar más RAM, o memoria de almacenamiento en disco, de la que realmente existe. Este proceso permite que la CPU maneje programas más grandes y múltiples simultáneamente. VM es un sistema operativo (SO) ordinario y un programa de hardware que utiliza un disco duro para almacenar y controlar la memoria temporalmente. El proceso de manipulación y administración de la memoria permite que cada aplicación funcione como si tuviera una memoria casi infinita. El almacenamiento de memoria temporal es administrado por una unidad de administración de memoria (MMU), también conocida como “unidad de administración de memoria paginada” (PMMU).
La memoria "real" se divide en pequeñas secciones llamadas "páginas". Las páginas tienen generalmente un tamaño de 4 kilobytes. Cuando se usa toda la RAM o la memoria del disco, cualquier página que no se use se escribe en la memoria virtual en lo que se llama un archivo de intercambio. Cuando se necesita el archivo de intercambio, se vuelve a traducir a la memoria "real", un proceso llamado intercambio de página.
Uno de los pocos inconvenientes de usar VM es que puede haber un intercambio de páginas excesivo, especialmente si un usuario tiene numerosas aplicaciones abiertas. Esto puede hacer que los programas se ralenticen drásticamente, ya que la CPU pasa mucho tiempo escribiendo en el disco duro. La reducción significativa en el rendimiento se llama paliza.