Download presentation
Presentation is loading. Please wait.
1
CS533 Concepts of Operating Systems Class 3 Monitors
2
CS533 - Concepts of Operating Systems 2 Questions Which multi-threaded programming problems do monitors address? Are monitors useful as a programming convention, i.e., without compiler support? o What is the convention? With compiler support for monitors, what are the important tasks of the compiler? How does encapsulation help with synchronization? How can mutual exclusion in a monitor be enforced? o … on uniprocessors and multiprocessors?
3
CS533 - Concepts of Operating Systems 3 Questions Do monitors solve the deadlock problem? Why restrict signal to affect only waiting processes in the “same” monitor? Why hand-off the resource directly from the signaling process to the signaled waiting process? o What is the advantage of restricting signal calls to be the last statement of a monitor procedure? o What implications does this have for assumptions that can be made by processes waking up from a wait?
4
CS533 - Concepts of Operating Systems 4 Questions Why do we need condition variables instead of a single waiting queue per monitor? Does a condition variable have a value (such as true/false)? How might the queuing discipline for waiting processes avoid starvation?
5
CS533 - Concepts of Operating Systems 5 Questions In Hoare’s bounded buffer example, he assumes that the time taken to produce or consume is very large in comparison with the time taken to append or remove an item from a list o What are the implications of this? o Are there similar assumptions in the readers/writers example?
6
CS533 - Concepts of Operating Systems 6 Questions What are the implications of allowing monitor calls to make calls to different monitors? Which kinds of monitor procedures do not need to acquire/release the monitor lock?
7
CS533 - Concepts of Operating Systems 7 Questions How does non-preemption solve concurrency problems? o What problem does it have on multiprocessors? o What problem does I/O present? o What problem does page faults present?
8
CS533 - Concepts of Operating Systems 8 Questions Mesa operates in an environment that doesn’t use hardware protection o What are the implications for the cost of monitor operations? How is processes creation in Mesa similar to thread creation in Pthreads? o Why join? o Why detatch? o Why might you still use p after calling Detach[p]?
9
CS533 - Concepts of Operating Systems 9 Questions How is handling exceptions in root procedures of processes more complicated than in normal Mesa procedures? What issues arise when an exception is generated within a monitor procedure? o What does UNWIND do in Mesa?
10
CS533 - Concepts of Operating Systems 10 Questions What is the difference between Hoare’s semantics for wait/signal and Mesa’s wait/notify? o What invariants can be assumed in each case? o What implications does this have for code surrounding a wait call? What is the advantage of Hoare’s semantics for wait/signal vs Mesa’s wait/notify? o Why do Hoare semantics require more context switches? o Why do they require the signaling mechanism to be reliable?
11
CS533 - Concepts of Operating Systems 11 Questions What are the advantages of Mesa’s wait/notify semantics? o Why does it help to enable timeouts for waiting processes? o Why does it help to enable broadcast? o Why is Mesa’s use of broadcast encouraged by their use of compiler-supported protection in a single user environment?
12
CS533 - Concepts of Operating Systems 12 Questions How might you use monitors for I/O o Can interrupts be treated as signals? o What if no process was waiting? How can devices make monitor calls? o If a device can’t wait on the monitor lock, how can it update monitor state? o What is a naked notify, and who is waiting on it? o Why is a wakeup-waiting switch needed with naked notifies?
13
CS533 - Concepts of Operating Systems 13 Questions Why implement process creation as a monitor? o How is fork implemented? o How are join and end implemented? Why is fork/join so expensive compared to other operations?
14
CS533 - Concepts of Operating Systems 14 Reminder Please mail me your slides to put on the web page The next paper is work in progress, presented by Paul McKenney of IBM.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.