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

Major advantages of microkernel approach to system design, Q. What are the ...

Q. What are the major advantages of the microkernel approach to system design? Answer: Benefits usually include the following (a) Adding a new service doesn't require modify

Describes attributes, What are attributes? Attributes are the one, whic...

What are attributes? Attributes are the one, which explains the properties of data object.

Interprocess communication, Now we consider the following questions: how ca...

Now we consider the following questions: how can the parent process communicate with its child? Or how can children processes communicate with other children? The exact answer depe

What is the lower bound on the numeral of page faults, Q. Presume that you...

Q. Presume that you have a page-reference string for a process with m frames (initially all empty). The page-reference string has length p along with n distinct page numbers

Computer, what is an operating system?

what is an operating system?

Illustrate the operating system components, Q. Illustrate the Operating Sys...

Q. Illustrate the Operating System Components? Modern operating systems share the goal of supporting system components. System components are: 1.  Process Management 2.

What is the use of the command interpreter, Q. What is the use of the comma...

Q. What is the use of the command interpreter? Why is it generally separate from the kernel? Answer: It reads commands from the user or else from a file of commands and execu

What is super block, What is super block A partition control block have...

What is super block A partition control block have partitions details, such as the number of blocks in the partition, size of the blocks, free-blocks and free-block pointers an

Determine what the expansion of nested macro calls follows, Determine what ...

Determine what the expansion of nested macro calls follows  The expansion of nested macro calls follows the Last in First out (LIFO) rule.

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