Compared to monolithic operating system kernels like the ones used
in standard BSD-derived systems, second-generation microkernels like
the Pistachio and Fiasco variants of L4  provide a minimal
operating environment running in privileged mode and delegating
all other functionality to servers running as tasks in user mode on
top of the microkernel. Running an adapted version of
a standard Unix kernel on top of them can provide many
advantages, such as checkpointing entire systems, running multiple
personalities in parallel on one machine, controlling resource
allocations or taking control of network connections using virtual
First-generation microkernels were already used to provide Unix
functionality on top of the microkernel. Projects using the Mach
microkernel  as a basis include Mach+Lites , providing a
4.4BSD personality on top of Mach 3 and MkLinux , a Linux 2.2
kernel personality running on OSF/Mach. Since the microkernel takes
control of the hardware, the kernel source
code has to be adapted to run on top of the microkernel. Access to
interrupts, page tables, task and thread creation have to be relegated
to the microkernel and replaced by interprocess communication calls
between the kernel personality and the microkernel.
In this paper, we present our approach to adapting NetBSD to run on
top of L4. L4 already hosts a variety of operating systems, e.g. L4Linux is a
modification of a Linux 2.4 kernel to run on top of L4. This adaptation
required many manual changes in the Linux kernel source tree. The basic idea
of our approach for adapting NetBSD is to simplify parts of the adaptation
process by using aspect-oriented programming technologies to replace components
of the kernel as well as create the necessary IPC protocols between the
microkernel and the NetBSD personality. The achieved performance is
compared to L4Linux running on top of L4 as well as Lites running on top of
the Mach microkernel.
 J. Liedtke. Toward Real u-kernels, Communications of the ACM, 39(9), pp. 70-77, September 1996
 Richard Rashid, Daniel Julin, Douglas Orr, Richard Sanzi, Robert Baron, Alessandro Forin, David Golub, Michael Jones. Mach: A System Software Kernel, roceedings of the 34th Computer Society International Conference COMPCON 89, February 1989.
 Johannes Helander. Unix under Mach -- The LITES Server. Master Thesis, Helsinki University of Technology, 1994.
 Francois Barbou des Places. Linux on the OSF Mach3 Microkernel, First Conference on Freely Redistributable Software, Cambridge, MA, 1996.
 H. Haertig, M. Hohmuth, J. Wolter. Taming Linux, Proceedings of PART '98.