The Off++ distributed adaptable microkernel

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

Source code

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

Pointers to related sites