zoukankan      html  css  js  c++  java
  • 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使用。

  • 相关阅读:
    高程第五章(引用类型)
    第四章(变量、作用域、内存问题)
    label语句和break continue的使用(高程第三章)
    高级程序设计第三章
    max取得数组的最大值
    使用bind()扩充作用域
    函数
    数据类型、字符编码、文件处理
    Python入门
    8.8每日作业系列之循环模块运用
  • 原文地址:https://www.cnblogs.com/long123king/p/3778097.html
Copyright © 2011-2022 走看看