Computing Publications

Publications Home » Angel: Resource Unification in a ...

Angel: Resource Unification in a 64-bit Micro-Kernel

Paul Kelly, Kevin Murray, Tom Stiemerling, Tim Wilkinson

Conference or Workshop Paper
Proceedings of 27th Hawaii International Conference on Systems Science

The appearance of 64-bit processors allows a new approach to microkernel

design - a single unified address space. This paper describes this kind

of approach as adopted in Angel. From our experience with a message passing microkernel MESHIX we discovered that a multi-address space POSIX architecture is unsuitable

for general parallel applications development. Angel was therefore designed to provide a more flexible environment. Central to these aims is

a simplification of resources is is achieved through the use of a single

address space holding volatile and persistent data and all processes


which absorbs communication to remove the distinction between local and

remote machines. In addition, simple user-level, first citizeen


process structure with software interrupts has been developed. The resulting kernel, written in C is compact and simple yet offers fully

protected services and is more flexible than many of its contemporaries. A single address space provides some unique problems - most importantly the need to provide POSIX compatibility. We have investigated

this, and developed a modified compiler. This is capable of generating code from unmodified POSIX applications which may be forked to

a new address but still executed correctly. This avoids compromising

the single address space and only entails a small performance penalty

(approximately 5%).

A first generation microkernel is now complete and runs as an emulation

on the Sparc. A native system will soon be available.

BibTEX file for the publication built & maintained by Ashok Argent-Katwala.