diff options
author | Thomas Schwinge <thomas@schwinge.name> | 2011-03-26 00:27:11 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@schwinge.name> | 2011-03-26 00:27:11 +0100 |
commit | 10288350709d006710bcdfb747ba9d1a1208d69b (patch) | |
tree | 8f1adaa3a84f543cc9c90e83eeba65bdef74dce0 /hurd | |
parent | d463634b179b77b2802bf78110c3ce0a0d6ed64c (diff) |
history/port_to_another_microkernel: New. Based on other pages.
Diffstat (limited to 'hurd')
-rw-r--r-- | hurd/faq/which_microkernel.mdwn | 114 | ||||
-rw-r--r-- | hurd/ng.mdwn | 2 |
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 |