Encyclopedia  |   World Factbook  |   World Flags  |   Reference Tables  |   List of Lists     
   Academic Disciplines  |   Historical Timeline  |   Themed Timelines  |   Biographies  |   How-Tos     
Sponsor by The Tattoo Collection
L4 microkernel family
Main Page | See live article | Alphabetical index

L4 microkernel family

Originally, L4 is the name of a second-generation microkernel designed and implemented by Jochen Liedtke, running on Intel 486 and Pentium CPUs. However, there are now numerous implementations of the L4 API on several hardware architectures.

When microkernel systems were first introduced in the 1980s, they focused on several features designed to make them universal to any "full" operating systems. However the level at which these concepts were implemented often introduced considerable overhead in use, meaning that traditional designs like Mach generally underperformed the same BSD Unix running as a stand-alone OS by about 30 to 40%. Several attempts were made to address these concerns, but they took longer than expected, and even by the mid-90s the best Mach-based systems were still underperforming by about 15%. For many in the industry, the problem was not the particular implementation, but the entire concept of a microkernel of any form.

One of L4's goals was to demonstrate that the microkernel concept was not a flawed concept, and that acceptable performance was acheivable simply by focusing on fixing the problems and making the system more machine specific. That is, by dropping the constraint of being entirely machine neutral and tuning each implementation to a particular platform, the overhead of the microkernel would no longer be a real concern. L4, and its predecessor L3, appear to have proven the point, and the overhead is generally about 5% or less.

Kernels based on the L4 API are second-generation microkernels. They are very lean and feature fast, message-based, synchronous IPC, simple-to-use external paging mechanisms, and a security mechanism based on secure domains (tasks, clans and chiefs). The kernels try to implement only a minimal set of abstractions on which operating systems can be built flexibly.

External links: L4, L4Ka