Download presentation
Presentation is loading. Please wait.
Published byKaylah Regester Modified over 10 years ago
1
Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems 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
2
Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems Outline Overview Why Ultrix? Motivation Design Goals Exokernel / Aegis App Level Library OS / ExOS Related Work Discussion
3
Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems 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
Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems Why Ultrix? Ultrix and Aegis both developed for and run on DEC platform Ultrix implements System V IPCgood for comparative performance tests BSD-based systems tend to be more research-oriented
5
Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems 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
Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems 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
Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems Exokernel / Aegis Revocation Comparison Claims and Costs Exceptions Supporting Application Virtual Memory
8
Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems 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
Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems 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
Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems 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
Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems Supporting Application Virtual 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
Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems 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
Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems 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
Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems 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?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.