1 / 14

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 15th ACM Symposium on Operating System Principles, Dec. 1995. Presenter: John Otto.

sheena
Download Presentation

Exokernel: An Operating System Architecture for Application-Level Resource Management

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. D.R. Engler, F. Kaashoek and J. O'Toole, Exokernel: An Operating System Architecture for Application-Level Resource Management, In Proc. of the 15th ACM Symposium on Operating System Principles, Dec. 1995. Presenter: John Otto Exokernel: An Operating System Architecture for Application-Level Resource Management

  2. Outline • Overview • Why Ultrix? • Motivation • Design Goals • Exokernel / Aegis • App Level Library OS / ExOS • Related Work • Discussion

  3. Overview • Exokernel (Aegis): barebones system resource management • Application level library operating system (ExOS): implement customized higher level OS functions • Emphasis on increased virtual memory and IPC performance in comparison to Ultrix

  4. 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

  5. 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

  6. 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

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

  8. 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

  9. Comparison Claims and Costs • Argument: fair comparison between Aegis and Ultrix • 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?

  10. 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

  11. Supporting ApplicationVirtual Memory • Virtual Memory Address Space “Sectors” • 1: Application data • 2: Exception handling code • Exception handling sector can be pinned down, or Aegis can handle a cache miss • Prevents application's access of exception code from generating yet another exception from cache miss • Software TLB used as second level cache

  12. App Level Library OS / ExOS • 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

  13. Related Work • Comparison to VM/370 OS • VM/370 implements an entire virtual machine • Costly and inefficient • Exokernel only implements hardware interface • Gives direct control of hardware to applications • Simple and efficient • Cache Kernel • Focuses on reliability, not efficiency • Still mostly qualifies as an “exokernel”

  14. 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?

More Related