Q1. Implement the bounded buffer producer-consumer problem using semaphores.
The bounded buffer is solved with one mutex plus two counting semaphores, `empty` and `full`. ```c sem_t empty, full; pthread_mutex_t m; buffer[N]; int head, tail; void p...