L4Ka is a microkernel research project lead by the System Architeture Group at the University of Karlsruhe, Germany. It's aim is to carry out research on operating systems design techniques based on the microkernel approach (i.e., minimalist kernels that strive to provide only the very basic, hardware dependend systems services, while leaving the more high-level stuff like filesystems and network protocols to be implemented in user-space). L4 microkernels are said to be part of the second generation microkernels (as opposed to Mach kernels, which are from the first generation).
The project has produced a number of implementations insofar, most of them for the x86 architeture, splittet into two independently developed branches:
- "Lemon Pip": This line was developed between 1995 and 1998, along with IBM, and comprise kernels implemented in the Assembly language. "Lemon Pips" are used in most microkernel-based research projects and teaching activities at the University of Karlsruhe.
- "Hazelnut": Implemented in C++ with small portions of Assembly. The Assembly implementations are faster, but the C++ versions have been reaching acceptable efficiency (10% downgrade in IPC) in the last versions and, having the advantage of a more intelligible source code, they have gained the project's attention in the last times. Currently there are versions of Hazelnut L4 microkernels for x86 and ARM, and IBM is reportedly working on a PowerPC 750 port.
L4Ka is complemented by Sawmill, a joint project between IBM and the University of Karlsruhe, which deals with research on multi-server operating systems on top of microkernels, and by IDL4, a specialized L4 compiler (actually an interface code generator: 'IDL' stands for Interface Definition Language) which outputs code for using in the IPC code amongst servers and the kernel.
The Hurd project hackers are currently working on a Hurd-on-L4 implementation of their operating system, which aims to be an alternative to the relatively slow and rigid GNU Mach based Hurd framework.