Sistemas operativos · Curso 8 de 15

Gestión de Memoria

Una guía clara para comprender cómo el sistema operativo organiza, protege y reparte la memoria entre los programas. Aprenderás el espacio de direcciones, la pila y el heap, la segmentación, la paginación, las tablas de páginas, la TLB, la memoria virtual, los fallos de página, los algoritmos de reemplazo FIFO, LRU y óptimo, el intercambio, mmap y el funcionamiento interno de malloc, mediante ejemplos en C y simuladores en JavaScript.

52
temas progresivos
C + JS
ejemplos y simuladores
Nivel intermedio
paso 8 de la ruta

Cada programa cree que la memoria es solo suya

Una ilusión que el sistema operativo sostiene todo el tiempo

Cuando un programa en C imprime la dirección de una variable, ese número no es una posición de la RAM. Es una dirección virtual: el procesador y el sistema operativo la traducen en cada acceso, y gracias a esa traducción cada proceso tiene su propio espacio, ninguno puede leer la memoria de otro, y el conjunto puede usar más memoria de la que el equipo tiene instalada.

El curso empieza por el espacio de direcciones de un proceso, con su pila y su heap. Sigue con las técnicas de asignación que dieron origen a los sistemas actuales: registros base y límite, segmentación y paginación, con sus tablas de páginas y la TLB que las acelera. Después llega la memoria virtual: los fallos de página, el copy-on-write, la hiperpaginación y los algoritmos de reemplazo FIFO, LRU y óptimo. Termina con el intercambio, mmap y el funcionamiento interno de malloc. Los ejemplos se escriben en C y se ejecutan en Linux; los algoritmos se estudian además en simuladores interactivos en JavaScript.

El recorrido

Cuatro ideas que se suman

De ver las direcciones de un programa a entender qué ocurre cuando la memoria física se agota.

01

Ver la memoria de un proceso

Espacio de direcciones, pila, heap y errores comunes: mirar un programa real por dentro.

02

Traducir direcciones

Base y límite, segmentación, paginación y TLB: cómo una dirección virtual llega a la RAM.

03

Ir más allá de la RAM

Memoria virtual, fallos de página, reemplazo, swap y mmap: usar el disco como extensión de la memoria.

04

Construir un asignador

brk, listas libres y el malloc de glibc: escribir, medir y mejorar quien reparte la memoria dinámica.

Ruta completa

Este curso es el paso 8 de 15

Aquí se estudia cómo el sistema administra la memoria que usan todos los procesos. En el curso siguiente se ve cómo se guardan los datos de forma permanente en el disco.

Nivel intermedio

  1. 05Procesos e Hilos
  2. 06Planificación de la CPU
  3. 07Concurrencia y Sincronización
  4. 08Gestión de Memoria
  5. 09Sistemas de Archivos y Entrada/Salida
  6. 10Comunicación entre Procesos

Nivel avanzado

  1. 11Redes desde el Sistema Operativo
  2. 12Seguridad en Sistemas Operativos
  3. 13Virtualización y Contenedores
  4. 14Rendimiento, Depuración y Observabilidad
  5. 15Construcción de un Sistema Operativo desde Cero