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.

185<br />

4 Evaluation<br />

This chapter evaluated <strong>the</strong> work in a broad scope. First, evaluate <strong>the</strong> general feasibility<br />

<strong>of</strong> <strong>the</strong> implementation. After that, we evaluate rump kernels as <strong>the</strong> solutions<br />

for <strong>the</strong> motivating problems we gave in Section 1.1: development, security <strong>and</strong> reuse<br />

<strong>of</strong> kernel code in applications. Finally, we look at performance metrics to measure<br />

that rump kernels perform better than o<strong>the</strong>r solutions for our use cases.<br />

4.1 Feasibility<br />

<strong>The</strong> feasibility <strong>of</strong> an implementation needs to take into account both <strong>the</strong> initial effort<br />

<strong>and</strong> <strong>the</strong> maintenance effort. Both must be reasonably low for an implementation to<br />

be feasible over a period <strong>of</strong> time.<br />

feasibility =<br />

1<br />

implementation + maintenance<br />

(4.1)<br />

4.1.1 <strong>Implementation</strong> Effort<br />

To measure implementation effort we compare <strong>the</strong> size <strong>of</strong> <strong>the</strong> supported driver codebase<br />

against amount <strong>of</strong> code required for rump kernel support. <strong>The</strong> complete reimplemented<br />

part along with a selection <strong>of</strong> supported drivers is presented in Figure 4.1.<br />

<strong>The</strong> extracted drivers depicted represent only a fraction <strong>of</strong> <strong>the</strong> total supported<br />

drivers. In most cases, smaller drivers were included <strong>and</strong> larger ones were left out;<br />

for example, <strong>the</strong> omitted FFS driver is three times <strong>the</strong> size <strong>of</strong> <strong>the</strong> FAT driver. From<br />

this data we observe that <strong>the</strong> amount <strong>of</strong> driver code supported by a rump kernel is<br />

far greater than <strong>the</strong> amount <strong>of</strong> code implemented for supporting <strong>the</strong>m.

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

Saved successfully!

Ooh no, something went wrong!