title: System call without context switching?
body: <p>I was just reading up on how linux works in my OS-book when I came across this..</p>
  
  <blockquote>
    <p>[...] the kernel is created as a single, monolitic binary. The main reason is to improve performance. Because all kernel code and data structures are kept in a single address space, no context switches are necessary when a process calls an operating-system function or when a hardware interrup is delivered.</p>
  </blockquote>
  
  <p>That sounded quite amazing to me, surely it must store the process's context before running off into kernel mode to handle an interrupt.. But ok, I'll buy it for now. A few pages on, while describing a process's scheduling context, it said:</p>
  
  <blockquote>
    <p>Both system calls and interrups that occur while the process is executing will use this stack.</p>
  </blockquote>
  
  <p>"this stack" being the place where the kernel stores the process's registers and such.</p>
  
  <p>Isn't this a direct contradiction to the first quote? Am I missinterpreting it somehow?</p>