Question: C++ IPC using shared memory Write two programs, ShmemProducer and ShmemConsumer. You will run the producer program multiple times and the consumer program multiple times
C++
IPC using shared memory
Write two programs, ShmemProducer and ShmemConsumer. You will run the producer program multiple times and the consumer program multiple times in separate terminal windows, all simultaneously. The producer program should take an id and the number of data values from the command line, and the consumer program should take an id from the command line.
The producer process with id 1 should create a named shared memory segment in which a circular buffer of a given size, say 5, will reside. Each producer process should write data values into the buffer.
Each consumer process should read from the buffer in shared memory.
You will need named semaphores to synchronize the actions of the producers and consumers. Producer process 1 should also create these. Be sure to remove the semaphores left over from previous runs. You might also need one or more mutexes. One way to share a mutex among multiple processes is to recall that a mutex is a binary semaphore.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
