Windows IO System
Windows IO System是由一些executive components组成,这些component可以认为是ntoskrnl.exe中相对独立的一些module。
整个IO System是由IRP数据包驱动的, IRP(IO Request Packet)是IO请求数据包,是多个IO系统组件之间进行通信的数据包。
IRP可以完全理解为与网络数据包相同的概念。
IO Manager
IO Manager是整个IO System的心脏。
1. 负责创建、回收IRP数据包,以及对IRP数据进行队列缓存、同步
2. 封装一些driver常用的代码,供driver调用
但是IO Manager不管IRP的内容细节,这些由具体的Device Driver负责解析并且完成IRP请求的操作。
Device Driver
Driver接收IRP,并且按照IRP的指示,完成相应的操作。
完成操作之后,Driver可以把IRP交给IO Manager回收,或者交由IO Manager转发给其他的Driver进行处理。
PnP Manager
Plug and Play,可以管理那些支持“热插拔”方式工作的硬件。
Power Manager
可以向各个driver改善电源相关的事件,比如笔记本电脑的在电池供电和有线电源供电之间进行转换时,显卡驱动可以作出相应的状态转换。
WMI support routines
WMI: Windows Management Instrumentation
用户态的程序可以获取WMI的事件,这些事件是由WMI子系统产生。
Windows允许驱动间接地作为WMI事件的providers,或者说过滤相应的事件。
与Driver相关的文件
.inf 安装文件
.cat 数字签名文件
HAL
Hardware Abstraction Layer
将driver从那些与平台相关的操作中解放出来,具体来说,由HAL来直接处理in/out指令,抽象driver与CPU Processor以及中断处理器之间的交互。
HAL提供平台无关的API供driver使用。
Windows IO System的更多相关文章
- piap.windows io 监测attilax总结
piap.windows io 监测attilax总结 当硬盘光狂闪的时候. 主要目标:找出哪个进程占用io最多, 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来 ...
- paip.windows io监控总结
paip.windows io监控总结 io的主要参数是个.disk queue length 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专 ...
- 在编写wpf界面时候中出现如下错误: 类型引用不明确。至少有两个名称空间(“System.Windows”和“System.Windows”)中已出现名为“VisualStateManager”的类型。请考虑调整程序集 XmlnsDefinition 特性。
wpf中类型引用不明确.至少有两个名称空间(“System.Windows”和“System.Windows”)中已出现名为“VisualState 你是不是用了WPFToolKit?如果是的,那原因 ...
- Windows服务器SYSTEM权限Webshell无法添加3389账户情况突破总结
转自:http://bbs.blackbap.org/thread-2331-1-1.html 近好多Silic的朋友在Windows下SYSTEM权限的php webshell下添加账户,但是却无法 ...
- 记一次虚拟化环境下Windows IO性能的解析
前言随着云计算技术与服务的发展和进步,越来越多的客户选择将业务部署到云端.但由于引入了虚拟化层,在业务部署过程中经常会遇到IO问题,通常也不易调试.本文主要介绍利用perf.systemtap等工具, ...
- Java IO: System.in, System.out, System.err
原文链接 作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) System.in, System.out, System.err这3个流同样是常见的数据来 ...
- 第一章 Windows NT System Components
Page 3. The focus(焦点) of this book is Windows NT file system and the interaction(交互) of the file sys ...
- Windows服务System权限下在当前用户桌面创建快捷方式C#实例程序
Windows服务一般运行在System权限下,这样权限比较高,方便执行一些高权限的操作. 但是,Environment.GetFolderPath等函数获取的也是System用户下的,而不是当前用户 ...
- windows service(system权限)创建用户权限进程
windows编程的人都知道,在其操作系统下,进程被创建,通常被赋予很多属性,其中一项属性就是用户名,及进程所属的权限.打开任务管理器,可查看到. 通常桌面系统explorer的权限是User权限,即 ...
随机推荐
- How to show out three rows from the same databand On A4?
How to show out three rows from the same databand On A4? Quote Post by DoraHuang » Tue Mar 13, 2018 ...
- shell 删除隐藏文件.svn
参考:https://blog.csdn.net/zhangxinrun/article/details/6409125 echo "recursively removing .svn fo ...
- ubuntu snap 包管理器
基本使用 snap find $package snap install $package [--channel=beta] snap list snap refresh $package [--ch ...
- selenium,webdriver 执行js语句 对象是百度
代码要多敲 注释要清晰 最后的两种方法,没有实现我想要的结果 有知道的朋友,给我留言吧 #执行js语句 from selenium import webdriver import time #生成浏览 ...
- spring注解开发:ComponentScan组件扫描
在使用xml方式配置时,我们只需要在xml中配置如下代码: <context:component-scan base-package="包名"></context ...
- golang的数据类型之基本数据类型的默认值和转换
默认值: 整型的默认值:0 浮点型的默认值:0字符串的默认值:"" //空布尔类型的默认值:false package mainimport "fmt" f ...
- 什么是Kotlin?Java的替代语言?
什么是Kotlin Kotlin是一个基于JVM的新的编程语言,2010年由IntelliJ IDEA所在的JetBrains公司开发,自2012年以来一直开源. Kotlin可以编译成Java字节码 ...
- 图推荐-基于随机游走的personrank算法
转自http://blog.csdn.net/sinat_33741547/article/details/53002524 一 基本概念 基于图的模型是推荐系统中相当重要的一种方法,以下内容的基本思 ...
- 安卓SDK的配置流程以及安装build-tools等插件
这两天做了一个移动端混合开发的项目,需要配置安卓的SDK,不过在这之前,需要先配置好Java环境(这个在这里就不写了).下面开始配置步骤: 1.下载SDK,然后解压到某个目录下面.推荐两个下载网址: ...
- SQL数据库—<2>数据库基本操作(CRUD)
学习基本操作语句之前先简单了解数据库的基本数据类型: 数据类型: 二进制数据:以十六进制形式存储 固定长度:binary 可变长度:varbinary 字符数据 ...