如果你跟我一样,对程序的逻辑地址,线性地址,物理地址的概念以及它们之间的转换,尤其是转换有点晕晕乎乎的,那就好好理解下面这段ZZ:《Linux内核完全注释》 虚拟地址:由程序产生的由段选择符和段内偏移地址两个部分组成的地址。因为这两部分组成的地址并没有直接用来访问物理内存,而是需要通过分段地址变换机制处理或映射后才能对应到物理内存地址上,因此这种地址被称为虚拟地址。虚拟地址空间由GDT映射的全局地址空间和由LDT映射的局部地址空间组成。
线性地址是虚拟地址到物理地址变换之间的中间层,是处理器可寻址的内存空间中的地址。程序代码会产生逻辑地址,或者说是段中的偏移地址,加上相应段基地址就生成了一个线性地址。如果启用了分页机制,那么线性地址可以再经变换以产生一个物理地址。若没有采用分页机制,那么线性地址直接就是物理地址。
物理地址值指出现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果。其实说白了,就是你要访问的house的真正的门牌号。
阅读(853) | 评论(0) | 转发(0) |