Semaphore denotes a certain number of shared resources. Basically, it's
one counter and two operations on this counter, namely P and V. P is used
to acquire one resource (thus decrementing the counter) while V is used to
release one resource (thus incrementing the counter).
more ...