美文网首页
物理地址,逻辑地址,线性地址,虚拟地址,有效地址

物理地址,逻辑地址,线性地址,虚拟地址,有效地址

作者: CODERLIHAO | 来源:发表于2020-09-07 16:48 被阅读0次

物理地址

物理地址就是物理内存真正的地址,相当于内存中每个存储单元的门牌号,具有唯一性。不管在什么模式下,不管什么虚拟地址、线性地址,CPU最终都要以物理地址去访问内存,只有物理地址才是内存访问的终点站。
在实模式下,“段基址 + 段内偏移地址”经过段部件的处理,直接输出的就是物理地址,CPU可以直接用此地址访问内存。

线性地址与虚拟地址

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

有效地址与逻辑地址

无论在实模式或是保护模式下,段内偏移地址又称为有效地址,也称为逻辑地址,这是程序员可见的地址。这是因为,最终的地址是由段基址和段内偏移地址组合而成的。由于段基址已经有默认的啦,要么是在实模式下的默认段寄存器中,要么是在保护模式下的默认段选择子寄存器指向的段描述符中,所以只要给出段内偏移地址就行了,这个地址虽然只是段内偏移,但加上默认的段基址,依然足够有效。


相关文章

  • 一篇文章教你,Linux内存管理原理

    本文以32位机器为准,串讲一些内存管理的知识点。 1. 虚拟地址、物理地址、逻辑地址、线性地址 虚拟地址又叫线性地...

  • 物理地址,逻辑地址,线性地址,虚拟地址,有效地址

    物理地址 物理地址就是物理内存真正的地址,相当于内存中每个存储单元的门牌号,具有唯一性。不管在什么模式下,不管什么...

  • Linux原理解析——内存寻址

    ①内存地址表示方法 内存地址分为三种,分别为逻辑地址、线性地址(虚拟地址)、物理地址 逻辑地址:由段地址与偏移地址...

  • 虚拟地址、逻辑地址、线性地址、物理地址

    虚拟地址指由程序产生的由段选择符和段内偏移地址组成的地址。 逻辑地址指由程序产生的段内偏移。有时候直接把逻辑地址当...

  • linux内存

    1 内存寻址 1.1 物理地址、虚拟地址以及线性地址 物理地址: 物理内存的内存单元地址 虚拟地址: 程序员看到的...

  • 地址空间

    地址空间是所有可用资源的集合,地址空间可以划分为物理地址空间和虚拟地址空间(也称线性地址空间)。 物理地址空间 硬...

  • linux进程内存相关

    linux内存寻址 3种地址:虚拟地址、物理地址、逻辑地址物理地址:内存的电路地址,对应内存地址线上的高低电平,物...

  • 内核地址空间及高端内存映射的总结

    内核地址空间 逻辑地址->线性地址->物理地址 8086 物理地址 = 段地址左移4位 + 段内偏移量这种方式的寻...

  • 内核地址空间

    设计 权限 注意:地址空间是由虚拟地址组成的。 设计 直接映射部分特征:资源的虚拟地址等于物理地址;包括:CLIN...

  • 20 内存管理上

    内存管理包括物理地址和虚拟地址 用户态进程使用虚拟地址,内核态大部分也使用虚拟地址。 虚拟空间分为内核空间和用户空...

网友评论

      本文标题:物理地址,逻辑地址,线性地址,虚拟地址,有效地址

      本文链接:https://www.haomeiwen.com/subject/cfrlektx.html