Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You should not care about what happenning in that case, and on current Linux deskops &amp; laptops it is an improbable case (because usually the kernel steals page from the filesystem cache).</p> <p>When a new program is started with the <a href="http://man7.org/linux/man-pages/man2/execve.2.html" rel="nofollow">execve(2)</a> syscalls, new memory mappings are set up (as if nearly done by <a href="http://man7.org/linux/man-pages/man2/mmap.2.html" rel="nofollow">mmap(2)</a>), possibly with <a href="http://en.wikipedia.org/wiki/Copy-on-write" rel="nofollow">copy-on-write</a> mechanism. Once the program is accessing them, the kernel will page-fault and ultimately load the page in physical RAM. It may have to choose which pages should be stealed. If they are dirty, it has to write them to some swap zone (or to some <code>mmap</code>-ed file if the mapping is <code>MAP_SHARED</code>). Otherwise, it just reuses them (and reassign the physical pages). </p> <p>If all memory resources are used, <a href="http://maboelnour.wordpress.com/2011/09/16/memory-overcommit-in-linux-memory-management/" rel="nofollow">memory overcommit</a> may happen</p> <p>The <a href="http://en.wikipedia.org/wiki/Memory_management_unit" rel="nofollow">MMU</a> is used by the <a href="http://en.wikipedia.org/wiki/Linux_kernel" rel="nofollow">linux kernel</a> for <a href="http://en.wikipedia.org/wiki/Virtual_memory" rel="nofollow">virtual memory</a> management. Applications see on some virtual <a href="http://en.wikipedia.org/wiki/Address_space" rel="nofollow">address space</a> (look into <code>/proc/</code> e.g. with <code>cat /proc/self/maps</code> to understand it).</p> <p>The MMU is doing the virtual to physical address translation and is giving page faults. The kernel is responsible for configuring the MMU (i.e. setting up the virtual address space translation mechanism) and for handling page faults (which are usually invisible to the application -e.g. because the kernel would fetch a page from the disk, the filesystem or the swap area-, except as the <code>SIGSEGV</code> signal which occurs when a "non-existent" page is accessed). </p> <p><sup>please take time to read all the links given here.</sup></p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload