aboutsummaryrefslogtreecommitdiff
path: root/faq/which_microkernel
diff options
context:
space:
mode:
Diffstat (limited to 'faq/which_microkernel')
-rw-r--r--faq/which_microkernel/discussion.mdwn120
1 files changed, 120 insertions, 0 deletions
diff --git a/faq/which_microkernel/discussion.mdwn b/faq/which_microkernel/discussion.mdwn
new file mode 100644
index 00000000..ffdc6720
--- /dev/null
+++ b/faq/which_microkernel/discussion.mdwn
@@ -0,0 +1,120 @@
+[[!meta copyright="Copyright © 2011, 2012 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+[[!tag open_issue_documentation]]
+
+[[!toc]]
+
+
+# Olaf, 2011-04-10
+
+This version mixes up three distinct phases: rewrite from scratch; redesign;
+own microkernel.
+
+While Okuji initially might have intended a direct port of the existing Hurd
+code, by the time I started following Hurd development (2004 IIRC), it has been
+long clear that Hurd/L4 is a rewrite from scratch.
+
+The next phase was the desire of Neal and especially Macrus to completely
+reinvent the design of the Hurd. This was mostly fueled by Shapiro's influence,
+resulting in a security-above-everything rage. It was in this phase that not
+only the original L4 has been abandonend, but also all thoughts about using
+newer L4 variants (which might have been suitable) were forsaken in favor of
+Shapiro's Coyotos.
+
+The whole idea of redesigning the Hurd -- especially for security concerns --
+is highly controversial: I always strongly objected to it; and Marcus later
+admitted himself that he got carried away and lost sight of what really matters
+for the Hurd. (But only after realising that Shapiro's notion of high security
+is fundamentally incompatible with the GNU philosophy.) I opted for not
+explicitely mentioning this aspect in the FAQ at all, as it's impossible to
+explain properly in a compact form, and probably impossible at all to do it in
+an objective fashion.
+
+The final phase -- following the realisation of incompatibility with
+Shapiro/Coyotos -- was the attempt to create new microkernels specifically for
+Hurd's needs. Marcus abandonned his pretty soon, and never made it public, so I
+didn't mention it at all; but Viengoos is still relevant in certain ways.
+
+BTW, my original text also more explicitely answers the question what happened
+to the Coyotos port -- which after all is what the title promises...
+
+All in all, I still think my text was better. If you have any conerns with it,
+please discuss them...
+
+
+# seL4
+
+## IRC, freenode, #hurd, 2011-09-27
+
+ <cjuner> Does anyone remember/know if/why not seL4 was considered for
+ hurd-l4? Is anyone aware of any differences between seL4 and coyotos?
+
+
+## IRC, freenode, #hurd, 2011-09-29
+
+ <antrik> cjuner: the seL4 project was only at the beginning when the
+ decision was made. so was Coyotos, but Shapiro promised back then that
+ building on EROS, it would be done very fast (a promise he couldn't keep
+ BTW); plus he convinced the people in question that it's safer to build
+ on his ideas...
+ <antrik> it doesn't really matter though, as by the time the ngHurd people
+ were through with Coyotos, they had already concluded that it doesn't
+ make sense to build upon *any* third-party microkernel
+ <cjuner> antrik, what was the problem with coyotos? what would be the
+ problem with sel4 today?
+ <cjuner> antrik, yes I did read the FAQ. It doesn't mention seL4 at all
+ (there isn't even much on the hurd-l4 mailing lists, I think that being
+ due to seL4 not having been released at that point?) and it does not
+ specify what problems they had with coyotos.
+ <antrik> cjuner: it doesn't? I thought it mentioned "newer L4 variants" or
+ something like that... but the text was rewritten a couple of times, so I
+ guess it got lost somewhere
+ <antrik> cjuner: unlike original L4, it's probably possible to implement a
+ system like the Hurd on top on seL4, just like on top of
+ Coyotos. however, foreign microkernels are always created with foreign
+ design ideas in mind; and building our own design around them is always
+ problematic. it's problematic with Mach, and it will be problematic with
+ any other third-party microkernel
+ <antrik> Coyotos specifically has different ideas about memory protection,
+ different ideas about task startup, different ideas about memory
+ handling, and different ideas about resource allocation
+ <cjuner> antrik, do any specific problems of the foreign designs,
+ specifically of seL4 or coyotos come to mind?
+ <antrik> cjuner: I mentioned several for Coyotos. I don't have enough
+ understanding of the matters to go into much more detail
+ <antrik> (and I suspect you don't have enough understanding of these
+ matters to take away anything useful from more detail ;-) )
+ <antrik> I could try to explain the issues I mentioned for Coyotos (as far
+ as I understand them), but would that really help you?
+
+
+# Xnu (Darwin)
+
+
+## IRC, freenode, #hurd, 2012-03-30
+
+ <mel__> did people consider to port Hurd to Darwin? i.e. replace GNU Mach
+ with Darwin?
+ <braunr> no
+ <braunr> well, quickly only
+ <mel__> wouldn't it be a reasonable idea?
+ <mel__> after all, Darwin is production-ready and contains a Mach side.
+ <braunr> not more than fixing gnumach itself, or using linux instead
+ <mel__> well.
+ <braunr> those implementations have diverged with time
+ <mel__> i see
+ <mel__> the fsf should pay people for fixing gnu mach then. :)
+ <antrik> mel__: indeed someone consided Xnu (the actual kernel of Darwin) a
+ while back; but I think he shelved the idea again. not sure about the
+ exact reasons
+ <antrik> Xnu implements a few improvements that might be helpful; but it
+ doesn't address the really fundamental issues that matter for a true
+ multiserver system...