I/O管理器、驱动执行过程
来源:互联网 发布:appstore没法下载软件 编辑:程序博客网 时间:2024/04/28 13:19
1.应用程序向I/O管理器发出I/O操作请求(读、写等操作)。
2.I/O管理器通过建立一个IRP来分发I/O请求并把它传递给调用链中第一个驱动程序。
3.第一个驱动程序通过向第二个驱动程序发出I/O请求以便继续处理。
4.第二个驱动程序通过向第三个驱动程序发出I/O请求以便继续处理。
5.第三个驱动程序完成I/O操作。它调用IoCompleteRequest()函数并开始执行I/O完成的第一阶段。
6.在第一阶段执行期间,第二个驱动程序的完成例程(如果有的话)会被回调。
7.在第一阶段执行期间,第一个驱动程序的完成例程(如果有的话)会被回调。
8.接下来,IoCompleteRequest()函数会把控制权返回给第三个驱动程序。I/O完成的第一阶段处理结束。
9.第三个驱动程序把一个状态值(例如,SUCCESS)返回给第二个驱动程序。
10.第二个驱动程序把一个状态值返回给第一个驱动程序。
11.第一个驱动程序把一个状态值返回给I/O管理器。
12.I/O管理器注意到必须执行I/O完成的第二阶段,并开始执行。
13.第二阶段I/O完成例程返回I/O操作的状态信息并把数据拷贝到应用程序的地址空间中。一旦完成了这些操作,I/O管理器拆除IRP并将其丢弃。
14.第二阶段I/O完成例程把控制权返回给I/O管理器。
15.现在,I/O操作已经完成,I/O管理器把控制权返回给调用者。
0 0
- I/O管理器、驱动执行过程
- I/O管理器、驱动执行过程
- I/O管理器执行IO完成
- linux驱动-I/O
- I/O处理过程
- I/O管理器及IRP缓冲区管理
- I/O管理器及IRP缓冲区管理
- I/O管理器及IRP缓冲区管理
- I/O管理器及IRP缓冲区管理
- I/O管理器及IRP缓冲区管理
- i++,i--,++i,--i执行过程
- 设备驱动 I/O内存
- 信号驱动I/O实例
- 事件驱动I/O模型
- Performing Classic I/O 执行传统的I/O
- Linux-2.6驱动开发 3 I/O
- 12. I/O体系结构及设备驱动
- I/O驱动相关__raw_readl和__raw_writel
- 产品经理七利器
- ros opencv之uvc_cam driver安装
- 项目1:实现复数类的运算符重载
- UIButton
- oracle 11g数据库用户密码180天自动过期调整
- I/O管理器、驱动执行过程
- 一张解析linux bridge原理图
- Tomcat配置环境变量
- 命令行生成Ipa
- Android 菜单出不来问题解决
- oracle中,行转列函数wm_concat()结果有长度限制,重写该函数解决
- 分布式。 Servlet
- linux_mint系统使用时遇到的问题
- [转]定制UIViewController过渡