Exokernel Operating System By Liming_Shusl

Download Report

Transcript Exokernel Operating System By Liming_Shusl

Exokernel Operating System:
An Introduction
Liming Shu
COSC 513, Summer 2002
Traditional Operating System: Advantages
Provides a portable interface to the
underlying machine.
Provides a large default functionality base,
including resource management.
Provides protection for resources.
Traditional Operating System:
Disadvantages
The kernel manages resources.
Different applications have different needs
for resources.
One generalized OS cannot satisfy all the
resource needs from various applications.
As a result, application performances are
compromised.
Exokernel Ideas
Developed by a team at MIT.
Separate resource protection from
management.
Kernel protects resources.
Applications manage resources.
The programmer knows better than the OS
about the resource needs of an
application.
Exokernel Design
Expose resources:
expose hardware
expose names
expose information
Protect resources.
How to Protect Resources
Tracks ownership of resources.
Ensure protection by guarding all resource
usage or binding points.
Revoke access to resources.
Exokernel-Based Operating System
Two components: exokernel and library operating
system (libOS).
LibOS resides outside the kernel.
Exokernel protects hardware resources (CPU,
memory, disk, network, etc).
Applications link to libOSes and manage
resources through the libOS.
Applications can also manage resources by
communicating with exokernel directly.
Structure of exokernel-based operating system
UNIX
Applications
Specialized
Applications
Application
ExOS
VM
Net
FS
TCP FS
ExOS
subset
Exokernel
Memory
TLB
Disk
Network
Hardware
A Prototype Exokernel-Based OS
Exokernel: Aegis
LibOS: ExOS
Performance results:
Most primitive Aegis operations are
10–100 times faster than Ultrix. ExOS’s
application level virtual memory and
IPC primitives are 5-50 times faster
than Ultrix’s primitives.
Summary
Exokernel: a new approach to OS design.
It separates resource protection from
management.
Kernel protects resources.
Applications manage resources.
Exokernel offers flexibility to application
design and therefore improves application
performance.