diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2013-03-19 18:47:23 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2013-03-19 18:47:23 +0100 |
commit | d166bfaaa3ddf8b83b5cc6bde62f8872e6a80c82 (patch) | |
tree | 4d8a8904c2c49122c37895ed4573a5fcbd19ed4f /faq/old/old_hurd_faq.txt | |
parent | 64f867bbc45d265009a1bad590bc1d4d9ea91d6e (diff) | |
parent | ce8c2531cdb7ee05784437da4c38459e5d3897d6 (diff) | |
download | web-d166bfaaa3ddf8b83b5cc6bde62f8872e6a80c82.tar.gz web-d166bfaaa3ddf8b83b5cc6bde62f8872e6a80c82.tar.bz2 web-d166bfaaa3ddf8b83b5cc6bde62f8872e6a80c82.zip |
Merge remote-tracking branch 'savannah/master'
As part of the merge, fix some typos, add copyright and licensing headers, and
a few more minor changes.
Diffstat (limited to 'faq/old/old_hurd_faq.txt')
-rw-r--r-- | faq/old/old_hurd_faq.txt | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/faq/old/old_hurd_faq.txt b/faq/old/old_hurd_faq.txt new file mode 100644 index 00000000..70c93c61 --- /dev/null +++ b/faq/old/old_hurd_faq.txt @@ -0,0 +1,83 @@ +[[!meta copyright="Copyright © 1999, 2006, 2008, 2010, 2013 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]]."]]"""]] + +The Unofficial (and no longer maintained) GNU Hurd FAQ, Version 0.13 + +Contributions by: + +Michael I. Bushnell <mib@gnu.org> +Len Tower <tower@gnu.org> +Trent Fisher <trent@gnurd.uu.pdx.edu> +jlr@usoft.spb.su +Remy Card <Remy.Card@masi.ibp.fr> +Louis-Dominique Dubeau <hallu@info.polymtl.ca> + +Original Document by: Derek Upham <upham@cs.ubc.ca> + + +Mach is a micro-kernel, written at Carnegie Mellon +University. A more descriptive term might be a greatest-common-factor +kernel, since it provides facilities common to all ``real'' operating +systems, such as memory management, inter-process communication, +processes, and a bunch of other stuff. Unfortunately, the system +calls used to access these facilities are only vaguely related to the +familiar and cherished Unix system calls. There are no "fork", +"wait", or "sleep" system-calls, no SIGHUPs, nothing like that. All +this makes it rather difficult to, say, port GNU Emacs to a Mach box. + +The trick is, of course, to write an emulation library. Unix programs +can then use (what they think are) POSIX system calls and facilities +while they are really using Mach system calls and facilities. + +The simplest way of going about this is to take an ordinary Unix +kernel, open it up, and rip out all the machine-specific guts; any +time the Unix kernel talks to the machine, replace the code with calls +to the Mach micro-kernel. Run this fake kernel on a Mach machine and +you end up with something that looks and acts just like Unix (even to +GNU Emacs). Note that the Unix kernel we have implemented is just one +Really Big Mach program (called a single-server). + +The Hurd, on the other hand, breaks the giant Unix kernel down into +various Mach programs running as daemons. Working in concert with +facilities placed in the C library, these daemons provide all of the +POSIX system-calls and features; from the outside they look just like +a standard Unix kernel. This means that, for practical purposes, +anything that you can port to Linux will also port to the Hurd. + +Of course, if a user wishes to run his own daemons, he can do that as +well.... + +Mach 4.0 is an enhanced version of Mach 3.0, put out by the people at +the University of Utah. They are working on another free operating +system, and part of it includes an enhanced, more flexible version of +Mach. The Hurd has moved to Mach 4.0, which is good, because it is a +lot easier to build than 3.0 was. + +You can find more information on Mach by browsing the Hurd pages given +in the next answer, or by looking at the Project Mach and Flux +homepages at: + +Carnegie Mellon University (for Mach versions before 4.0): + + http://www.cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/www/mach.html + +the University of Utah (for Mach 4.0): + + http://www.cs.utah.edu/projects/flux/mach4/html/ + + + +============================== + +Footnotes: + +[[1]] Yes, I know that ``micro-kernel'' is about as apt a description +as ``Reduced Instruction Set Chip'', but we're stuck with it. |