title: The meaning of SUP bit in page tables
body: <p>One of the page table entry attributes is the SUP bit.
  I read in couple documents that:</p>
  
  <blockquote>
    <p>"if the SUP is set then only a process in kernel mode can access that page. Versus if it is not set then a process in user mode can access it."</p>
  </blockquote>
  
  <p>I find this statement confusing, because a process in kernel mode can be a process within which a user program is running or a kernel program (user process vs system process). So which does the statement refer to? Or is it both as long as the process is currently executing in kernel mode?</p>
  
  <p>If this statement refers also to processes within which a user program is running(user process), then we already know that memory access can only be made when the process switches into kernel mode, then there is no need to have the SUP bit.</p>
  
  <p>My guess is that the SUP bit is meant to say that this page is accessed only by system processes (excluding user processes running in kernel mode), but I am not sure as I don't have knowledge about how the kernel code is stored in memory and if it is paged and how.</p>