**Part 1**
The module semaphore.c uses the system calls semget(), semctl() and semop() as appropriate to build the following semaphore operations which can be more clearly and conveniently called from a client program:
**Part 2**
Construct two programs: a \Producer" and a \Consumer" which pass data by means of a shared buffer, and which synchronize access to the buffer by means of (several) semaphores.
## Deliverables
Details are in the program word document in zip file