L4 ist der Name eines Mikrokernels, entworfen und implementiert von Jochen Liedtke. Er basiert auf der Entwicklung von L1, einem Interpretierer für eine Teilmenge von Algol 60 auf einem 8-Bit Rechner mit 4KB Hauptspeicher, L2 1979 (auch ´Extendable Multiuser Microprocessor ELAN-System, kurz EUMEL), einer zunächst auf 8 Bit, dann auf 16 Bit ausgelegten Assemblerimplementierung auf Intel-x86-Basis, die auch nach Japan transferiert wurde, sowie dem bei der GMD entwickelten 32-Bit-System L3 (1988), welches auf neuesten Intel-Plattformen bis heute produktiv im Einsatz ist.
Der Mikrokernel L4 wurde von Liedtke am IBM T.J. Watson Research Center in Hawthorne entwickelt. Derzeit wird das freie Betriebssystem GNU/HURD auf L4 portiert. Inzwischen wird mit L4 hauptsächlich das API bezeichnet. Dieses wird nach den stabilen Versionen Version 2 und Version 4 unterschieden, zwischen denen die Entwicklungsstadien X.0, X.1 und X.2 liegen. Aktueller Stand ist Version X.2. Es existieren Implementierungen der L4-API der Universität Karlsruhe (Hazelnut, Pistachio) und der TU Dresden (Fiasco).
Kernel, die auf dem L4-API basieren, bieten eine synchrone IPC, einfaches Interrupt- und Threadmanagement sowie eine einfache, externe Speicherverwaltung.
Auf Basis von L4 können, dem modularen Prinzip der Mikrokernel folgend, graphische Nutzeroberflächen (wie DOpE), der Linux-Kern im Nutzermodus (L4Linux, Wombat) und ganzheitlich echtzeitfähige Betriebssysteme (wie DROPS) laufen. Die L4-Implementierung Fiasco-UX erlaubt, dass der Mikrokernel selbst wiederum als Anwendung unter Linux betrieben werden kann, was die Entwicklung deutlich vereinfacht, ähnlich dem Prinzip von User Mode Linux.
Für Entwickler von Anwendungen auf Basis des Mikrokernels stehen die Bibliotheken L4Env (Fiasco), Iguana und Kenge (Pistachio) zur Verfügung. Die Konstruktion von beweisbar sicheren Systemen wird mit dem Projekt VFiasco angestrebt, welches durch den Einsatz von aus der Mathematik und theoretischen Informatik bekannten Coalgebren verifiziert wird.
Weblinks
- L4Hq - L4 Headquarters, Community-Seite für L4-Projekte
- L4Ka - Implementierungen L4Ka::Pistachio und L4Ka::Hazelnut
- Fiasco – Eine freie C++-Implementierung für x86- und ARM-Prozessoren
- UNSW - Portierung auf die Architekturen Alpha und MIPS
- L4Linux - Linux auf dem L4 Microkernel
- DROPS - The Dresden Real-Time Operating System Project
- VFiasco - Verified Fiasco Project
- L3 - Vorgänger-System zu L4, beim TÜV SÜD im Einsatz