免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2188 | 回复: 5
打印 上一主题 下一主题

关于处理器面向的地址和进程面向的地址的疑问? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-07 09:48 |只看该作者 |倒序浏览
“应用程序和进程能直接操纵的是映射到物理内存之上的虚拟线性地址,
但处理器执行程序面向的是实际的物理地址“
在处理器执行程序进行地址转化时
它从全局页目录表里读取值并计算的页表地址一定是实际的物理地址,肯定应该是小于3G的,
但若发生缺页异常进入缺页异常处理程序时,是不是进程就进入了内核态,
那此时处于内核态的进程产生的地址都得是大于3G的虚拟线性地址
,那末说想根据此时的页目录项内容 确定页表地址的话,一定得在其内容上加上3G才能找到对应的页表


我上面的想法对不对呢!!请掌握相关技术的大虾不吝赐教!!

论坛徽章:
0
2 [报告]
发表于 2006-11-07 14:18 |只看该作者
>但处理器执行程序面向的是实际的物理地址
这句不对, 处理器执行程序时, 也是用线性地址而不是物理地址。 处理器中有一个单元叫MMU, MMU包含分页单元, 还可能包含分段单元。 例如ia32就是都包含。

逻辑地址经过  分段单元 变成了线性地址; 线性地址经过 分页单元 变成了 物理地址。  汇编代码中也都是逻辑地址的。

>一定得在其内容上加上3G才能找到对应的页表
找页表的时候, 从不用计算的方法的。 而是直接读cpu的控制寄存器cr3, 它存放着顶级页目录

一时说不清楚, 搜搜www.linuxforum.net的内核版置顶贴吧

论坛徽章:
0
3 [报告]
发表于 2006-11-07 20:08 |只看该作者
我就是想知道,页表和页目录表项里的内容其实屏蔽了后12位页面标值为后,可以看作是物理地址,
这样对马?

论坛徽章:
0
4 [报告]
发表于 2006-11-07 20:09 |只看该作者
我就是想知道,页表和页目录表项里的内容其实屏蔽了后12位页面标值为后,可以看作是物理地址,
这样对不?

论坛徽章:
0
5 [报告]
发表于 2006-11-08 09:10 |只看该作者
页目录项高20是物理地址,我知道了,谢谢

论坛徽章:
0
6 [报告]
发表于 2008-08-08 12:48 |只看该作者

回复 #5 wuhuaguoshu 的帖子

是的。
但是如果页不在内存中就不是了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP