Operating System – Classical IPC Problems
Besides its usage for CS problem, semaphores can also be used for synchronization of the processes. For example consider two concurrent processes: p1, p2. We require that statement s2 of p2 will be executed after statement s1 of p1. Let p1 and p2 share a common semaphore ‘synch’, initialized to 0. Semaphores can be used for this synchronization
problem as follows :
semaphore synch=0;
void P1(void)
{ ...
down(synch)
S1
}
semaphore synch=0;
void P1(void)
{ ...
S1
up(synch)
}