Hi,
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 http://l4ka.org/projects/pistachio/ia32/ under the section Missing Features / Known Bugs for the Pistachio kernel , respectively at http://os.inf.tu-dresden.de/fiasco/status.html 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 cvs.l4ka.org 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 specification.
[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 l4hq.org 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
Hi,
first, please use a proper quoting style. Your style is very unusual and irritating.
On Wed Aug 31, 2005 at 21:00:16 +0800, yuan Darwin-r62832 wrote:
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
C&C were never implemented, and will never be, in any kernel.
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.
So what we have now are inflexible systems?
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.
Not having IO protection doesn't mean you cannot use drivers! Not having IO protection means that everyone can whack your system because everyone runs with IO privileges, that's it. And you need to do this because you cannot have drivers otherwise. We lived with that for some time but now we have proper IO protection so everything in fine in this regard.
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
That's not the fault of Fiasco, C&C is in the V2 spec. These are different things. And as already mentioned C&C where never implemented as some clever guys noticed before that there are some problems.
redundant abstract/concept, "Address Space" is a much better one. By
What's the difference between Task and AS?
"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.
X.2 is the successor of V2/X0 so this is no real surprise. But in which way does the API decide how one's building flexible or inflexible systems?
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.
Cool. So what would I need to do to make it please you?
Adam
On Fri Sep 02, 2005 at 01:13:40 +0200, Adam Lackorzynski wrote:
Hi,
first, please use a proper quoting style. Your style is very unusual and irritating.
On Wed Aug 31, 2005 at 21:00:16 +0800, yuan Darwin-r62832 wrote:
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
C&C were never implemented, and will never be, in any kernel.
Thats not entirely true. L4/Mips from UNSW had C&C implemented in it.
Cheers,
Benno
On Fri, 2005-09-02 at 09:23 +1000, Benno wrote:
On Fri Sep 02, 2005 at 01:13:40 +0200, Adam Lackorzynski wrote:
Hi,
first, please use a proper quoting style. Your style is very unusual and irritating.
On Wed Aug 31, 2005 at 21:00:16 +0800, yuan Darwin-r62832 wrote:
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
C&C were never implemented, and will never be, in any kernel.
Thats not entirely true. L4/Mips from UNSW had C&C implemented in it.
L4/Alpha too :)
On Fri, 02 Sep 2005 09:36:06 +1000, Daniel Potts danielp@cse.unsw.edu.au said:
DP> On Fri, 2005-09-02 at 09:23 +1000, Benno wrote:
On Fri Sep 02, 2005 at 01:13:40 +0200, Adam Lackorzynski wrote:
On Wed Aug 31, 2005 at 21:00:16 +0800, yuan Darwin-r62832 wrote:
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
C&C were never implemented, and will never be, in any kernel.
Thats not entirely true. L4/Mips from UNSW had C&C implemented in it.
DP> L4/Alpha too :)
And just for completeness sake: redirectors are implemented at NICTA/UNSW in an experimental version aimed at embedded systems. That version isn't released (but feel free to contact us if you want to know more).
Gernot
On Fri Sep 02, 2005 at 15:51:03 +1000, Gernot Heiser wrote:
On Fri, 02 Sep 2005 09:36:06 +1000, Daniel Potts danielp@cse.unsw.edu.au said:
DP> On Fri, 2005-09-02 at 09:23 +1000, Benno wrote:
On Fri Sep 02, 2005 at 01:13:40 +0200, Adam Lackorzynski wrote:
On Wed Aug 31, 2005 at 21:00:16 +0800, yuan Darwin-r62832 wrote:
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
C&C were never implemented, and will never be, in any kernel.
Thats not entirely true. L4/Mips from UNSW had C&C implemented in it.
DP> L4/Alpha too :)
And just for completeness sake: redirectors are implemented at NICTA/UNSW in an experimental version aimed at embedded systems. That version isn't released (but feel free to contact us if you want to know more).
Thanks for the insight!
Adam
l4-hackers@os.inf.tu-dresden.de