首页
社区
课程
招聘
[旧帖] [求助]《驱动开发详解》中不解之处 0.00雪花
发表于: 2010-12-9 13:01 1171

[旧帖] [求助]《驱动开发详解》中不解之处 0.00雪花

2010-12-9 13:01
1171
该书第222页中写道“用户模式的代码是运行在最低优先级的PASSIVE_LEVEL级别。驱动程序的DriverEntry函数、派遣函数、AddDevice等函数一般都运行在PASSIVE_LEVEL级别,它们在必要时可以申请进入DISPATCH_LEVEL级别。”

我查看DDK的帮助上写着:
A driver's DriverEntry routine executes in a system thread context at IRQL = PASSIVE_LEVEL.

但是为什么用户模式代码也运行在PASSIVE_LEVEL上?

问到问题可能比较弱,谢谢答复。

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 72
活跃值: (52)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
因为改变处理器的IRQL对操作系统有很大的影响,所以这种改变只能在内核模式下进行,用户模式不能改变处理器的IRQL,这就意味着,当处理器正在执行用户级别代码的时候,只能运行在passive_level上,只有处理器执行内核模式代码的时候,它的IRQL才能更高。

深入解析windows操作系统上的一段话
2010-12-9 13:47
0
雪    币: 596
活跃值: (449)
能力值: ( LV12,RANK:320 )
在线值:
发帖
回帖
粉丝
3
CPU特权级问题 PASSIVE_LEVEL是最低的级别,所以Ring3的代码要运行在这个级别上,级别越高说明CPU进入的核心层次越高,可以认为 驱动程序的DriverEntry函数、派遣函数、AddDevice等函数并没有进入真正意义上的内核,而是内核的上层管理层而已
2010-12-9 13:53
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
非常感谢两位的答复!!!
2010-12-9 15:45
0
游客
登录 | 注册 方可回帖
返回
//