Paper Review Questions - OS Structures Flashcards
SPIN Paper
What features of Modula-3 are essential for implementing the extensibility features of SPIN? Why?
TODO
SPIN Paper
Strand is an abstraction provided by SPIN for processor scheduling. Explain what this means. In particular, how will a library OS use the strand abstraction to achieve its desired
functionality
with respect to processor scheduling?
[Hint: Think of the data structures to be associated by the
the library OS with a strand.]
TODO
SPIN Paper
How can SPIN ensure that a given library OS does not become a CPU hog, shutting out other library OSes?
[Hint: Think of how SPIN can control “macro” resource allocation
at start up time for a library OS.]
TODO
SPIN Paper
How can SPIN ensure that a given library OS does not become a physical memory hog, shutting out other library OSes?
[Hint: Think of how SPIN can control “macro” resource allocation
at start up time for a library OS.]
TODO
Exokernel paper
A library OS implements a paged virtual memory on top of Exokernel. An application running in this OS encounters a page fault.
Walk through the steps from the time the page fault occurs to the resumption of this application.
Make any reasonable assumptions to complete this exercise (stating the assumptions).
TODO
Exokernel paper
“The high level goals of SPIN and Exokernel are the same.” Explain why this statement is true.
TODO
Exokernel paper
Map the mechanisms in Exokernel to corresponding mechanisms in SPIN.
TODO
Exokernel paper
Explain how the mechanisms in Exokernel help to meet the high level
goals.
TODO
Exokernel paper
Explain how the mechanisms in SPIN help to meet the high level
goals.
TODO
Liedtke paper
Sketch how you will implement a device driver (say for a simple device like a keyboard; if you are really adventurous do for a disk) using the primitives provided by Liedtke’s microkernel. [Hint: Assume address space A0 magically exists that exposes the
physical memory. Assume the device registers are memory mapped at some well known physical addresses in high memory.]
TODO
Liedtke paper
What is the difference between a “thread” as defined in Liedtke’s paper and a Strand in SPIN?
TODO
Liedtke paper
Liedtke argues that a microkernel should fully exploit whatever the architecture gives to get a performance-conscious implementation of the microkernel. With this argument as the backdrop, explain how
context switching overhead of a microkernel may be mitigated in modern architectures. Specifically, discuss the difference in approaches to solving this problem for the PowerPC and Intel Pentium architectures. Clearly explain the architectural difference between the two that warrant the difference in the microkernel implementation approaches.
TODO
Liedtke paper
Explain the notions of “independence” and “integrity” in the L3 microkernel.
TODO
Liedtke paper
All the subsystems in L3 live in user space. Every such subsystem has its own address space. The address space mechanism “grant” allows an address space to give a physical memory page frame to a peer subsystem. Can this compromise the “integrity” of a subsystem? Explain why or why not.
TODO
Liedtke paper
“Trust in the L3 microkernel is transitive.” Explain what this sentence means.
TODO