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

Hi, is the operating system windows sometimes interupts

is the operating system windows sometimes interupts

Define throughput, Define throughput? Throughput in CPU scheduling is t...

Define throughput? Throughput in CPU scheduling is the number of processes that are completed per unit time. For long processes, this rate might be one process per hour; for sh

Locks - mutexes, Locks (also known as mutexes, short for mutual exclusion l...

Locks (also known as mutexes, short for mutual exclusion locks) provide mutual exclusion to shared data inside a critical session. They are implemented by means of two atomic routi

Explain file structure, File structure Certain files must conform to a ...

File structure Certain files must conform to a needed structure that is understood by the operating system. The operating system may consist that an executable file has a parti

Memory management, with aid of diagram describe 2 types of fixed partition ...

with aid of diagram describe 2 types of fixed partition allocation used in operating system

Explain deadlock, Explain Deadlock Every process in a set of processes ...

Explain Deadlock Every process in a set of processes is waiting for an event which only a process in the set can cause.

Logic gates, Determine the equation for the y and truth table for the circu...

Determine the equation for the y and truth table for the circuits

Explain process description in the unix system, Process Description A pr...

Process Description A process in UNIX is a somewhat complex set of data structures that provides the operating system with all of the information necessary to dispatch and manag

Protection, Can you please explain in easy words how input output protectio...

Can you please explain in easy words how input output protection works

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

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