段页式内存管理中的逻辑地址、线性地址、物理地址和虚拟内存

  • 逻辑地址(Logical Address)

逻辑地址是指程序产生的与段相关的段内偏移地址。

例如,在C语言编程中读取的指针变量本身的值就是逻辑地址(也就是程序可以看到的地址)。逻辑地址是相对于你当前程序数据段的地址,和物理地址无关。只有在Intel实模式下,逻辑地址才和物理地址相等。在Intel保护模式下,逻辑地址就是程序执行代码段内的偏移地址。

这是应用程序中可以看到的地址,分段和分页机制对应用程序员来说完全是透明的。

  • 线性地址(Linear Adderss)

线性地址是逻辑地址到物理地址变换的中间层(如果没有分页机制,线性地址就是物理地址)。

程序代码会产生逻辑地址,或者说是段内偏移地址,加上相应的段基址就是线性地址。如果启用了分页机制,那么线性地址经过页目录和页表进行变换,就可以转变成物理地址。在没有启用分页机制的情况下,线性地址就是物理地址。

  • 物理地址(Physical Address)

物理地址是指CPU外部总线上的寻址物理内存的地址信号,是所有地址变换的最终结果。如前所述,启用了分页机制时,线性地址通过页目录和页表中的项变换成物理地址。如果没有启用分页机制,那么线性地址就是物理地址。

转载于:https://www.cnblogs.com/chenglei/archive/2009/08/09/1542416.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值