Answered step by step
Verified Expert Solution
Question
1 Approved Answer
I have no idea where to begin with solving this. I hope you can read the picture alright. The following pseudocode is a correct implementation
I have no idea where to begin with solving this. I hope you can read the picture alright.
The following pseudocode is a correct implementation of the producer/consul lem with a bounded buffer 25 item[3] buffer: // initially empty semaphore empty: 1/ initialized to +3 semaphore full: // initialized to d binary semaphore mutex: // initialized to 1 void producer () void consumer ) while (true) while (true) item produce(); wait (empty) : wait (mutex); append (item) : signal (mutex) signal (full); el: c2: c3: wait (full); wait (mutex); itemtake() signal (mutex) signal (empty); consume (item); pl: p2: p3: Labels pl, code shown above (p2 and c2 each cover three lines of code). Semaphores empty and full are linear semaphores that take unbounded negative and positive values. There are multiple producer processe referred to as Pa, Pb, Pc, etc., and multiple consumer processes, referred to as Ca,Ch Cc, etc. Each semaphore maintains a FIFO (first-in-first-out) queue of blocked cesses. In the scheduling chart below, each line represents the state of the buffer semaphores after the scheduled execution has occurred. To simplify, we assume t scheduling is such that processes are never interrupted while executing a given porti of code pl, or p2,...,or c3. Your task is to complete the following chart. p2, p3 and c1, c2, c3 refer to the lines of hat Scheduled Step of full's State and empty's State Buffer and Queue Queue full 0 full=-1 (Ca) Execution Initialization Ca executes ci Cb executes cl full -2 (Ca, Cb) 000 Pa executes pl full2 (Ca, Cb) 00 Pa executes p2 | full=-2 (Ca, Cb) | XO Pa executes p3 full1 (Cb) Ca X 00 Ca executes c2 Ca executes c3 empty +3 empty +3 empty +2 empty full=-1 (cb) full=-1 (Cb)
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started