Question: Write a producer-consumer program based on Figure 5.16, using semaphores and a bounded buffer, and the program from Pgm1 in which the produce function is

Write a producer-consumer program based on Figure 5.16, using semaphores and a bounded buffer, and the program from Pgm1 in which the produce function is to calculate the sum of one thousand uniform random numbers on the interval [0,1) divided by five hundred. The producer is required to produce precisely one million values. Have ten consumer Pthreads which consume one sum at a time which is added it to their individual partial totals. The final step of the main is to output the output the ten partial totals. Both producer and consumer require modifications to account for the limited production. Pseudocode for the produce and consume procedures is provided below. Does the operating system provide an equal allotment of sums to each consumer thread? What does that indicate?

Write a producer-consumer program based on Figure 5.16, using semaphores and a

Pmg 1 : from https://linux.die.net/man/3/pthread_create

*program boundedbuffer const int sizeofbuffer* buffer size* semaphore s 1, n= 0, e= sizeofbuffer; void producer() while (true) produce)i semWait(e) semWait(s); append(); semSignal(s); semSignal (n) void consumer () while (true) f semWait(n); semWait(s); take)i semSignal(s); semSignal (e); consume void main() parbegin (producer, consumer); Figure 5.16 A Solution to the Bounded-Buffer Producer/Consumer Problem Using Semaphores *program boundedbuffer const int sizeofbuffer* buffer size* semaphore s 1, n= 0, e= sizeofbuffer; void producer() while (true) produce)i semWait(e) semWait(s); append(); semSignal(s); semSignal (n) void consumer () while (true) f semWait(n); semWait(s); take)i semSignal(s); semSignal (e); consume void main() parbegin (producer, consumer); Figure 5.16 A Solution to the Bounded-Buffer Producer/Consumer Problem Using Semaphores

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!