Advanced synchronization in operating system, Operating System

Assignment Help:

Recall that condition variables are synchronization primitives that enable threads to wait until a particular condition occurs.

Generalizing, the combination of locks and condition variables is sometimes called a monitor, which is sometimes incorporated into data structures in some languages (note that this termi- nology is not always used in a standardized way).

Previously,we discussed howto use condition variables and signals to implement a simple producer- consumer system. Looking at this system again, could we move the signal() call in enqueue() down below the unlock()?

dequeue()
lock(A)
while (queue empty)
wait(A, C)
remove_item()
unlock(A)
enqueue()
lock(A)
insert_item()
// used to signal here, inside lock
unlock(A)
signal(C) // now signal here, outside lock

Will this work? The answer is yes. It might not be as clean conceptually, but nothing bad will happen (verify this for yourself).


Related Discussions:- Advanced synchronization in operating system

Advantages and disadvantages of using circuit switching, Q. What are the ad...

Q. What are the advantages as well as disadvantages of using circuit switching? For what types of applications is circuit switching a viable strategy? Answer: Circuit

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

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

What is the information associated with an open file, What is the informati...

What is the information associated with an open file? Various pieces of information are associated with  an open file which may be: File pointer Disk location of th

Most wans utilize only a partially connected topology, Q. Most WANs utilize...

Q. Most WANs utilize only a partially connected topology. Why is this subsequently Answer: Cost. A completely connected network requires a link between every node in the netw

Monolithic, What is monolithic and its diagram

What is monolithic and its diagram

Explain why sstf scheduling tends to favor middle cylinders, Explain why SS...

Explain why SSTF scheduling tends to favor middle cylinders over the innermost and outermost cylinders. The center of the disk is the location having the fewest average distanc

Unix process api, Unix process API The two most important function calls...

Unix process API The two most important function calls to use when programming with several processes are fork and exec:  fork() creates a copy of current process. It gives

Operating system components, Question 1 Discuss the following with respect ...

Question 1 Discuss the following with respect to Operating Systems: Operating System Components Operating System Services Question 2 Describe the theory behind Pagin

SYSTEM PROGRAMMING, advantages and disadvantages of monolithic and layered ...

advantages and disadvantages of monolithic and layered approach

What is micro-kernel?, Question 1 What is Micro-kernel? What are the benef...

Question 1 What is Micro-kernel? What are the benefits of Micro-kernel? Question 2 Explain seven state process models used for OS with necessary diagram. Differentiate betwee

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