12.07.2015 Views

1lfCtJ9

1lfCtJ9

1lfCtJ9

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

45 Figure 2.1: Rump kernel hierarchy. The desired drivers dictate the requiredcomponents. The factions are orthogonal and depend only on the rump kernel base.The rump kernel base depends purely on the hypercall layer.We use the term component to describe a functional unit for a rump kernel. Forexample, a file system driver is a component. A rump kernel is constructed by linkingtogether the desired set of components, either at compile-time or at run-time. Aloose similarity exists between kernel modules and the rump kernel approach: codeis compiled once per target architecture, and a linker is used to determine runtimefeatures. For a given driver to function properly, the rump kernel must be linked withthe right set of dependencies. For example, the NFS component requires both thefile system and networking factions, but in contrast the tmpfs component requiresonly the file system faction.User interfaces are used by applications to request services from rump kernels. Anydependencies induced by user interfaces are optional, as we will illustrate next. ConsiderUnix-style device driver access. Access is most commonly done through filesystem nodes in /dev, with the relevant user interfaces being open and read/write

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

Saved successfully!

Ooh no, something went wrong!