Exokernel An Operating System Architecture for ApplicationLevel Resource
- Slides: 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 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 / 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): 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 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 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, 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 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 Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems
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 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, 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 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 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 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
- Mit operating systems
- What is exokernel
- Exo kernel
- Exokernel
- What is exokernel
- Exokernel
- Exokernel
- Shannon joyner
- Operating system architecture in distributed systems
- Windows operating system architecture
- Architecture of android operating system
- Sistem operasi
- Architecture of operating system
- Resource loading vs resource leveling
- Perbedaan resource loading dan resource leveling