Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS533 Concepts of Operating Systems Class 7 System Structuring using Layers and Micro-kernels.

Similar presentations


Presentation on theme: "CS533 Concepts of Operating Systems Class 7 System Structuring using Layers and Micro-kernels."— Presentation transcript:

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?


Download ppt "CS533 Concepts of Operating Systems Class 7 System Structuring using Layers and Micro-kernels."

Similar presentations


Ads by Google