KIT | KIT-Bibliothek | Impressum | Datenschutz

A Microkernel API for Fine-Grained Decomposition

Reichelt, Sebastian; Stoess, Jan; Bellosa, Frank

Microkernel-based operating systems typically require special attention to issues that otherwise arise only in distributed systems. The resulting extra code degrades performance and increases development effort, severely limiting decomposition granularity.
We present a new microkernel design that enables OS developers to decompose systems into very fine-grained servers. We avoid the typical obstacles by defining servers as lightweight, passive objects. We replace complex IPC mechanisms by a simple function-call approach, and our passive, module-like server model obviates the need to create threads in every server. Server code is compiled into small selfcontained files, which can be loaded into the same address space (for speed) or different address spaces (for safety).
For evaluation, we have developed a kernel according to our design, and a networking-capable multi-server system on top. Each driver is a separate server, and the networking stack is split into individual layers. Benchmarks on IA-32 hardware indicate promising results regarding server granularity and performance.

Open Access Logo

Volltext §
DOI: 10.5445/IR/1000026890
Zugehörige Institution(en) am KIT Institut für Betriebs- und Dialogsysteme (IBDS)
Publikationstyp Proceedingsbeitrag
Jahr 2009
Sprache Englisch
Identifikator ISBN: 978-1-60558-844-5
KITopen-ID: 1000026890
Erschienen in Proceedings of the 5th ACM SIGOPS Workshop on Programming Languages and Operating Systems (PLOS 2009), Big Sky, Montana, October 11, 2009
Verlag ACM, New York (NY)
Nachgewiesen in Scopus
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
KITopen Landing Page