In this chapter, we will broadly be looking at how the Linux kernel manages memory in two ways:
- The virtual memory-based approach, where memory is virtualized (the usual case)
- A view of how the kernel actually organizes physical memory (RAM pages)
First, let's begin with the virtual memory view, and then discuss physical memory organization later in the chapter.
As we saw earlier in the previous chapter, in the Understanding the basics of the process Virtual Address Space (VAS) section, a key property of the process, VAS, is that it is completely self-contained, a sandbox. You cannot look outside the box. In Chapter 6, Kernel Internals Essentials – Processes and Threads, Figure 6.2, we saw that the process VAS ranges from virtual address 0 to what we simply termed the high address. What is the actual value of this high address? Obviously, it's the highest extent of the VAS and thus depends on the number of...