Windows存储设备驱动程序结构简介

Windows存储设备驱动程序结构简介

Windows中的存储驱动程序符合类(Class/端口(Port/小端口(Miniport结构:microsoft提供一个存储类驱动程序,它实现了对于所有的存储设备都共同的功能;microsoft也提供了一个存储端口驱动程序,它实现了对于特定总线而言共同的功能;OEM厂商提供小端口驱动程序,它们插入到端口驱动程序中,将windows与特定的实现连接起来。

I/O请求从应用程序或一些内核组件以IRP的形式发出,这些IRP通过I/O子系统服务例程、一个或多个上层驱动程序(比如文件系统驱动程序)或中间驱动程序,最后到达类驱动程序;存储类驱动程序在接收到这些IRP后,会将这些IRP请求转化成含SCSI请求块(SRBs)的IRPSCSI请求块是系统定义好的,其中含有SCSI命令描述块(CDBs),然后类驱动程序再把这些转化好的IRP发送给处于自身下一层的驱动程序;类驱动程序下一层驱动程序可能是过滤驱动程序,这些过滤驱动程序一般实现了那些类驱动程序不提供的功能,它们还可能监控由类驱动程序发来的SRBIRP并且根据需要修改这些数据,最后再把这些SRBIRP发送给下面的端口驱动程序;端口驱动程序定义了一套与类驱动程序通讯的接口,它将接收到的IRP中的SRB转化成特定总线使用的命令,然后再将该命令发送给下层存储设备HBAHost Bus Adapter)的小端口驱动程序。小端口驱动程序使用端口驱动程序定义的接口来完成与具体设备的交互。

整个结构图如下所示:(参考来源:MSDN

Windows存储设备驱动程序结构简介_第1张图片

你可能感兴趣的:(windows,Microsoft,存储,Class,通讯)