voelp at os.inf.tu-dresden.de
Fri Jun 1 12:40:55 CEST 2007
> I played with the demo cd and it works great..
> Just a few questions which I am having a hard time understanding:
> 1. L4 is itself a API/ABI reference, right?
L4 is a family of microkernels. There are two main APIs: L4-X.2 (aka
L4-V.4) and L4-V.2, which include a binary interface (ABI) for each
supported processor architecture. In addition there are two experimental
APIs: L4.Sec and seL4 (see the Nicta homepage).
> 2. Are L4.Pistachio and L4.Fiasco are 2 different implementations of L4?
Yes, Pistachio implements the L4-X.2 API. Fiasco implements an improved
version of L4-V.2 that incorporates some extensions inspired by L4-X.2
(e.g., UTCBs) and by our local work here (e.g., support for real-time
> 3. Is L4.Pistachio is the current official reference implementation?
When you look for a reference implementation for L4-X.2 maybe yes.
Both Fiasco and Pistachio origin from experiments but are right now
widely used even by some industry partners.
> Do both of them only differ in internal code only?
No, they also differ in the API version they implement.
> 3. What is the difference between L4.Pistachio and L4.Fiasco?
> Why are there 2 separate implementations ie. why not just one codebase?
We have two code bases primarily for historic reasons. Fiasco was
implemented in C++ at the time when the main stream L4 kernel was Jochen
Liedke's assembler kernel implementing the L4-V2 API. Pistachio was
developed later. One of the design goals was to restructure the code
base to better support porting the kernel to different architectures.
Fiasco was later on re-factored to support multiple architectures as well.
> Are you able to merge these 2 together or plan to?
Technically yes, but why should we do so? One can only learn from having
two alternative implementations.
> 4. Is L4.Sec official and already in the process of being implemented?
We have a partial implementation of the L4.Sec API but there are no near
term plans to release it.
> Is L4.Pistachio and L4.Fiasco going to be replaced by L4.Sec?
Probably not. The main objective of L4.Sec was to experiment with
capabilities and kernel memory management.
Technische Universität Dresden
Department of Computer Science
Institute for System Architecture
Tel: +49 (351) 463 38350
Fax: +49 (351) 463 38284
Email: voelp at os.inf.tu-dresden.de
More information about the l4-hackers