title: What is "the kernel address space"?
body: <p>From Understanding The Linux Kernel, here is some discussion about kernel thread vs user process i.e. regular process:</p>
  
  <blockquote>
    <p>Besides user processes, Unix systems include a few privileged
    processes called kernel threads with the following characteristics:</p>
    
    <p>• They run in Kernel Mode in <strong>the kernel address space</strong>.</p>
    
    <p>• They do not interact with users, and thus do not require terminal
    devices.</p>
    
    <p>• They are usually created during system startup and remain alive
    until the system is shut down.</p>
    
    <p>...</p>
    
    <p>In Linux, kernel threads differ from regular processes in the
    following ways:</p>
    
    <p>• Kernel threads run only in Kernel Mode, while regular processes run
    alternatively in Kernel Mode and in User Mode.</p>
    
    <p>• Because kernel threads run only in Kernel Mode, they use only linear
    addresses greater than PAGE_OFFSET. Regular processes, on the other
    hand, use all four gigabytes of linear addresses, in either User Mode
    or Kernel Mode.</p>
  </blockquote>
  
  <p>I have heard about the virtual address space of a user process i.e. regular process, and <a href="https://stackoverflow.com/a/13014086/156458">a portion of the address space is mapped to the kernel code and data</a>.</p>
  
  <p>My Questions:</p>
  
  <ul>
  <li>I was wondering what "the kernel address space" in the above quote mean? </li>
  <li>Is it not the part of the virtual address space of a user process? </li>
  <li>Does it mean that the kernel have its own virtual address space, just like a user process has its own virtual address space?</li>
  </ul>