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使用。

  • 相关阅读:
    【类库】容器对象(List、DataTable、 DataView、Dictionary)
    一些基础知识(一)
    编程模式之15---行为型----命令模式
    .NET学习之路----我对P/Invoke技术的理解(一)
    编程模式之十四----行为型----职责链模式
    web service 学习
    在Windows Server 2008中布置Web站点时遇到的问题及解决办法
    运算符的优先级和结合 性
    打包工具进行打包文件时要注意要点
    登录测试点
  • 原文地址:https://www.cnblogs.com/long123king/p/3778097.html
Copyright © 2011-2022 走看看