L4 implementations
Marcus Voelp
voelp at os.inf.tu-dresden.de
Fri Jun 1 12:40:55 CEST 2007
Shams wrote:
> Hi
>
> 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
scheduling).
> 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.
Marcus
--
Marcus Völp
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
Web: http://os.inf.tu-dresden.de/~voelp
More information about the l4-hackers
mailing list