The NetBSD rump kernel is the first implementation of the "anykernel" concept where drivers either can be compiled into or run in the monolithic kernel or in user space on top of a light-weight kernel.[1][2][3][4] The NetBSD drivers can be used on top of the rump kernel on a wide range of POSIX operating systems, such as the Hurd,[5] Linux, NetBSD, DragonFly BSD, Solaris kernels and even Cygwin, along with the file system utilities[6] built with the rump libraries. The rump kernels can also run without POSIX directly on top of the Xen hypervisor, an L4 microkernel using the Genode OS Framework[7] or even on OS-less bare metal.

Graphic overview of the rump kernel

Anykernel

edit

An anykernel is different in concept from microkernels, exokernels, partitioned kernels or hybrid kernels in that it tries to preserve the advantages of a monolithic kernel, while still enabling the faster driver development and added security in user space.[8] The "anykernel" concept refers to an architecture-agnostic approach to drivers where drivers can either be compiled into the monolithic kernel or be run as a userspace process, microkernel-style, without code changes.[9] With drivers, a wider concept is considered where not only device drivers are included but also file systems and the networking stack.

File System Access Utilities

edit

The File System Access Utilities (fs-utils) is a subproject built with the rump libraries. It aims to have a set of utilities to access and modify a file system image without having to mount it. The fs-utils does not require a superuser account to access the image or device. The advantage of fs-utils over similar projects such as mtools is supporting the usage of familiar filesystem Unix commands (ls, cp, mv, cd, etc.) for a large number of file systems which are supported by NetBSD.[10]

See also

edit

References

edit
  1. ^ "The Anykernel and Rump Kernels". Netbsd.org. Retrieved 2013-08-15.
  2. ^ "FOSDEM 2013 - Interview: Antti Kantee:The Anykernel and Rump Kernels". 2013-02-03. Retrieved 2013-08-15.
  3. ^ "FOSDEM 2013 - The Anykernel and Rump Kernels". 2013-02-03. Retrieved 2013-08-15.
  4. ^ "FOSDEM 2014 - Rump Kernels, Just Components". 2014-02-03. Retrieved 2015-02-21.
  5. ^ "Hurd, Rump kernel, sound, and USB". FOSDEM 2016. Retrieved February 15, 2016.
  6. ^ file system utilities
  7. ^ "Release notes for the Genode OS Framework 17.02".
  8. ^ Kantee, Antti (2012). The Design and Implementation of the Anykernel and Rump Kernels (Ph.D). Aalto university.
  9. ^ "Rump File Systems: Kernel Code Reborn". Usenix.org. 2002-02-01. Retrieved 2013-08-15.
  10. ^ Kantee, Antti; Ysmal, Arnaud (2009). Fs-utils: File Systems Access Tools for Userland (PDF) (Thesis).
edit