第五章设备管理ppt课件.PPT

上传人:本田雅阁 文档编号:2084944 上传时间:2019-02-11 格式:PPT 页数:86 大小:1.25MB
返回 下载 相关 举报
第五章设备管理ppt课件.PPT_第1页
第1页 / 共86页
第五章设备管理ppt课件.PPT_第2页
第2页 / 共86页
第五章设备管理ppt课件.PPT_第3页
第3页 / 共86页
亲,该文档总共86页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第五章设备管理ppt课件.PPT》由会员分享,可在线阅读,更多相关《第五章设备管理ppt课件.PPT(86页珍藏版)》请在三一文库上搜索。

1、第五章 设备管理,5.0 设备管理的功能,缓冲区管理 设备分配 设备处理 虚拟设备 设备独立性,现代操作系统都采用分层结构构建设备管理模型,一种常见的设备管理模型如图,通用设备管理分层模型,用户进程,设备硬件无关层,设备硬件相关层,设备硬件,实现I/O缓冲区管理以及设备映射功能,将设备硬件无关层与硬件设备隔离开来。从设备硬件无关层看,设备硬件相关层为其提供了一个相对简洁的I/O功能接口;该接口屏蔽了设备硬件复杂的操作细节。从设备硬件相关层内部看,该层主要实现了设备驱动功能,5.1 I/O系统,5.1.1 I/O设备的类型,1) 按传输速率分类 低速设备:典型设备有键盘、 鼠标器、语音的输入和输

2、出等设备 中速设备:典型设备有行式打印机、激光打印机等 高速设备:典型设备有磁带机、 磁盘机、 光盘机等,块设备(Block Device):用于存储信息,属于有结构设备。典型的块设备是磁盘。磁盘设备的基本特征是其传输速率较高,另一特征是可寻址,即对它可随机地读/写任一块;此外,磁盘设备的I/O常采用DMA方式 字符设备(Character Device):用于数据的输入和输出,属于无结构设备。典型字符设备如交互式终端、打印机等。基本特征是其传输速率较低,另一特征是不可寻址;此外,常采用中断驱动方式,2) 按信息交换的单位分类,5.1.1 I/O设备的类型,独占设备:为临界资源 共享设备:典型

3、设备磁盘 虚拟设备,3) 按设备的共享属性分类,5.1.1 I/O设备的类型,处理机与I/O设备之间的基本连接都是通过总线实现的。即处理机连接在总线上,与设备无关。设备则根据需要连接在相应的总线上,可多可少,结构和安装均十分灵活,总线型I/O系统的结构,处理机,内存,I/O设备,I/O设备,I/O设备,I/O设备,I/O设备,总线类型:ISA、EISA、VESA、PCI、AGP,总线系统,传统的设备由机械部分和电子部分组成,电子部分在系统的控制下驱动机械部分运转,形成I/O操作。 电子部分比机械部分速度快,为降低硬件成本,将电子部分从设备中分立出来作为一个独立的部件,即设备控制器。 设备不直接

4、与CPU通信,而是通过设备控制器通信。设备与设备控制器间的接口如图:,在设备与设备控制器之间传送数据信号,设备控制器向I/O设备发送控制信号用,传送指示设备当前状态的信号,5.1.2 设备控制器,5.1.2 设备控制器,分类,控制块设备的控制器 控制字符设备的控制器,5.1.2 设备控制器,基本功能,1) 接收和识别命令 2) 数据交换 3) 标识和报告设备的状态 4) 地址识别 5) 数据缓冲 6) 差错控制,组成,5.1.3 I/O通道,1. I/O通道(I/O Channel)设备的引入,目的:建立独立的I/O操作,不仅使数据的传送能力独立于CPU,而且也希望有关对I/O操作的组织、管理

5、及其结束处理也尽量独立,以保证CPU有更多的时间去进行数据处理 I/O通道是一种特殊的处理机,具有执行I/O指令的能力,并通过执行通道(I/O)程序来控制I/O操作 I/O通道与一般的处理机的区别: 指令类型单一 通道没有自己的内存,通道与CPU共享内存,2. 通道类型,1) 字节多路通道(Byte Multiplexor Channel),2) 数组选择通道(Block Selector Channel),3) 数组多路通道(Block Multiplexor Channel),I /O设备通道连接方式,处理机,内存,I/O通道,I/O设备,I/O设备,I/O设备,I/O通道,I/O设备,I

