diff options
author | Thomas Schwinge <tschwinge@gnu.org> | 2009-02-17 01:44:54 +0100 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gnu.org> | 2009-02-17 01:54:30 +0100 |
commit | f57755b84e4d352faab76bf7194768555a615596 (patch) | |
tree | a08e082a5dbeb5148166a96b14141e5e125691a8 /hurd/history/port_to_l4.mdwn | |
parent | 4fd2c0b88c8c1fb15dd5d039ad87d5147ff6b350 (diff) |
Move content of hurd/ng/history into hurd/history/port_to_l4.
Diffstat (limited to 'hurd/history/port_to_l4.mdwn')
-rw-r--r-- | hurd/history/port_to_l4.mdwn | 63 |
1 files changed, 54 insertions, 9 deletions
diff --git a/hurd/history/port_to_l4.mdwn b/hurd/history/port_to_l4.mdwn index 6a17d1ff..03795dc4 100644 --- a/hurd/history/port_to_l4.mdwn +++ b/hurd/history/port_to_l4.mdwn @@ -1,5 +1,5 @@ -[[meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2008, 2009 Free -Software Foundation, Inc."]] +[[meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009 +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 @@ -12,8 +12,16 @@ is included in the section entitled [[meta title="Porting the Hurd to L4: Hurd/L4"]] There was an effort to port the Hurd from [[microkernel/Mach]] to the -[[L4_microkernel_family|microkernel/L4]], mostly lead by Marcus Brinkmann and -Neal Walfield. Even though there was progress, this port never reached a +[[L4_microkernel_family|microkernel/L4]]. + +The idea of using L4 as a [[microkernel]] for a [[Hurd_system|hurd]] was +initially voiced in the [[Hurd_community|community]] by Okuji Yoshinori, who, +for discussing this purpose, created the [[mailing_lists/l4-hurd]] mailing list +in November 2000. + +The project itself then was mostly lead by Marcus Brinkmann and Neal Walfield. +Even though there was progress -- see, for example, the +[[QEMU_image_for_L4|running/qemu/image_for_l4]] -- this port never reached a releasable state. Eventually, a straight-forward port of the original Hurd's design wasn't deemed feasible anymore by the developers, partly due to them not cosidering L4 suitable for implementing a general-purpose operating system on @@ -24,12 +32,13 @@ they discovered along their way. Read the [[critique]] and a By now, the development of Hurd/L4 has stopped. However, Neal Walfield moved on to working on a newly designed kernel called [[microkernel/viengoos]]. +Over the years, a lot of discussion have been held on the +[[mailing_lists/l4-hurd]] mailing list, which today is still the right place +for [[next-generation_Hurd|ng]] discussions. -Development was done in the `hurd-l4` module of the Hurd CVS repository. The -`doc` directory contains a design document that is worth reading for anyone who -wishes to learn more about Hurd/L4. Discussion have been held on the -[[mailing_lists/l4-hurd]] mailing list, which is still the right place for -[[next-generation_Hurd|ng]] discussions. +Development of Hurd/L4 was done in the `hurd-l4` module of the Hurd CVS +repository. The `doc` directory contains a design document that is worth +reading for anyone who wishes to learn more about Hurd/L4. One goal of porting the Hurd to L4 was to make the Hurd independend of Mach @@ -54,3 +63,39 @@ of the kernel's [[TCB]]. One idea was to first introduce a Mach-on-L4 emulation layer, to easily get a usable (though slow) Hurd-using-Mach-interfaces-on-L4 system, and then gradually move the Hurd servers to use L4 intefaces rather than Mach ones. + + +Neal Walfield started the original Hurd/L4 port while at Karlsruhe in 2002. He +explains: + +> My intention was to adapt the Hurd to exploit L4's concepts and intended +> [[design_pattern]]s; it was not to simply provide a Mach +> [[compatibility_layer]] on top of L4. When I left Karlsruhe, I no longer had +> access to [[microkernel/l4/Pistachio]] as I was unwilling to sign an NDA. +> Although the specification was available, the Karlsruhe group only [released +> their code in May +> 2003](https://lists.ira.uni-karlsruhe.de/pipermail/l4ka/2003-May/000345.html). +> Around this time, Marcus began hacking on Pistachio. He created a relatively +> complete run-time. I didn't really become involved again until the second +> half of 2004, after I complete by Bachelors degree. + +> Before Marcus and I considered [[microkernel/Coyotos]], we had already +> rejected some parts of the Hurd's design. The +> [[ng/resource_management_problems]] were what prompted me to look at L4. +> Also, some of the problems with [[translator]]s were already well-known to +> us. (For a more detailed description of the problems we have identified, see +> our [[critique]] in the 2007 July's SIGOPS OSR. We have also written a +> forward-looking [[ng/position_paper]].) + +> We visited Jonathan Shapiro at Hopkins in January 2006. This resulted in a +> number of discussions, some quite influential, and not always in a way which +> aligned our position with that of Jonathan's. This was particularly true of +> a number of security issues. + +A lange number of discussion threads can be found in the archives of the +[[mailing_lists/l4-hurd]] mailing list. + +> Hurd-NG, as we originally called it, was an attempt to articulate the system +> that we had come to envision in terms of interfaces and description of the +> system's structure. The new name was selected, if I recall correctly, as it +> clearly wasn't the Hurd nor the Hurd based on L4. |