
Microkernels // Operating Systems
L4 microkernel family
General information
- The L4 microkernel interface was developed by Jochen Liedtke.
The original L4 assembly language version for Intel x86 platforms (L4/x86 a.k.a. "Lemon Pip") has been developed at GMD (German National Center for Computer Science) and IBM TJ Watson Research Center since 1995.
L4/x86 development continued at Karlsruhe Universität; this version is called "Lime Pip".
- The roots of L4 are at GMD. L4 is the successor to L3, which, in turn, is based on Eumel. In contrast to L4, everything in L3 is persistent, including data and processes. Its development was started in 1987; delivery of L3 began in 1989.
- L4, and its predecessor L3, have that demonstrated that microkernels are not necessarily slow. They have proven that high performance can be realized by (1) implementing only a minimal set of abstractions and (2) tuning each implementation to a particular platform.
Links
Publications
L4 kernels
Kernel APIs
Kernel implementations
- L4/x86, Jochen Liedtke @ GMD, IBM Watson RC, Karlsruhe Universität
- Implements Version V2 and X.0 API in assembly language.
- Architecture: Intel i468, IA32
- L4/x86 variants: L4/MIPS,
L4/Alpha,
L4/PowerPC
- Development has been discontinued. Development from 1995 to ...
- L4Ka::Hazelnut, Karlsruhe Universität (L4Ka)
- Implements the Version X.0 API in C++.
- Architectures: IA32, ARM
- Basically this is Liedtke's original L4/x86 in a higher-level language for portability.
- Development has been discontinued. First version Nov 2000, last version Dec 2001.
- L4/Fiasco
(FAQ), TU Dresden
- Implements the (old) V2 and X.0 API in C++
- L4 branch meant as a base for the Dresden Realtime OS (DROPS). The kernel has a binary L4 interface, but was enhanced with real-time properties for DROPS.
- Related work: L4/VFiasco (verified Fiasco), TU Dresden
- Active; first version Apr 2003, last version Nov 2003.
- L4Ka::Pistachio
(FAQ), Karlsruhe Universität (L4Ka), UNSW
- Implements the Version X.2/ V4 API in C++.
- Architectures: IA32, IA64, ARM, Alpha, AMD64, MIPS 64-bit, PowerPC 32/64-bit
- Pure L4 microkernel
- Active; since May 2003, latest release June 2004.
Selected applications
- DROPS (Dresden Realtime Operating System)
- "DOpE - a Window Server for Real-Time Embedded Systems"
[pdf]
- Perseus (secure digital signatures)
- "Perseus: A Quick Open-Source Path to a Trustworthy Environment"
[pdf]
- SawMill Linux (multi-server OS)
- IBM Watson Research Center
- Uses L4/x86 ("Lime Pip") kernel implementation
- Project ended 2001
- L4Linux
(@ TUD) (single-server OS)
- "The Performance of ยต-Kernel-based Systems"
[ps.gz]
[slides]
- L4MINIX (multi-server OS)
- National Institute of Informatics (Japan)
- Seems dead. Development since 2001; last updates in 2002
L4 programming environments
- L4Env
(@ L4HQ), TU Dresden
- Originally part of DROPS and thus focused towards L4/Fiasco. Currently L4Env is available for L4/Fiasco, L4Ka::Hazelnut. Development for L4Ka::Pistachio is work in progress.
- DDE, Linux Device Driver Environment
- Kenge, UNSW
- Developed for the L4Ka::Pistachio and focuses on platform independence.
About ...
This page is part of my personal collection of links to known microkernels and microkernel-based operating systems.
The information on these pages has been gathered from various sources, including journal articles, technical reports, and the information that I found on the web sites of the various research groups.
Please note that this collection of resources may incomplete or even incorrect.
It turned out to be hard to find precise information for some projects.
Available information
You can contribute ...
I'd like to keep this collection of microkernel resources up to date.
Please contact me if you spot a dead link,
notice outdated or otherwise incorrect information,
or want to inform me of a project that is not yet listed.
Thanks.
|