物理地址和逻辑地址?那么,物理地址和逻辑地址?一起来了解一下吧。
物理地址是加载到内存地址寄存器中的地址,是内存单元的真正地址。它具有以下特点:
明确性与唯一性:在前端总线上传输的内存地址都是物理内存地址,编号从0开始一直到可用物理内存的最高端,是明确且唯一的最终用在总线上的编号,不必转换、分页,也没有特权级检查。
与内存条的映射关系:这些数字被北桥(Nortbridge chip)映射到实际的内存条上,直接对应内存模块中每个存储单元(通常是字节)的唯一标识符,通常以十六进制表示,确定了计算机中的实际内存位置。
逻辑地址是CPU所生成的地址,主要有以下特性:
内部和编程使用:逻辑地址是内部和编程使用的,并不唯一。例如在C语言指针编程中,读取指针变量本身值(&操作)得到的就是逻辑地址,它是相对于当前进程数据段的地址(偏移地址),和绝对物理地址不相干。
灵活性与直观性:逻辑地址分配更加灵活,可以允许不唯一,看起来也较为直观。例如一段代码中分配数组,逻辑地址上是连续的,但在物理地址上,这个数组所占用的页可能分散开来,物理地址就是不连续的。另外,有了逻辑地址这个概念,才能使用虚拟内存技术。
逻辑地址的组成(部分情况):在有地址变换功能的计算机中,一个逻辑地址由两部份组成,即段标识符(由一个16位长的字段组成,称为段选择符,前13位是个索引号,后面3位包含一些硬件细节)和段内偏移量。
映射关系:在内存管理中,操作系统根据自己的算法,将逻辑地址转换为物理地址,使得程序能够正常地读取和写入内存中的数据。它们相互对应,但并不相等,中间需要经过地址映射过程,这个过程由操作系统负责实现,以更好地控制数据的存取、保护内存安全等。
以上就是物理地址和逻辑地址的全部内容。