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.

  • 🧠 Definición: La memoria virtual trata parte del almacenamiento secundario como memoria principal para ejecutar procesos de mayor envergadura.
  • šŸŽÆ ĀæPor quĆ© es necesario? Proporciona memoria adicional cuando la RAM fĆ­sica es insuficiente, utilizando un archivo de intercambio en el disco.
  • šŸ“„ Localización de demanda: Las pĆ”ginas se cargan desde el disco a la RAM solo cuando se hace referencia a ellas.
  • šŸ” Reemplazo de pĆ”gina: Los algoritmos FIFO, óptimo y LRU deciden quĆ© pĆ”gina eliminar en caso de fallo de pĆ”gina.
  • āœ… Ventaja: Admite la multiprogramación y permite que los programas superen el tamaƱo de la memoria fĆ­sica.
  • āš ļø Retirarse: Es mĆ”s lenta que la RAM y puede reducir el rendimiento general del sistema.

Memoria virtual en el sistema operativo

¿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?

Paginación de 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.

Preguntas Frecuentes

Se produce un fallo de pÔgina cuando un programa accede a una pÔgina que no se encuentra en la memoria principal. El sistema operativo pausa el programa, obtiene la pÔgina necesaria del disco y la carga en la RAM, actualiza la tabla de pÔginas y, a continuación, reanuda la ejecución.

El thrashing ocurre cuando el sistema pasa mÔs tiempo intercambiando datos.ping Se producen mÔs desplazamientos de pÔginas entre la RAM y el disco que procesos en ejecución. Esto se debe a un grado excesivo de multiprogramación y degrada gravemente el rendimiento. Reducir los procesos activos o aumentar la RAM ayuda.

La RAM es un componente fƭsico de alta velocidad donde se almacenan los datos activos. La memoria virtual es una tƩcnica que amplƭa la RAM utilizando el espacio en disco como si fuera memoria. La memoria virtual es mucho mƔs grande, pero mucho mƔs lenta que la RAM real.

La IA puede aprender los patrones de acceso a memoria de un programa y predecir qué pÔginas se necesitarÔn pronto. Esto permite que el sistema operativo mantenga las pÔginas útiles en la RAM y elimine las adecuadas, acercÔndose al algoritmo óptimo ideal y reduciendo los fallos de pÔgina.

Sí. Al analizar las secuencias de acceso anteriores, los modelos de IA pueden precargar pÔginas antes de que se soliciten y ajustar la frecuencia con la que se intercambian. Esto reduce los fallos de pÔgina y la sobrecarga, aunque los errores de predicción y la sobrecarga deben mantenerse bajos.

Resumir este post con: