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

System bus and device speeds as the cpu speed increases, Q. Why is it impor...

Q. Why is it important to scale up system bus and device speeds as the CPU speed increases? Answer: Consider a system which carries out 50% I/O and 50% computes. Doubling-up

Quantum settings denoted by q, Determining the time quantum for a job is a ...

Determining the time quantum for a job is a critical task. Given the assumptions that the average switching time between processes is s, and the average amount of time an I/O bo

Difference between system calls and procedure calls, The Most comman differ...

The Most comman difference are given below System calls are heavy. While a procedure call can generally be performed in a few system instructions, a system call needs the c

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

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

Provide two programming examples of multithreading, Normal 0 fa...

Normal 0 false false false EN-IN X-NONE X-NONE MicrosoftInternetExplorer4 Provide two programm

Protection scheme in unix, Q. Consider a system that holds 5000 users. Pre...

Q. Consider a system that holds 5000 users. Presume that you want to allow 4990 of these users to be able to access one file. a. How would you denote this protection scheme in

Queing theory, how to solve queing theory step by step

how to solve queing theory step by step

Explain virtual file systems, Virtual file systems The file-system exec...

Virtual file systems The file-system execution having of three major layers. The first layer is the file-system interface, based on the open, read, write and close calls and fi

How memory utilization factor shall be computed, How Memory utilization fac...

How Memory utilization factor shall be computed  Memory utilization factor shall be defined as Memory in use/total memory connected

Explai basic concepts of demand paging, Basic concepts When a process i...

Basic concepts When a process is to be changed in, the pager guesses which pages will be used before the process is changed out again. Instead of swapping in a entire process,

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