The header <semaphore.h> defines the type sem_t,
used in performing semaphore operations. The type sem_t is
used to represent semaphores. Semaphores are implemented using file
descriptors and applications are able to open up to a total of
{OPEN_MAX} files and semaphores.