From c4ad3f73033c7e0511c3e7df961e1232cc503478 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 26 Feb 2014 12:32:06 +0100 Subject: IRC. --- system_call.mdwn | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) (limited to 'system_call.mdwn') diff --git a/system_call.mdwn b/system_call.mdwn index 16d706c7..45ed9dbe 100644 --- a/system_call.mdwn +++ b/system_call.mdwn @@ -1,4 +1,5 @@ -[[!meta copyright="Copyright © 2010, 2013 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2010, 2013, 2014 Free Software Foundation, +Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -33,3 +34,45 @@ system call is implemented (primarily by means of [[RPC]]) inside [[glibc]]. provide system services e.G. open() is a call to a file system server (and maybe several actually) + + +# IRC, freenode, #hurd, 2013-11-02 + + how do system calls work in the hurd? + is it like in linux + yes and no + you set the number in %eax and then in0x80? + int, even + no + but that's really a detail + I'm just curious how the flow goes + gnumach uses call gates, not interrupt gates + but that's just another way to enter the kernel + the mechanism itself is almost irrelevant, it matters only for + performances + ah + what's truely interesting is that there are very few system calls + so it goes straight to gnumach, which then figures out where to + relay the call to? + the main one being mach_msg + yes + one of the arguments to mach_msg is the name of a right + (as file descriptors are names for open files) + hmm okay, so we get to the kernel, go to a kernel server (one + context switch), then get back to the calling process, and that's 2 + context switches per system call? + a receive right or send right + no + if you send-recv, it's only one + but i'm not sure we do that on the hurd + again, that's a detail + what is send-recv? + send and receive in the same system call + hmm + then, we also use system calls to denote the unix-like RPCs of the + hurd + i mean + i also call them system calls + for example, read, write, stat, etc.. + I see + braunr: thanks -- cgit v1.2.3