Lesson 2c (Exokernel) Flashcards
What is the main structure of Exokernel
Kernel exposes hardware directly. Libraries needing access to the hardware are given a key and secure binding
How are calls to the hardware secure
The exokernel will generate keys. Through secure binding it will also validate keys when hardware calls are made.
How is exokernel fast
Services are structured to minimize border crossing and key validation.
Where does address translation take place
This functionality is provided by a library.
How would packet filtering avoid border crossing.
The lib os sends filters to the kernel (key check crossing) then the kernel checks on packet arrival (no key checks, no crossing)
Methods provided by exo
hardware mechanism, software caching, download code into kernel
How is a page fault handled
The libOS presents mappings. The exokernel installs mappings in the TLB. When the CPU generates a page fault the exokernel issues an up call through handler and the library services the fault.
Security implication
Need to restrict users that can send code to the kernel
What happens the the TLB during context switch
The TLB is store in a software tlb (stlb) associated with the library OS
How is cpu scheduling handled
a linear vector of time slots with a being and end that represent a time quantum. Each libos is given a time quantum and the exokernel alternates between them. A libos will be penalized on the next run if it goes over the quantum.
Speed
100x faster than the UNIX (monolithic) they tested against
vmem and IPC speed
40x faster
Visible revocation
Inform lib os when resource is freed
lrpc
local rpc
Where does most of the os run
in user land (app address space) this reduces border crossing