summaryrefslogtreecommitdiff
path: root/hurd
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@schwinge.name>2011-03-26 00:27:11 +0100
committerThomas Schwinge <thomas@schwinge.name>2011-03-26 00:27:11 +0100
commit10288350709d006710bcdfb747ba9d1a1208d69b (patch)
tree8f1adaa3a84f543cc9c90e83eeba65bdef74dce0 /hurd
parentd463634b179b77b2802bf78110c3ce0a0d6ed64c (diff)
history/port_to_another_microkernel: New. Based on other pages.
Diffstat (limited to 'hurd')
-rw-r--r--hurd/faq/which_microkernel.mdwn114
-rw-r--r--hurd/ng.mdwn2
2 files changed, 1 insertions, 115 deletions
diff --git a/hurd/faq/which_microkernel.mdwn b/hurd/faq/which_microkernel.mdwn
deleted file mode 100644
index f6225188..00000000
--- a/hurd/faq/which_microkernel.mdwn
+++ /dev/null
@@ -1,114 +0,0 @@
-[[!meta copyright="Copyright © 2009, 2011 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]]."]]"""]]
-
-[[!meta title="What happened to the L4 / Coyotos / Viengoos microkernels?"]]
-
-Encountering a number of fundamental design issues with the Mach microkernel
-(mostly with resource management),
-some of the Hurd developers began experimenting with using other microkernels for the Hurd.
-
-The first attempt was reimplementing the Hurd on the L4 (Pistachio) microkernel.
-This got going around 2003/2004,
-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.
-
-Following that, an attempt was started to use the kernel of the 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 differences
-between the Coyotos and Hurd designs;
-and thus this this attempt was also abandonned, around 2006/2007.
-(This time before producing any actual code.)
-
-By now there were some new 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 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 Walfield created the experimental [[Viengoos|microkernel/viengoos]] kernel instead --
-based on the experience from the previous experiments with L4 and Coyotos --
-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 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.
-
-<!--
-
----
-
-IRC, #hurd, 2011-01-12.
-
-[[!taglink open_issue_documentation]]
-
- <Pete-J> Hello i am just curious of the development of Hurd - what's the
- current mission on the microkernel i see projects like l4 and viengoos,
- will one of these projects replace Mach? or will you stick with Mach
- <Pete-J> as i understand is that Mach is a first generation microkernel
- that's very old in design and causes alot of issues
- <Pete-J> that's where l4 and viengoos comes in - they are trying to be the
- next generation Mach - am i correct?
- <neal> l4 is not a drop in replacement for Mach
- <neal> it doesn't actually do much resource management
- <neal> for instance, you still have to implement a memory manager
- <neal> this is where several issues are with Mach
- <neal> l4 doesn't address those issues; it punts to the operating system
- <Pete-J> and what about viengoos?
- <neal> it's unfinished
- <neal> and it implemented some untested ideas
- <neal> i.e., parts of viengoos were research
- <neal> there has not been a sufficient evaluation of those ideas to
- determine whether they are a good approach
- <Pete-J> meaning that viengoos is a research kernel that could aid Mach?
- <neal> I'm not sure I understand your question
- <Pete-J> Well is viengoos trying to be a replacement for Mach, or will
- viengoos be an experiment of new ideas that could be implemented in Mach?
- <Pete-J> i am sorry for my limited english
- <neal> viengoos was designed with a Hurd-like user-land in mind
- <neal> in that sense it was a Mach replacement
- <neal> (unlike L4)
- <neal> viengoos consisted of a few experiments
- <neal> one could implement them in mach
- <neal> but it would require exposing new interfaces
- <neal> in which case, I'm not sure you could call the result Mach
- <Pete-J> Well as i understand you develop two microkernels side by side,
- wouldnt it be more effective to investigate viengoos more and maybe move
- the focus to viengoos?
- <antrik> no
- <antrik> having something working all the time is crucial
- <antrik> it's very hard to motivate people to work on a project that might
- be useful, in a couple of years, perhaps...
- <Pete-J> Well Mach is meant to be replaced one day - i see no reason to
- keep on developing it just because it works at this moment
- <Pete-J> *if Mach is meant to be replaced
- <antrik> it's not at all clear that it will be replaced by something
- completely different. I for my part believe that modifying the existing
- Mach is a more promising approach
- <Pete-J> as i understand man power is something you need - and by spreading
- out the developers just makes the progress more slow
- <antrik> but even if it *were* to be replaced one day, it doesn't change
- the fact that we need it *now*
- <antrik> all software will be obsolete one day. doesn't mean it's not worth
- working on
- <antrik> the vast majority of work is not on the microkernel anyways, but
- on the system running on top of it
- <Pete-J> ahh i see
- <antrik> manpower is not something that comes from nowhere. again, having
- something working is crucial in a volunteer project like this
- <antrik> there are no fixed plans
-
--->
diff --git a/hurd/ng.mdwn b/hurd/ng.mdwn
index de33949d..481386a4 100644
--- a/hurd/ng.mdwn
+++ b/hurd/ng.mdwn
@@ -13,7 +13,7 @@ This section explains the motivations behind the new design:
* [[Issues_with_L4_Pistachio]]
* [[Limitations_of_the_original_Hurd_design]]
- * History of the [[history/port_to_L4]]
+ * History of the [[history/port_to_another_microkernel]]
# Work already done