一:概述
Linux 内核的内存管理子系统是操作系统内核的一个核心部分,负责有效地管理和分配系统内存(包括物理内存和虚拟内存)。内存管理的目标是保证系统能够高效且稳定地分配、使用和回收内存,同时提供隔离和保护,以确保不同进程不会相互干扰。
二: 相关概念介绍
1. 虚拟内存(Virtual Memory)
虚拟内存是操作系统提供给每个进程的一个抽象内存模型,它让每个进程都认为自己拥有一个连续且独立的内存空间,而实际的物理内存是由操作系统进行管理的。虚拟内存的核心目的是使得多个进程可以共享物理内存资源,同时避免相互干扰。
- 分页(Paging):虚拟内存将内存划分为固定大小的块,称为页(Page),每一页有一个对应的物理页面(Page Frame)。虚拟内存页通过页表(Page Table)映射到物理页面。
- 页面大小:通常页面的大小为 4KB,虽然不同的硬件平台可能会支持更大的页面,如 2MB、1GB 等。
2. 页表(Page Table)
页表是内核用来记录虚拟地址到物理地址之间映射的结构。每个进程都拥有一个独立的页表来描述其虚拟内存空间。页表