-
A technique for pipeline deletion inside processes
-
A technique for coordinating or synchronizing activities
-
A technique for pipeline creation inside threads
-
A technique for Traffic lights management inside an operating system
EXPLANATION
In programming, especially in Unix systems, semaphores are a
technique for coordinating or synchronizing activities in which multiple
processes compete for the same operating system resources.
A semaphore is a value in a designated place in operating system (or kernel)
storage that each process can check and then change. Depending on the
value that is found, the process can use the resource or will find that
it is already in use and must wait for some period before trying again.
Semaphores can be binary
(0 or 1) or can have additional values. Typically, a process using
semaphores checks the value and then, if it using the resource, changes
the value to reflect this so that subsequent semaphore users will know
to wait.
Semaphores are commonly use for two purposes: to share a common
memory space and to share access to files. Semaphores are one of the
techniques for interprocess communication (IPC). The C programming
language provides a set of interfaces or "functions" for managing
semaphores.
SOURCE
https://whatis.techtarget.com/definition/semaphore