diff options
author | Thomas Schwinge <thomas@schwinge.name> | 2011-03-29 12:19:10 +0200 |
---|---|---|
committer | Thomas Schwinge <thomas@schwinge.name> | 2011-03-29 12:19:10 +0200 |
commit | 2968bbdfc5d2ab381bbc9ce88e6ae90493cba2cb (patch) | |
tree | b9bd988b68b9683a58ff43087ec595ce5b8c1923 | |
parent | ef20dadf4b2dc498f99f3101cd17349339fb9354 (diff) |
faq/which_microkernel: Resurrect Olaf's text, and work on it some more.
-rw-r--r-- | faq/which_microkernel.mdwn | 44 | ||||
-rw-r--r-- | history/port_to_another_microkernel.mdwn | 17 | ||||
-rw-r--r-- | history/port_to_another_microkernel/discussion.mdwn | 18 |
3 files changed, 54 insertions, 25 deletions
diff --git a/faq/which_microkernel.mdwn b/faq/which_microkernel.mdwn index 608e6b3f..0852cf09 100644 --- a/faq/which_microkernel.mdwn +++ b/faq/which_microkernel.mdwn @@ -8,8 +8,48 @@ 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]]."]]"""]] -[[!meta title="What happened with the ports to the L4 / Coyotos / Viengoos +[[!meta title="What happened with the Hurd ports to the L4 / Coyotos / Viengoos microkernels?"]] -This story is told on the page about the +<!-- This page shares some text with history/port_to_another_microkernel. --> + +It is a frequently asked question, which microkernel the Hurd should be based +upon assuming that [[microkernel/Mach]] is no longer considered state of the +art, and it is well known that there has been a lot of discussion about this +topic, and also some code produced, but then, years later, the Hurd is still +based on [[GNU Mach|microkernel/mach/gnumach]]. + +Around the turn of the millenium, some of the Hurd developers began +experimenting with using other [[microkernel]]s for the Hurd, as they have been +encountering a number of fundamental design issues with the [[Mach +microkernel|microkernel/mach]], mostly with respect to +[[open_issues/resource_management_problems]]. + +At that time, L4 (Pistachio) was the prime candidate. A reimplementation of +the Hurd on this microkernel looked promising, and got pretty far (running some +simple POSIX programs, such as `banner`). However, over time some lingering +design issues turned out to be fundamental problems: the original L4 is not +suitable for building object-capability systems like the Hurd. Thus +development was aborted in 2005. + +During that process, Neal Walfield and Marcus Brinkmann started on a period of +research on other microkernels, getting in deeper contact with other +researchers. There was a lot of discussion, and a lot of good ideas produced, +but a straight-forward port of the Hurd to such a modern microkernel (Coyotos, +or the new L4 variants, for example) didn't seem feasible to them anymore: they +found microkernel design and system design to be interconnected in very +intricate ways, and this demanded design changes in the Hurd's core itself. + +Based on this experience, the next step was to write an own microkernel +instead, which Neal Walfield began doing with his experimental +[[microkernel/Viengoos]] project, for his research on resource management. +Currently he works in another research area though, and thus Viengoos is on +hold. + +Note that while none of the microkernel research work is active now, the +previous experiments already yielded a lot of experience, which will be very +useful in the further development / improvement of the mainline (Mach-based) +Hurd implementation. + +For more detauls about this topic, please see our history page about the [[history/port_to_another_microkernel]]. diff --git a/history/port_to_another_microkernel.mdwn b/history/port_to_another_microkernel.mdwn index b347cf38..a8ec3fe7 100644 --- a/history/port_to_another_microkernel.mdwn +++ b/history/port_to_another_microkernel.mdwn @@ -11,9 +11,16 @@ License|/fdl]]."]]"""]] [[!meta title="Porting the Hurd to another microkernel"]] -At first, there was an effort to port the Hurd from the [[Mach -microkernel|microkernel/mach]] to the [[L4_microkernel_family|microkernel/l4]]. -Then the story continued... +<!-- This page shares some text with faq/which_microkernel. --> + +It is a frequently asked question, [[faq/which_microkernel]] the Hurd should be +based upon assuming that [[microkernel/Mach]] is no longer considered state of +the art, and it is well known that there has been a lot of discussion about +this topic, and also some code produced, but then, years later, the Hurd is +still based on [[GNU Mach|microkernel/mach/gnumach]]. + +At first, there was an effort to directly port the Hurd to the +[[L4_microkernel_family|microkernel/l4]]. Then the story continued... [[!toc levels=2]] @@ -139,7 +146,7 @@ As of 2005, development of Hurd/L4 has stopped. # Coyotos Following that, an attempt was started to use the kernel of the -[[microkernel/Coyotos]] system. As Coyotos is an object capability system +[[microkernel/Coyotos]] system. As Coyotos is an object-capability system througout, the microkernel would obviously be more suitable for this purpose; and it looked pretty promising in the beginning. However, further investigations found that there are some very fundamental philosophical @@ -152,7 +159,7 @@ actual code.) By now (that is, after 2006), there were some new [[microkernel/L4]] variants available, which added protected [[IPC]] paths and other features necessary for -object capability systems; so it might be possible to implement the Hurd on top +object-capability systems; so it might be possible to implement the Hurd on top of these. However, by that time the developers concluded that microkernel design and system design are interconnected in very intricate ways, and thus trying to use a third-party microkernel will always result in trouble. So Neal diff --git a/history/port_to_another_microkernel/discussion.mdwn b/history/port_to_another_microkernel/discussion.mdwn index 1a06c8ba..f2161195 100644 --- a/history/port_to_another_microkernel/discussion.mdwn +++ b/history/port_to_another_microkernel/discussion.mdwn @@ -8,24 +8,6 @@ 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]]."]]"""]] -I can't say that I like the merge of FAQ entry an Hurd/L4 page. The stuff taken -from the L4 page creates the impression that Mach is a relic that we urgently -need to get rid of -- an impression I carefully tried to avoid in my own -writeup. Also, it's way too long IMHO. (In fact my own writeup is already on -the fringe of being too wordy I fear.) And I don't think that bare links to -other pages make good FAQ answers in general. - -IMHO the original FAQ entry should be restored (with some details fixed); while -the Hurd/L4 page can be referenced for further details. - --- antrik - -> OK, I understand (and accept) your rationale; [[!taglink -> open_issue_documentation]]. --[[tschwinge]] - - ---- - IRC, #hurd, 2011-01-12. [[!taglink open_issue_documentation]] |