x_j_ting
驱动牛犊
驱动牛犊
  • 注册日期2003-03-30
  • 最后登录2005-06-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3447回复:13

我想知道每个驱动程序是一个单独的进程,还是属于其它的进程?

楼主#
更多 发布于:2003-11-04 21:19
我想知道每个驱动程序是一个单独的进程,还是属于其它的进程?
我编写的一个驱动程序是一个单独的进程还是属于其它的一个进程 啊,请指点。

最新喜欢:

hunterforpighunter...
bangh
驱动牛犊
驱动牛犊
  • 注册日期2003-03-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分57分
  • 威望75点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-11-04 22:33
我觉得, 工作在 内核的时候,
无所谓,进程概念.
你如果真的要说 进程, 那就是 系统中的 调度进程( 包括 CPU 及内存) 还有其他的 文件系统进程等.
你想 一想, 驱动一直 回调 及 中断调用中. 只是相当于 系统中的一个 子函数一样.

呵呵.不过, 我也不清楚具体的. 我想是这样吧.
是我个人的 了解.
x_j_ting
驱动牛犊
驱动牛犊
  • 注册日期2003-03-30
  • 最后登录2005-06-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-11-05 13:07
我感觉你说的挺有道理的,如果他是作为一个函数的话,那么在驱动程序里调用IoGetCurrentProcess返回的是哪一个进程的句柄呢?
是返回调用她的那个进程的句柄吗?
例如,我用我写的一个用户程序调用我写的一个驱动程序(通过DeviceIoControl(..)),我在处理IRP时,调用IoGetCurrentProcess返回的句柄是我的这个用户程序的句柄吗?
wywwwl
驱动大牛
驱动大牛
  • 注册日期2002-08-16
  • 最后登录2018-04-07
  • 粉丝1
  • 关注0
  • 积分-10分
  • 威望135点
  • 贡献值6点
  • 好评度76点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-11-05 13:42
是不是应该吧中断的级别考虑进去啊!
琢磨悟真知
bangh
驱动牛犊
驱动牛犊
  • 注册日期2003-03-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分57分
  • 威望75点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-11-05 14:16
我感觉你说的挺有道理的,如果他是作为一个函数的话,那么在驱动程序里调用IoGetCurrentProcess返回的是哪一个进程的句柄呢?
是返回调用她的那个进程的句柄吗?
例如,我用我写的一个用户程序调用我写的一个驱动程序(通过DeviceIoControl(..)),我在处理IRP时,调用IoGetCurrentProcess返回的句柄是我的这个用户程序的句柄吗?


呵呵.那肯定的.
bangh
驱动牛犊
驱动牛犊
  • 注册日期2003-03-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分57分
  • 威望75点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-11-05 14:17
我感觉你说的挺有道理的,如果他是作为一个函数的话,那么在驱动程序里调用IoGetCurrentProcess返回的是哪一个进程的句柄呢?
是返回调用她的那个进程的句柄吗?
例如,我用我写的一个用户程序调用我写的一个驱动程序(通过DeviceIoControl(..)),我在处理IRP时,调用IoGetCurrentProcess返回的句柄是我的这个用户程序的句柄吗?


那肯定的.
x_j_ting
驱动牛犊
驱动牛犊
  • 注册日期2003-03-30
  • 最后登录2005-06-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-11-08 12:44
我还是不明白返回的到底是什么啊?
overlook
驱动牛犊
驱动牛犊
  • 注册日期2003-11-08
  • 最后登录2003-11-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-11-08 20:50
应该是单独的进程。
进程的除了能够共享CPU以外,还有在内存中自己单独的数据空间和程序空间。
bangh
驱动牛犊
驱动牛犊
  • 注册日期2003-03-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分57分
  • 威望75点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-11-10 09:37
应该是单独的进程。
进程的除了能够共享CPU以外,还有在内存中自己单独的数据空间和程序空间。


老大, 驱动可是工作在内核级的.
跟 OS 是 同一个 数据空间和程序空间 的.

monkeyy
驱动中牛
驱动中牛
  • 注册日期2001-12-06
  • 最后登录2010-10-10
  • 粉丝0
  • 关注0
  • 积分315分
  • 威望84点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-11-10 12:59
我想在OS中间就已经没有进程的概念了,进程实际上存在于资源分配单位的环境中,但是在OS的空间所有的资源是都能访问的,所以在了HookRegister这中方法的存在。我总觉得驱动是否是进程并不重要,因为在驱动中要涉及的资源共享问题就不象应用程序那么复杂!

听说老虎会吃人,所以从没想过去摸老虎的屁股。:( :(
fulsz
驱动牛犊
驱动牛犊
  • 注册日期2003-03-29
  • 最后登录2004-09-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-11-30 17:22
感觉很象DLL一样,不能够简单的看成一个函数。我认为可以看成一个进程。
希望高手给个肯定的答复。帮你顶一下,顺便灌点水。
天行健,君子以厚德载物; 地势坤,君子以自强不息。
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
11楼#
发布于:2003-11-30 18:14
可能属于system进程,可能属于任意(不确定的)进程,也可能属于调用的app的进程。

system空间对所有Win32进程都是一样。
Nemesis2k
驱动牛犊
驱动牛犊
  • 注册日期2002-03-29
  • 最后登录2004-10-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-12-02 21:04
驱动程序不是进程,DDK里说,驱动程序的代码可以运行在
任意的上下文(Context)。但是驱动程序可以创建系统线程
(用 PsCreateSystemThread),所有的系统线程属于同一
进程(System 进程,这个进程的地址空间只包括系统空间)
。。。
else
驱动小牛
驱动小牛
  • 注册日期2002-10-21
  • 最后登录2004-06-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-12-02 23:40
谁调用的时候就在谁的进程里面
游客

返回顶部