summaryrefslogtreecommitdiff
path: root/hurd-paper.html
diff options
context:
space:
mode:
Diffstat (limited to 'hurd-paper.html')
-rw-r--r--hurd-paper.html23
1 files changed, 20 insertions, 3 deletions
diff --git a/hurd-paper.html b/hurd-paper.html
index 880f5fca..272b7178 100644
--- a/hurd-paper.html
+++ b/hurd-paper.html
@@ -1,5 +1,5 @@
-[[!meta copyright="Copyright © 1996, 1997, 1998, 2007, 2008, 2009 Free Software
-Foundation, Inc."]]
+[[!meta copyright="Copyright © 1996, 1997, 1998, 2007, 2008, 2009, 2015 Free
+Software Foundation, Inc."]]
[[!meta license="Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved."]]
@@ -21,7 +21,9 @@ The design and implementation of the Hurd is being lead by Michael
Bushnell, with assistance from Richard Stallman, Roland McGrath,
Jan Brittenson, and others.
+<a name=design>
<H2>Part 1: A More Usable Approach to OS Design</H2>
+</a>
<P>
The fundamental purpose of an operating system (OS) is to enable a variety of
programs to share a single computer efficiently and productively.
@@ -148,7 +150,9 @@ None of the remaining services carry any special
status; not the network implementation, the filesystems, the program
execution mechanism (including setuid), or any others.
+<a name=translator>
<H3>The Translator Mechanism</H3>
+</a>
<P>
The Hurd uses Mach ports primarily as methods for communicating between users
and servers.
@@ -324,7 +328,9 @@ those semantics to allow users to improve, bypass, or replace them.
<H2>Part 2: A Look at Some of the Hurd's Beasts</H2>
+<a name=auth>
<H3>The Authentication Server</H3>
+</a>
<P>
One of the Hurd's more central servers is the authentication server.
Each
@@ -363,7 +369,9 @@ we have designed its interface to make any safe operation possible, and to
include no extraneous operations.
(This is why there is a separate password
server.)
+<a name=proc>
<H3>The Process Server</H3>
+</a>
<P>
The process server acts as an information categorization repository.
There
@@ -419,7 +427,9 @@ Those process server features which do not require root privileges
to be implemented could be done as per-user servers.
The user's hands are
not tied.
+<a name=ftpfs>
<H3>Transparent FTP</H3>
+</a>
<P>
Transparent FTP is an intriguing idea whose time has come.
The popular
@@ -429,7 +439,8 @@ virtually transparent to all the Emacs file manipulation functions.
Transparent FTP does the same thing, but in a system wide fashion.
This
server is not yet written; the details remain to be fleshed out, and will
-doubtless change with experience.
+doubtless change with experience [Note: since the writing of this, ftpfs was
+implemented and works as described here]
<P>
In a BSD kernel, a transparent FTP filesystem would be no harder to write
than in the Hurd.
@@ -492,7 +503,9 @@ more /ftp/ftp.uu.net/inet/rfc/rfc1097.
</CODE>
A copy command to a local disk
could be used if the RFC would be read frequently.
+<a name=fs>
<H3>Filesystems</H3>
+</a>
<P>
Ordinary filesystems are also being implemented.
The initial release of the
@@ -529,7 +542,9 @@ deficiencies.
There will also be various ``little'' filesystems, such as the
MS-DOS filesystem, to help people move files between GNU and other OSs.
+<a name=term>
<H3>Terminals</H3>
+</a>
<P>
An I/O server will provide the terminal semantics of Posix.
The GNU C
@@ -574,7 +589,9 @@ Instead they will be using the
underlying Mach device ports for terminals, which support moving large
amounts of data efficiently.
+<a name=exec>
<H3>Executing Programs</H3>
+</a>
<P>
The implementation of the
<CODE>execve</CODE>