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

Define the sleep (sec) function, Define the Sleep (sec) Function Sleep ...

Define the Sleep (sec) Function Sleep function suspends execution of this process for sec number of seconds. While this function is used in our example for consistency, other f

What are the five major activities of an operating system, What are the fiv...

What are the five major activities of an operating system in regard to process management? The creation and deletion of both user and system processes The suspension and res

What is indexed allocation, What is indexed allocation? Every file has ...

What is indexed allocation? Every file has its own block of pointers to the sectors of the file.

Define what is dispatcher, Define what is Dispatcher In the Worker Mode...

Define what is Dispatcher In the Worker Model, it is the task of the Dispatcher to spawn a thread for every client-to-server connection. The Dispatcher acts as the go-between o

What is the translation lookaside buffer, What is the Translation Lookaside...

What is the Translation Lookaside Buffer (TLB) In a cached system, the base addresses of the last few referenced pages is maintained in registers known as the TLB that aids in

System call, how the system call is work?

how the system call is work?

What are the operations that can be performed on a directory, What are the ...

What are the operations that can be performed on a directory? The operations that can be performed on a directory are Search for a file Create a file Delete a

What is the exclusive feature of unix, What is the exclusive feature of UNI...

What is the exclusive feature of UNIX Shell is the exclusive feature of UNIX.

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