Summary

Here is a quick summary for you!

We have introduced the concept of paging as a solution to our challenge of virtualizing memory. Paging has many advantages over previous approaches (such as segmentation). First, it does not lead to external fragmentation, as paging (by design) divides memory into fixed-sized units. Second, it is quite flexible, enabling the sparse use of virtual address spaces.

However, implementing paging support without care will lead to a slower machine (with many extra memory accesses to access the page table) as well as memory waste (with memory filled with page tables instead of useful application data). We’ll thus have to think a little harder to come up with a paging system that not only works but works well. The next two chapters, fortunately, will show us how to do so.

Get hands-on with 1200+ tech skills courses.