From 80edc6ab43ce69dee3e50dddd59784b6102c5d8c Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 6 Oct 2009 14:42:43 +0200 Subject: hurd/translator: The (non-)difference between server and translator. --- hurd/translator.mdwn | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'hurd/translator.mdwn') 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. -- cgit v1.2.3