Fundamentos de la Concurrencia y Sincronización de Hilos en Sistemas Operativos
Conceptos Fundamentales de Hilos y Procesos
¿Qué es un Hilo (Thread)?
Un hilo representa un **flujo secuencial de instrucciones** dentro de un programa. Los hilos permiten **dividir el trabajo** de un solo programa para aprovechar el **hardware** que tiene **múltiples núcleos** (CPUs).
¿Por qué usar Hilos y no Procesos?
Los procesos no comparten memoria de forma nativa, mientras que los hilos trabajan sobre el mismo espacio de memoria, permitiendo **compartir datos** sin necesidad de copiar información entre ellos. La comunicación entre procesos requiere mecanismos **costosos** como *pipes* o segmentos de memoria compartida (*shared memory segments*).
Estructura de un Hilo
Aunque los hilos comparten la memoria principal, cada hilo posee su...