The Flux OS Toolkit: Reusable Components for OS Implementation
Bryan Ford, Kevin Van Maren, Jay Lepreau, Stephen Clawson, Bart Robinson,
Jeff Turner
oskit@cs.utah.edu
University of Utah Department of Computer Science
3190 MEB, Salt Lake City, Utah 84112
Abstract
To an unappreciated degree, research both in operating systems and
their programming languages has been severely hampered by the lack of
cleanly reusable code providing grungy OS infrastructure such as
bootstrap code and device drivers. The Flux OS Toolkit solves this
problem by providing a set of clean, well-documented, shrink-wrapped
components. These components can be used as basic building blocks
both for operating systems and for booting language runtime systems
directly on the hardware. The toolkit's design allows it to itself
reuse device drivers, unchanged, from other sources. We believe
the kit also makes feasible the production of highly assured embedded
and operating systems: by enabling reuse of low-level code, the high
cost of detailed verification of that code can be amortized over many
systems for critical environments. The OS toolkit is already heavily
used in several different OS and programming language projects, and
will catalyze research and development that would otherwise never have
been attempted.
Full paper
presented at and appears in Proceedings of the
Sixth IEEE Workshop on
Hot Topics in Operating Systems, May 1997.