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.

B–21<br />

Now we can use Firefox just like we would with <strong>the</strong> host kernel networking stack.<br />

When we want to restart <strong>the</strong> TCP/IP stack, we can use any method we’d like for<br />

killing <strong>the</strong> TCP/IP server, even kill -9 or just having it panic. <strong>The</strong> client will detect<br />

<strong>the</strong> severed connection <strong>and</strong> print out <strong>the</strong> following diagnostic warnings.<br />

rump_sp: connection to kernel lost, trying to reconnect ...<br />

rump_sp: still trying to reconnect ...<br />

rump_sp: still trying to reconnect ...<br />

Once <strong>the</strong> server has been restarted, <strong>the</strong> following message will be printed. If <strong>the</strong><br />

server downtime was long, <strong>the</strong> client can take up to 10 seconds to retry, so do not<br />

be surprised if you do not see it immediately.<br />

rump_sp: reconnected!<br />

Note that this message only signals that <strong>the</strong> client has a connection to <strong>the</strong> server.<br />

In case <strong>the</strong> server has not been configured yet to have an IP address <strong>and</strong> a gateway,<br />

<strong>the</strong> application will not be able to function regularly. However, when that step<br />

is complete, normal service can resume. Any pages that were loading when <strong>the</strong><br />

TCP/IP server went down will not finish loading. However, this can be ”fixed”<br />

simply by reloading <strong>the</strong> pages.<br />

B.4 Emulating makefs<br />

<strong>The</strong> makefs comm<strong>and</strong> takes a directory tree <strong>and</strong> creates a file system image out<br />

<strong>of</strong> it. This groundbreaking utility was developed back when crossbuild capability<br />

was added to <strong>the</strong> NetBSD source tree. Since makefs constructs <strong>the</strong> file system

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

Saved successfully!

Ooh no, something went wrong!