PM System
Semaphores in Operating System
Semaphores are integer variables that are used to solve the critical section problem
by using two atomic operations, wait and signal that are used for process synchronization.
The definitions of wait and signal are as follows –
⇨ Wait
The wait operation decrements the value of its argument S, if it is positive. If S is
negative or zero, then no operation is performed.
wait(S)
{
while (S<=0);
S--;
⇨ signal
The signal operation increments the value of its argument S.
signal(S)
{
S++;
}
Types of Semaphores
There are two main types of semaphores
i.e. counting semaphores and binary semaphores. Details about these are given as follows −
• Counting Semaphores
These are integer value semaphores and have an unrestricted value domain. These
semaphores are used to coordinate the resource access, where the semaphore count is the
number of available resources. If the resources are added, semaphore count automatically
incremented and if the resources are removed, the count is decremented.
i.e Counting semaphores are signaling integers that can take on any integer value. Using
these Semaphores we can coordinate access to resources and here the Semaphore count is
about:blan 1/
k 3