Exokernel: An Operating System Architecture for Application-Level Resource Management By Dawson R. Engler, M. Frans Kaashoek, James O’Toole Jr. Presented by Seth Goldstein EECS 582 – W161
Outline Traditional Operating System Exokernel Implmentation Kernel Comparisons Conclusion EECS 582 – W162
Outline Traditional Operating System Exokernel Implmentation Kernel Comparisons Conclusion EECS 582 – W163
Traditional Operating System Centralized resource management All applications must use the same abstractions High-level abstractions Overly general Provide all features possible Implementation cannot be modified Limited functionality Information is hidden EECS 582 – W164
Outline Traditional Operating System Exokernel Implmentation Kernel Comparisons Conclusion EECS 582 – W165
Exokernel and Library Operating Systems Implement traditional abstractions at the user-level EECS 582 – W166
Hypotheses Exokernels can be very efficient Low-level, secure multiplexing of hardware resources can be implemented efficiently Traditional operating system abstractions can be implemented efficiently at application level Applications can create special-purpose implementations of these abstractions EECS 582 – W167
Library Operating Systems Simpler Specialized Multiple can exist Few Kernel crossings EECS 582 – W168
Exokernel Design Avoid resource management Allow the request of specific resources Visible resource revocation Secure bindings Downloading code Abort protocol Extendable EECS 582 – W169
Outline Traditional Operating System Exokernel Implmentation Kernel Comparisons Conclusion EECS 582 – W1610
Aegis Scheduling Processor events Exceptions Protected Control Transfers EECS 582 – W1611 Time to perform null procedure and system call (µs) Exception dispatch time (µs)
ExOS: Interprocess Communication (IPC) EECS 582 – W1612 IPC time
ExOS: Virtual Memory EECS 582 – W1613 Virtual memory operations (µs)
ExOS: Application-Specific Safe Handlers (ASH) EECS 582 – W byte roundtrip latency over Ethernet (µs) Roundtrip Latency vs Number of Processes
Outline Traditional Operating System Exokernel Implmentation Kernel Comparisons Conclusion EECS 582 – W1615
Kernel Comparisons EECS 582 – W1616 Exokernel Multikernel
Other Related Systems NanoKernel Virtual Machines EECS 582 – W1617
Outline Traditional Operating System Exokernel Implmentation Kernel Comparisons Conclusion EECS 582 – W1618
Conclusion Exokernels can be very efficient The lower the level of a primitive the more efficient it is EECS 582 – W1619
Questions and Discussion EECS 582 – W1620
References EECS 582 – W1621