mopyman
驱动牛犊
驱动牛犊
  • 注册日期2004-08-01
  • 最后登录2010-04-24
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望36点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1526回复:2

关于进程的用户态和核心态的疑问?

楼主#
更多 发布于:2007-11-15 09:32
     应用程序通过win32子系统提供的API接口来进行设备IO,当进行这样的调用的时候,进程会通过I/O管理器来调用设备驱动程序,进入核心态运行,这个时候是没有进程上下文切换的,也就是还在一个进程中,不过特权级发生了变化。我们知道进程有两种I/O模式,同步和异步。进程在发出调用请求后如果不能立刻得到满足,如果是同步调用,进程调度器会将进程挂起,等待I/O完成,如果是异步调用则进程调度器继续调度该进程。不管是哪种调用方式,代表进程执行I/O操作的驱动程序都在内核态执行。
     我的问题是:就算是我们认为的普通的单线程应用程序,如果执行异步I/O操作,也是有两个调度单元在接受调度(用户态和内核态),是否是可以认为它有两个线程呢?如果不是,为什么?
游客

返回顶部