diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2013-07-11 15:45:57 -0400 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2013-07-11 15:53:52 -0400 |
commit | 65efe654a9cb0b682efa9bf21065469a2e9147f4 (patch) | |
tree | 07068fa2e54507756a239249fe894434c6920f27 /system_call.mdwn | |
parent | 3e3b91314fbdb9cead42b46ca8a0b5affcd7253a (diff) | |
parent | 9667351422dec0ca40a784a08dec7ce128482aba (diff) |
Merge remote-tracking branch 'fp/master'
Diffstat (limited to 'system_call.mdwn')
-rw-r--r-- | system_call.mdwn | 15 |
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) |