这一个系列将会详细的介绍 Linux kernel 内存管理机制。

使用特定内存地址就可以访问某一块内存单元,为了实现有效的寻址,操作系统将一系列繁琐的操作隐藏了起来,内存地址按照不同的抽象层次分为如下三种:

  1. Logical address: 标识运算符或者程序指令的地址,由段号 (segment selector) 和偏移量 (offset) 组成。
  2. Linear address: 32位的无符号整型数,可以用来表示最大4GB地址空间。
  3. Physical address:内存物理单元的地址。

CPU 控制单元通过 Segmentation Unit 将 Logical address 转换为 Linear address,而后,再通过 paging unit 将 linear address 转换为 physical address,至此,特定地址的访问行为完成。

Segmentation Unit

Read more »