next up previous contents index
Next: 16.1.1 Supported Platforms Up: 16 Unix User-Mode Environment: Previous: 16 Unix User-Mode Environment:

16.1 Introduction

The ``Unix support'' library provides the substrate to debug and run certain OSKit components in user-mode on Unix-like systems such as Linux and FreeBSD. In particular, you can use the networking stack with a second network interface, run the Linux file system code using a regular file instead of a raw partition, and use general OSKit timers.

By default, programs to be run in this environment are compiled against the OSKit headers and linked against the OSKit C library, rather than using the native system headers and libraries. This allows more complete OSKit kernels to be run in user mode, but requires linking with an extra ``native OS'' glue library (see section 16.1.2) in addition to the Unix support library.

The difference between a standard OSKit kernel and one running under Unix is shown in Figure 16.1. When running under Unix, the low-level kernel and driver support is replaced with glue code that provides the same interfaces, but does so by using Unix system calls instead of accessing the hardware directly. The FS and Net components can optionally be replaced; they can either be Unix support glue, or the original unmodified code.

   figure17019
Figure: Organization of OSKit Unix support Framework.





Utah Flux Research Group