6、/O设备,I /O设备通道、控制器连接方式(单通路),处理机,内存,I/O通道,I/O设备,I/O设备,I/O设备,I/O通道,I/O设备,I/O设备,控制器,控制器,控制器,控制器,“瓶颈”问题,I /O设备通道、控制器连接方式(多通路),处理机,内存,I/O通道,I/O设备,I/O设备,I/O设备,I/O通道,I/O设备,控制器,控制器,5.2 I/O控制方式,5.2.1 程序I/O方式,忙-等方式 CPU与I/O设备速度不匹配,使得CPU极大浪费,5.2.2 中断驱动I/O控制方式,CPU、设备并行工作 提高了系统的资源利用率和吞吐量 以字(节)为单位进行干预,5.2.3 直接存储器访问

7、DMA I/O控制方式,1. DMA(Direct Memory Access)控制方式的引入,特点: 数据传输的基本单位是数据块,即在CPU与I/O设备之间,每次传送至少一个数据块; 所传送的数据是从设备直接送入内存的,或者相反; 仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。,2. DMA控制器的组成,命令/状态寄存器CR。用于接收从CPU发来的I/O命令或有关控制信息, 或设备的状态,数据计数器DC。 存放本次CPU要读或写的字(节)数,内存地址寄存器MAR。在输入时,它存放把数据从设备传送到内存的起始目标地址;在输出时,它存放由内存到设

8、备的内存源地址,数据寄存器DR。用于暂存从设备到内存,或从内存到设备的数据,3. DMA工作过程,5.2.4 I/O通道控制方式,1. I/O通道控制方式的引入,对一组数据块的读(或写)及有关的控制和管理为单位的干预 实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率,2. 通道程序,(1) 操作码 (2) 内存地址 (3) 计数 (4) 通道程序结束位P (5) 记录结束标志R,5.3 缓冲管理,5.3.1 缓冲的引入,(1) 缓和CPU与I/O设备间速度不匹配的矛盾。 (2) 减少对CPU的中断频率, 放宽对CPU中断响应时间的限制。 (3) 提高CPU和I/

9、O设备之间的并行性。,例,CPU中断频率:9.6Kb/s CPU响应时间:约100us,CPU中断频率:1.2Kb/s CPU响应时间:约100us,CPU中断频率:1.2Kb/s CPU响应时间:约800us,5.3.2 单缓冲和双缓冲,1. 单缓冲(Single Buffer),系统对数据的处理时间:Max(C,T)+M,2. 双缓冲(Double Buffer),系统对数据的处理时间:Max(C,T),计算机通信,5.3.3 循环缓冲,1. 循环缓冲的组成,空缓冲区,已装满数据的缓冲区,正在使用的现行工作缓冲区,指示输入进程下次可用的空缓冲区的指针,指示计算进程下次可用的数据缓冲区的指针

10、,指示计算进程正在使用的数据缓冲区的指针,2. 循环缓冲区的使用,(1) Getbuf过程 (2) Releasebuf过程,3. 进程同步,(1) Nexti指针追赶上Nextg指针:无空缓冲区可用 (2) Nextg指针追赶上Nexti指针:无数据缓冲区可用,5.3.4 缓冲池(Buffer Pool),1. 缓冲池的组成,含有三种类型的缓冲区 空(闲)缓冲区空缓冲队列emq 装满输入数据的缓冲区输入队列inq 装满输出数据的缓冲区 输出队列outq,三个队列: 空缓冲队列emq 输入队列inq 输出队列outq,四种工作缓冲区: 用于收容输入数据的工作缓冲区 用于提取输入数据的工作缓冲区

