一文剖析 Linux 内核的内存管理
内存管理的核心任务是对物理内存进行有效组织,包括内存的分配和回收。然而,在Linux系统中,引入了虚拟地址的概念,这对内存管理带来了一些新的变化。
Linux系统中的内存管理涉及物理内存的组织、虚拟地址的作用和如何组织虚拟地址。物理内存按照页面、区域和节点组织,内存分配分为大内存和小内存分配。虚拟地址对应虚拟空间,用户态和内核态分别分配虚拟空间。虚拟地址通过页表映射为物理地址,TLB用于缓存虚拟地址和物理地址的映射。虚拟内存将硬盘中的swap分区作为虚拟内存,可以运行更大内存的程序。用户空间只能映射用户内存,内核空间只能被内核使用。