summaryrefslogtreecommitdiff
path: root/hurd/history/port_to_l4.mdwn
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@gnu.org>2009-02-17 01:44:54 +0100
committerThomas Schwinge <tschwinge@gnu.org>2009-02-17 01:54:30 +0100
commitf57755b84e4d352faab76bf7194768555a615596 (patch)
treea08e082a5dbeb5148166a96b14141e5e125691a8 /hurd/history/port_to_l4.mdwn
parent4fd2c0b88c8c1fb15dd5d039ad87d5147ff6b350 (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.mdwn63
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.