28.08.2015 Views

The Design and Implementation of the Anykernel and Rump Kernels

1F3KDce

1F3KDce

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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

A–50<br />

RUMP_SP(7) NetBSD Miscellaneous Information Manual RUMP_SP(7)<br />

NAME<br />

rump_sp -- rump remote system call support<br />

DESCRIPTION<br />

<strong>The</strong> rump_sp facility allows clients to attach to a rump kernel server<br />

over a socket <strong>and</strong> perform system calls. While making a local rump system<br />

call is faster than calling <strong>the</strong> host kernel, a remote system call over a<br />

socket is slower. This facility is <strong>the</strong>refore meant mostly for operations<br />

which are not performance critical, such as configuration <strong>of</strong> a rump kernel<br />

server.<br />

Clients<br />

<strong>The</strong> NetBSD base system comes with multiple preinstalled clients which can<br />

be used to configure a rump kernel <strong>and</strong> request diagnostic information.<br />

<strong>The</strong>se clients run as hybrids partially in <strong>the</strong> host system <strong>and</strong> partially<br />

against <strong>the</strong> rump kernel. For example, network-related clients will typically<br />

avoid making any file system related system calls against <strong>the</strong> rump<br />

kernel, since it is not guaranteed that a rump network server has file<br />

system support. Ano<strong>the</strong>r example is DNS: since a rump server very rarely<br />

has a DNS service configured, host networking is used to do DNS lookups.<br />

Some examples <strong>of</strong> clients include rump.ifconfig which configures interfaces,<br />

rump.sysctl which is used to access <strong>the</strong> sysctl(7) namespace <strong>and</strong><br />

rump.traceroute which is used to display a network trace starting from<br />

<strong>the</strong> rump kernel.<br />

Also, almost any unmodified dynamically linked application (for example<br />

telnet(1) or ls(1)) can be used as a rump kernel client with <strong>the</strong> help <strong>of</strong><br />

system call hijacking. See rumphijack(3) for more information.<br />

Connecting to <strong>the</strong> server<br />

NetBSD 5.99.48 February 7, 2011 NetBSD 5.99.48

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

Saved successfully!

Ooh no, something went wrong!