October 2017
Intermediate to advanced
586 pages
14h 8m
English
Let's focus on the lower level allocator, which allocates pages of memory. The kernel will report allocation of frame pages (physical pages) until really necessary (when those are actually accessed, by reading or writing). This on-demand allocation is called lazy allocation, eliminating the risk of allocating pages that will never be used.
Whenever a page is requested, only the page table is updated, in most cases a new entry is created, which means only virtual memory is allocated. Only when you access the page is an interrupt called a page fault raised. This interrupt has a dedicated handler, called the page fault handler, and is called by the MMU in response to an attempt to access virtual memory ...