title: what is real use of /dev/kmem char device in linux?
body: <p>From last few days, I was trying to understand the exact difference between <code>/dev/mem</code> and <code>/dev/kmem</code> devices. From different sources, only thing I got to know is that when we try to read from these devices <code>read_mem()</code> and <code>read_kmem()</code> API are called respectively.</p>
  
  <pre><code>read_mem(): reads the *physical* memory 
  read_mem(): reads the *virtual* memory as seen by the kernel.
  </code></pre>
  
  <p>I am eager to know what is the sole purpose of <code>/dev/kmem</code>, in what use-cases we can use this. <code>regdump</code> is one examplewhere <code>/dev/mem</code> is useful. But couldn't find the usefulness of <code>/dev/kmem</code>.</p>
  
  <p>can someone list or share some useful information regarding the <code>dev/kmem</code> char device ?</p>