diff options
author | Thomas Schwinge <schwinge@nic-nac-project.de> | 2009-10-06 14:42:43 +0200 |
---|---|---|
committer | Thomas Schwinge <schwinge@nic-nac-project.de> | 2009-10-06 14:51:05 +0200 |
commit | 80edc6ab43ce69dee3e50dddd59784b6102c5d8c (patch) | |
tree | 6d359382534df61561b103a7c05e175fac832be7 | |
parent | 7074ada224a2033f84f87d343378e84b7ae7771a (diff) |
hurd/translator: The (non-)difference between server and translator.
-rw-r--r-- | hurd/translator.mdwn | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn index 158f53d7..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. |