A page fault occurs if ...
A process generates an address within a segment's start and end and the segment permission allows the access (read/write), but the virtual page is not in memory.
Process virtual memory | |
---|---|
Process-specific data page tables, mm_structs, kernel stack |
|
Physical memory mapped into kernel's virtual memory |
|
Kernel code and data | |
User stack | |
Shared libraries | |
<-- brk | |
Heap | |
Uninitialized Data | |
Initialized Data | |
Program Text | |