Desmitificando Depuradores: La Anatomía de un Programa en Ejecución
Este artículo profundiza en la mecánica de bajo nivel de un programa en ejecución. Usando la analogia de un cartucho de videojuego en una NES, explica cómo los sistemas operativos modernos virtualizan la ejecución de programas. Se detallan conceptos clave como espacios de direcciones virtuales, subprocesos de ejecución, imágenes ejecutables, cargadores, módulos y procesos. El artículo explica cómo los espacios de direcciones virtuales, a través de tablas de páginas, mapean direcciones virtuales a direcciones físicas, permitiendo que múltiples programas compartan la memoria física sin interferencia. También cubre la programación de subprocesos, los formatos de imágenes ejecutables (PE y ELF), el papel del cargador y la carga/descarga dinámica de módulos. Finalmente, resume el concepto de un proceso, que integra subprocesos, módulos y espacios de direcciones virtuales.