Sistemas operativos

La memoria virtual es una técnica que permite que un sistema operativo dé la ilusión de tener más memoria RAM de la que existe físicamente, utilizando parte del disco duro o SSD como extensión.

👉 Gracias a la memoria virtual, se pueden ejecutar programas grandes o varios procesos simultáneos aunque la RAM sea limitada.


🔹 ¿Cómo funciona?

  1. El programa cree que tiene acceso a un gran espacio de direcciones de memoria continuo.
  2. El SO traduce esas direcciones “virtuales” a direcciones físicas reales en la RAM.
  3. Si la RAM no alcanza, parte de los datos se guardan en disco (swap o archivo de paginación).

🔹 Ventajas

  • Permite ejecutar programas más grandes que la memoria física.
  • Facilita la multitarea → varios procesos pueden coexistir en memoria.
  • Aísla los procesos → uno no puede acceder a la memoria de otro.
  • Simplifica la programación → los desarrolladores no necesitan preocuparse por la memoria física.

🔹 Desventajas

  • El acceso a disco es mucho más lento que a la RAM.
  • Si se abusa de la memoria virtual, el sistema se vuelve muy lento (thrashing).
  • Consume espacio del almacenamiento secundario.

🔹 Técnicas relacionadas

  • Paginación bajo demanda: las páginas se cargan en RAM solo cuando son necesarias.
  • Segmentación con paginación: mezcla de ambas técnicas para mayor flexibilidad.

🔹 Ejemplo práctico

Tienes 4 GB de RAM y ejecutas un programa que necesita 6 GB:

  • 4 GB se cargan en la RAM.
  • 2 GB se almacenan en el disco (archivo de intercambio/swap).
  • Cuando el programa necesita datos que no están en RAM, el SO intercambia páginas entre RAM y disco.

🔹 Analogía

  • La RAM es como tu escritorio de trabajo: rápido, pero limitado en espacio.
  • El disco (swap) es como un archivador cercano: puedes guardar papeles allí cuando no caben en el escritorio, pero tardas más en acceder a ellos.

📌 Resumen rápido

  • Memoria virtual = RAM + espacio en disco.
  • Ventajas: ejecutar programas grandes, multitarea, seguridad, simplicidad.
  • Desventajas: acceso lento al disco, posible thrashing.
  • Técnicas: paginación bajo demanda, segmentación + paginación.
  • Loading...