把逻辑地址转换为内存物理地址的过程称作“重定位”。程序发出的逻辑地址并不是数据或指令的真实存放地,但可以对这个地址进行转换来获得真实存放地的物理地址,相当于重新定位一次。
本教程操作环境:windows7系统、Dell G3电脑。
把逻辑地址转换为内存物理地址的过程称作“重定位”。
在程序运行时由中央处理单元生成的内容的地址称为逻辑地址。该地址也称为虚拟地址。当我们谈论逻辑地址时,我们指的是CPU分配给每个进程的地址,一个进程在内存中所处的实际地址与进程认为它所处的地址是不一样的。
每当 CPU 运行一个进程时,它都会为该进程分配一个特定的内存。此分配的内存空间位于 CPU 为进程生成逻辑地址。
在生成逻辑地址时,CPU 生成一个地址,程序将基地址与 CPU 生成的地址相加得到
逻辑地址 = 基地址 + CPU 生成地址
物理地址是进程及其内容放置在主内存或硬盘中的地址,是内存中的内存单元实际地址。该地址不能直接由用户程序访问或查看,因此需要将逻辑地址映射到该地址,以便借助显示位置而不是代码的指针进行访问
而程序发出的逻辑地址并不是数据或指令的真实存放地,但可以对这个地址进行转换来获得真实存放地的物理地址,相当于重新定位一次。
(MMU为内存管理单元)
简易理解:
逻辑地址就是相对地址,比如在1G的内存里分配1M的空间这1M空间中的第一个字节,就算是逻辑地址
在1G内存的100M的地方开始分配1M的空间,这时101M的第一个字节,这个就是指的物理地址,
再比如:有四个人要租房 ,房子的地址是XX街道XX号,这个地址就是实际的地址,是物理地址。房东将这四间房子进行编号1 2 3 4 号 。 这四人平时聊天会说自己住在几号房,这个就是逻辑地址,但实际地址还是XX街道XX号。
区别:
更多相关知识,请访问常见问题栏目!
以上是把逻辑地址转换为内存物理地址的过程称作什么的详细内容。更多信息请关注PHP中文网其他相关文章!