|author||Thomas Schwinge <email@example.com>||2009-10-06 14:42:43 +0200|
|committer||Thomas Schwinge <firstname.lastname@example.org>||2009-10-06 14:51:05 +0200|
hurd/translator: The (non-)difference between server and translator.
Diffstat (limited to 'hurd/translator.mdwn')
1 files changed, 11 insertions, 0 deletions
diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn
index 158f53d..e567938 100644
@@ -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.