11、 用于收容输出数据的工作缓冲区 用于提取输出数据的工作缓冲区,2. Getbuf过程和Putbuf过程,Procedure Getbuf(type) begin Wait(RS(type); Wait(MS(type); B(number):=Takebuf(type); Signal(MS(type); end Procedure Putbuf(type, number) begin Wait(MS(type); Addbuf(type, number); Signal(MS(type); Signal(RS(type); end,3. 缓冲区的工作方式,5.4 设备分配,5.4.1 设备分

12、配中的数据结构,1. 设备控制表DCT,一个设备一张设备控制表,记录本设备的情况,2. 控制器控制表、 通道控制表和系统设备表,一个控制器一个COCT表,记录本控制器情况,一个通道一张通道控制表,记录系统中全部设备的情况,5.4.2 设备分配时应考虑的因素,1. 设备的固有属性,(1) 独享设备:采用独享分配策略 (2) 共享设备:注意调度 (3) 虚拟设备,2. 设备分配算法,(1) 先来先服务 (2) 优先级高者优先,3. 设备分配中的安全性,1) 安全分配方式:CPU与I/O设备串行工作 2) 不安全分配方式:可能造成死锁,5.4.3 设备独立性,设备独立性:应用程序独立于具体使用的物理

13、设备 逻辑设备、物理设备 在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。因此,系统须具有将逻辑设备名称转换为某物理设备名称的功能,1. 设备独立性(Device Independence)的概念,在实现了设备独立性的功能后, 可带来以下两方面的好处: 1) 设备分配时的灵活性 2) 易于实现I/O重定向,1. 设备独立性(Device Independence)的概念,2. 设备独立性软件,1) 执行所有设备的公有操作 对独立设备的分配与回收 将逻辑设备名映射为物理设备名,进一步可以找到相应物理设备的驱动程序 对设备进行保护,禁止用户直接访问设备

14、; 缓冲管理,即对字符设备和块设备的缓冲区进行有效的管理, 以提高I/O的效率; 差错控制,2) 向用户层(或文件层)软件提供统一接口 无论何种设备, 它们向用户所提供的接口应该是相同的,2. 设备独立性软件,3. 逻辑设备名到物理设备名映射的实现,1) 逻辑设备表:用于将应用程序中所使用的逻辑设备名映射为物理设备名 2) LUT的设置问题:系统中只设置一张LUT 一个用户一张LUT,5.4.4 独占设备的分配程序,1. 基本的设备分配程序,1) 分配设备 2) 分配控制器 3) 分配通道 只有在设备、控制器和通道三者都分配成功时,此次设备分配才算成功,2. 设备分配程序的改进,1) 增加设备

15、的独立性:使用逻辑设备名请求I/O 2) 考虑多通路情况,5.4.5 SPOOLing技术,1. 什么是SPOOLing 把在联机情况下实现的同时外围操作称为SPOOLing (Simultaneaus Periphernal Operating On-Line),或称为假脱机操作。,2. SPOOLing系统的组成,3. 共享打印机,共享打印机技术已被广泛地用于多用户系统和局域网络中。 当用户进程请求打印输出时, SPOOLing系统同意为它打印输出, 但并不真正立即把打印机分配给该用户进程, 而只为它做两件事: 由输出进程在输出井中为之申请一个空闲磁盘块区, 并将要打印的数据送入其中 输出

16、进程再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入其中, 再将该表挂到请求打印队列上,4. SPOOLing系统的特点,(1) 提高了I/O的速度。 (2) 将独占设备改造为共享设备。 (3) 实现了虚拟设备功能。,5.5 设备处理,5.5.1 设备驱动程序的功能和特点,1. 设备驱动程序的功能,(1) 接收由I/O进程发来的命令和参数, 并将命令中的抽象要求转换为具体要求 (2) 检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。,(3) 发出I/O命令,如果设备空闲,便立即启动I/O设备去完成指定的I/O操作;如果设备处于忙碌状态,则将请

17、求者的请求块挂在设备队列上等待。 (4) 及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理。 (5) 对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。,1. 设备驱动程序的功能,2. 设备处理方式,(1) 为每一类设备设置一个进程,专门用于执行这类设备的I/O操作 . (2) 在整个系统中设置一个I/O进程,专门用于执行系统中所有各类设备的I/O操作。 (3) 不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序(模块), 供用户进程或系统进程调用。,3. 设备驱动程序的特点,(1) 驱动程序主要是指在请求I/

