Code for the Xok exokernel from MIT?

Dwight Hughes
Fri, 8 Aug 1997 17:22:13 -0500

Can anyone in this group manage to get their hands on the
code for the Xok exokernel at MIT - or at least a complete
interface specification? This could be quite useful to LispOS
in meeting the needs for extreme flexibility, Lisp to the
metal, performance, and the ability to run much Unix
software without modification (with the addition of
MIT's ExOS to the Xok).

MIT has been developing an approach to OS design they call
an exokernel. The first of these was the Aegis exokernel for
MIPS-based DECstations -- now they have developed the Xok for
Intel x86 architectures. The concept behind the exokernel
is that the job of the kernel should *only* be "to allocate,
deallocate and multiplex physical resources in a secure way".
This means that the exokernel should *not* define any
hardware abstractions (like even microkernels do) but instead
rather directly export the hardware state to user level apps that
can then define whatever abstractions they desire. A "normal"
OS would then be defined of two parts: the exokernel and what
they call a library OS, or libOS, at the user level. User level
programs would then use the libOS much like any OS - with one
*big* difference: any user program can also directly gain access
to the hardware and define any abstractions it might need to
be efficient. Developing new OSs is just a matter of defining
a new libOS. (The exokernel approach can wail - at times up to
2 orders of magnitude faster than even well tuned Un*x type OSs.)

exokernel papers:

The rationale behind the exokernel is put forth in:
"Exterminate All Operating System Abstractions",
by Dawson R. Engler and M. Frans Kaashoek.

The Xok/ExOS is defined and discussed in:
"Application performance and flexibility on exokernel systems",
by M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger,
Héctor M. Briceño, Russell Hunt, David Mazières, Thomas Pinckney,
Robert Grimm, John Jannotti, and Kenneth Mackenzie.

The Aegis exokernel in:
"Exokernel: An Operating System Architecture for Application-Level
Resource Management",
by Dawson R. Engler, M. Frans Kaashoek, and James O'Toole Jr.

-- Dwight