A Dynamically Reconfigurable and Extensible Operating System
Alistair C. Veitch (Ph.D. thesis)
Abstract:
Operating systems are constantly getting more complex in the
functionality they support, due to the increasing demands made by
modern hardware and software innovations. Basing the kernel design on
cooperating and modular services incorportating a flexible
communications infrastructure with runtime binding makes the
operating system dynamically configurable and extensible. These
features aid in the management of system complexity, while also
resulting in several software engineering and performance
benefits.
Configurability gives the operating system designer and implementor
the freedom to build a large number of components, which can be
composed into different configurations depending upon the final system
requirements. System components can be built and debugged in a user
address space, and then transparently migrated into the kernel address
space for performance once they have been demonstrated correct. This
removes one of the major obstacles to developing kernel services,
that of the necessity to reboot the system after each change to the
service code. The system administrator can also reconfigure the
system, providing similar advantages, and allowing dynamic system
upgrades to be made, reducing system downtime.
Extensibility lets new functionality be integrated into the operating
system. This can be done on an application specific basis. This
enables the development of in-kernel applications in cases where high
performance is required, such as for dedicated file servers. It is
also possible for applications to interpose specialised kernel
services, allowing them to dramatically increase their performance and
aggregate system throughput when the default system policies are
ill-matched to their behaviour.
The Kea operating system has been designed and implemented to be
dynamically configurable and extensible. The design of the system
features that make these features possible are described. Experimental
results are shown that demonstrate that Kea offers comparable
performance to a traditional operating system on the same hardware,
and that extensibility can be used to increase performance for
selected applications.
How to view this document:
Last modified: Tue Jul 10 21:36:53 PDT 2001 by Alistair Veitch (aveitch@hpl.hp.com)