免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234
最近访问板块 发新帖
楼主: rawa9999
打印 上一主题 下一主题

没见过这么垃圾的人,还当版主mik! [复制链接]

论坛徽章:
0
31 [报告]
发表于 2009-09-23 08:32 |只看该作者
呵呵,我承认这个确实是我找来的,你说是你写的,这个无法佐证,也不是你的博客,但是你为什么不贴出来让大家明白呢?
你说你写的你给大家讲解一下吧

论坛徽章:
0
32 [报告]
发表于 2009-09-23 08:55 |只看该作者
2007年2月的帖子
http://bbs.gd-emb.org/archive/?/t-8890.html

我贴这段源码的原因是为了辅助说明一下,64T跟GDT和LDT根本没关系。
你的博客有这段源码,要想证明你就发帖讲解一下。SB

论坛徽章:
0
33 [报告]
发表于 2009-09-23 08:57 |只看该作者
恩,关于表限我说错了。实际上我所说的LDT索引存放在LDTR寄存器中,不是GDTR的低16位,GDTR存放是表长度,这部分程序不可见,所以存放在哪用户也看不到这个过程:

LDTR寄存器 LDTR高速缓存
   15 0              47 16               15 0
选择符(16位) LDT表基址(32位)表限(16位表长度)

LDTR寄存器中的16位
Bit15~Bit3:选择子
Bit12:0表示GDT 1表示 LDT
Bit0~Bit1:处理器当前运行的级别--CPL,四个等级0、1、2、3

LDTR寄存器本质上是一个16位段寄存器,386段寄存器的最大可用选择是2^14而不是2^16
所以LDTR寄存器最大可选虚拟内存是2^14*4G=64T,这个跟GDT和LDT根本没关系。至于段
寄存器的剩余两位则表示CPL(CPU运行权限或级别)。终于把这个问题搞清楚了。欢迎不同观点。
---------------------
你批驳一下我的观点!

论坛徽章:
0
34 [报告]
发表于 2009-09-23 09:24 |只看该作者
从你的文章根本读不出64T的根本原因,以上是我的观点,根本跟那个源码是两码事,所以用---------------线分割。SB

论坛徽章:
0
35 [报告]
发表于 2009-09-23 09:50 |只看该作者
我仔细看了两段源码错误也一样,谁抄谁的?我的这段源码地址也忘记了,所以无法从时间上判断,大家可以分析一下在网上哪个版本应该是原版。即便是mik的是原版,他也没能从这个源码当中得出64T虚拟内存的结论。

[ 本帖最后由 rawa9999 于 2009-9-23 09:52 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP