Exokernel: An Operating System Architecture for Application-Level Resource Management D.R. Engler, F.

Download Report

Transcript Exokernel: An Operating System Architecture for Application-Level Resource Management D.R. Engler, F.

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
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
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
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



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

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 / 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
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