EXOKERNELS & EXOTOOLS

DARPA Contract Details

<- PDOS+DARPA
<- PDOS Home

Objective

Our objective is to build operating systems and tools that facilitate the rapid development of high-performance secure distributed applications. The extensibility offered by new operating systems, and tools we will develop exploiting that extensibility, will simplify the construction of, e.g., high-performance secure Web and file servers. We expect to build and publicly release a set of high-performance secure servers with performance improvements of an order of magnitude, compared to the best existing servers.

Approach

The proposed technologies will be based on the exokernel architecture, a new operating system architecture developed with DARPA funding. The exokernel is extremely flexible. An exokernel system implements conventional operating system abstractions as application libraries, enabling very fast innovation at all system levels. For instance, enhancements to network protocols such as HTTP can be distributed with the applications that require them, rather than years later in the next OS release.

To ease construction of high-performance distributed applications on exokernels, we are developing several novel tools: (1) the XIO library, which is a library and framework for fast, extensible server IO facilitating the construction of very fast servers; (2) Prolac, a protocol language for compilation, focusing on programming ease, flexibility, and efficient protocol implementation; and (3) tcc, a compiler for the `C language, a superset of the C language supporting high-performance, high-level portable dynamic code generation. These tools will be designed so that applications on other operating systems can also benefit from them.

Current Plan

  • XIO library: design and prototype implementation for early experimentation.
  • Prolac: language design and compiler implementation.
  • Design and implementation of hierarchically-named capabilities, a simple mechanism for discretionary access control based on a flexible notion of identity. This mechanism will simplify the construction of secure applications.
  • Design of new runtime code generation algorithms for the `C language, making dynamic code generation profitable more quickly.

-> Quad chart (PostScript)