Exokernel An Operating System Architecture for ApplicationLevel Resource

  • Slides: 14
Download presentation
Exokernel: An Operating System Architecture for Application-Level Resource Management D. R. Engler, F. Kaashoek

Exokernel: An Operating System Architecture for Application-Level Resource Management D. R. Engler, F. Kaashoek and J. O'Toole, Exokernel: An Operating System Architecture for Application-Level Resource Management, In Proc. of the 15 th ACM Symposium on Operating System Principles, Dec. 1995. Presenter: John Otto Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems

Outline Overview Why Ultrix? Motivation Design Goals Exokernel / Aegis App Level Library OS

Outline Overview Why Ultrix? Motivation Design Goals Exokernel / Aegis App Level Library OS / Ex. OS Related Work Discussion Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems

Overview Exokernel (Aegis): barebones system resource management Application level library operating system (Ex. OS):

Overview Exokernel (Aegis): barebones system resource management Application level library operating system (Ex. OS): implement customized higher level OS functions Emphasis on increased virtual memory and IPC performance in comparison to Ultrix Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems

Why Ultrix? Ultrix and Aegis both developed for and run on DEC platform Ultrix

Why Ultrix? Ultrix and Aegis both developed for and run on DEC platform Ultrix implements System V IPC—good for comparative performance tests BSD-based systems tend to be more research-oriented Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems

Motivation Core abstractions: e. g. files, processes Core abstractions can make development of certain

Motivation Core abstractions: e. g. files, processes Core abstractions can make development of certain applications difficult: Hiding knowledge/implementation of the hardware Example: LRU page replacement with database Ongoing issue: Current core abstractions are so heavily relied upon that it's difficult for new ideas or abstractions to gain a foothold in popular OSes Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems

Design Goals Goal: securely manage resources Methods: Expose hardware names and information to application,

Design Goals Goal: securely manage resources Methods: Expose hardware names and information to application, allowing “informed” application resource management Event system for application notification Enforce access to system resources Use Secure Binding to give exclusive control of resources to an application Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems

 Exokernel / Aegis Revocation Comparison Claims and Costs Exceptions Supporting Application Virtual Memory

Exokernel / Aegis Revocation Comparison Claims and Costs Exceptions Supporting Application Virtual Memory Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems

Revocation “invisible”: no OS communication with application; it is likely unaware of the loss

Revocation “invisible”: no OS communication with application; it is likely unaware of the loss of resources unaware when resources are scarce “visible”: dialogue between exokernel and application 1: Request to application: “asking nicely” 2: Imperative to application: “demand” 3: Abort Protocol Repossession Exception passed to application Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems

Comparison Claims and Costs Argument: fair comparison between Aegis and Ultrix has the advantage

Comparison Claims and Costs Argument: fair comparison between Aegis and Ultrix has the advantage with larger cache, more tuned OS Typical result: Aegis is at least an order of magnitude faster than Ultrix Doubts: While Aegis is faster without any high-level OS extensions, will this improved performance be paralleled in higher-level OS functionality? Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems

Exceptions 1: Application's exception handling code is invoked 2: After handling the exception, application

Exceptions 1: Application's exception handling code is invoked 2: After handling the exception, application continues to run Comparison to Explicit Checks Require portable, correct compiler Not as efficient as Aegis's simple exceptions Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems

Supporting Application Virtual Memory Address Space “Sectors” Exception handling sector can be pinned down,

Supporting Application Virtual Memory Address Space “Sectors” Exception handling sector can be pinned down, or Aegis can handle a cache miss 1: Application data 2: Exception handling code Prevents application's access of exception code from generating yet another exception from cache miss Software TLB used as second level cache Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems

App Level Library OS / Ex. OS IPC pipe: send message between processes; yield

App Level Library OS / Ex. OS IPC pipe: send message between processes; yield call used to transfer control shmem: increment counters in shared memory lrpc: remote procedure call Note: Ultrix couldn't perform many of these tests by the same mechanism Virtual Memory Current implementation limitations: No swapping Page tables as linear vector Tuning, improved implementation should increase performance Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems

Related Work Comparison to VM/370 OS VM/370 implements an entire virtual machine Exokernel only

Related Work Comparison to VM/370 OS VM/370 implements an entire virtual machine Exokernel only implements hardware interface Costly and inefficient Gives direct control of hardware to applications Simple and efficient Cache Kernel Focuses on reliability, not efficiency Still mostly qualifies as an “exokernel” Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems

Discussion / Questions Virtual Machines vs. Exokernels Optimizing app level OS libraries for a

Discussion / Questions Virtual Machines vs. Exokernels Optimizing app level OS libraries for a particular application; conflicting goals? Exokernel focus on customizability? How important is the improved performance? Given variability of hardware, is the exokernel idea feasible? What is the target audience of exokernels? Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems