LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 865|回复: 4

386段描述符的疑问

[复制链接]
发表于 2006-3-24 21:32:57 | 显示全部楼层 |阅读模式
今天找了一本LINUX内核方面的书看了看,上面有关于I386段描述符表的解释:
段基址:由描述符表的第2,3,4,7共四个字节组成;
段界限:由描述符表的第0,1字节和第6字节的低四位组成;
段类型:有第5字节的低4位组成…………

小生疑惑了,为什么段基址、段界限和段类型不是连续的7个字节,而断断续续的分成了几个部分? 这样做的用意是什么? 哪位好心的大哥解惑   感激不尽!
发表于 2006-3-25 11:34:39 | 显示全部楼层
是考虑到兼容性。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-25 11:42:23 | 显示全部楼层
是为了向下兼容?
回复 支持 反对

使用道具 举报

发表于 2006-3-25 16:27:24 | 显示全部楼层
Post by enov_sir
今天找了一本LINUX内核方面的书看了看,上面有关于I386段描述符表的解释:
段基址:由描述符表的第2,3,4,7共四个字节组成;
段界限:由描述符表的第0,1字节和第6字节的低四位组成;
段类型:有第5字节的低4位组成…………

小生疑惑了,为什么段基址、段界限和段类型不是连续的7个字节,而断断续续的分成了几个部分? 这样做的用意是什么? 哪位好心的大哥解惑   感激不尽!


描述符是是长8个字节的。至于为什么段界限与基地址为什么这样分布在这8字节中,是intel限定的。因为描述符最后也会被装CPU中缓存中,并不是只存放在内存上。

这样的分布是为了兼容286处理器,你可以查找286有关描述符定义看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-26 18:54:52 | 显示全部楼层
Post by is02bing
描述符是是长8个字节的。至于为什么段界限与基地址为什么这样分布在这8字节中,是intel限定的。因为描述符最后也会被装CPU中缓存中,并不是只存放在内存上。

这样的分布是为了兼容286处理器,你可以查找286有关描述符定义看看



谢谢,我也知道是intel这样限定的,只是不明白他们这样做有什么好处

不过对于使用他们的cpu的我们只能接受,一直以为段描述符是在386出现保护模式之后才出现的,看起来真应该在多看些专业书籍了

再次感谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表