18、O的进程与设备控制器之间的一个通信和转换程序。 (2) 驱动程序与设备控制器和I/O设备的硬件特性紧密相关, 因而对不同类型的设备应配置不同的驱动程序。 (3) 驱动程序与I/O设备所采用的I/O控制方式紧密相关。 (4) 由于驱动程序与硬件紧密相关, 因而其中的一部分必须用汇编语言书写。,5.5.2 设备驱动程序的处理过程,1. 将抽象要求转换为具体要求 2. 检查I/O请求的合法性 3. 读出和检查设备的状态 4. 传送必要的参数 5. 工作方式的设置 6. 启动I/O设备,中断处理程序的处理过程,5.6 磁盘存储器管理,1. 物理结构,5.6.1 磁盘性能简述,包括一或多个盘片,每个盘片

19、分两面,每个盘面分若干磁道,各盘面上序号相同的磁道构成一个柱面,5.6 磁盘存储器管理,5.6.1 磁盘性能简述,2. 磁盘格式化,3. 磁盘的类型,1) 固定头磁盘 并行读/写,有效地提高了磁盘的I/O速度 这种结构的磁盘主要用于大容量磁盘上 2) 移动头磁盘 串行方式读/写,致使其I/O速度较慢 结构简单, 广泛应用于中小型磁盘设备中,4. 磁盘访问时间,1) 寻道时间Ts 这是指把磁臂(磁头)移动到指定磁道上所经历的时间。该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和, 即 Ts=mn+s 其中,m是一常数,与磁盘驱动器的速度有关,对一般磁盘, m=0.2;对高速磁盘,m0.

20、1,磁臂的启动时间约为2 ms。 这样,对一般的温盘, 其寻道时间将随寻道距离的增加而增大, 大体上是530 ms。,寻道时间旋转延迟时间传输时间,2) 旋转延迟时间T 这是指定扇区移动到磁头下面所经历的时间 平均旋转延迟时间:E(T)1/(2r) r:磁盘转速,4. 磁盘访问时间,3) 传输时间Tt 这是指把数据从磁盘读出或向磁盘写入数据所经历的时间。 Tt的大小与每次所读/写的字节数b和旋转速度有关:,其中,r为磁盘每秒钟的转数;N为一条磁道上的字节数, 当一次读/写的字节数相当于半条磁道上的字节数时,Tt与T相同,4. 磁盘访问时间,5.6.2 磁盘调度,例:移动头磁盘共有200个磁道,

21、在完成了磁道25的请求后,当前在磁道100处为一请求服务。服务完后有等待访问磁盘的请求序列为55、58、39、18、90、160、150、38、184,1. 先来先服务FCFS(First-Come, First Served),当前磁道100,磁臂移动方向:磁道号增加方向。请求序列为55、58、39、18、90、160、150、38、184,访问磁盘顺序,移动距离,55 45,58 3,39 19,18 21,90 72,160 70,150 10,38 112,184 146,平均寻道时间 (45+3+19+21+72+70+10+112+146)/9=55.3,2. 最短寻道时间优先SS

22、TF(Shortest Seek Time First),当前磁道100,磁臂移动方向:磁道号增加方向。请求序列为55、58、39、18、90、160、150、38、184,访问磁盘顺序,移动距离,90 10,58 32,55 3,39 16,38 1,18 20,150 132,160 10,184 24,平均寻道时间 (10+32+3+16+1+20+132+10+24)/9=27.6,3. 扫描(SCAN)算法,1) 进程“饥饿”现象,SSTF算法虽然能获得较好的寻道性能, 但却可能导致某个进程发生“饥饿”(Starvation)现象。因为只要不断有新进程的请求到达, 且其所要访问的磁道

23、与磁头当前所在磁道的距离较近,这种新进程的I/O请求必须优先满足。对SSTF算法略加修改后所形成的SCAN算法, 即可防止老进程出现“饥饿”现象。,2) SCAN算法(电梯调度算法),当前磁道100,磁臂移动方向:磁道号增加方向。请求序列为55、58、39、18、90、160、150、38、184,访问磁盘顺序,移动距离,150 50,160 10,184 24,90 94,58 32,55 3,39 16,38 1,18 20,平均寻道时间 (50+10+24+94+32+3+16+1+20)/9=27.8,4. 循环扫描(CSCAN)算法,当前磁道100,磁臂移动方向:磁道号增加方向。请求

