Persistence, naming, storage area for named and unnamed semaphores.
Creation and initialization, opening/closing access, removal of a named semaphore. sem_open(), sem_close(), sem_unlink().
Creation and initialization, removal of an unnamed semaphore. Note: for inter-process synchronization semaphore structure (sem_t) instance has to be a part of a shared memory object.
Blocked and unblocked wait operations: sem_wait(), sem_trywait().
post operation: sem_post(). Getting semaphore value: sem_ getvalue()
Other POSIX synchronization objects
Condition variable. Use of condition variable-mutex pair for synchronization.
Barrier. The idea.
Multiple readers, single writer (read-write) locks.