Qué es la RAM virtual

La memoria virtual, también conocida como RAM virtual, es una función de administración de memoria del sistema operativo (SO) que utiliza hardware y software para permitir que una computadora compense los cuellos de botella de la memoria física moviendo temporalmente los datos de la RAM al almacenamiento en disco.

El espacio de direcciones virtuales se incrementa utilizando memoria activa en RAM y memoria inactiva en unidades de disco duro (HDD) para formar direcciones contiguas que contienen tanto la aplicación como sus datos.

¿QUÉ ES UNA RAM VIRTUAL?

La RAM virtual se desarrolló en un momento en que la memoria física (RAM instalada) era muy cara. Las computadoras tienen una cantidad limitada de RAM, por lo que pueden quedarse sin memoria, especialmente cuando se ejecutan varios programas al mismo tiempo.

Un sistema de memoria virtual utiliza parte del disco duro para emular la RAM. Con la memoria virtual, un sistema puede cargar programas más grandes o varios programas ejecutándose al mismo tiempo, de modo que cada programa individual puede funcionar como si tuviera memoria infinita sin tener que comprar más RAM.

Al copiar de la RAM virtual a la memoria física, el sistema operativo divide la memoria en archivos de paginación o archivos de intercambio con un número fijo de direcciones.

Cada página se almacena en un disco duro y, cuando se necesita la página, el sistema operativo la copia del disco duro a la memoria y traduce las direcciones virtuales en direcciones reales.

HISTORIA

Antes de que se desarrollara la memoria virtual, las computadoras tenían RAM y memoria secundaria. Las primeras computadoras usaban memoria de núcleo magnético como almacenamiento principal y tambores magnéticos como almacenamiento secundario.

En las décadas de 1940 y 1950, la memoria era cara y, por lo general, escaseaba. A medida que los programas de computadora se volvían más grandes y más complejos, los desarrolladores temían que sus programas consumieran toda la memoria principal de una computadora y que el recurso de memoria no fuera suficiente.

En esos primeros días, los programadores usaban un proceso llamado superposición para ejecutar programas que eran más grandes que la memoria disponible.

Qué Es La Ram Virtual
Qué es la RAM virtual

Las partes de un programa que no estaban en uso constante se configuraron como una superposición que, si es necesario, sobrescribe la superposición existente en la memoria. Para que la superposición funcionara, se requería una programación extensa, y ese fue un impulso importante para el desarrollo de una memoria virtual automatizada.

Al físico alemán Fritz-Rudolf Güntsch se le atribuye el desarrollo del concepto de memoria virtual en 1956 como parte de su tesis doctoral.

En él describió una computadora que usa hardware para mover automáticamente bloques de datos entre la memoria primaria y secundaria para evitar que la memoria principal se agote.

Esto formó la base para la paginación, un proceso de dividir la memoria en secciones y moverla entre la RAM y un disco duro para liberar espacio en la RAM. La paginación comenzó a aparecer en las computadoras comerciales a principios de la década de 1960.

En 1969, los investigadores de IBM demostraron que lo que entonces se conocía como el sistema de superposición de memoria virtual funcionaba mejor que los sistemas manuales anteriores. Los mainframes y miniordenadores de la década de 1970 generalmente usaban memoria virtual.

La tecnología de memoria virtual no se incluyó en las primeras PC porque los desarrolladores pensaron que la memoria no sería un problema en estas máquinas. Esta suposición resultó ser incorrecta. Intel introdujo la memoria virtual en modo protegido en el procesador 80286 en 1982 y el soporte de paginación en 1985 cuando se lanzó el 80386.

TIPOS DE RAM VIRTUAL

La unidad de administración de memoria (MMU) de una computadora maneja las operaciones de la memoria, incluida la administración de la memoria virtual. La mayoría de las computadoras tienen el hardware MMU integrado en la CPU. Hay dos formas de gestionar la memoria virtual: paginada y segmentada.

Al paginar, la memoria principal se divide en secciones o archivos de página, que suelen tener un tamaño de alrededor de 4 KByte. Cuando una computadora agota su memoria principal, las páginas no utilizadas se transfieren a la sección del disco duro provista para la memoria principal virtual con la ayuda de un archivo de intercambio.

Un archivo de intercambio es un espacio en el disco duro que se reserva como una extensión de memoria virtual de la memoria RAM de la computadora. Cuando se necesita un archivo de intercambio, se envía de vuelta a la RAM mediante un proceso llamado intercambio de página.

Este sistema asegura que el sistema operativo y las aplicaciones de la computadora no se queden sin capacidad de memoria real.

El proceso de paginación implica el uso de tablas de páginas que traducen las direcciones virtuales que el sistema operativo y las aplicaciones usan en las direcciones físicas que usa la MMU. Las entradas en la tabla de páginas indican si la página está en la memoria real o no.

Si el sistema operativo o un programa no pueden encontrar ningún recurso de RAM o si no hay suficientes recursos de RAM disponibles, la MMU reacciona a la referencia de memoria faltante con una excepción de falla de página para que el sistema operativo vuelva a cargar la página si es necesario Para mover memoria. Tan pronto como la página está en RAM, su dirección virtual aparece en la tabla de páginas.

Qué Es La Ram Virtual
RAM virtual

La segmentación también se usa para administrar la memoria virtual. En este enfoque, la memoria virtual se divide en segmentos de diferentes longitudes.

Los segmentos que no se utilizan en la memoria principal se pueden mover a la RAM virtual en el disco duro. La información o los procesos segmentados se rastrean en una tabla de segmentos, que muestra si un segmento está en la memoria, si se ha modificado y cuál es su dirección física.

Algunos sistemas de almacenamiento virtual combinan segmentación y paginación. En este caso, la memoria principal se divide en cuadros o páginas. Los segmentos ocupan varias páginas y la dirección virtual contiene tanto el número de segmento como el número de página.