Defines semaphores as synchronization primitives with wait and signal operations. Details how semaphores block threads based on value state and explains fundamental properties including thread blocking, waking mechanisms, and their role in managing concurrent access.