¿Qué es la memoria virtual?
Memoria virtual Es un mecanismo de almacenamiento que le da al usuario una idea de que tiene una memoria principal muy grande. Se hace tratando una parte de la memoria secundaria como la memoria primaria. En la memoria virtual, el usuario puede almacenar procesos con un tamaño mayor 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 por demanda y segmentación por demanda.
En este tutorial sobre el sistema operativo, aprenderá:
¿Por qué necesita memoria virtual?
A continuación, se muestran algunas razones para utilizar la memoria virtual:
- Siempre que su computadora no tiene espacio en la memoria física, escribe lo que necesita recordar en el disco duro en un archivo de intercambio como memoria virtual.
- Si una computadora que ejecuta Windows necesita más memoria / RAM, luego instalada en el sistema, usa una pequeña parte del disco duro para este propósito.
¿Cómo funciona la memoria virtual?
En el mundo actual, la memoria virtual es bastante común en estos días. Se utiliza siempre que es necesario cargar varias páginas en la memoria principal para completar, y la memoria no está disponible para tantas páginas.
Entonces, en ese caso, en lugar de evitar que las páginas ingresen a la memoria principal, el sistema operativo busca el espacio de RAM utilizado menos recientemente o no se hace referencia en la memoria secundaria para hacer espacio para las nuevas páginas en la memoria principal.
Comprendemos la gestión de la memoria virtual con la ayuda de un ejemplo.
Por ejemplo:
Suponemos que el sistema operativo requiere 300 MB de memoria para almacenar todos los programas actuales. Sin embargo, actualmente solo se almacenan 50 MB de memoria física disponible en la RAM.
- Luego, el sistema operativo configurará 250 MB de memoria virtual y usará un programa llamado Virtual Memory Manager (VMM) para administrar esos 250 MB.
- Entonces, en este caso, el VMM creará un archivo en el disco duro que tiene un tamaño de 250 MB para almacenar la memoria adicional requerida.
- El sistema operativo ahora seguirá ocupándose de la memoria, ya que estima que se almacenan 300 MB de memoria real en la RAM, incluso si solo hay 50 MB de espacio disponible.
- El trabajo del VMM es administrar 300 MB de memoria incluso si solo hay 50 MB de espacio de memoria real disponible.
¿Qué es la demanda de localización?
Un mecanismo de paginación de llamadas es muy similar a un sistema de paginación de intercambio donde los procesos almacenados en la memoria secundaria y las páginas se cargan solo bajo demanda, no por adelantado.
Entonces, cuando ocurre un cambio de contexto, el sistema operativo nunca copia ninguna de las páginas del programa anterior del disco o de ninguna de las páginas del nuevo programa en la memoria principal. En su lugar, comenzará a ejecutar el nuevo programa después de cargar la primera página y buscar las páginas del programa, a las que se hace referencia.
Durante la ejecución del programa, si el programa hace referencia a una página que puede no estar disponible en la memoria principal porque ha sido intercambiada, entonces el procesador la considera una referencia de memoria no válida. Eso se debe a que las fallas y las transiciones de la página restauran el control del programa al sistema operativo, lo que requiere que la página se vuelva a almacenar en la memoria.
Tipos de métodos de reemplazo de página
A continuación, se muestran algunos métodos importantes para reemplazar una página.
- FIFO
- Mejor algoritmo
- Reemplazo de página LRU
Reemplazo de página FIFO
FIFO (First-in-out-out) es un método de implementación simple. En este modo, la memoria selecciona la página para reemplazo que estuvo en la dirección virtual de la memoria durante más tiempo.
Aspectos:
- Siempre que se carga una página nueva, la página se elimina recientemente de la memoria. Por lo tanto, es fácil decidir qué página debe eliminarse porque la pila FIFO siempre tiene su número de identificación.
- La página más antigua de la memoria principal es la que se debe seleccionar para reemplazarla primero.
Mejor algoritmo
El método de reemplazo de página óptimo selecciona la página para el reemplazo para la cual el tiempo hasta la siguiente referencia es más largo.
Aspectos:
- El algoritmo óptimo da como resultado el menor número de defectos de página. Este algoritmo es difícil de implementar.
- El método de algoritmo de reemplazo de página óptimo es la tasa de defectos de página más baja de todos los algoritmos. Este algoritmo existe y debería llamarse MIN u OPT.
- Reemplace esta página con ya no nos usa. Solo usa el tiempo en el que se necesita usar una página.
Reemplazo de página LRU
La forma completa de LRU es la página menos utilizada recientemente. Este método ayuda al sistema operativo a obtener el uso de la página durante un corto período de tiempo. Este algoritmo debe implementarse conectando un contador a una página plana.
¿Como funciona?
- La página, que no se ha utilizado durante mucho tiempo en la memoria principal, es la que se seleccionará para su reemplazo.
- Fácil de implementar, mantenimiento de listas, reemplazo de páginas mirando hacia atrás en el tiempo.
Aspectos:
- El método de reemplazo de LRU tiene el recuento más alto. Este contador también se llama programas de envejecimiento, que especifican su edad y cuánto también se deben hacer referencia a sus páginas relacionadas.
- La página que no se ha utilizado durante mucho tiempo en la memoria principal es la página que debe seleccionarse para su reemplazo.
- También mantiene una lista y reemplaza páginas mirando hacia atrás en el tiempo.
Tasa de defectos
La tasa de fallas es la frecuencia con la que falla un sistema o componente de diseño. Se expresa en fallas por unidad de tiempo. ¿Le informa la carta griega? (lambda).
Ventajas de la memoria virtual
Estos son los pros y los contras de usar la memoria virtual:
- La memoria virtual ayuda a ganar velocidad cuando solo se requiere un determinado segmento del programa para ejecutar el programa.
- La implementación de un entorno de programación múltiple es muy útil.
- Te permite ejecutar más aplicaciones al mismo tiempo.
- Le ayuda a encajar muchos programas grandes en programas más pequeños.
- Los datos o códigos comunes se pueden compartir entre la memoria.
- El proceso puede llegar a ser incluso mayor que toda la memoria física.
- Los datos / códigos deben leerse del disco cuando 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 eficiente de la CPU.
- Cada página se almacena en el disco hasta que se recupere posteriormente, se eliminará.
- Permite que se ejecuten más aplicaciones al mismo tiempo.
- No hay un límite específico para la cantidad de registros múltiples.
- Deben escribirse programas grandes, porque el espacio de direcciones virtuales disponible es mayor en comparación con la memoria física.
Desventajas de la memoria virtual
Estas son las desventajas de usar memoria virtual:
- Las aplicaciones pueden funcionar más lentamente si el sistema utiliza memoria virtual.
- Es probable que el cambio entre aplicaciones lleve más tiempo.
- Ofrece un espacio mínimo en el disco duro para su uso.
- Reduce la estabilidad del sistema.
- Permite que las aplicaciones ejecuten sistemas más grandes que no cuentan con suficiente RAM física para ejecutarlos.
- No ofrece el mismo rendimiento que la RAM.
- Afecta negativamente el rendimiento general del sistema.
- Ocupe el espacio de almacenamiento, que de lo contrario se puede utilizar para el almacenamiento de datos a largo plazo.
Resumen:
- La memoria virtual es un mecanismo de almacenamiento que le da al usuario una idea de que tiene una memoria principal muy grande.
- Se requiere memoria virtual siempre que su computadora no tenga espacio en la memoria física
- Un mecanismo de paginación de reclamos es muy similar a un sistema de paginación de intercambio donde los procesos almacenados en la memoria secundaria y las páginas se cargan solo bajo demanda, no por adelantado.
- Los métodos importantes de reemplazo de página son 1) FIFO 2) Mejor algoritmo 3) Reemplazo de página LRU.
- En el modo FIFO (Primera entrada), la memoria de la página selecciona un reemplazo que ha estado en la dirección virtual de la memoria durante más tiempo.
- El método de reemplazo de página óptimo selecciona la página para el reemplazo para la cual el tiempo hasta la siguiente referencia es más largo.
- El modo LRU ayuda al sistema operativo a obtener el uso de la página durante un corto período de tiempo.
- La memoria virtual ayuda a ganar velocidad cuando solo se requiere un determinado segmento del programa para ejecutar el programa.
- Las aplicaciones pueden funcionar más lentamente si el sistema utiliza memoria virtual.