Critics on L4 (NOT Re: shared memory Beispiel?)

yuan Darwin-r62832 darwin.yuan at
Wed Aug 31 15:00:16 CEST 2005


>Hi L4Ka::Pistachio developers,
>I have read the source code of L4Ka::Pistachio-0.4. & found that some 
>features defined in L4 eXperimental Kernel Reference Manual Version X.2 Revision 5 hasn't been implemented yet. For example, appoint redirector by SpaceControl, IO port mapping, etc.
Please understand that both Pistachio and Fiasco are research prototypes 
and that the L4 eXperimental Kernel Reference Manual is indeed 
EXPERIMENTAL which means that it may change unnoticed and which also 
means that the prototypes may differ from the specification. The missing 
features that you state are published, e.g., at under the section Missing 
Features / Known Bugs for the Pistachio kernel , respectively at for Fiasco.

[Darwin Yuan] Thanks for your information, I started to learn L4 just 1 month. A totally junior. Anything I was wrong, pls correct me.

>I tried to checkout the newest source code from CVS, & the CVS server 
> couldn't be reached.
I had no problems reaching the server. Though I cannot confirm that it 
was up all the time.

[Darwin Yuan] Thanks, I'll try later.

>When those features are going to be implemented?
Fiasco implements IO Flexpages. Neither Redirectors nor Clans and Chiefs 
are currently implemented in Fiasco and probably never will. I cannot 
speak for plans regarding Pistachio.

[Darwin Yuan] I didn't read the source code of Fiasco. However, from the documents I got from its website, I found that Clans & Chiefs was implemented in its kernel ( It might be removed now). But I don't think it's a good design that this policy was involved in L4 kernel, now that L4 claims it's a real microkernel. However, I think those kind of policies could be implemented outside kernel. Therefore, I think Redirector is a good mechanism to achieve those kind of policies. That's why I think redirector is very important for implementing a flexible system on L4.

>Now that those features are very important for implementing a flexible 
>OS on L4 u-kernel.
Both redirectors and IO flexpages are not essential to get a system up 
and running. Their purpose is to control and restrict communication 
between threads respectively to prevent a thread from reading / writing 
IO-ports. Feel free to implement those features if you need them.

[Darwin Yuan] Yes, That's true. However, a real system should makes peripheral equipment work. IO Fpage is very essential for implementing hardware driver. 

Can you elaborate on why you thing missing these features prevents 
someone building a flexible OS on L4?

[Darwin Yuan] As mentioned above.

>Seems that there are so many differences between L4Ka::Pistachio and 
>Fiasco. Is there a stardard L4 specification?
There is a standard L4 Specification: L4-V2 by Jochen Liedtke. Also 
there is the eXperimental specification you already found which is the 
defacto standard for L4-V4 kernels. The main difference between 
Pistachio and Fiasco is that the former implements L4-V4, the latter 
implements L4-V2 whereby some experimental features have been 
incorporated into Fiasco to better suite our user level software's 
needs. As you will see Fiasco already implements some parts of the L4-V4 

[Darwin Yuan]  I see. Thanks.

>I think L4Ka::Pistachio is more clean & flexible, why Fiasco put so 
>many complicated & inflexible policies inside L4 kernel?
Which policies are you referring to? Can you elaborate on these points?

[Darwin Yuan] For example, Clans & Chiefs.   Also, I think "Task" is a redundant abstract/concept, "Address Space" is a much better one. By "Thread" & "Address Space", L4Ka::Pistachio makes the abstract very refined, and allows to construct very flexible system. All together, the APIs of X.2 is much better than X.0.

>BTW, has any OS or system been built on L4Ka::Pistachio? As I know, 
>L4-Linux is built on Fiasco, but I don't like its design. I hope I can 
>get a reference system based on L4Ka::Pistachio.
Lets see, there is L4 Linux which runs on both Fiasco and Pistachio, L4 
Env, Drops runs on Fiasco, Kenge, Iguana and Wombat on Pistachio. Also 
there is Mungi, Perseus, L4 Hurd, etc.

Have a look at and you may find out much more.

[Darwin Yuan] Thanks for your information.

Why don't you like the design of L4Linux or do you mean Fiasco?

[Darwin Yuan] Actually, I don't like the APIs & mechanism of Fiasco. Now that L4Linux is based on those APIs & mechanism, I don't like this version of L4Linux.

Some more final words: It is common practice on mailing lists to start a 
new topic if you are referring to a totally different topic.

[Darwin Yuan] Honestly, I never use any public mailling list before:(. 'cause this original mail is the first mail I got from this mailing list, I replied it. Someone else has told me about that. Thanks anyway.

Best regards


Marcus Völp

Department of Computer Science
Institute for System Architecture

Tel: +49 (351) 463-38350
Fax: +49 (351) 463-38284

More information about the l4-hackers mailing list