Exokernel
Exokernel
Exokernel
(1995)
There exist research that suggest that – the lower the level of primitives, the
more efficiently application implementors can use the hardware.
3
Approach
The responsibility for managing hardware resources is transferred to untrusted
software applications
The Exokernel is only responsible for protection of hardware from competing
applications
The applications may use a library operating system for high-level abstraction
on the Exokernel interfaces based on application requirements.
} Distributed Shared
Memory library
4
How can we implement this intuition?
• Secure Bindings
• Abort Protocol
5
Design Decisions
To export resources the Exokernel
• Expose Hardware – Lets the applications know what resources can be offered
readily
• Expose Allocations – Lets the application what resources are currently busy, but
can be requested
• Expose Names – Give out physical address and names by which resources are
addressed
• Exposes Revocation – Lets the application know what resource is it taking away
from the application
6
Secure Binding
7
Visible Revocation
8
Abort Protocol
9
Performance Test
Vs
10
Base Cost for null procedure
call and a simple System Call
11
Exceptions
Aegis dispatches all hardware exceptions to applications
1. It saves three scratch registers in save area
2. Loads exception PC, last virtual address and cause of exception
3. Exception code is run with appropriate permissions set and
execution resumes without involving kernel.
12
ExOS: IPC Abstraction
pipe: measures the latency of sending a word-sized message from one process to
another using pipes by “ping-ponging” a counter between two processes.
(pipe’) exploits the fact that this library exists to simply inlining the read and
write calls.
shm: measures the time for two processes to “ping-pong” using a shared
counter.
lrpc: this experiment measures the time to perform an LRPC into another
address space
13
ExOS: Application-level Virtual Memory Test
14
Conclusion
An Exokernel securely multiplexes available hardware resources among
applications
To make this separation efficient it uses secure bindings, visible revocation and
abort protocol
15