Developer | Jochen Liedtke |
---|---|
Written in | Assembly language, then C, C++ |
OS family | L4 |
Working state | Current |
Source model | Open source, closed source |
Initial release | 1993 |
Marketing target | Reliable computing |
Available in | English, German |
Platforms | Intel i386, x86, x86-64, ARM, MIPS, SPARC, Itanium, RISC-V |
Kernel type | Microkernel |
License | Source code, proofs: GPLv2 Libraries, tools: BSD 2-clause |
Preceded by | Eumel |
Official website | os |
L4 is a family of second-generation microkernels, used to implement a variety of types of operating systems (OS), though mostly for Unix-like, Portable Operating System Interface (POSIX) compliant types.
L4, like its predecessor microkernel L3, was created by German computer scientist Jochen Liedtke as a response to the poor performance of earlier microkernel-based OSes. Liedtke felt that a system designed from the start for high performance, rather than other goals, could produce a microkernel of practical use. His original implementation in hand-coded Intel i386-specific assembly language code in 1993 created attention by being 20 times faster than Mach.[1] The follow-up publication two years later[2] was considered so influential that it won the 2015 ACM SIGOPS Hall of Fame Award. Since its introduction, L4 has been developed to be cross-platform and to improve security, isolation, and robustness.
There have been various re-implementations of the original L4 kernel application binary interface (ABI) and its successors, including L4Ka::Pistachio (implemented by Liedtke and his students at Karlsruhe Institute of Technology), L4/MIPS (University of New South Wales (UNSW)), Fiasco (Dresden University of Technology (TU Dresden)). For this reason, the name L4 has been generalized and no longer refers to only Liedtke's original implementation. It now applies to the whole microkernel family including the L4 kernel interface and its different versions.
L4 is widely deployed. One variant, OKL4 from Open Kernel Labs, shipped in billions of mobile devices.[3][4]