Llamadas al sistema rápidas vs. lentas: cómo las señales despiertan las llamadas al sistema bloqueadas
Este artículo profundiza en las diferencias principales entre las llamadas al sistema rápidas y lentas en los sistemas operativos. Las llamadas al sistema rápidas (como `getpid()`) retornan inmediatamente, mientras que las llamadas al sistema lentas (como `read()`) pueden bloquearse esperando eventos externos. El artículo se centra en cómo las señales interrumpen las llamadas al sistema lentas bloqueadas, demostrando con ejemplos de código cómo manejar los errores `EINTR` y usar la bandera `SA_RESTART`. Además, el artículo explora los matices de E/S de disco y cómo el kernel maneja los diferentes tipos de llamadas al sistema, comparando las fortalezas y debilidades de varios modelos de E/S (E/S de bloqueo, E/S no bloqueante, multiplexación de E/S, E/S controlada por señales, E/S asíncrona e I/O Uring).