From 13433b83cb123607b1eaf7d09f85566f24cea029 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 6 Nov 2008 11:43:27 +0100 Subject: old_hurd_faq.html -> hurd/faq/old_hurd_faq.txt --- hurd/faq/old_hurd_faq.txt | 289 +++++++++++++++++++++++++++++++++++++++++++ old_hurd_faq.html | 306 ---------------------------------------------- 2 files changed, 289 insertions(+), 306 deletions(-) create mode 100644 hurd/faq/old_hurd_faq.txt delete mode 100644 old_hurd_faq.html diff --git a/hurd/faq/old_hurd_faq.txt b/hurd/faq/old_hurd_faq.txt new file mode 100644 index 00000000..a94a28f4 --- /dev/null +++ b/hurd/faq/old_hurd_faq.txt @@ -0,0 +1,289 @@ +The Unofficial (and no longer maintained) GNU Hurd FAQ, Version 0.13 + +Contributions by: + +Michael I. Bushnell +Len Tower +Trent Fisher +jlr@usoft.spb.su +Remy Card +Louis-Dominique Dubeau + +Original Document by: Derek Upham + + +============================== + +Contents: + +Q0. Where can I get the Unofficial GNU Hurd FAQ? +Q2. Where can I get a copy? +Q3. Why bother writing a new OS when we have Linux and 386/BSD? +Q4. What's all this about Mach 3.0 (and Mach 4.0)? +Q5. Where can I find more information? +Q6. What's a proper machine? +Q7. What sort of machines will run Hurd in the future? +Q8. What is the current development status? +Q9. What sort of system would we have if the Hurd was bootable today? + +============================== + +Q0. Where can I get the Unofficial GNU Hurd FAQ? + +The Unofficial Hurd FAQ (what you are reading now) is occasionally +posted to the USENET newsgroup, gnu.misc.discuss. It is also +available from + + http://www.enci.ucalgary.ca/~gord/hurd/hurd-faq.txt + +If you don't have WWW access, you may send mail to me, Gordon +Matzigkeit with a subject line that reads: + + Subject: send hurd-faq + +You should receive a PGP-signed copy of the current version of this +document in a matter of minutes. + + +Q2. Where can I get a copy? + +To put it simply, you can't. It is still under development (by +Michael Bushnell, Roland McGrath and Miles Bader). It is almost, but +not quite, at the point where you can do real work on it. Keep your +fingers crossed. + +Some people have actually bootstrapped it, but the work is not easy, +and the current snapshot won't work until a new multiserver boot +mechanism is made. + +If you *really* want to try it, beware that it is still pre-alpha +code, and that it will likely crash on you. See Trent Fisher's Hurd +pages (under question 5) for the latest information. + + +Q3. Why bother writing a new OS when we have Linux and 386/BSD? + +For one thing, Linux and BSD don't scale well. Hardware designers are +shifting more and more toward multiprocessor machines for performance, +and standard Unix kernels do not provide much multiprocessor support. +The Hurd, on the other hand, runs on top of the Mach 3.0 micro-kernel +[[1]] from CMU. Mach was designed precisely for multiprocessing +machines, so its portability should carry over nicely to the Hurd. + +In addition, the Hurd will be considerably more flexible and robust +than generic Unix. Wherever possible, Unix kernel features have been +moved into unprivileged space. Once there, anyone who desires can +develop custom replacements for them. Users will be able to write and +use their own file systems, their own `exec' servers, or their own +network protocols if they like, all without disturbing other users. + +The Linux kernel has now been modified to allow user-level file +systems, so there is proof that people will actually use features such +as these. It will be much easier to do under the Hurd, however, +because the Hurd is almost entirely run in user space and because the +various servers are designed for this sort of modification. + + +Q4. What's all this about Mach 3.0 (and Mach 4.0)? + +As mentioned above, 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, interprocess 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/ + + +Q5. Where can I find more information? + +The June 1995 GNU's Bulletin contains the following official +information: + + The GNU Hurd now runs programs native. We have implemented both + shared libraries using ELF, & the popular `ext2' file system used + by Linux. It can run GCC, `make', Emacs, & most other GNU + utilities. Progress is being made so rapidly that by the time you + read this it probably does much more. It is right on the verge of + being self-hosting (able to run on its own well enough to compile + its own source code, & be used for its own development). We have + much better device supportm [sic] & some new utilities, including a + fancy `ps' & `settrans'. For a complete system we still have much + more work to do, but we will make an alpha release as soon as the + network software is finished & shared libraries have been well + tested. We have a mailing list to announce progress; to be added + to it, ask `hurd-announce-request@gnu.org'. + +The Portland State University CS department (via Trent Fisher) +maintains a WWW server with various Hurd documents, including Michael +Bushnell's Hurd paper, all the collected GNU's Bulletins, and various +announcements posted to "gnu.misc.discuss". The top-level GNU page is + + http://www.cs.pdx.edu/~trent/gnu/gnu.html + +and the Hurd page is + + http://www.cs.pdx.edu/~trent/gnu/hurd/hurd.html + +People in Europe might want to try the GNU WWW server for DESY +Germany, first: + + http://info.desy.de/gnu/www + +This site lacks culled, Hurd-specific information at the moment, but +it does have the last two GNU's Bulletins plus lots of general +information. + +There is a snapshot of the Hurd development tree on +"alpha.gnu.ai.mit.edu" in the "/gnu" directory. It is updated as +significant changes are made, and not guaranteed to run. + +You can subscribe to the Hurd announcement list by sending a request +to "hurd-announce-request@gnu.org". This is a moderated list +for distributing Hurd info to ``all and sundry'', and anyone can join. +In addition, there is a private (invitation-only) list for developers +to coordinate their efforts. It's not even worth thinking about +unless you (a) have a lot of free time on your hands, (b) know Unix +internals and Mach very well, and (c) have a proper machine. + + +Q6. What's a proper machine? + +A ``proper machine'', at the moment, means an x86 box running Mach 3.0 +(or 4.0), with FreeBSD 2.x, NetBSD 1.x, or Linux. + +A single-server OS is no longer required for development because by +the time the Hurd bootstrap mechanism is finished, the Hurd will +probably be self-hosting. + +Linux, FreeBSD, or NetBSD will only be required to splat the Hurd +binaries onto a partition of some sort, and to provide a way of +transferring files to the Hurd until the networking code is ready. + + +Q7. What sort of machines will run Hurd in the future? + +The first thing a prospective Hurd machine needs is a Mach 3.0 port. +According to the most recent "comp.os.mach" FAQ (which hasn't been +updated since February 1994), the following chips have redistributable +Mach micro-kernels and device drivers: + + Intel 80x86 (ISA and PS/2 buses) + Motorola 68000 (Sun 3) + Motorola 88000 (Omron Luna) + DEC Vax + DEC Pmax (DECstation 3100) + DEC Alpha + MIPS R4000 (DECstation 5000 et al.) + IBM RS/6000 + Apple Macintosh + +IBM is planning to run WorkplaceOS (the OS/2 successor) over Mach 3.0 +on the PowerPC chip (closely related to the RS/6000), so the PowerPC +will likely be added to this list soon. The University of Utah has +ported Mach 4.0 to the HP700, but it is not yet stable. + +Sun Sparc machines have a redistributable Mach microkernel, but the +device drivers require a SunOS 4.1.1 source license. + +In addition, any prospective Hurd machine needs a port of the GNU C +library. Version 1.07.4 of the library can handle the following +chips: + + Intel 80x86 (BSD, Dynix, Hurd, SCO, SysV) + Motorola 68000 (HP BSD, NEWS, Sun 4) + MIPS R4000 (Ultrix) + Sun Sparc (Solaris 2, Sun 4) + DEC Alpha (OSF/1, mostly finished) + +So if the next Hurd snapshot is self-hosting, we will be able to run +it (in theory) on Intel 80x86s, Motorola 68000s, MIPS R4000s and DEC +Alphas. + +People who can port the Mach micro-kernel to new architectures are +encouraged to do so. People who can port the GNU C library to new +chips (a much larger group) are also encouraged to do so. You can +help out here without knowing anything about Mach or having any +special machine. Note that once the GNU C library exists for a new +chip, for _any_ OS, making a Hurd port later is simple (and making +ports to other chips becomes easier as well---the effects are +cumulative). + +By current indications, the other hardware requirements (RAM, disk +space, and the like) will be about the same as those of BSD 4.4. + + +Q8. What is the current development status? + +Please see Trent Fisher's Hurd pages for details. + + +Q9. What sort of a system would we have if the Hurd was bootable +today? + +Quite likely, if you already use an end-user system like Linux, +FreeBSD, or NetBSD, you'll be disappointed with the Hurd. It will +take some time before the OS hackers really get to work on +applications and major enhancements. + +But, rest assured, Hurd development should proceed very rapidly. + +Of course, if you think you can help, or you just enjoy neat stuff, +then you'll probably like the Hurd. When you actually understand a +fraction of what's going on behind the scenes, it's very impressive. + +All I'm saying is that I'm not expecting all the Windows '95 users in +the world to switch to the Hurd right away. Wait a little while, +maybe 5-6 years (ample time for GNUStep and Guile to be in use), and +GNU users everywhere will be very happy that the FSF proceeded with +the Hurd. :) + + +============================== + +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. diff --git a/old_hurd_faq.html b/old_hurd_faq.html deleted file mode 100644 index 8162184d..00000000 --- a/old_hurd_faq.html +++ /dev/null @@ -1,306 +0,0 @@ - - -The Unofficial (and no longer maintained) GNU Hurd FAQ, Version 0.13 - - - -
The Unofficial (and no longer maintained) GNU Hurd FAQ, Version 0.13
-
-Contributions by:
-
-Michael I. Bushnell 
-Len Tower 
-Trent Fisher 
-jlr@usoft.spb.su
-Remy Card 
-Louis-Dominique Dubeau 
-
-Original Document by: Derek Upham 
-
-
-==============================
-
-Contents:
-
-Q0.  Where can I get the Unofficial GNU Hurd FAQ?
-Q2.  Where can I get a copy?
-Q3.  Why bother writing a new OS when we have Linux and 386/BSD?
-Q4.  What's all this about Mach 3.0 (and Mach 4.0)?
-Q5.  Where can I find more information?
-Q6.  What's a proper machine?
-Q7.  What sort of machines will run Hurd in the future?
-Q8.  What is the current development status?
-Q9.  What sort of system would we have if the Hurd was bootable today?
-
-==============================
-
-Q0.  Where can I get the Unofficial GNU Hurd FAQ?
-
-The Unofficial Hurd FAQ (what you are reading now) is occasionally
-posted to the USENET newsgroup, gnu.misc.discuss.  It is also
-available from
-
-   http://www.enci.ucalgary.ca/~gord/hurd/hurd-faq.txt
-
-If you don't have WWW access, you may send mail to me, Gordon
-Matzigkeit  with a subject line that reads:
-
-   Subject: send hurd-faq
-
-You should receive a PGP-signed copy of the current version of this
-document in a matter of minutes.
-
-
-Q2.  Where can I get a copy?
-
-To put it simply, you can't.  It is still under development (by
-Michael Bushnell, Roland McGrath and Miles Bader).  It is almost, but
-not quite, at the point where you can do real work on it.  Keep your
-fingers crossed.
-
-Some people have actually bootstrapped it, but the work is not easy,
-and the current snapshot won't work until a new multiserver boot
-mechanism is made.
-
-If you *really* want to try it, beware that it is still pre-alpha
-code, and that it will likely crash on you.  See Trent Fisher's Hurd
-pages (under question 5) for the latest information.
-
-
-Q3.  Why bother writing a new OS when we have Linux and 386/BSD?
-
-For one thing, Linux and BSD don't scale well.  Hardware designers are
-shifting more and more toward multiprocessor machines for performance,
-and standard Unix kernels do not provide much multiprocessor support.
-The Hurd, on the other hand, runs on top of the Mach 3.0 micro-kernel
-[[1]] from CMU.  Mach was designed precisely for multiprocessing
-machines, so its portability should carry over nicely to the Hurd.
-
-In addition, the Hurd will be considerably more flexible and robust
-than generic Unix.  Wherever possible, Unix kernel features have been
-moved into unprivileged space.  Once there, anyone who desires can
-develop custom replacements for them.  Users will be able to write and
-use their own file systems, their own `exec' servers, or their own
-network protocols if they like, all without disturbing other users.
-
-The Linux kernel has now been modified to allow user-level file
-systems, so there is proof that people will actually use features such
-as these.  It will be much easier to do under the Hurd, however,
-because the Hurd is almost entirely run in user space and because the
-various servers are designed for this sort of modification.
-
-
-Q4.  What's all this about Mach 3.0 (and Mach 4.0)?
-
-As mentioned above, 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, interprocess 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/
-
-
-Q5.  Where can I find more information?
-
-The June 1995 GNU's Bulletin contains the following official
-information:
-
-   The GNU Hurd now runs programs native.  We have implemented both
-   shared libraries using ELF, & the popular `ext2' file system used
-   by Linux.  It can run GCC, `make', Emacs, & most other GNU
-   utilities.  Progress is being made so rapidly that by the time you
-   read this it probably does much more.  It is right on the verge of
-   being self-hosting (able to run on its own well enough to compile
-   its own source code, & be used for its own development).  We have
-   much better device supportm [sic] & some new utilities, including a
-   fancy `ps' & `settrans'.  For a complete system we still have much
-   more work to do, but we will make an alpha release as soon as the
-   network software is finished & shared libraries have been well
-   tested.  We have a mailing list to announce progress; to be added
-   to it, ask `hurd-announce-request@gnu.org'.
-
-The Portland State University CS department (via Trent Fisher)
-maintains a WWW server with various Hurd documents, including Michael
-Bushnell's Hurd paper, all the collected GNU's Bulletins, and various
-announcements posted to "gnu.misc.discuss".  The top-level GNU page is
-
-   http://www.cs.pdx.edu/~trent/gnu/gnu.html
-
-and the Hurd page is
-
-   http://www.cs.pdx.edu/~trent/gnu/hurd/hurd.html
-
-People in Europe might want to try the GNU WWW server for DESY
-Germany, first:
-
-   http://info.desy.de/gnu/www
-
-This site lacks culled, Hurd-specific information at the moment, but
-it does have the last two GNU's Bulletins plus lots of general
-information.
-
-There is a snapshot of the Hurd development tree on
-"alpha.gnu.ai.mit.edu" in the "/gnu" directory.  It is updated as
-significant changes are made, and not guaranteed to run.
-
-You can subscribe to the Hurd announcement list by sending a request
-to "hurd-announce-request@gnu.org".  This is a moderated list
-for distributing Hurd info to ``all and sundry'', and anyone can join.
-In addition, there is a private (invitation-only) list for developers
-to coordinate their efforts.  It's not even worth thinking about
-unless you (a) have a lot of free time on your hands, (b) know Unix
-internals and Mach very well, and (c) have a proper machine.
-
-
-Q6.  What's a proper machine?
-
-A ``proper machine'', at the moment, means an x86 box running Mach 3.0
-(or 4.0), with FreeBSD 2.x, NetBSD 1.x, or Linux.
-
-A single-server OS is no longer required for development because by
-the time the Hurd bootstrap mechanism is finished, the Hurd will
-probably be self-hosting.
-
-Linux, FreeBSD, or NetBSD will only be required to splat the Hurd
-binaries onto a partition of some sort, and to provide a way of
-transferring files to the Hurd until the networking code is ready.
-
-
-Q7.  What sort of machines will run Hurd in the future?
-
-The first thing a prospective Hurd machine needs is a Mach 3.0 port.
-According to the most recent "comp.os.mach" FAQ (which hasn't been
-updated since February 1994), the following chips have redistributable
-Mach micro-kernels and device drivers:
-
-    Intel 80x86         (ISA and PS/2 buses)
-    Motorola 68000      (Sun 3)
-    Motorola 88000      (Omron Luna)
-    DEC Vax
-    DEC Pmax            (DECstation 3100)
-    DEC Alpha
-    MIPS R4000          (DECstation 5000 et al.)
-    IBM RS/6000
-    Apple Macintosh
-
-IBM is planning to run WorkplaceOS (the OS/2 successor) over Mach 3.0
-on the PowerPC chip (closely related to the RS/6000), so the PowerPC
-will likely be added to this list soon.  The University of Utah has
-ported Mach 4.0 to the HP700, but it is not yet stable.
-
-Sun Sparc machines have a redistributable Mach microkernel, but the
-device drivers require a SunOS 4.1.1 source license.
-
-In addition, any prospective Hurd machine needs a port of the GNU C
-library.  Version 1.07.4 of the library can handle the following
-chips:
-
-    Intel 80x86         (BSD, Dynix, Hurd, SCO, SysV)
-    Motorola 68000      (HP BSD, NEWS, Sun 4)
-    MIPS R4000          (Ultrix)
-    Sun Sparc           (Solaris 2, Sun 4)
-    DEC Alpha           (OSF/1, mostly finished)
-
-So if the next Hurd snapshot is self-hosting, we will be able to run
-it (in theory) on Intel 80x86s, Motorola 68000s, MIPS R4000s and DEC
-Alphas.
-
-People who can port the Mach micro-kernel to new architectures are
-encouraged to do so.  People who can port the GNU C library to new
-chips (a much larger group) are also encouraged to do so.  You can
-help out here without knowing anything about Mach or having any
-special machine.  Note that once the GNU C library exists for a new
-chip, for _any_ OS, making a Hurd port later is simple (and making
-ports to other chips becomes easier as well---the effects are
-cumulative).
-
-By current indications, the other hardware requirements (RAM, disk
-space, and the like) will be about the same as those of BSD 4.4.
-
-
-Q8.  What is the current development status?
-
-Please see Trent Fisher's Hurd pages for details.
-
-
-Q9.  What sort of a system would we have if the Hurd was bootable
-today?
-
-Quite likely, if you already use an end-user system like Linux,
-FreeBSD, or NetBSD, you'll be disappointed with the Hurd.  It will
-take some time before the OS hackers really get to work on
-applications and major enhancements.
-
-But, rest assured, Hurd development should proceed very rapidly.
-
-Of course, if you think you can help, or you just enjoy neat stuff,
-then you'll probably like the Hurd.  When you actually understand a
-fraction of what's going on behind the scenes, it's very impressive.
-
-All I'm saying is that I'm not expecting all the Windows '95 users in
-the world to switch to the Hurd right away.  Wait a little while,
-maybe 5-6 years (ample time for GNUStep and Guile to be in use), and
-GNU users everywhere will be very happy that the FSF proceeded with
-the Hurd. :)
-
-
-==============================
-
-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.
-
-
-

-Updated: - -23 Feb 1998 grat-w - -


- - - -- cgit v1.2.3