xzjfile
禁止发言
禁止发言
  • 注册日期2001-12-14
  • 最后登录2018-07-12
  • 粉丝0
  • 关注0
  • 积分6970分
  • 威望50721点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1850回复:11

用户态切到核心态时,选择符会变么?

楼主#
更多 发布于:2002-01-29 09:46
用户被禁言,该主题自动屏蔽!

最新喜欢:

jmzz003jmzz00...
Iamme
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-02-01 10:46
低手一问:选择符是什么意思?
Go,go ahead
blue
驱动大牛
驱动大牛
  • 注册日期2001-04-25
  • 最后登录2010-10-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望12点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-02-01 13:08
只有请xzjfile将选择符、段等等用English标注一下,我猜了半天也不明白。
xzjfile
禁止发言
禁止发言
  • 注册日期2001-12-14
  • 最后登录2018-07-12
  • 粉丝0
  • 关注0
  • 积分6970分
  • 威望50721点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2002-02-01 19:47
用户被禁言,该主题自动屏蔽!
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-02-01 21:19
从用户态切换到核心态,选择符肯定是变的,因为他们的级别不一样,用户态是RING3而核心态是RING0,所以核心态的选择符的低三位一般都是0,并且在核心态程序的IP值最高位为一
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-02-01 21:23
如果想搞清楚这些东西,建议学一学汇编语言,极其保护模式
Endymy
驱动牛犊
驱动牛犊
  • 注册日期2001-07-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-02-04 21:22
尤其在win98下用softice可以看得很清楚
核心态和用户态得选择子是不一样得
cquvc
驱动牛犊
驱动牛犊
  • 注册日期2002-02-01
  • 最后登录2002-04-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-02-05 12:43
核心程序运行在ring0级,用户程序运行在ring3级;当程序由ring3进入ring0,其选择符肯定要变,因为在选择子里有相当的位来限制其该段的访问级别;即是说,在GDT、IDT or LDT中的描述符,有64位(8个字节),在描述符里提供段基地址(32位),还有几位是专门用来限定大小和权限等,建议看一点关于保护模式方面的资料
xzjfile
禁止发言
禁止发言
  • 注册日期2001-12-14
  • 最后登录2018-07-12
  • 粉丝0
  • 关注0
  • 积分6970分
  • 威望50721点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
  • 社区居民
8楼#
发布于:2002-02-05 20:30
用户被禁言,该主题自动屏蔽!
chimian
驱动牛犊
驱动牛犊
  • 注册日期2002-02-10
  • 最后登录2002-04-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-02-11 10:25
两个选择符选中的那个内存区是一样的
tigerzd
驱动老牛
驱动老牛
  • 注册日期2001-08-25
  • 最后登录2004-12-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-02-20 09:00
不知你注意到没,ring0级的代码段只有0028,其数据段为0030,系统只使用这两个段;而ring3级级为其他段。ring3切换到ring0就是将其段改为0028或0030(相应的权限也改),是系统映射的。反之亦然。所以两者不可能有同一内存区。即使它们对应于同一物理地址,在ring0和ring3中其段名也不一样,访问的权限也不一样。

 
犯强汉者,虽远必诛! [img]http://www.driverdevelop.com/forum/upload/tigerzd/2002-12-13_sf10.JPG[/img]
WindThruEars
驱动老牛
驱动老牛
  • 注册日期2002-11-17
  • 最后登录2004-07-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-02-20 23:54
In user mode:
CS=0x1b, DS=SS=0x23, FS=0x3b

In kernel mode:
CS=0x8, DS=0x23, SS=0x10, FS=0x30

They share the same DS...
我是假耳朵
游客

返回顶部