Empecé a aprender el concepto de semáforos en el sistema operativo. Estoy usando semáforos POSIX en Linux. He usado sem_init(), sem_wait() y sem_post() para inicializar, disminuir e incrementar variables de semáforo.
He visto declaraciones de funciones dadas en el archivo semaphore.h.
Pero no pude encontrar el código fuente de estas funciones anteriores. Revisé algunos archivos fuente del kernel pero no pude encontrarlos. ¿De dónde puedo obtener estos archivos de código fuente?
Estoy usando el núcleo Linux 3.6.11-4.
Gracias.
A diferencia de los semáforos "SysV IPC" más antiguos ( semctl , semop , etc.), el núcleo no implementa directamente la API de semáforo POSIX. En cambio, la biblioteca C lo implementa sobre la primitiva de sincronización genérica futex .
El código que está buscando está en el subdirectorio nptl del árbol fuente de GNU libc. Es posible que también tenga que buscar en sysdeps para encontrarlo todo.