The Off++ distributed adaptable microkernel

Work on Off++ has been discontinued. The third version of the
system (known as Off++v2)
is rather different from the original design and is named
Plan B.
We are working on a distributed adaptable microkernel (DAMN) named
Off++ which is meant to be a run-time platform for the 2K Operating System. Below
you will find some papers related to an old prototype, named Off, as
well as information about the current one, named Off++.

The more peculiar things about Off++ is that

The whole network, not a single node is considered to be the
hardware to be managed.

The microkernel is made of three simple servers:

The portal server:
Portals can be used as ports to deliver messages. They
are global and can migrate.

The shuttle server: provides customizable processes
termed Shuttles.
A shuttle is a processor context which can be extended later
on. Shuttles can execute at any available CPU.

A single abstraction, the Box, is used to export all
resources (like Plan 9 does with files).

History

The first prototype (Off), was implemented for my PhD. A second
prototype (Off++) has been implemented applying design patterns to the
original design. The source code is actually literate
source code. Off++ code is written with noweb using C++
as the
programming language and LaTeX as the documentation language.

Papers

You should either look in my papers page or
go to the source section below. (The first Off++
version had a literate implementation, thus the source is like a big
paper).

Source code

Every document related to the Off++ implementation, including its
design and source code is shown here.

An early draft of the reference
manual for kernel
version 0.1.0. (gzipped
postscript and html). There
are many
features missing from this manual and will be added as they get
tested and wrapped for system users.
An old version of the Reference
Manual (gzipped PostScript) (contains additional features hidden in
the new reference manual).

The source code for kernel version 0.1.0 (gzipped
dvi,
and gzipped
PostScript).
Beware that the printed version is long. Take into account that
it includes the whole source code and verbose
descriptions. Besides, the style used tries to make reading
more comfortable, it does not think twice when starting a new
page would show the code in a better way.
If you have comments about to the current development source code, just drop us a line.

Pointers to related sites

The OS
toolkit (OSKit) developed at Utah as part
of the Flux project has been used to develop the both the old
Off and the new Off++ microkernel. The
result is that Off++ supports multiboot and other goodies for
free. The Flick (Flexible
IDL Compiler Kit) also developed at Utah.