summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Branson <jbranso@fastmail.com>2018-11-26 11:51:44 -0500
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-11-27 22:14:38 +0100
commitbc652bac4ffedfb0444100a027727a5ea9dcee75 (patch)
tree35bd136c68dfc6b170d5f359306ff5465c4309dd
parent28b24f2286a8fdea2670cfacbdd252a697dbb10f (diff)
I added mach_msg to the gnumach syscall page. I tried to add some more information to the rpc and syscall pages.
-rw-r--r--microkernel/mach/gnumach/interface/syscall.mdwn2
-rw-r--r--rpc.mdwn15
-rw-r--r--system_call.mdwn8
3 files changed, 21 insertions, 4 deletions
diff --git a/microkernel/mach/gnumach/interface/syscall.mdwn b/microkernel/mach/gnumach/interface/syscall.mdwn
index d5fc542..f470754 100644
--- a/microkernel/mach/gnumach/interface/syscall.mdwn
+++ b/microkernel/mach/gnumach/interface/syscall.mdwn
@@ -14,3 +14,5 @@ License|/fdl]]."]]"""]]
[[!map pages="microkernel/mach/gnumach/interface/syscall/* and !microkernel/mach/gnumach/interface/syscall/*/*"
show=title]]
+
+- [[mach_msg|https://www.gnu.org/software/hurd/gnumach-doc/Mach-Message-Call.html#Mach-Message-Call]]
diff --git a/rpc.mdwn b/rpc.mdwn
index 5fed0aa..7db5f10 100644
--- a/rpc.mdwn
+++ b/rpc.mdwn
@@ -9,7 +9,20 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]
-RPC stands for remote procedure call.
+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: one to send the message and one to receive
+the reply).
+
+It is also important to distinguish an RPC from a [[system call|system_call]].
+A system call, happens when a userspace process requests something of the kernel.
+An RPC is generally one userspace process requesting something from another
+userspace process.
+
+
# See Also
diff --git a/system_call.mdwn b/system_call.mdwn
index 45ed9db..d8a465b 100644
--- a/system_call.mdwn
+++ b/system_call.mdwn
@@ -10,11 +10,13 @@ is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]
In an [[UNIX]]-like system, a *system call* (*syscall*) is used to request all
-kinds of functionality from the operating system kernel.
+kinds of functionality from the operating system kernel. On GNU/Linux, glibc
+translates function calls to system calls by packing arguments appropriately
+and using that trap or syscall instruction.
A [[microkernel]]-based system typically won't offer a lot of system calls --
-apart from one central one, and that is *send message* -- but instead [[RPC]]s
-will be used instead.
+apart from one central one, and that is *send message* (mach_msg) -- but
+instead [[RPC]]s will be used instead.
See [[GNU Mach's system calls|microkernel/mach/gnumach/interface/syscall]].
In the [[GNU Hurd|hurd]], a lot of what is traditionlly considered to be a UNIX