summaryrefslogtreecommitdiff
path: root/system_call.mdwn
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2013-07-11 15:45:57 -0400
committerThomas Schwinge <thomas@codesourcery.com>2013-07-11 15:53:52 -0400
commit65efe654a9cb0b682efa9bf21065469a2e9147f4 (patch)
tree07068fa2e54507756a239249fe894434c6920f27 /system_call.mdwn
parent3e3b91314fbdb9cead42b46ca8a0b5affcd7253a (diff)
parent9667351422dec0ca40a784a08dec7ce128482aba (diff)
Merge remote-tracking branch 'fp/master'
Diffstat (limited to 'system_call.mdwn')
-rw-r--r--system_call.mdwn15
1 files changed, 15 insertions, 0 deletions
diff --git a/system_call.mdwn b/system_call.mdwn
index f180a79b..16d706c7 100644
--- a/system_call.mdwn
+++ b/system_call.mdwn
@@ -18,3 +18,18 @@ 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
system call is implemented (primarily by means of [[RPC]]) inside [[glibc]].
+
+
+# IRC, freenode, #hurd, 2013-06-15
+
+ <braunr> true system calls are always implemented the same way, by the
+ kernel, using traps or specialized instructions that enable crossing from
+ user to kernel space
+ <braunr> glibc simply translates function calls to system calls by packing
+ arguments appropriately and using that trap or syscall instruction
+ <braunr> on microkernel based systems however, true system calls are
+ normally used only for IPC
+ <braunr> so we also use the term syscall to refer to those RPCs that
+ provide system services
+ <braunr> e.G. open() is a call to a file system server (and maybe several
+ actually)