Knit: Component Composition
for Systems Software
Why Components?
Why Not Components?
Goal of Knit Project
Key to Achieving Goal
Target#1: The Utah OSKit
[SOSP’97]
Outline
Atomic Units [PLDI’98]
Compound Units [PLDI’98]
Initialization
Initialization
When Can We Break Cycles?
Automatic Initialization
Detecting Composition Errors
Detecting Composition Errors
Detecting Composition Errors
Detecting Composition Errors
Detecting Composition Errors
Detecting Composition Errors
Detecting Composition Errors
Detecting Composition Errors
Extensible Constraint System
Knit
Outline
Implementation (Unoptimized)
Performance
Click and Clack
Performance of Clack
Open Issues
Conclusions