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

Distinguish between long and short term scheduler, Question 1: a) Disti...

Question 1: a) Distinguish between "Long-Term Scheduler" and "Short-Term Scheduler". b) Describe the benefits of "Threads". c) Name three types of CPU Scheduling. Que

SYSTEM PROGRAMMING, advantages and disadvantages of monolithic and layered ...

advantages and disadvantages of monolithic and layered approach

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

What are race conditions?, What are race conditions? Race conditions ar...

What are race conditions? Race conditions are problems that take place due to the sharing of the same file by several processes. In such a case none of the processes is able to

What are the deadlock prevention methodologies?, What are the deadlock p r...

What are the deadlock p revention methodologies? a.       Necessitate that processes request all resources before starting - if cannot be granted don't run. b.      Process

Explain multitasking operating system, Multitasking - An Operating systems...

Multitasking - An Operating systems that is proficient of allowing multiple software processes to be run at the same time. Below are some instances of multitasking Operating Syste

System call, how the system call is work?

how the system call is work?

Assignment on Fork System Call, Parent process P creates three child proces...

Parent process P creates three child processes, C1, C2, and C3. Each child process executes a memory and CPU intensive application of your choice. Your choice should be such that

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