Page faults occurs when the process tries to access a memory that isn’t backed by a physical page kernel raises a fault which loads a page. It happens on first access, stack expansion, COW, swap and much more. However it comes with a cost.
In this episode of the backend engineering show I dissect the need and the cost page faults in the kernel.
0:00 Intro
4:00 Virtual memory
Abstraction of physical memory
Memory sharing
Allow more processes to run , unused go to disk
Numa, kernel can place memory near the cpu
12:00 VMA areas
Text/code
Data
BSS
Heap
Stack
19:50 Kernel mode
25:30 What is a Page fault?
30:30 First access page fault
33:00 Stack Expansion page fault
34:30 CoW page fault
38:00 Swap page fault
39:39 File backed page fault
40:29 Permission page fault
45:30 Summary