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.
- The memory manager: provides a distributed address
space. Each address space can hold address
translations for remote physical memory.
- 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.
- The CVS repository
for Off++v2 is on-line. To gain access to it, drop me a
line.
- A Detailed
Description of Off++, a Distributed Adaptable kernel. . (US link) The
design document for the microkernel being implemented.
- 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
- A mailing list is
available for Off++ and related work. It is serviced by our majordomo.
- The 2K OS is
a distributed adaptable OS using Off++ as a nucleus.
- 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.
- Nemo's OSes page.
- a survey of
DSM systems .
- DSM
bibliography
- It could be you also find something in my favorite web
stuff.