Reply to post: Re: Non-GPL feature @FIA

Linux kernel community tries to castrate GPL copyright troll

Peter Gathercole Silver badge
Boffin

Re: Non-GPL feature @FIA

I've not looked in to the details of Linux in particular (I should really), but on real UNIX systems, it is quite possible for the system call to run under the process context of the calling process without a context switch (in fact for the PDP11 running AT&T/Bell UNIX, it was essential).

I know of at least four different methods that the system call mechanism itself operates (PDP11, s370, SPARC and Power). The main problems are the way that the user and kernel address spaces work, the way that the system call arguments are passed, and whether the system needs to take a context switch as part of the call.

With ancient UNIXes on uniprocessors (PDP11 and s370), the system call had to be non-interruptable, which meant that it was possible to just switch the address mapping within the same process context. This originally made it a cinch to work out the system time that the process used. Less ancient UNIXes with pre-emptable system calls, multi-thredded processes and thread safe system calls had to include a lot of code to handle context saves and saving the timer values as part of the syscall interface.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon