diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2009-11-24 00:35:43 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2009-11-24 00:35:43 +0100 |
commit | d7004cc2b51a394da631fc58b5194b48c945ee6c (patch) | |
tree | 9fe2dddc1596cf83b342584adc2167fb922c9cff /hurd/translator.mdwn | |
parent | dd26273133b630bd1dab1474efde36a4ec31d26d (diff) | |
parent | 81caacd9b518558f95cd3283eb119d66bc73fc5f (diff) |
Merge branch 'master' of flubber:~hurd-web/hurd-web
Diffstat (limited to 'hurd/translator.mdwn')
-rw-r--r-- | hurd/translator.mdwn | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn index 4995a005..e567938f 100644 --- a/hurd/translator.mdwn +++ b/hurd/translator.mdwn @@ -33,6 +33,17 @@ kernel and thus have absolute access to the machine. As the protocols do not require any special privilege to implement, this is not an issue on the Hurd. +In Mach parlance, a *translator* is what they name a *server*: a process that +participates in [[RPC]] interactions. In the Hurd, a translator is a server +that is additionally attached to a filesystem node. Thus, it is quite common, +even in the Hurd context, to speak about *server*s if you're stressing the RPC +part, and on the other hand about *translator*s if you're stressing the +filesystem part: a translator implements the [[interface/fs]] and +[[interface/io]] interfaces. For example: *the [[pfinet]] server implements +the socket API calls (which are mapped by [[glibc]] to equivalent RPC calls)*, +compared to *a [[libdiskfs]]-based translator implements a filesystem, based on +a backing store*. + To learn how to write a translator, read the code! It is well documented, in particular, the header files. The [[Hurd_Hacking_Guide]] also has a tutorial. @@ -73,7 +84,7 @@ Read about translator [[short-circuiting]]. * [[cvsfs]] * [[tmpfs]] * [[procfs]] -* [[unionmount]] +* [[nsmux]] * ... |