CS 533 Concepts of Operating Systems Class 10

  • Slides: 6
Download presentation
CS 533 Concepts of Operating Systems Class 10 System Structuring using Layers

CS 533 Concepts of Operating Systems Class 10 System Structuring using Layers

Questions q How is OS code organized in THE? o o q What abstractions

Questions q How is OS code organized in THE? o o q What abstractions does THE build? How are these abstractions used? How does layering help ensure correctness? o o How does it help one reason about design? How does it help improve testing? CS 533 - Concepts of Operating Systems 2

Questions q What is the difference between the two distinct uses of semaphores in

Questions q What is the difference between the two distinct uses of semaphores in THE? o o q What concepts from earlier in the class do they map to? What two purposes are they used for in THE? Does THE use a procedure-based or a messagebased programming model? CS 533 - Concepts of Operating Systems 3

Questions q Why is performance a problem in process-per-layer or even thread-per-layer mappings of

Questions q Why is performance a problem in process-per-layer or even thread-per-layer mappings of specifications to implementations? o o q What are the costs of crossing layer boundaries? How do these costs relate to those of the Swift 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? CS 533 - Concepts of Operating Systems 4

Questions q What do “up” and “down” mean in the context of Swift upcalls

Questions q What do “up” and “down” mean in the context of Swift upcalls and downcalls? o o q When is it better to use upcalls than downcalls? o q Why is arming required in upcalling, but not in downcalling? Why is upcalling more perilous than downcalling? Where does activity start in OS/network 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? CS 533 - Concepts of Operating Systems 5

Questions q q Are upcalls part of a thread-based or event-based programming model? Is

Questions q q Are upcalls part of a thread-based or event-based programming model? Is arming stack-ripping? o q What safety rules (conventions) are used in Swift? o q Does it leave state for a future call-back? How do the restrictions on down calling relate to eventbased programming? How does Swift implement protection? CS 533 - Concepts of Operating Systems 6