Off++

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).

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.

  • An early draft of the reference manual for kernel version 0.1.0
  • The source code for kernel version 0.1.0. It’s a literate program.
    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.