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

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

How does communication takes place in a distributed system?, How does commu...

How does communication takes place in a distributed system? Distributed systems depend on the networking for their functionality. A network is a communication path among two

Explain short term scheduling, Short term scheduling The short term sch...

Short term scheduling The short term scheduler as well known as the dispatcher executes most frequently and makes the fine grained decision of which process to execute next. Th

Could you replicate a multilevel directory structure, Q. Could you replica...

Q. Could you replicate a multilevel directory structure with a single-level directory structure in which arbitrarily long names can be used? If your answer is yes describe how you

Unix operating system, A working Ubuntu Linux operating system.  You can us...

A working Ubuntu Linux operating system.  You can use a Live-CD to complete this assignment. Create an empty text file named assignment6.txt in your home directory. Edit this

What advantages are there to this two-level directory, What advantages are ...

What advantages are there to this two-level directory? Users are isolated from each other. Users have more freedom in choosing file names.

What is the use of FIFOs in client-server applications, What is the use of ...

What is the use of FIFOs in client-server applications

Memory management, example of first fit best fit and worst fit

example of first fit best fit and worst fit

Write a short note on disk scheduling, Write a short note on disk schedulin...

Write a short note on disk scheduling   One of the responsibities of operating system O/S is to use the hardware efficiently. Whenever a process requires I/O to or from the

What is meant by arm-stickiness, What is meant by arm-stickiness? If on...

What is meant by arm-stickiness? If one or a few processes have a high access rate to data on single track of a storage disk, then they might be monopolizing the device by repe

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