The efficiency of memory management broadly sets the efficiency of the whole kernel. Casually managed memory systems can seriously impact the performance of other subsystems, making memory a critical component of the kernel. This subsystem sets all processes and kernel services in motion by virtualizing physical memory and managing all dynamic allocation requests initiated by them. The memory subsystem also handles a wide spectrum of operations in sustaining operational efficiency and optimizing resources. The operations are both architecture specific and independent, which mandates the overall design and implementation to be just and tweakable. We will closely look at the following aspects in this chapter in our effort to comprehend this colossal subsystem:
- Physical memory representation
- Concepts of nodes and zones
- Page allocator
- Buddy system...