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

Assignment, Ask question #Minimum 100 words accDefine Hashing System. Descr...

Ask question #Minimum 100 words accDefine Hashing System. Describe the Hashed page table with example and mapping figure.

Define an assembly language, Define an assembly language  Assembly lan...

Define an assembly language  Assembly language stands for a Low level programming language

Inventory differences, What makes a Just-in-Time inventory system differ fr...

What makes a Just-in-Time inventory system differ from a traditional inventory system?

What kind of operating system is windows xp, Q.  What kind of operating sy...

Q.  What kind of operating system is Windows XP? Describe two of its major features. Answer: A 32 or 64 bit pre-emptive multitasking operating system supporting multiple use

Describes responsibilities of the I/O manager, Q. Describes responsibilitie...

Q. Describes responsibilities of the I/O manager? Answer: The I/O manager is responsible for file systems and device drivers and network drivers. The I/O manager keeps follow

Model, list trhe various classification of model and types?

list trhe various classification of model and types?

What are the various process scheduling concepts, What are the various proc...

What are the various process scheduling concepts? a) Scheduling queues with diagram b) Queuing diagram c) Schedulers d) Context switch with diagram

Define dynamic loading, Define dynamic loading. To obtain better memory...

Define dynamic loading. To obtain better memory-space utilization dynamic loading is used. With dynamic loading, a routine is not loaded until it is called. All routines are ke

Define a layer that is not of an io management module, Define a layer that ...

Define a layer that is not of an IO management module  MCS that is Management Control System is not of an IO management module

Show the services which provided by operating system, Q. Show the services ...

Q. Show the services which provided by operating system? A) Resource Allocation: If there are more than one user or jobs running at the same instance then resource

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