物理地址逻辑地址虚拟地址(程序中物理地址)(1)

18号,如果不认识她,我也不解释了

在计算机中经常听到程序中有这几种地址类型,这是程序员甚至所有IT工程师容易搞错的事情。

物理地址就是物理内存真正的地址,相当于内存中每个存储单元的门牌号,具有唯一性。不管在什么模式下,不管什么虚拟地址,线性地址,cpu最终都要以物理地址去访问内存,只有物理地址才是内存访问的终点站。

在实模式下,“段基址 段内偏移地址”经过段部件的处理,直接输出的就是物理地址,cpu可以直接用此地址访问内存。

而在保护模式下,“段基址 段内偏移地址”称为线性地址,不过,此时的段基址已经不再是真正的地址了,而是一个称为选择子的东西。它本质是个索引,类似于数组下标,通过这个索引便能在GDT中找到相应的段描述符,在该描述符中记录了该段的起始、大小等信息,这样便得到了段基址。若没有开启地址分页功能,此线性地址就被当做是物理地址来用,可直接访问内存。若开启了分页功能,此线性地址又多了一个名字,就是虚拟地址。(虚拟地址,线性地址在分页机制下都是一回事)虚拟地址要经过cpu页部件转换成具体的物理地址后,这样cpu才能将其送上地址总线去访问内存。

图0-5 虚拟地址、物理地址等

以上是我们做IT行业的工程师容易搞不清楚的问题,程序员需要对此了解。

如果我没说清楚,问。

,