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