Explain producer-consumer problem using semaphores, Operating System

Assignment Help:

Producer-Consumer Problem Using Semaphores

The Solution to producer-consumer problem use three semaphores namely- full, empty and mutex.

The semaphore 'full' is utilized for counting the number of slots in the buffer that are full. The 'empty' for calculate the number of slots that are empty and semaphore 'mutex' to make sure that the producer and consumer don't access modifiable shared section of the buffer simultaneously.

Initialization

  • Set full buffer slots to 0.
        i.e., semaphore Full = 0.
  • Set empty buffer slots to N.
        i.e., semaphore empty = N.
  • For control access to critical section set mutex to 1.
        i.e., semaphore mutex = 1.

Producer ( )
WHILE (true)        
            produce-Item ( );
        P (empty);
        P (mutex);
        enter-Item ( )
        V (mutex)
        V (full);

Consumer ( )
WHILE (true)
        P (full)
        P (mutex);
        remove-Item ( );
        V (mutex);
        V (empty);
        consume-Item (Item)


Related Discussions:- Explain producer-consumer problem using semaphores

Explain lru approximation page replacement, LRU approximation page replacem...

LRU approximation page replacement In this we are able to use the reference bit associated with the page entry to choose a page to be removed. The various algorithms used for

Define properties of real time operating system, Define properties of Real ...

Define properties of Real time operating system Real time :- Often used in a dedicated application, this system reads information from sensors and must respond within a fixed a

What is busy waiting, What is busy waiting? The repeated implementation...

What is busy waiting? The repeated implementation of a loop of code while waiting for an event to happen is known as busy-waiting. The CPU is not engaged in any actual producti

Explain deadlock, Explain Deadlock Every process in a set of processes ...

Explain Deadlock Every process in a set of processes is waiting for an event which only a process in the set can cause.

Demand paging, Demand paging With demand paging, a page is called into...

Demand paging With demand paging, a page is called into memory only when a location on that page is actually indexed during run time. With pre-paging, pages other than the one

Define a program that is in execution is known as, Define a program in exec...

Define a program in execution is known as A program in execution is known as a process

Principles of operating systems, Objective - Tiny Shell (tish) In this...

Objective - Tiny Shell (tish) In this exercise you will write a small shell program to run different programs in foreground and background mode. Background Usually when

Deadlock, what are the overall concepts of deadlock

what are the overall concepts of deadlock

What are conditions under which a deadlock situation arise, What are condit...

What are conditions under which a deadlock situation may arise? A deadlock situation can arise if the following four conditions hold simultaneously in a system: a. Mutual ex

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