paper

Rump Kernels No OS? No Problem!

  • Authors:

📜 Abstract

We present rump kernels, a cornucopia of portable, componentized kernel-quality drivers such as file systems, networking drivers, and POSIX system call handlers. Rump kernels rely on the anykernel architecture inherent in NetBSD, and can be built from any vintage of the NetBSD source tree. The technology is stable, as far as that term can be used to describe anything related to operating system kernel internals, and has been developed in NetBSD since 2007. Everything we described in this article is available as BSD-licensed open source via rumpkernel.org. Pointers to usual community-type elements for discussing use cases and contributions are also available from rumpkernel.org. We welcome your contributions.

✨ Summary

Influence and subsequent use

The paper helped establish rump kernels as a reusable approach for running largely unmodified NetBSD kernel components outside a conventional monolithic kernel. Subsequent work used rump kernels in LibrettOS, a multiserver/library OS prototype that reused NetBSD drivers and extended the rumprun environment for multicore systems and direct hardware access. (arxiv.org)

The approach was also integrated into the Genode OS Framework for reusable NetBSD file-system and cryptographic-device support. (genode.org) NetBSD documentation records continuing applications in automated kernel testing, user-space kernel development, and isolating untrusted file-system drivers from the host kernel. (wiki.netbsd.org)