title: How does virtual to pyhsical memory mapping work
body: <p>Im currently trying to understand systems programming for Linux and have a hard time understanding how virtual to physical memory mappings work.</p>
  
  <p>What I understand so far is that two processes <code>P1</code> and <code>P2</code> can make references to the same virtual adress for example <code>0xf11001</code>. Now this memory adress is split up into two parts. <code>0xf11</code> is the page number and <code>0x001</code> is the offset within that page (assuming 4096 page size is used). To find the physical adress the MMU has hardware registeres that maps the pagenumber to a physical adress lets say <code>0xfff</code>. The last stage is to combine <code>0xfff</code> with <code>0x001</code> to find the physical <code>0xfff001</code> adress. </p>
  
  <p>However this understanding makes no sens, the same virtual adresses would still point to the same physical location??? What step is I missing inorder for my understanding to be correct???</p>