As we have talked about in the preceding chapter, and as seen in Figure 7.5, it's really critical to understand that all processes have their own unique user VAS but share the kernel space – what we call the kernel segment or kernel VAS. Let's begin this section by starting to examine some common (arch-independent) regions of the kernel segment.
The kernel segment's memory layout is very arch (CPU)-dependent. Nevertheless, all architectures share some commonalities. The following basic diagram represents both the user VAS and the kernel segment (in a horizontally tiled format), as seen on an x86_32 with a 3:1 VM split:
Figure 7.10 – User and kernel VASes on an x86_32 with a 3:1 VM split with focus on the lowmem region
Let's go over each region one by one:
- The user mode VAS: This is the user VAS; we have covered it in detail in the preceding chapter as well as earlier sections in this chapter; in this particular...