Download presentation
Presentation is loading. Please wait.
1
CS533 Concepts of Operating Systems Class 7 System Structuring using Layers and Micro-kernels
2
CS533 - Concepts of Operating Systems 2 Questions How is OS code organized in THE? o What abstractions does THE build? o How are these abstractions used? What is a homing state? o How does a process leave/return to its homing state? How does layering help ensure correctness? How does THE avoid deadlock?
3
CS533 - Concepts of Operating Systems 3 Questions What is the difference between the two distinct uses of semaphores in THE? o What concepts from earlier in the class do they map to? o What two purposes are they used for in THE? Does THE use a procedure-based or a message- based programming model? o What is the analog of send and receive in THE? o How do you think state would be managed during I/O calls?
4
CS533 - Concepts of Operating Systems 4 Questions Why is performance a problem in process-per-layer or even thread-per-layer mappings of specifications to implementations? o What are the costs of crossing layer boundaries? o How do these costs relate to those of the Swift and Mach operating systems? If data is not passed across layer boundaries in buffers, how is it passed in Swift? o How is inter-task communication within a multi-task module implemented in Swift?
5
CS533 - Concepts of Operating Systems 5 Questions What do “up” and “down” mean in the context of Swift upcalls and downcalls? o Why is arming required in upcalling, but not in downcalling? o Why is upcalling more perilous than downcalling? When is it better to use upcalls than downcalls? o Where does activity start in OS code? Should you always pass data among tasks on the stack? o How do you decide what work must be done immediately and what to queue for later? If you queue it for later, where should you store the state?
6
CS533 - Concepts of Operating Systems 6 Questions Are upcalls part of a thread-based or event-based programming model? Is arming stack-ripping? o Does it leave state for a future call-back? What safety rules (conventions) are used in Swift? o How do the restrictions on down calling relate to event- based programming? How does Swift implement protection?
7
CS533 - Concepts of Operating Systems 7 Micro-kernels What code structuring approach do micro-kernel- based OS designs advocate? o Why is message passing a core abstraction of micro- kernels? What overhead is involved in crossing module boundaries? o How can it be minimized? o How many modules do we need? How can a micro-kernel-based OS support application binary compatibility?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.