Producer – consumer process, Operating System

Assignment Help:

Step by step displays the content, and the final result of the list ("buffer") of 6 elements as the initial values ??and the following elements which are produced (NEXTP) or consumed (NEXTC). This scheme allows a maximum of (Buffer_size - 1) elements.

#define BUFFER_SIZE 6

typedefstruct { ....}item;

item buffer[BUFFER_SIZE];

int    in  =  0;

int  out  =  0;

         Producer

         itemnextProduced;

                  while (true)   

                  {.../* produce an item in nextp  */

                           while  (((in + 1)  %  BUFFER_SIZE )  = =  out)   

                                                                                     /* loop, do nothing */;

                           buffer[in]  =  nextp;

                           in  =  (in + 1)  %  BUFFER_SIZE;

                  }

 Consumer

         itemnextConsumed

                  while (true)

                  {...

                           while  ( in  = = out) ;       /* loop, do nothing */;

                           nextc = buffer [out];

                           out  =  (out + 1)  %  BUFFER_SIZE;

                                    /*  consume the item in nextc  */

                  }


Related Discussions:- Producer – consumer process

What is critical section problem, What is critical section problem? Con...

What is critical section problem? Consider a system consists of 'n' processes. Every process has segment of code called a critical section, in which the process might be changi

Use of c and c++, One reason to learn C and C++ is simply that so much soft...

One reason to learn C and C++ is simply that so much software is written in these languages. A related, butmore fundamental reason, is that C and C++ are relatively low-level, allo

How virtual memory is implemented, How Virtual memory is implemented Vi...

How Virtual memory is implemented Virtual memory can be implemented along with Segmentation and Paging

Explain banker''s algorithm, Banker's Algorithm In this analogy ...

Banker's Algorithm In this analogy Customers ≡ processes Units ≡ resources, say, tape drive Ba

Why page sizes always powers of 2, Q. Why page sizes always powers of 2? ...

Q. Why page sizes always powers of 2? Answer: Recall that paging is executed by breaking up an address into a page and offset number. It is most competent to break the address

What are the reasons for process suspension, Q. What are the reasons for pr...

Q. What are the reasons for process suspension? Reasons for process suspension 1.  Swapping 2.  Timing 3.  Interactive user request 4.  Parent process request

Advanced synchronization, Synchronization serves two purposes: 1) to ensure...

Synchronization serves two purposes: 1) to ensure safety for updates on shared data (e.g. to avoid races conditions), and 2) to coordinate and order actions taken by threads (e.g.

Blocking locks, We have talked about blocking locks, which voluntarily yiel...

We have talked about blocking locks, which voluntarily yield, and spinlocks, which just spin until they acquire the lock. At ?rst, it seems like spinlocks are verywasteful, and tha

Exdplain many-to-many model, Many-to-Many Model The many-to-many model-...

Many-to-Many Model The many-to-many model- many user-level threads to many kernel-level threads avoids several of the limitations of the one-to-one model, although extending mu

How is process management done in multiprocessing systems, How is process m...

How is process management done in multiprocessing systems ? There are two accost for the process management in multiprocessor systems. Master-slave configuration Sy

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd