CPU内存管理机制:分页和分段。
3种地址以及他们之间的变换概念:
1.逻辑地址:程序产生的与段相关的偏移地址部分。在Intel保护模式下就是指程序执行代码段限长内的偏移地址(假定代码段、数据段完全一样)。应用程序员仅需要与逻辑代码打交道。
2.线性地址:逻辑地址到物理地址的中间层。如果启用了分页机制,那么线性地址可以再经变换以产生一个物理地址。若没采用分页机制,那么线性地址就是物理地址。Intel80386的线性地址空间容量为4G。
3.物理地址:出现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果地址。如果启用了分页机制,那么线性地址会使用页目录和页表中的项变成物理地址。
虚拟地址:计算机呈现出比实际内存大得多的内存量。在Linux0.11内核中,给每个程序都划分了总容量为64M的虚拟内存地址(从内核0.99版以后,每个进程可单独享用整个4G的地址空间范围),因此程序的逻辑地址范围是0x0000000到0x4000000。有时我们也把逻辑地址称为虚拟地址。逻辑地址也是与实际物理内存容量无关。
分段机制:一个程序的逻辑地址是通过分段机制自动地映射到中间层的线性地址上。