summaryrefslogtreecommitdiff
path: root/overview.mdwn
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2015-03-08 17:14:29 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2015-03-08 17:14:29 +0100
commit8ee2bea27be08bf635afc9170fecb87b23d84eb8 (patch)
treeba38ef2519b096029e63f731056a39ab4288c296 /overview.mdwn
parenta2809e4547dfab18316b1f8f3ee8d54dc436dadd (diff)
Add a lot of links
Diffstat (limited to 'overview.mdwn')
-rw-r--r--overview.mdwn35
1 files changed, 29 insertions, 6 deletions
diff --git a/overview.mdwn b/overview.mdwn
index 4878b08b..9bae360f 100644
--- a/overview.mdwn
+++ b/overview.mdwn
@@ -32,18 +32,25 @@ ext2fs is given as a parameter the name of the device of the root filesystem. It
opens it through the GNU Mach disk driver, and mounts the filesystem found on
it. When it is ready, it can start booting the system by starting the "startup",
"proc", and "auth" servers. It does so by using the "exec" server already loaded
-by GNU Mach: "exec" handles loading the binaries of the three new servers, just
-like it will handle loading binaries in the GNU/Hurd system in general. We then
-have a posixish environment, ext2fs gives hand to "startup".
+by GNU Mach. We then have a posixish environment, ext2fs gives hand to
+"startup".
+
+# exec
+
+"exec" handles loading binaries into processes. Details are available in
+[[Thomas' overview|/hurd-paper#exec]].
# proc
Proc knows about processes: what pid they have, passing signals, managing tty
-sessions, etc.
+sessions, etc. Details are available in [[Thomas' overview|/hurd-paper#proc]]
+and [[Marcus' presentation|/hurd-talk#pro]].
# auth
-Auth knows about identities: uid, gid, etc.
+Auth knows about identities: uid, gid, etc. Details are available in
+[[Thomas' overview|/hurd-paper#auth]] and
+[[Marcus' presentation|/hurd-talk#aut]].
# startup
@@ -62,6 +69,22 @@ Normal processes use glibc to interact with the system. Depending on the kind of
call, glibc will perform RPCs with the various servers mentioned above: opening
files will trigger RPCs with ext2fs, calling getpid() and such will trigger RPCs
with proc, calling getuid() and such will trigger RPCs with auth, opening a
-network socket will trigger RPCs with pfinet.
+network socket will trigger RPCs with pfinet. Details are available in [[the RPC page|/hurd/rpc]]
One can read the [[details how reading a file happens|hurd/io_path]].
+
+# how translators get started
+
+There are three ways translators get started:
+
+* exec, startup, proc, auth are explictly started during the boot as explained
+above.
+* some file of the filesystem have a *passive translator* record, i.e. it is
+recorded in the filesystem that when you open the file, it actually starts a
+translator which provides the content. For instance, */dev/null* is actually a
+translator which eats your data and produces no data.
+* one can manually start a translator and bind it on a file of the
+filesystem. It will stay there until getting killed or the system is
+restarted. For instance, one may want to temporarily mount an ISO image.
+
+Details are available in [[Marcus' presentation|/hurd-talk#act]].