Memoria virtual en el sistema operativo: qué es, paginación bajo demanda, ventajas
ā” Resumen inteligente
La memoria virtual es un mecanismo de almacenamiento que crea la ilusión de una gran memoria principal al tratar parte del almacenamiento secundario como RAM. Permite ejecutar procesos que superan la capacidad de la memoria fĆsica y se implementa mediante paginación bajo demanda.

¿Qué es la memoria virtual?
Memoria virtual Es un mecanismo de almacenamiento que ofrece al usuario la ilusión de tener una memoria principal muy grande. Esto se logra tratando una parte de la memoria secundaria como si fuera la memoria principal. En la memoria virtual, el usuario puede almacenar procesos de mayor tamaño que la memoria principal disponible.
Por lo tanto, en lugar de cargar un proceso largo en la memoria principal, el sistema operativo carga las distintas partes de mÔs de un proceso en la memoria principal. La memoria virtual se implementa principalmente con paginación y segmentación de la demanda.
¿Por qué necesita memoria virtual?
Estas son las razones para utilizar memoria virtual:
- Cuando el ordenador no tiene espacio en la memoria fĆsica, escribe en el disco duro, en un archivo de intercambio, lo que necesita recordar, como memoria virtual.
- Si una computadora ejecuta Windows Necesita mƔs memoria/RAM de la que estƔ instalada en el sistema, por lo que utiliza una pequeƱa parte del disco duro para este fin.
¿Cómo funciona la memoria virtual?
En el mundo actual, la memoria virtual se ha vuelto bastante común. Se utiliza cuando se requiere cargar varias pÔginas en la memoria principal para su ejecución y la memoria principal no estÔ disponible para tantas pÔginas.
En ese caso, en lugar de impedir que las pĆ”ginas entren en la memoria principal, el sistema operativo busca el espacio de RAM que se haya utilizado mĆnimamente en los Ćŗltimos tiempos, o que no estĆ© siendo referenciado, y lo mueve a la memoria secundaria para hacer espacio para las nuevas pĆ”ginas en la memoria principal.
entendamos gestión de memoria virtual con la ayuda de un ejemplo.
Por ejemplo,
Supongamos que un sistema operativo requiere 300 MB de memoria para almacenar todos los programas en ejecución. Sin embargo, actualmente solo hay 50 MB de memoria fĆsica disponible en la RAM.
- A continuación, el sistema operativo configurarÔ 250 MB de memoria virtual y utilizarÔ un programa llamado Administrador de Memoria Virtual (VMM) para gestionar esos 250 MB.
- En este caso, el VMM crearĆ” un archivo en el disco duro de 250 MB para almacenar la memoria adicional necesaria.
- El sistema operativo procederĆ” ahora a acceder a la memoria como si considerara que hay 300 MB de memoria real almacenada en la RAM, aunque solo haya 50 MB de espacio disponible.
- La función del VMM es administrar 300 MB de memoria, incluso si solo hay disponibles 50 MB de espacio de memoria real.
¿Qué es la paginación por demanda?
Un mecanismo de paginación de demanda es muy similar a un sistema de paginación con intercambiopingdonde los procesos se almacenan en la memoria secundaria y las pÔginas se cargan solo bajo demanda, no por adelantado.
Por lo tanto, cuando se produce un cambio de contexto, el sistema operativo nunca copia ninguna de las pƔginas del programa anterior desde el disco ni ninguna de las pƔginas del nuevo programa a la memoria principal. En su lugar, comienza a ejecutar el nuevo programa despuƩs de cargar la primera pƔgina y recupera las pƔginas del programa a las que se hace referencia.
Durante la ejecución del programa, si este hace referencia a una pĆ”gina que podrĆa no estar disponible en la memoria principal porque se ha intercambiado, el procesador la considera una referencia de memoria no vĆ”lida. Esto se debe a que el fallo de pĆ”gina devuelve el control del programa al sistema operativo, que exige que se almacene la pĆ”gina de nuevo en la memoria.
Tipos de mƩtodos de reemplazo de pƔginas
Aquà hay algunos métodos importantes para reemplazar pÔginas:
- FIFO
- Algoritmo óptimo
- Reemplazo de pƔgina LRU
Reemplazo de pƔgina FIFO
FIFO (primero en entrar, primero en salir) es un método de implementación simple. En este método, la memoria selecciona la pÔgina para un reemplazo que ha estado en la dirección virtual de la memoria durante mÔs tiempo.
Caracteristicas
- Cada vez que se carga una pÔgina nueva, se elimina la que lleva mÔs tiempo en memoria. Por lo tanto, es fÔcil decidir qué pÔgina eliminar, ya que su número de identificación siempre se encuentra al principio de la pila FIFO.
- La pƔgina mƔs antigua de la memoria principal es la que debe seleccionarse primero para su reemplazo.
Algoritmo óptimo
El método de reemplazo de pÔgina óptimo selecciona aquella pÔgina para un reemplazo cuyo tiempo hasta la siguiente referencia es el mÔs largo.
Caracteristicas
- El algoritmo óptimo produce el menor nĆŗmero de fallos de pĆ”gina. Este algoritmo es difĆcil de implementar.
- Un algoritmo óptimo de reemplazo de pĆ”ginas tiene la menor tasa de fallos de pĆ”gina de todos los algoritmos. Este algoritmo existe y deberĆa llamarse MIN u OPT.
- Reemplaza la pĆ”gina que probablemente no se utilice durante un perĆodo prolongado. Solo se utiliza el tiempo necesario para su uso.
Reemplazo de pƔgina LRU
Las siglas LRU significan "pĆ”gina menos usada recientemente". Este mĆ©todo ayuda al sistema operativo a determinar el uso de las pĆ”ginas durante un perĆodo corto de tiempo. Este algoritmo debe implementarse asociando un contador a cada pĆ”gina.
¿Cómo funciona?
- La pƔgina que lleve mƔs tiempo sin utilizarse en la memoria principal serƔ la que se seleccione para su reemplazo.
- FƔcil de implementar, mantenga una lista, reemplace pƔginas mirando hacia atrƔs en el tiempo.
Caracteristicas
- El método de reemplazo LRU tiene el mayor número de registros. Este contador, también llamado registro de antigüedad, especifica la edad y la frecuencia con la que se deben consultar las pÔginas asociadas.
- La pƔgina que lleva mƔs tiempo sin utilizarse en la memoria principal es la que debe seleccionarse para su reemplazo.
- TambiƩn mantiene una lista y reemplaza pƔginas mirando hacia atrƔs en el tiempo.
tasa de falla
La tasa de fallos es la frecuencia con la que falla un sistema o componente diseñado. Se expresa en fallos por unidad de tiempo y se representa con la letra griega λ (lambda).
Ventajas de la memoria virtual
Estas son las ventajas y beneficios de usar memoria virtual:
- La memoria virtual ayuda a ganar velocidad cuando solo se requiere un segmento particular del programa para la ejecución del programa.
- Es muy útil para implementar un entorno de multiprogramación.
- Le permite ejecutar mƔs aplicaciones a la vez.
- Le ayuda a encajar muchos programas grandes en programas mƔs pequeƱos.
- Se pueden compartir datos o códigos comunes entre la memoria.
- Un proceso puede llegar a ser incluso mayor que toda la memoria fĆsica.
- Los datos/código deben leerse del disco siempre que sea necesario.
- El código se puede colocar en cualquier lugar de la memoria fĆsica sin necesidad de reubicación.
- Se deben mantener mƔs procesos en la memoria principal, lo que aumenta el uso efectivo de la CPU.
- Cada pƔgina se almacena en un disco hasta que sea necesaria; despuƩs, se eliminarƔ.
- Permite ejecutar mƔs aplicaciones al mismo tiempo.
- No existe un lĆmite especĆfico sobre el grado de multiprogramación.
- Los programas grandes deben escribirse de forma que el espacio de direcciones virtuales disponible sea mayor en comparación con la memoria fĆsica.
Desventajas de la memoria virtual
Estas son las desventajas/inconvenientes del uso de memoria virtual:
- Las aplicaciones pueden ejecutarse mƔs lentamente si el sistema utiliza memoria virtual.
- Es probable que se necesite mƔs tiempo para cambiar entre aplicaciones.
- Ofrece menos espacio en el disco duro para su uso.
- Reduce la estabilidad del sistema.
- Permite que aplicaciones de mayor tamaƱo se ejecuten en sistemas que no ofrecen suficiente memoria RAM fĆsica por sĆ solos para ejecutarlas.
- No ofrece el mismo rendimiento que la RAM.
- Afecta negativamente el rendimiento general de un sistema.
- Ocupa espacio de almacenamiento que podrĆa utilizarse para el almacenamiento de datos a largo plazo.

