首页
论坛
课程
招聘
80386的分页寻址机制中,cr3寄存器中保存的地址是线性地址吗?
2005-8-13 23:05 5368

80386的分页寻址机制中,cr3寄存器中保存的地址是线性地址吗?

2005-8-13 23:05
5368
80386的分页寻址机制中,cr3寄存器中保存的是当前活动进程的页目录地址,请问这个地址是线性地址还是物理地址?页目录的每个成员中保存的页表的地址是线性地址还是物理地址?我设想了一下:如果他们都是物理地址还可以理解,但如果是线性地址,那么为了寻找该线性地址又得使用80386的分页寻址的方式,这样不就陷入了死循环中了吗?所以我认为cr3寄存器和页目录的每个成员中使用的是物理地址,但为什么书上说是线性地址呢?大家呢明白我的意思吗?请前辈们不吝答疑,赐教,谢谢!

晚上又看看了看《Undocumented Windows NT》更晕了,以下摘自《Undocumented Windows NT》:
当页表范围中的线性地址被转换成物理地址时,处理器会做一系列有趣的动作。 我们假设 CR3 寄存器指向页 X。地址转换的第一步,处理器将页 X 作为页表目录并找到所给线性地址的页表。而页表恰巧又在页 X 内,处理器又将页 X 当作所需的页表并从中找到物理地址。 当操作系统自己访问页表目录时,会发生一种更有趣的情况,此时物理地址也在页 X 里!
――什么意思呀?请前辈们给解释解释!谢谢!

《0day安全 软件漏洞分析技术(第二版)》第三次再版印刷预售开始!

收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 200
活跃值: 活跃值 (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ANTI 活跃值 2005-8-14 12:47
2
0
没人回答?自己查了查资料。罗云彬的《win32汇编语言程序设计》中指出win32汇编中除了和cr3相关指令使用的是物理地址外,其他所有指令都是使用线性地址寻址。――这句话可以回答我的第一个问题,那么页目录的每个成员中保存的页表的地址是线性地址还是物理地址呢?
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4307 活跃值 2020-9-16 14:49
3
0
05年的贴子啊,在看实模式到保护模式,页目录表中的是线性地址。大佬我说的对不对
游客
登录 | 注册 方可回帖
返回