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

Name two differences between logical and physical addresses, Q. Name two di...

Q. Name two differences between logical and physical addresses? Answer: A logical address doesn't refer to an actual existing address rather it refers to an abstract address in

Explain the request/response interface, Explain the Request/Response Interf...

Explain the Request/Response Interface   Many issues are involved in providing a procedural interface for client functions to interact with server components. First off, since

Case studies, Did Abhinav agree to the initial timeline requested by Rebecc...

Did Abhinav agree to the initial timeline requested by Rebecca

Define implementation of segmentation with an example, IMPLEMENTATION OF SE...

IMPLEMENTATION OF SEGMENTATION WITH AN EXAMPLE Segmentation is a memory-management scheme that represents the user view of memory. A logical address space is the collection of

Define rotational latency and disk bandwidth, Define rotational latency and...

Define rotational latency and disk bandwidth. Rotational latency is the additional time waiting for the disk to rotate the wanted sector to the disk head. The disk bandwidth is

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

How can deadlocks be represented?, How can deadlocks be represented? D...

How can deadlocks be represented? Deadlocks are able to be described in terms of a directed graph called as a system resource-allocation graph. This graph contains of the foll

Memory pages, Applications allocate memory in terms of the number of bytes ...

Applications allocate memory in terms of the number of bytes that they need, but this level of granularity is too ?ne-grained for the operating system to manage the system memory i

Operating system structure, Problem: (a) Modern operating systems are i...

Problem: (a) Modern operating systems are interrupt driven. If there are no processes to execute, no I/O devices to service, and no users to whom to respond, an operating syste

List out the advantages of windows 2000 file management, List out the advan...

List out the advantages of windows 2000 file management. Permits detailed security for individual folders and files. Built-in granular compression capabilities

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