OSDI 2000 Abstract
Knit: Component Composition for Systems Software
Alastair Reid, Matthew Flatt, Leigh Stoller, Jay Lepreau, and Eric Eide, University of Utah, School of Computing
Abstract
Knit is a new component definition and linking language for
systems code. Knit helps make C code more understandable
and reusable by third parties, helps eliminate much of the
performance overhead of componentization, detects subtle
errors in component composition that cannot be caught with
normal component type systems, and provides a foundation
for developing future analyses over C-based components,
such as cross-component optimization. The language is
especially designed for use with component kits, where
standard linking tools provide inadequate support for
component configuration. In particular, we developed Knit
for use with the OSKit, a large collection of components
for building low-level systems. However, Knit is not
OSKit-specific, and we have implemented parts of the Click
modular router in terms of Knit components to illustrate the
expressiveness and flexibility of our language. This
paper provides an overview of the Knit language and its
applications.
|