El ordenador

8.1 Memoria física vs memoria virtual

  • La memoria física es la RAM instalada en el sistema.
  • La memoria virtual es un espacio de direcciones lógico que el sistema operativo asigna a cada proceso.

👉 Ventajas de la memoria virtual:

  • Cada programa cree que tiene su propio espacio de memoria continuo.
  • Aumenta la seguridad: un proceso no puede leer la memoria de otro.
  • Permite usar más memoria que la RAM física, gracias a la paginación en disco.

8.2 Paginación y swap

  • La memoria se divide en páginas (bloques típicos de 4 KB).
  • Si la RAM se llena, el sistema operativo mueve páginas poco usadas al disco (swap en Linux, archivo de paginación en Windows).
  • Desventaja: el acceso al disco es miles de veces más lento que a la RAM → el sistema puede ir muy lento si depende demasiado de swap.

👉 Por eso tener suficiente RAM física es crucial.


8.3 TLB (Translation Lookaside Buffer)

  • Acceder a memoria virtual implica traducir direcciones virtuales a físicas mediante la MMU (Memory Management Unit).
  • Para acelerar este proceso, existe una caché especial: TLB.
  • Guarda las traducciones más recientes → mejora muchísimo el rendimiento.

8.4 Huge Pages / Large Pages

  • Normalmente, las páginas son de 4 KB.

  • Algunos sistemas permiten usar páginas más grandes (2 MB o 1 GB).

  • Ventajas:

    • Menos entradas en la TLB → menos fallos de TLB.
    • Mejor rendimiento en aplicaciones pesadas (bases de datos, virtualización, IA).

8.5 NUMA (Non-Uniform Memory Access)

  • En servidores multiprocesador, cada CPU puede tener su propio bloque de memoria.
  • Acceder a la RAM local es más rápido que a la RAM de otra CPU.
  • El sistema operativo debe optimizar la colocación de procesos y datos para minimizar accesos lejanos.

👉 Ejemplo: en un servidor con 2 sockets de CPU, conviene que un proceso use la RAM del mismo socket donde se ejecuta.


Resumen del punto 8:

  • La memoria virtual permite aislar procesos y usar más espacio del disponible físicamente.
  • El swap salva de quedarse sin RAM, pero es mucho más lento.
  • La TLB acelera la traducción de direcciones.
  • Huge pages y NUMA son optimizaciones críticas en sistemas de alto rendimiento.
  • Loading...