Information Technology Reference
In-Depth Information
program that is always running on a computer.
The heart of the operating system is called the
kernel .
Within a traditional computer system, the
complexity of the hardware is masked behind the
abstractions provided by the operating system.
Although this abstraction prevents user programs
from interacting with the hardware directly, user
programs benefit by having a single interface
that they can interact with. It is easier for a user
program to interact with one operating system
interface rather than developing software that
must know how to interact with the different
hardware components that could be present within
a computer system at any one time. Because the
operating system is the main interface between
user programs and the raw hardware, the tradi-
tional operating system must be involved in every
software-hardware interaction.
Although the traditional operating system is
desirable because it provides a single interface
for other software to interact with, it is ironic that
this efficient interface should be the root cause
of the modern computer system's performance
bottleneck. By presenting a single interface to
user applications, the traditional operating system
is the middle-man between all user processes and
the computer hardware. By being the middle-man,
the operating system tries to be all-things to all-
processes. This “all-things to all-processes” ap-
proach is precisely why the design of the traditional
operating system is flawed. So long as the operat-
ing system is designed to meet the minimum of a
broad spectrum of operational requirements, the
optimization of any one process is very unlikely.
Therefore, while every application might run on
a traditional operating system, few applications
run well (reaches it maximum performance level)
on a traditional operating system.
A team of researchers at the Massachusetts
Institute of Technology (MIT) has challenged
the traditional operating system design with their
experimental operating system - the Exokernel Op-
erating System. Their new approach is to separate
management of resources from the protection of
those resources. The Exokernel Operating System
provides only protection and multiplexing of re-
sources while allowing user processes themselves
to provide the management and optimization of
that resource. As Engler, Kaashoek, and O'Toole
say “Applications know better than operating sys-
tems what the goal of their resource management
decisions should be and therefore, they should
be given as much control as possible over those
decisions” (Engler, Kaashoek, & O'Toole, 1995).
By separating management from protection, the
abstraction provided by the traditional operating
system has been eliminated. Likewise, the door to
process optimization has been opened and great
advances in operating system speed and flexibility
have become possible.
As we investigate the Exokernel Operating
System, we will discuss how it is possible to
separate management from protection while still
multiplexing resources within a secure environ-
ment. We will discuss select Exokernel functions
such as downloading code into the kernel, read-
ing and writing to disk memory, exception and
interrupt handling, interprocess communication,
tracking resource ownership, protecting and re-
voking resource usage, and resource management.
Networking with an Exokernel will be discussed
as we look at packet sending, packet receiving,
the naming and routing of packets, and network
error reporting. Lastly, as an example of other
technologies that benefit from the Exokernel, we
will briefly explore the emerging technology of
Active Networking and see how the Exokernel is
the ideal operating system upon which to build
this new technology.
In response to the Exokernel, we will inves-
tigate why the Exokernel has not been widely
accepted as the main-stream approach to Op-
erating System design. We will investigate the
potential issues with providing customer sup-
port to an extensible operating system like the
Exokernel. We will argue against removing all
management from the kernel. We will discuss
Search WWH ::




Custom Search