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...