24、序列为55、58、39、18、90、160、150、38、184,访问磁盘顺序,移动距离,150 50,160 10,184 24,18 166,38 20,39 1,55 16,58 3,90 32,平均寻道时间 (50+10+24+166+20+1+16+3+32)/9=35.8,5. N-Step-SCAN和FSCAN调度算法,1) N-Step-SCAN算法 “磁臂粘着”(Armstickiness)。 当N值取得很大时,会使N步扫描法的性能接近于SCAN算法的性能 当N=1时, N步SCAN算法便蜕化为FCFS算法,2) FSCAN算法 FSCAN算法实质上是N步SCAN算法的简化,

25、 即FSCAN只将磁盘请求队列分成两个子队列,5.6.3 磁盘高速缓存(Disk Cache),1. 磁盘高速缓存的形式,是指利用内存中的存储空间,来暂存从磁盘中读出的一系列盘块中的信息。因此,这里的高速缓存是一组在逻辑上属于磁盘, 而物理上是驻留在内存中的盘块。 两种形式:一种是在内存中开辟一个单独的存储空间来作为磁盘高速缓存,其大小是固定的,不会受应用程序多少的影响;第二种是把所有未利用的内存空间变为一个缓冲池,供请求分页系统和磁盘I/O时(作为磁盘高速缓存)共享。此时高速缓存的大小,显然不再是固定的。,2. 数据交付方式,系统可以采取两种方式, 将数据交付给请求进程: (1) 数据交付。

26、这是直接将高速缓存中的数据, 传送到请求者进程的内存工作区中。 (2) 指针交付。只将指向高速缓存中某区域的指针, 交付给请求者进程。 后一种方式由于所传送的数据量少,因而节省了数据从磁盘高速缓存存储空间到进程的内存工作区的时,3. 置换算法,在设计其高速缓存的置换算法时,除了考虑到最近最久未使用这一原则外, 还考虑了以下几点: (1) 访问频率。 (2) 可预见性。 (3) 数据的一致性。,4. 周期性地写回磁盘,在UNIX系统中专门增设了一个修改(update)程序, 使之在后台运行,该程序周期性地调用一个系统调用SYNC。该调用的主要功能是强制性地将所有在高速缓存中已修改的盘块数据写回磁

27、盘。而在MS-DOS中所采用的方法是:只要高速缓存中的某盘块数据被修改,便立即将它写回磁盘,并将这种高速缓存称为“写穿透、高速缓存”(write-through cache)。 MS-DOS所采用的写回方式,几乎不会造成数据的丢失, 但须频繁地启动磁盘。,5.6.4 提高磁盘I/O速度的其它方法,1. 提前读(Read-Ahead) 2. 延迟写 3. 优化物理块的分布 4. 虚拟盘,5.6.5 廉价磁盘冗余阵列,1. 并行交叉存取,2. RAID的分级,(1) RAID 0级:提供并行交叉存取 (2) RAID 1级:具有磁盘镜像功能 (3) RAID 3级:具有并行传输功能 (4) RAI

28、D 5级:具有独立传送功能 (5) RAID 6级和RAID 7级:强化了的RAID,3. RAID的优点,(1) 可靠性高:容错技术 (2) 磁盘I/O速度高。 (3) 性能/价格比高。,附录:Windows2000/XP的设备管理,1、I/O系统结构和模型,I/O子系统(Ntxxx),I/O管理器(Ioxxx),核心态设备驱动程序,HLA I/O访问例程,I/O端口和寄存器,I/O基本结构,驱动程序 支持例程 (Io, Ex, Ke, Mm, Hal, FsRtl等),I /O子系统API是内部的执行体系统服务(如NtReadFile和NtWriteFile),子系统DLL调用它们来实现子

29、系统的文档化的I/O函数,负责驱动I/O请求的处理,把I/O请求转化为对硬件设备的特定的控制请求,驱动程序支持例程被设备驱动程序调用来完成它们的I/O请求,硬件抽象层(HLA)I/O访问例程把设备驱动程序与多种多样的硬件平台隔离开来,使它们在给定的体系结构家族中是二进制可移植的,并在Windows NT支持的硬件体系结构中是源代码可移植的。,1、I/O管理器,I/O管理器定义了有序的工作框架(或模型),在该框架里,I/O请求被提交给设备驱动程序 大多数I/O请求用“I/O请求包(IRP)”表示,它从一个I/O系统组件移动到另一个I/O系统组件。IRP是在每个阶段控制如何处理I/O的数据结构 I

