Ver la memoria de un proceso
Espacio de direcciones, pila, heap y errores comunes: mirar un programa real por dentro.
Sistemas operativos · Curso 8 de 15
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.
Cada programa cree que la memoria es solo suya
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
De ver las direcciones de un programa a entender qué ocurre cuando la memoria física se agota.
Espacio de direcciones, pila, heap y errores comunes: mirar un programa real por dentro.
Base y límite, segmentación, paginación y TLB: cómo una dirección virtual llega a la RAM.
Memoria virtual, fallos de página, reemplazo, swap y mmap: usar el disco como extensión de la memoria.
brk, listas libres y el malloc de glibc: escribir, medir y mejorar quien reparte la memoria dinámica.
Ruta completa
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.