Producer-consumer using condition variables, Operating System

Assignment Help:

Now let us present an implementation of a producer-consumer system using condition variables. This implementation works.

dequeue()

lock(A)

while (queue empty) {
wait(A, C) // atomically releases lock A and sleeps, waiting for
// condition variable C.
// When the thread wakes up, it re-acquires the lock.
// C is the condition variable that means ''queue not empty''.
}

remove_item()
unlock(A)
enqueue()
lock(A)
insert_item()
signal(C)
unlock(A)

In dequeue() above, if the thread wakes up and by chance the queue is empty, there is no problem: that's why we need the "while" loop.


Related Discussions:- Producer-consumer using condition variables

System protection, what is the need-to-know principle? why is it important ...

what is the need-to-know principle? why is it important for a protection system to adhere to this principle?

What is the purpose of system calls, Q. What is the purpose of system calls...

Q. What is the purpose of system calls? Answer: System calls permit user-level processes to request services of the operating system.

Prolog application, 1. Problem Domain You will be considering the Wumpus ...

1. Problem Domain You will be considering the Wumpus world introduced in Russell and Norvig (2009) Chapter 7. For this programming assignment you'll use Prolog's ability to do in

What is an idle thread, idle thread The special thread a dispatcher wi...

idle thread The special thread a dispatcher will run when no ready thread is found. The primary purpose of the idle process and its threads is to remove what would otherwise b

Multiprogramming, what are the main advantages of multiprogramming

what are the main advantages of multiprogramming

State the advantage of multiprocessor system, State the advantage of multip...

State the advantage of multiprocessor system? The advantages of multiprocessor system are:- a)      Enhanced throughput. b)      Economy of scale. c)       Enhanced re

Keeping track of free memory, How do we keep track of where the free pieces...

How do we keep track of where the free pieces of memory are? One idea is to maintain a set of linked-lists of free space; each linked-list will store free chunks of some given size

What are the objectives for a file management system, What are the objectiv...

What are the objectives for a file management system? To meet the data management wants and requirements of the user, which embrace storage of data and the ability to

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