28.08.2015 Views

The Design and Implementation of the Anykernel and Rump Kernels

1F3KDce

1F3KDce

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

A–15<br />

RUMP(3) NetBSD Library Functions Manual RUMP(3)<br />

NAME<br />

rump -- <strong>The</strong> <strong>Rump</strong> <strong>Anykernel</strong><br />

LIBRARY<br />

rump Library (librump, -lrump)<br />

SYNOPSIS<br />

#include <br />

#include <br />

DESCRIPTION<br />

rump is part <strong>of</strong> <strong>the</strong> realization <strong>of</strong> a flexible anykernel architecture for<br />

NetBSD. An anykernel architecture enables using kernel code in a number<br />

<strong>of</strong> different kernel models. <strong>The</strong>se models include, but are not limited<br />

to, <strong>the</strong> original monolithic kernel, a microkernel server, or an exokernel<br />

style application library. rump itself makes it possible to run unmodified<br />

kernel components in a regular userspace process. Most <strong>of</strong> <strong>the</strong> time<br />

"unmodified" means unmodified source code, but some architectures can<br />

also execute unmodified kernel module binaries in userspace. Examples <strong>of</strong><br />

different use models are running file system drivers as userspace servers<br />

(see p2k(3)) <strong>and</strong> being able to write st<strong>and</strong>alone applications which underst<strong>and</strong><br />

file system images.<br />

Regardless <strong>of</strong> <strong>the</strong> kernel model used, a rump kernel is a fullfledged kernel<br />

with its own virtual namespaces, including a file system hierarchy,<br />

CPUs, TCP/UDP ports, device driver attachments <strong>and</strong> file descriptors.<br />

This means that any modification to <strong>the</strong> system state on <strong>the</strong> host running<br />

<strong>the</strong> rump kernel will not show up in <strong>the</strong> rump kernel <strong>and</strong> vice versa. A<br />

rump kernel may also be significantly more lightweight than <strong>the</strong> host, <strong>and</strong><br />

might not include include for example file system support at all.<br />

NetBSD 5.99.48 March 25, 2011 NetBSD 5.99.48

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!