30、/O管理器创建每个I/O操作的IRP,传递IRP给正确的驱动程序,并且当此I/O操作完成后,处理这个数据包。相反,驱动程序接收IRP,执行IRP指定的操作,并且在完成后把IRP送回I/O管理器或为下一步处理而把它送到另一个驱动程序(通过I/O管理器) 除了创建并处理IRP外,I/O管理器还为不同的驱动程序提供公共的代码,驱动程序使用这些代码来执行它们的I/O处理。通过在I/O管理器中合并公共的任务,单个驱动程序将变得更加简洁和更加紧凑。 驱动程序呈现的统一的、模块化的接口允许I/O管理器调用任何驱动程序而不需要与它的结构和内部细节有关的任何特殊的知识,2、I/O函数,提供通常的打开、关闭、读写

31、函数 应用程序发出的大多数I/O操作都是同步的:即设备执行数据传输并在I/O完成后返回一个状态码,然后,程序可以立即访问这个被传输的数据。如Win32的ReadFile和WriteFile函数 提供“异步I/O”方式,此时应用程序发布I/O请求,然后当设备传输数据的同时,应用程序继续执行。要使用异步I/O,必须在Win32 CreateFile函数中指定FILE_FLAG_OVERLAPPED标志 提供快速I/O机制,允许I/O系统不产生IRP而直接到文件系统驱动程序或高速缓存管理器去执行I/O请求 映射文件I/O,指把磁盘中的文件视为进程的虚拟内存的一部分的能力。通过使用Win32 Crea

32、teFileMapping和MapViewOfFile函数,映射文件I/O对于用户态是可用的 文件高速缓存 分散/集中I/O,2、I/O函数,支持3种主要的设备驱动程序 虚拟设备驱动程序VDD:通常用于模拟16位MSDOS应用程序 Win32子系统“显示驱动程序”和“打印驱动程序”:将设备无关的图形GDI请求转换位设备专用请求。这些驱动程序的集合程“核心态图形驱动程序” 核心态设备驱动程序:能直接控制和访问硬件设备的惟一驱动程序类型 驱动程序呈现的统一的、模块化的接口允许I/O管理器调用任何驱动程序而不需要与它的结构和内部细节有关的任何特殊的知识,2、设备驱动程序,1、核心态驱动程序类型,底层

33、“硬件设备驱动程序”:直接控制和访问硬件设备 类驱动程序:为某一类设备执行I/O操作 端口驱动程序:对特定于某一种类型的I/O端口的I/O请求的处理 小端口驱动程序:把对端口类型的一般的I/O请求映射到适配器类型 文件系统驱动程序:接收文件的I/O请求 文件系统过滤器驱动程序:截取I/O请求,执行另外的处理,并将其传递给更底层的驱动程序如容错磁盘驱动程序,2、驱动程序结构,启动I/O例程,中断服务例程,DPC例程,初始化例程,调度例程,主要设备驱动程序例程,I/O子系统,当I/O管理器把设备驱动程序加载到OS时,执行驱动程序的初始化例程。该例程创建系统对象,I/O管理器利用这些对象去识别和访问

34、驱动程序,是设备驱动程序提供的主要函数,包括打开、关闭、读取、写入以及设备、文件系统或网络支持的其它任何功能,初始化驱动程序与设备之间的数据传输,ISR:设备中断时,内核的中断调度程序将控制权交给该例程,延迟过程调用DPC:执行大部分在ISR执行以后的设备中断处理工作,其它例程: 一个或多个完成例程 取消I/O例程 卸载例程 系统关闭通知例程 错误记录例程,3、同步,同步执行驱动程序对全局驱动程序数据的访问,对单层驱动程序的I/O请求 I/O请求经过子系统DLL 子系统DLL调用I/O管理器的NtWriteFile服务 I/O管理器以IRP的形式给驱动程序(指设备驱动程序)发送请求 驱动程序启动I/O操作 在设备完成了操作并中断CPU时,设备驱动程序服务于中断 I/O管理器完成I/O请求,4、I/O处理,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1