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

Explain the protection problems, Q. In some systems a subdirectory is able...

Q. In some systems a subdirectory is able to be read and written by an authorized user just as ordinary files can be. a. Explain the protection problems that could arise. b.

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

Explain how a domain user account is authenticated, Question: a) The fo...

Question: a) The following questions pertain to User and Group accounts in Windows XP: i) Give four differences between a Power User and a Guest User account. ii) Explain h

Explain the alphabet and string, Explain the Alphabet and String A fini...

Explain the Alphabet and String A finite set of symbols is known as alphabet. An alphabet is frequently denoted by sigma, yet can be given any name. B = {0, 1} says B is an

Software Support (Introducing Operating Systems), The questions ask List fo...

The questions ask List four major functions of an OS. My answer: Function 1: Provide a user interface Function 2: Manage files Function 3: Manage hardware Function 4: Manage appli

Virtual memory, In modern operating systems, applications do not directly a...

In modern operating systems, applications do not directly access the physical memory. Instead, they use so-called virtual memory, where each virtual address is translated to a phys

What is a reference string, What is a reference string? An algorithm is...

What is a reference string? An algorithm is evaluated by running it on a particular string of memory references and computing the number of page faults. The string of memory re

Write about critical regions and monitors, Write about critical regions and...

Write about critical regions and monitors. Critical region definition Monitor definition Implementation of the conditional-region construct Syntax of monitor Monito

Define the turn-around time of a user job, Define the “turn-around” time of...

Define the “turn-around” time of a user job Turn- around time is total time taken to execute the job.

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