RPC stands for remote procedure call. It is generally one userspace processes communicating with another userspace process. For example, a user may use emacs to open a text file for editing. On the Hurd, glibc turns the C function call into appropriate RPC calls to ext2fs. It is important to remember that gnumach's IPC facilitates this communication between emacs and ext2fs (with the gnumach mach_msg () syscall).

It is also important to distinguish an RPC from a system call. A system call is always a userspace process requesting something from the kernel. An RPC is generally one userspace process requesting something from another userspace process, but it can also be from the kernel. Devices, for instance, can live both in the kernel or in userspace processes, RPCs are used to discuss with them in both cases.

See Also