操作系统原理7设备管理

上传人:pu****.1 文档编号:586401205 上传时间:2024-09-04 格式:PPT 页数:63 大小:1.15MB
返回 下载 相关 举报
操作系统原理7设备管理_第1页
第1页 / 共63页
操作系统原理7设备管理_第2页
第2页 / 共63页
操作系统原理7设备管理_第3页
第3页 / 共63页
操作系统原理7设备管理_第4页
第4页 / 共63页
操作系统原理7设备管理_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《操作系统原理7设备管理》由会员分享,可在线阅读,更多相关《操作系统原理7设备管理(63页珍藏版)》请在金锄头文库上搜索。

1、第第7章章 外部设备管理外部设备管理7.0 引言引言7.1 I/O控制技控制技术术7.2 缓冲技术缓冲技术7.3 设备分配设备分配7.4 设备控制设备控制7.5 磁盘设备管磁盘设备管理理外设的外设的特点:特点: 种类种类多多 差异差异大大(控制和速度控制和速度)外设外设管理目的管理目的包括:包括: 外设资源的外设资源的控制控制 外设资源的外设资源的共享共享 提高外设资源的提高外设资源的利用利用率率。7.0 引言引言7.0.0 I/O7.0.0 I/O设备设备设备设备管理的重要性管理的重要性管理的重要性管理的重要性7.0.1 7.0.1 外部设备类型和特征外部设备类型和特征外部设备类型和特征外部

2、设备类型和特征7.0.27.0.2 外设管理的目的和功能外设管理的目的和功能外设管理的目的和功能外设管理的目的和功能7.0.3 7.0.3 外设管理结构外设管理结构外设管理结构外设管理结构返回7.0.0 I/O管理的重要性管理的重要性1.1. I/O I/O设备就像计算机系统的五官和四肢设备就像计算机系统的五官和四肢设备就像计算机系统的五官和四肢设备就像计算机系统的五官和四肢2.2. I/OI/O性能经常成为系统性能的瓶颈性能经常成为系统性能的瓶颈性能经常成为系统性能的瓶颈性能经常成为系统性能的瓶颈(1)CPU(1)CPU性能不等于系统性能性能不等于系统性能性能不等于系统性能性能不等于系统性能

3、 响应时间也是一个重要因素响应时间也是一个重要因素响应时间也是一个重要因素响应时间也是一个重要因素(2)CPU(2)CPU性能越高,与性能越高,与性能越高,与性能越高,与I/OI/O差距越大差距越大差距越大差距越大 弥补:更多的进程弥补:更多的进程弥补:更多的进程弥补:更多的进程(3)(3)进程切换多,系统开销大进程切换多,系统开销大进程切换多,系统开销大进程切换多,系统开销大3. 3. 操作系统庞大复杂的原因之一是:资源多、杂,并发,操作系统庞大复杂的原因之一是:资源多、杂,并发,操作系统庞大复杂的原因之一是:资源多、杂,并发,操作系统庞大复杂的原因之一是:资源多、杂,并发,均来自均来自均来

4、自均来自I/OI/O4. 4. 理解理解理解理解I/OI/O的工作过程与结构是理解操作系统的工作过程的工作过程与结构是理解操作系统的工作过程的工作过程与结构是理解操作系统的工作过程的工作过程与结构是理解操作系统的工作过程与结构的关键与结构的关键与结构的关键与结构的关键5. I/O5. I/O技术很实用技术很实用技术很实用技术很实用6. 6. 与其他功能联系密切,特别是文件系统与其他功能联系密切,特别是文件系统与其他功能联系密切,特别是文件系统与其他功能联系密切,特别是文件系统7.0.1 外部设备类型和特征外部设备类型和特征n n人机交互设备人机交互设备人机交互设备人机交互设备:视频显示设备、键

5、盘、鼠标、打印机:视频显示设备、键盘、鼠标、打印机:视频显示设备、键盘、鼠标、打印机:视频显示设备、键盘、鼠标、打印机n n与计算机或其他与计算机或其他与计算机或其他与计算机或其他电子设备交互电子设备交互电子设备交互电子设备交互的设备:磁盘、磁带、的设备:磁盘、磁带、的设备:磁盘、磁带、的设备:磁盘、磁带、传感器、控制器传感器、控制器传感器、控制器传感器、控制器n n计算机间的计算机间的计算机间的计算机间的通信设备通信设备通信设备通信设备:网卡、调制解调器:网卡、调制解调器:网卡、调制解调器:网卡、调制解调器返回1. 按交互对象分类按交互对象分类2. 按交互方向分类按交互方向分类输入输入(可读

6、):键盘、扫描仪(可读):键盘、扫描仪输出输出(可写):显示设备、打印机(可写):显示设备、打印机输入输入/输出输出(可读写):磁盘、网(可读写):磁盘、网卡卡3. 按外设特性分类按外设特性分类n n使用特征使用特征:存储、输入:存储、输入/输出、终端输出、终端n n数据传输率数据传输率:低速:低速(如键盘如键盘)、中速、中速(如打印如打印机机)、高速、高速(如网卡、磁盘如网卡、磁盘)n n信息组织特征信息组织特征:单个字符或数据块:单个字符或数据块字符设备字符设备字符设备字符设备( (如打印机如打印机如打印机如打印机) ):通常的输入输出型设备,:通常的输入输出型设备,:通常的输入输出型设备

7、,:通常的输入输出型设备,以字符为单位存储、传输信息;不可寻址以字符为单位存储、传输信息;不可寻址以字符为单位存储、传输信息;不可寻址以字符为单位存储、传输信息;不可寻址块设备块设备块设备块设备( (如磁盘如磁盘如磁盘如磁盘) ):以数据块为单位存储、传输以数据块为单位存储、传输以数据块为单位存储、传输以数据块为单位存储、传输信息。可寻址信息。可寻址信息。可寻址信息。可寻址4. 按资源分配角度分类按资源分配角度分类n n独占设备独占设备在一段时间内只能有一个进程使用的设备在一段时间内只能有一个进程使用的设备在一段时间内只能有一个进程使用的设备在一段时间内只能有一个进程使用的设备,一般,一般,一

8、般,一般为低速为低速为低速为低速I/OI/O设备。如打印机,磁带等。设备。如打印机,磁带等。设备。如打印机,磁带等。设备。如打印机,磁带等。n n共享设备共享设备在一段时间内可有多个进程共同使用的设备在一段时间内可有多个进程共同使用的设备在一段时间内可有多个进程共同使用的设备在一段时间内可有多个进程共同使用的设备,多,多,多,多个进程以交叉的方式来使用设备,其资源利用率个进程以交叉的方式来使用设备,其资源利用率个进程以交叉的方式来使用设备,其资源利用率个进程以交叉的方式来使用设备,其资源利用率高。(如硬盘)高。(如硬盘)高。(如硬盘)高。(如硬盘)n n虚设备虚设备在一类设备上模拟另一类设备,

9、常用共享设备模在一类设备上模拟另一类设备,常用共享设备模在一类设备上模拟另一类设备,常用共享设备模在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟拟独占设备,用高速设备模拟低速设备,被模拟拟独占设备,用高速设备模拟低速设备,被模拟拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚设备的设备称为虚设备的设备称为虚设备的设备称为虚设备. .(实例:(实例:(实例:(实例:SPOOLingSPOOLing技术,利用虚技术,利用虚技术,利用虚技术,利用虚设备技术设备技术设备技术设备技术用硬盘模拟输入输出设备)用硬盘模拟输入输出设备)用硬盘模拟输入输出设备)用硬盘

10、模拟输入输出设备)5.从程序使用角度分从程序使用角度分 逻辑设备逻辑设备: 用户程序中使用的设备用户程序中使用的设备 物理设备:物理设备:实际完成实际完成I/O操作的设备操作的设备7.0.2 外设管理的目的和功能外设管理的目的和功能n n提高效率提高效率:提高:提高I/O访问效率,匹配访问效率,匹配CPU和多种不同处理速度的外设和多种不同处理速度的外设n n方便使用方便使用:方便用户使用,对不同类型的设:方便用户使用,对不同类型的设备统一使用方法,协调对设备的并发使用备统一使用方法,协调对设备的并发使用n n方便控制方便控制:方便:方便OS内部对设备的控制:增内部对设备的控制:增加和删除设备,

11、适应新的设备类型加和删除设备,适应新的设备类型返回1. 外设管理目的外设管理目的2. 外设管理功能外设管理功能n n提供提供设备使用的用户接口设备使用的用户接口:命令接口和编:命令接口和编程接口程接口n n设备分配和释放设备分配和释放:使用设备前,需要分配:使用设备前,需要分配设备和相应的通道、控制器。设备和相应的通道、控制器。n n设备的访问和控制设备的访问和控制:包括并发访问和差错:包括并发访问和差错处理(虚拟设备)。处理(虚拟设备)。n nI/O缓冲和调度缓冲和调度:目标是提高:目标是提高I/O访问效访问效率率7.1 I/O控制技术控制技术(数据传送控制方式)数据传送控制方式)返回外围设

12、备与内存外围设备与内存或或CPU间常用的数据传送控制间常用的数据传送控制方式:方式:1.1.程序直接控制方式程序直接控制方式程序直接控制方式程序直接控制方式2.2.中断控制方式中断控制方式中断控制方式中断控制方式3.3.DMADMA方式方式方式方式4.4.通道方式通道方式通道方式通道方式1. 程序控制程序控制I/O(programmed I/O)n nI/OI/O操作由操作由操作由操作由程序(用户)程序(用户)程序(用户)程序(用户)发起,并等待操作完发起,并等待操作完发起,并等待操作完发起,并等待操作完成。数据的每次读写通过成。数据的每次读写通过成。数据的每次读写通过成。数据的每次读写通过C

13、PUCPU。等待等待发发Start指令指令设备标志触发设备标志触发器为器为“Done”?CPU执行下一条指令执行下一条指令开始数据传送开始数据传送 否否是是外围设备外围设备接收到接收到Start指令指令作接收或发送数据准备作接收或发送数据准备准备好?准备好?标志触发器置为标志触发器置为“Done”等待等待CPU来的下一条指令来的下一条指令是是否否特点特点n n缺点缺点:在外设进行数据处理时,在外设进行数据处理时,在外设进行数据处理时,在外设进行数据处理时,CPUCPU只能等待。只能等待。只能等待。只能等待。CPUCPU与外设只能串行工作与外设只能串行工作与外设只能串行工作与外设只能串行工作只适

14、用于只适用于只适用于只适用于CPUCPU执行速度较慢,且外围设备较执行速度较慢,且外围设备较执行速度较慢,且外围设备较执行速度较慢,且外围设备较少的系统少的系统少的系统少的系统2. 中断驱动方式中断驱动方式n nI/OI/O操作由程序发起,在操作完成时(如数据可读操作由程序发起,在操作完成时(如数据可读操作由程序发起,在操作完成时(如数据可读操作由程序发起,在操作完成时(如数据可读或已经写入)由外设向或已经写入)由外设向或已经写入)由外设向或已经写入)由外设向CPUCPU发出中断,通知该程序。发出中断,通知该程序。发出中断,通知该程序。发出中断,通知该程序。数据的每次读写通过数据的每次读写通过

15、数据的每次读写通过数据的每次读写通过CPUCPU。n n优点优点优点优点:在外设进行数据处理时,:在外设进行数据处理时,:在外设进行数据处理时,:在外设进行数据处理时,CPUCPU不必等待,可不必等待,可不必等待,可不必等待,可以继续以继续以继续以继续其他程序其他程序其他程序其他程序。n n缺点缺点缺点缺点: CPUCPU每次处理的数据量少(每次处理的数据量少(每次处理的数据量少(每次处理的数据量少(I/OI/O控制器的数控制器的数控制器的数控制器的数据缓冲寄存据缓冲寄存据缓冲寄存据缓冲寄存器通常不超过几个字节),在一次数据传送过程中,发器通常不超过几个字节),在一次数据传送过程中,发器通常不

16、超过几个字节),在一次数据传送过程中,发器通常不超过几个字节),在一次数据传送过程中,发生中断次数较多,将耗费大量生中断次数较多,将耗费大量生中断次数较多,将耗费大量生中断次数较多,将耗费大量CPUCPU时间,只适于数据传时间,只适于数据传时间,只适于数据传时间,只适于数据传输率较低的设备。输率较低的设备。输率较低的设备。输率较低的设备。 另外,多种设备并行发生中断,由于中断次数的急剧增另外,多种设备并行发生中断,由于中断次数的急剧增另外,多种设备并行发生中断,由于中断次数的急剧增另外,多种设备并行发生中断,由于中断次数的急剧增加而造成加而造成加而造成加而造成CPUCPU无法响应中断而出现数据

17、丢失现象。无法响应中断而出现数据丢失现象。无法响应中断而出现数据丢失现象。无法响应中断而出现数据丢失现象。 如果外设速度也很快的话,则可能造成数据缓冲寄存器如果外设速度也很快的话,则可能造成数据缓冲寄存器如果外设速度也很快的话,则可能造成数据缓冲寄存器如果外设速度也很快的话,则可能造成数据缓冲寄存器的数据由于的数据由于的数据由于的数据由于CPUCPU来不及取走而丢失。来不及取走而丢失。来不及取走而丢失。来不及取走而丢失。中断控制方式的处理过程中断控制方式的处理过程接收到接收到CPU发来的发来的Start指令指令缓冲寄存器满?缓冲寄存器满?设备设备控制器发中断信号控制器发中断信号是是CPU调度程

18、序调度其它进程调度程序调度其它进程收到中断信号了吗?收到中断信号了吗?中断处理中断处理被中断进程执行被中断进程执行是是否否准备数据并将其置入缓冲寄存准备数据并将其置入缓冲寄存器器否否向设备发向设备发Start指令,指令,置中断允许位为置中断允许位为“1”其它进程执行其它进程执行3. 直接存储访问方式直接存储访问方式(DMA, Direct Memory Access)在外设和内存之间开辟直接的数据通路。在外设和内存之间开辟直接的数据通路。由程序由程序设置设置DMA控制器中的若干寄存器值(如控制器中的若干寄存器值(如内存始址,传送字节数),然后内存始址,传送字节数),然后发起发起I/O操作,操作

19、,而后者而后者完成内存与外设完成内存与外设的成批数据交换,在操作的成批数据交换,在操作完成时由完成时由DMA控制器向控制器向CPU发出发出中断中断。优点优点:DMA控制器可用来代替控制器可用来代替CPU控制内存和控制内存和设备之间进程成批的数据交换。设备之间进程成批的数据交换。CPU只需干预只需干预I/O操作的操作的开始和结束开始和结束,而其中的一批数据读,而其中的一批数据读写无需写无需CPU控制,适于高速设备。控制,适于高速设备。当进程要求输入数据时,当进程要求输入数据时,CPUCPU将准备存放输入数据的将准备存放输入数据的内存起始地址、要传送的字节数送入内存起始地址、要传送的字节数送入DM

20、ADMA控制器的内控制器的内存地址寄存器和传送字节计数器,将中断允许位和存地址寄存器和传送字节计数器,将中断允许位和启动位置成启动位置成1 1,启动设备,启动设备发出传输要求的进程进入等待状态,执行指令被暂发出传输要求的进程进入等待状态,执行指令被暂时挂起,进程调度其他进程占据时挂起,进程调度其他进程占据CPUCPU输入设备不断窃取输入设备不断窃取CPUCPU工作周期,数据不断写入内存工作周期,数据不断写入内存传送完毕,发出中断信号传送完毕,发出中断信号CPUCPU接到中断信号转入中断处理程序处理接到中断信号转入中断处理程序处理中断处理结束,中断处理结束,CPUCPU返回原进程或切换到新的进程

21、返回原进程或切换到新的进程DMA工作原理工作原理窃取窃取总线控制控制权窃取窃取总线控制控制权n nDMADMA(I/OI/O处理器)和处理器)和处理器)和处理器)和CPUCPU共享主存储器和总共享主存储器和总共享主存储器和总共享主存储器和总线,因此会出现线,因此会出现线,因此会出现线,因此会出现通道通道通道通道和和和和CPUCPU同时争相访问主存的同时争相访问主存的同时争相访问主存的同时争相访问主存的情况。情况。情况。情况。n n因此给因此给因此给因此给DMADMA和和和和CPUCPU规定了不同的有限次序;通规定了不同的有限次序;通规定了不同的有限次序;通规定了不同的有限次序;通常常常常CPU

22、CPU被规定位最低优先级。被规定位最低优先级。被规定位最低优先级。被规定位最低优先级。n n但在微机中,系统总线的使用是在但在微机中,系统总线的使用是在但在微机中,系统总线的使用是在但在微机中,系统总线的使用是在CPUCPU控制之下控制之下控制之下控制之下的,当的,当的,当的,当I/OI/O处理器要求使用总线时,向处理器要求使用总线时,向处理器要求使用总线时,向处理器要求使用总线时,向CPUCPU发出发出发出发出请求总线的信号,请求总线的信号,请求总线的信号,请求总线的信号,CPUCPU就把总线使用权暂时转让就把总线使用权暂时转让就把总线使用权暂时转让就把总线使用权暂时转让给给给给I/OI/O

23、处理器。处理器。处理器。处理器。DMA方式与中断方式的主要区别方式与中断方式的主要区别n n中断方式是在数据缓冲寄存器满后,发中断请求,中断方式是在数据缓冲寄存器满后,发中断请求,中断方式是在数据缓冲寄存器满后,发中断请求,中断方式是在数据缓冲寄存器满后,发中断请求,CPUCPU进行中断处理进行中断处理进行中断处理进行中断处理 DMADMA方式则是在所要求传送的数据块全部传送结方式则是在所要求传送的数据块全部传送结方式则是在所要求传送的数据块全部传送结方式则是在所要求传送的数据块全部传送结束时要求束时要求束时要求束时要求CPUCPU进行中断处理进行中断处理进行中断处理进行中断处理 大大大大大大

24、大大减少减少减少减少了了了了CPUCPU进行进行进行进行中断处理中断处理中断处理中断处理的的的的次数次数次数次数n n中断方式的中断方式的中断方式的中断方式的数据传送数据传送数据传送数据传送是是是是由由由由CPUCPU控制完成的控制完成的控制完成的控制完成的 而而而而DMADMA方式则是在方式则是在方式则是在方式则是在DMADMA控制器控制器控制器控制器的控制下不经过的控制下不经过的控制下不经过的控制下不经过CPUCPU控制完成的,因此避免了因速度不匹配而造成控制完成的,因此避免了因速度不匹配而造成控制完成的,因此避免了因速度不匹配而造成控制完成的,因此避免了因速度不匹配而造成数据丢失的现象。

25、(数据丢失的现象。(数据丢失的现象。(数据丢失的现象。(DMADMA硬件比较复杂)硬件比较复杂)硬件比较复杂)硬件比较复杂)4. 通道控制方式通道控制方式(channel control)n n通道(通道(通道(通道(I/OI/O处理机)定义:处理机)定义:处理机)定义:处理机)定义: 是可以执行程序的、负责且只负责操纵输入输出设备的、是可以执行程序的、负责且只负责操纵输入输出设备的、是可以执行程序的、负责且只负责操纵输入输出设备的、是可以执行程序的、负责且只负责操纵输入输出设备的、功能简单专用的、低速、低性能的、造价低的专用处理机。功能简单专用的、低速、低性能的、造价低的专用处理机。功能简单

26、专用的、低速、低性能的、造价低的专用处理机。功能简单专用的、低速、低性能的、造价低的专用处理机。 负责管理设备与内存之间的数据传送的负责管理设备与内存之间的数据传送的负责管理设备与内存之间的数据传送的负责管理设备与内存之间的数据传送的一切一切一切一切工作。工作。工作。工作。 CPUCPU只是命令只是命令只是命令只是命令I/OI/O处理器执行主存中的处理器执行主存中的处理器执行主存中的处理器执行主存中的I/OI/O程序。当整程序。当整程序。当整程序。当整个个个个I/OI/O程序执行完成后,程序执行完成后,程序执行完成后,程序执行完成后,CPUCPU被被被被I/OI/O模块中断模块中断模块中断模块

27、中断通道控制器通道控制器(Channel Controller):有自己的专用存储器,有自己的专用存储器,可以执行由可以执行由通道指令通道指令组成的通道程序,组成的通道程序,可以进行可以进行较为复杂的较为复杂的I/O控制控制,如网卡上信道访问控制。如网卡上信道访问控制。通道程序通常由操作系统所构造,放在内存里。通道程序通常由操作系统所构造,放在内存里。引入通道的目的引入通道的目的n n为为了了使使CPUCPU从从I/OI/O事事务务中中解解脱脱出出来来,同同时时为为了了提提高高CPUCPU与与设设备备,设设备备与与设设备备之之间间的的并并行行工作能力工作能力优点:执行一个通道程序可以完成优点:

28、执行一个通道程序可以完成几批几批I/O操作。操作。通道分类通道分类n n选择通道选择通道(selector channel):可以连接:可以连接多个外设,而一次只能访问其中一个外设多个外设,而一次只能访问其中一个外设n n成组多路通道成组多路通道(Block multiplexor channel):可以并发访问多个外设,同时:可以并发访问多个外设,同时连接多个中速块设备。连接多个中速块设备。n n字节多路通道字节多路通道:多个字符设备:多个字符设备n n字节多路通道以字节多路通道以字节字节为单位传输信息,它可为单位传输信息,它可以分时地执行多个通道程序。当一个通道程以分时地执行多个通道程序。

29、当一个通道程序控制某台设备传送一个字节后,通道硬件序控制某台设备传送一个字节后,通道硬件就控制转去执行另一个通道程序,控制另一就控制转去执行另一个通道程序,控制另一台设备传送信息台设备传送信息n n主要连接以字节为单位的低速主要连接以字节为单位的低速I/O设备。设备。如打如打印机,终端。印机,终端。1) 字节多路通道字节多路通道字节多路通道的工作原理字节多路通道的工作原理 n n选择通道是以成组方式工作的,即每次传送选择通道是以成组方式工作的,即每次传送一批数据一批数据,故传送速度很高。选择通道在一,故传送速度很高。选择通道在一段时间内只能执行一个通道程序,只允许一段时间内只能执行一个通道程序

30、,只允许一台设备进行数据传输台设备进行数据传输选择通道选择通道当这台设备数据传输当这台设备数据传输完成后,再选择与通完成后,再选择与通道连接的另一台设备,道连接的另一台设备,执行它的相应的通道执行它的相应的通道程序程序 2)选择通道选择通道主要连接磁盘,磁带等高速主要连接磁盘,磁带等高速I/O设备设备n n它结合了选择通道传送速度高和字节多路它结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点。它先为通道能进行分时并行操作的优点。它先为一台设备执行一条通道指令,然后自动转一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令接,为另一台设备执行一条通道指令n n主要连

31、接高速设备主要连接高速设备n n这样,对于连接多台磁盘机的数组多路通这样,对于连接多台磁盘机的数组多路通道,它可以启动它们同时执行移臂定位操道,它可以启动它们同时执行移臂定位操作,然后,按序交叉地传输一批批数据。作,然后,按序交叉地传输一批批数据。数据多路通道实际上是对通道程序采用多数据多路通道实际上是对通道程序采用多道程序设计的硬件实现道程序设计的硬件实现3)成组多路通道成组多路通道硬件连接结构硬件连接结构n n通道通道:执行通道程序,向控制器发出命令,:执行通道程序,向控制器发出命令,并具有向并具有向CPU发中断信号的功能。发中断信号的功能。 一旦一旦CPU发出指令,启动通道,则通道独立于

32、发出指令,启动通道,则通道独立于CPU工作。一个通道可连接多个控制器,一工作。一个通道可连接多个控制器,一个控制器可连接多个设备,形成树形交叉连个控制器可连接多个设备,形成树形交叉连接接n n主要目的是启动外设时:主要目的是启动外设时:a 提高了控制器效率提高了控制器效率b 提高可靠性提高可靠性c 提高并行度提高并行度设备、控制器、通道、内存之间的关系设备、控制器、通道、内存之间的关系交叉连接交叉连接中断技术n n中断中断中断中断是指是指是指是指CPUCPU在收到外部中断信号后,停止原来工作,在收到外部中断信号后,停止原来工作,在收到外部中断信号后,停止原来工作,在收到外部中断信号后,停止原来

33、工作,转去处理该中断事件,完毕后回到原来断点继续工作。转去处理该中断事件,完毕后回到原来断点继续工作。转去处理该中断事件,完毕后回到原来断点继续工作。转去处理该中断事件,完毕后回到原来断点继续工作。 中断处理过程:中断请求,中断响应,中断点(暂停当前任务中断处理过程:中断请求,中断响应,中断点(暂停当前任务中断处理过程:中断请求,中断响应,中断点(暂停当前任务中断处理过程:中断请求,中断响应,中断点(暂停当前任务并保存现场),中断处理例程,中断返回(恢复中断点的现场并保存现场),中断处理例程,中断返回(恢复中断点的现场并保存现场),中断处理例程,中断返回(恢复中断点的现场并保存现场),中断处理

34、例程,中断返回(恢复中断点的现场并继续原有任务并继续原有任务并继续原有任务并继续原有任务 可处理算术溢出和非法操作码,死循环(利用时钟中断进行超可处理算术溢出和非法操作码,死循环(利用时钟中断进行超可处理算术溢出和非法操作码,死循环(利用时钟中断进行超可处理算术溢出和非法操作码,死循环(利用时钟中断进行超时限定)时限定)时限定)时限定)n n开中断、关中断、中断屏蔽开中断、关中断、中断屏蔽开中断、关中断、中断屏蔽开中断、关中断、中断屏蔽n n中断的分类中断的分类中断的分类中断的分类 外中断:来自外中断:来自外中断:来自外中断:来自CPUCPU和内存的外部。如和内存的外部。如和内存的外部。如和内

35、存的外部。如I/OI/O设备,定设备,定设备,定设备,定时器,调试中断等时器,调试中断等时器,调试中断等时器,调试中断等 内中断:来自内中断:来自内中断:来自内中断:来自CPUCPU和内存的内部,内中断一般称为和内存的内部,内中断一般称为和内存的内部,内中断一般称为和内存的内部,内中断一般称为陷阱(陷阱(陷阱(陷阱(traptrap,包括地址非法、页面实效,溢出、时,包括地址非法、页面实效,溢出、时,包括地址非法、页面实效,溢出、时,包括地址非法、页面实效,溢出、时间片中断等间片中断等间片中断等间片中断等中断和陷入(中断和陷入(trap)的区别)的区别n n陷入通常由处理机正在执行的现行指令引

36、起,陷入通常由处理机正在执行的现行指令引起,陷入通常由处理机正在执行的现行指令引起,陷入通常由处理机正在执行的现行指令引起,而中断是由与现行指令无关的中断源引起的而中断是由与现行指令无关的中断源引起的而中断是由与现行指令无关的中断源引起的而中断是由与现行指令无关的中断源引起的n n陷入处理程序提供的服务为当前进程所用,而陷入处理程序提供的服务为当前进程所用,而陷入处理程序提供的服务为当前进程所用,而陷入处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为当前进程的中断处理程序提供的服务则不是为当前进程的中断处理程序提供的服务则不是为当前进程的中断处理程序提供的服务则不是为当前进程

37、的n nCPUCPU在执行完一条指令之后,下一条指令开始在执行完一条指令之后,下一条指令开始在执行完一条指令之后,下一条指令开始在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中也可以响之前响应中断,而在一条指令执行中也可以响之前响应中断,而在一条指令执行中也可以响之前响应中断,而在一条指令执行中也可以响应陷入。如非法指令执行时,尽管被执行的非应陷入。如非法指令执行时,尽管被执行的非应陷入。如非法指令执行时,尽管被执行的非应陷入。如非法指令执行时,尽管被执行的非法指令不能执行结束,但法指令不能执行结束,但法指令不能执行结束,但法指令不能执行结束,但CPUCPU仍可对其进行处仍

38、可对其进行处仍可对其进行处仍可对其进行处理。理。理。理。 中断处理过程(课本)中断处理过程(课本)7.2 缓冲技术缓冲技术返回 缓冲技术可提高外设利用率,尽可能使外设处于忙缓冲技术可提高外设利用率,尽可能使外设处于忙缓冲技术可提高外设利用率,尽可能使外设处于忙缓冲技术可提高外设利用率,尽可能使外设处于忙状态;但有一个限制:进程的状态;但有一个限制:进程的状态;但有一个限制:进程的状态;但有一个限制:进程的I/OI/O请求不能超过外请求不能超过外请求不能超过外请求不能超过外设的处理能力。设的处理能力。设的处理能力。设的处理能力。n n缓冲技术的缓冲技术的缓冲技术的缓冲技术的基本思想基本思想基本思

39、想基本思想:在:在:在:在CPUCPU和外设之间设置缓冲和外设之间设置缓冲和外设之间设置缓冲和外设之间设置缓冲区,用于暂存区,用于暂存区,用于暂存区,用于暂存CPUCPU与外设之间交换的数据,从而缓与外设之间交换的数据,从而缓与外设之间交换的数据,从而缓与外设之间交换的数据,从而缓和和和和CPUCPU与外设速度不匹配的矛盾。与外设速度不匹配的矛盾。与外设速度不匹配的矛盾。与外设速度不匹配的矛盾。n n缓冲区是在内存中开辟一块存储空间。缓冲区是在内存中开辟一块存储空间。缓冲区是在内存中开辟一块存储空间。缓冲区是在内存中开辟一块存储空间。n n包括输入缓存和输出缓存包括输入缓存和输出缓存包括输入缓

40、存和输出缓存包括输入缓存和输出缓存n n分为分为分为分为专用缓存专用缓存专用缓存专用缓存(为一个设备独占,如键盘缓存)和(为一个设备独占,如键盘缓存)和(为一个设备独占,如键盘缓存)和(为一个设备独占,如键盘缓存)和公用缓存公用缓存公用缓存公用缓存(为多个设备公用)(为多个设备公用)(为多个设备公用)(为多个设备公用)缓冲区缓冲区CPU外设外设1. 引入缓冲技术的目的引入缓冲技术的目的n n匹配匹配匹配匹配CPUCPU或用户应用进程与外设的不同处理或用户应用进程与外设的不同处理或用户应用进程与外设的不同处理或用户应用进程与外设的不同处理速度速度速度速度n n减少对减少对减少对减少对CPUCPU

41、的中断次数的中断次数的中断次数的中断次数:提高:提高:提高:提高CPUCPU和和和和I/OI/O设备之设备之设备之设备之间以及各个间以及各个间以及各个间以及各个I/OI/O设备之间的处理并行性。设备之间的处理并行性。设备之间的处理并行性。设备之间的处理并行性。n n解决解决解决解决DMADMA或通道方式时的或通道方式时的或通道方式时的或通道方式时的瓶颈瓶颈瓶颈瓶颈问题问题问题问题n n缓冲区所在的位置:缓冲区所在的位置:缓冲区所在的位置:缓冲区所在的位置:内存,控制器或外设内存,控制器或外设内存,控制器或外设内存,控制器或外设。这些。这些。这些。这些在不同位置的缓冲区组合在一起,构成多级缓冲在

42、不同位置的缓冲区组合在一起,构成多级缓冲在不同位置的缓冲区组合在一起,构成多级缓冲在不同位置的缓冲区组合在一起,构成多级缓冲机制。机制。机制。机制。n n缓冲的实现:缓冲的实现:缓冲的实现:缓冲的实现: 硬件缓冲器,如硬件缓冲器,如硬件缓冲器,如硬件缓冲器,如I/OI/O控制器中的数据缓冲寄存器控制器中的数据缓冲寄存器控制器中的数据缓冲寄存器控制器中的数据缓冲寄存器 在内存画出一个具有在内存画出一个具有在内存画出一个具有在内存画出一个具有n n个单元的专用缓冲区。(软件缓个单元的专用缓冲区。(软件缓个单元的专用缓冲区。(软件缓个单元的专用缓冲区。(软件缓冲)冲)冲)冲)2. 单方向缓冲单方向缓

43、冲n n单缓冲单缓冲单缓冲单缓冲(single buffer)(single buffer):一个缓冲区,:一个缓冲区,:一个缓冲区,:一个缓冲区,CPUCPU和外和外和外和外设轮流使用,一方处理完之后接着等待对方处理。设轮流使用,一方处理完之后接着等待对方处理。设轮流使用,一方处理完之后接着等待对方处理。设轮流使用,一方处理完之后接着等待对方处理。n n双缓冲双缓冲双缓冲双缓冲(double buffer)(double buffer):两个缓冲区,:两个缓冲区,:两个缓冲区,:两个缓冲区,CPUCPU和和和和外设都可以连续处理而无需等待对方。要求外设都可以连续处理而无需等待对方。要求外设都

44、可以连续处理而无需等待对方。要求外设都可以连续处理而无需等待对方。要求CPUCPU和和和和外设的速度相近。外设的速度相近。外设的速度相近。外设的速度相近。n n环形缓冲环形缓冲环形缓冲环形缓冲(circular buffer)(circular buffer):多个缓冲区,:多个缓冲区,:多个缓冲区,:多个缓冲区,CPUCPU和外设的处理速度可以相差较大。和外设的处理速度可以相差较大。和外设的处理速度可以相差较大。和外设的处理速度可以相差较大。n n由于缓冲区是临界资源,在使用缓冲区时都有一个由于缓冲区是临界资源,在使用缓冲区时都有一个由于缓冲区是临界资源,在使用缓冲区时都有一个由于缓冲区是临

45、界资源,在使用缓冲区时都有一个申请、释放和互斥的问题申请、释放和互斥的问题申请、释放和互斥的问题申请、释放和互斥的问题。3. 缓冲池缓冲池(buffer pool)n n缓冲区队列缓冲区队列缓冲区队列缓冲区队列:三种:空闲缓冲区,输入缓冲区,输:三种:空闲缓冲区,输入缓冲区,输:三种:空闲缓冲区,输入缓冲区,输:三种:空闲缓冲区,输入缓冲区,输出缓冲区出缓冲区出缓冲区出缓冲区n n操作操作操作操作:四种:设备输入,:四种:设备输入,:四种:设备输入,:四种:设备输入,CPUCPU读入,设备输出,读入,设备输出,读入,设备输出,读入,设备输出,CPUCPU写出。上述操作访问各个缓冲区队列时,需要

46、写出。上述操作访问各个缓冲区队列时,需要写出。上述操作访问各个缓冲区队列时,需要写出。上述操作访问各个缓冲区队列时,需要进行相应的互斥操作。进行相应的互斥操作。进行相应的互斥操作。进行相应的互斥操作。这是一种双方向缓冲技术;缓冲区整体利用率高。这是一种双方向缓冲技术;缓冲区整体利用率高。注:缓冲池的管理见教材注:缓冲池的管理见教材P217-2197n n缓冲池的结构:由多个缓冲区构成,每个缓冲池的结构:由多个缓冲区构成,每个缓冲区由两部分组成:缓冲区由两部分组成:缓冲区首部:设备号、数据块号、缓冲器号、缓冲区首部:设备号、数据块号、缓冲器号、缓冲区首部:设备号、数据块号、缓冲器号、缓冲区首部:

47、设备号、数据块号、缓冲器号、互斥标识位,连接指针;互斥标识位,连接指针;互斥标识位,连接指针;互斥标识位,连接指针;缓冲体:存放数据缓冲体:存放数据缓冲体:存放数据缓冲体:存放数据缓冲池的管理(P218)n n供进程申请缓冲区用的过程供进程申请缓冲区用的过程供进程申请缓冲区用的过程供进程申请缓冲区用的过程get_buf(type,number)get_buf(type,number)n nBegin Begin P(RS(type)P(RS(type)P(S(type)P(S(type)Pointer of Pointer of buffer(number)=take_buf(type,num

48、ber)buffer(number)=take_buf(type,number)V(S(type)V(S(type)n nendendn n供进程将缓冲区放入相应队列的过程供进程将缓冲区放入相应队列的过程供进程将缓冲区放入相应队列的过程供进程将缓冲区放入相应队列的过程Put_buf(type,work_buf)Put_buf(type,work_buf) Begin Begin P(S(type) P(S(type) Add_buf(type,number) Add_buf(type,number) V(S(type) V(S(type) V(RS(type) V(RS(type)endend

49、7.3 设备分配设备分配7.3.1 设备分配数据结设备分配数据结构构7.3.2 设备分配原则设备分配原则7.3.3 假脱机技术假脱机技术返回由于外设资源的有限,需解决进程间的外设共享问题,由于外设资源的有限,需解决进程间的外设共享问题,以提高外设资源的利用率。设备分配是对进程使用外以提高外设资源的利用率。设备分配是对进程使用外设过程的管理。这里有两种作法:设过程的管理。这里有两种作法:1)在进程间在进程间切换使用切换使用外设,如键盘和鼠标;外设,如键盘和鼠标;2)通过一个通过一个虚拟设备虚拟设备把外设与应用进程隔开,只把外设与应用进程隔开,只由虚拟设备来使用设备。由虚拟设备来使用设备。7.3.

50、1 设备分配数据结构设备分配数据结构n n设备控制表设备控制表设备控制表设备控制表(DCT, Device Control Table)(DCT, Device Control Table):每个设备一张,每个设备一张,每个设备一张,每个设备一张,描述设备特性和状态描述设备特性和状态描述设备特性和状态描述设备特性和状态。反映设备的。反映设备的。反映设备的。反映设备的特性、设备和控制器的连接情况。特性、设备和控制器的连接情况。特性、设备和控制器的连接情况。特性、设备和控制器的连接情况。n n系统设备表系统设备表系统设备表系统设备表(SDT, System Device Table)(SDT, S

51、ystem Device Table):系统内一张,反映系统内一张,反映系统内一张,反映系统内一张,反映系统中设备资源的状态系统中设备资源的状态系统中设备资源的状态系统中设备资源的状态,记录所,记录所,记录所,记录所有设备的状态及其设备控制表的入口。有设备的状态及其设备控制表的入口。有设备的状态及其设备控制表的入口。有设备的状态及其设备控制表的入口。n n控制器控制表控制器控制表控制器控制表控制器控制表(COCT, COntroller Control (COCT, COntroller Control Table)Table):每个设备控制器一张,描述:每个设备控制器一张,描述:每个设备控制

52、器一张,描述:每个设备控制器一张,描述I/OI/O控制器控制器控制器控制器的配置和状态的配置和状态的配置和状态的配置和状态。如。如。如。如DMADMA控制器所占用的中断号、控制器所占用的中断号、控制器所占用的中断号、控制器所占用的中断号、DMADMA数据通道的分配。数据通道的分配。数据通道的分配。数据通道的分配。n n通道控制表通道控制表通道控制表通道控制表(CHCT, CHannel Control (CHCT, CHannel Control Table)Table):每个通道一张,描述通道工作状态。:每个通道一张,描述通道工作状态。:每个通道一张,描述通道工作状态。:每个通道一张,描述通

53、道工作状态。返回各表间的关系各表间的关系系统设备表系统设备表表项表项1 表项表项i设备类型设备类型设备标识设备标识获得设备的进程号获得设备的进程号DCT指针指针设备控制表(设备控制表(DCT)设备类型设备类型设备标识设备标识设备忙设备忙/闲标记闲标记COCT指针指针设备等待队列首指针设备等待队列首指针设备等待队列尾指针设备等待队列尾指针控制器控制表控制器控制表COCT控制器标识控制器标识控制器忙控制器忙/闲标记闲标记CHCT指针指针控制器控制器等待队列首指针等待队列首指针控制器控制器等待队列尾指针等待队列尾指针通道控制表通道控制表CHCT通道标识通道标识通道忙通道忙/闲标记闲标记COCT指针指

54、针通道通道等待队列首指针等待队列首指针通道通道等待队列尾指针等待队列尾指针7.3.2 设备分配原则设备分配原则n n与设备分配有关的与设备分配有关的与设备分配有关的与设备分配有关的设备属性设备属性设备属性设备属性: 独享设备:打印机等;独享设备:打印机等;独享设备:打印机等;独享设备:打印机等; 共享设备:磁盘、网卡等;共享设备:磁盘、网卡等;共享设备:磁盘、网卡等;共享设备:磁盘、网卡等;n n设备设备设备设备分配方式分配方式分配方式分配方式:各有优缺点(课本):各有优缺点(课本):各有优缺点(课本):各有优缺点(课本) 静态分配静态分配静态分配静态分配:不会出现死锁;:不会出现死锁;:不会

55、出现死锁;:不会出现死锁;n n设备利用率不高;设备利用率不高;设备利用率不高;设备利用率不高; 动态分配动态分配动态分配动态分配:需要考虑死锁问题:需要考虑死锁问题:需要考虑死锁问题:需要考虑死锁问题n n有利于提高设备利用率有利于提高设备利用率有利于提高设备利用率有利于提高设备利用率返回设备分配的原则是合理使用外设设备分配的原则是合理使用外设(公平和避免死锁公平和避免死锁)提高设备利用率。提高设备利用率。应用程序与设备无关应用程序与设备无关针对特定的设备采用特定的针对特定的设备采用特定的针对特定的设备采用特定的针对特定的设备采用特定的分配策略分配策略分配策略分配策略 先来先服务先来先服务先

56、来先服务先来先服务(FCFS)(FCFS):按按按按I/OI/O请求的先后顺序,排成请求的先后顺序,排成请求的先后顺序,排成请求的先后顺序,排成I/OI/O请求命令队列,队首指向被请求设备的请求命令队列,队首指向被请求设备的请求命令队列,队首指向被请求设备的请求命令队列,队首指向被请求设备的DCTDCT;按;按;按;按FCFSFCFS分配设备;分配设备;分配设备;分配设备; 基于优先级基于优先级基于优先级基于优先级:依据进程的优先级,指定:依据进程的优先级,指定:依据进程的优先级,指定:依据进程的优先级,指定I/OI/O请求的优先请求的优先请求的优先请求的优先级,排成不同优先级队列;按优先级高

57、低分配设备;级,排成不同优先级队列;按优先级高低分配设备;级,排成不同优先级队列;按优先级高低分配设备;级,排成不同优先级队列;按优先级高低分配设备;动态分配策略动态分配策略为进程程P分配所需的分配所需的I/O设备从从SDT表表查该类设备的控制表的控制表DCT由由DCT检查该设备忙否忙否?不忙不忙检查分配此分配此设备的安全性的安全性?不安全不安全分配此分配此设备给进程程P查此此设备连接的接的COCT忙否忙否?不忙不忙不忙不忙分配此控制器分配此控制器给进程程P查此控制器此控制器连接的接的CHCT忙否忙否?最后一个最后一个DCT?分配此通道分配此通道给进程程P启启动I/O,进行具体的行具体的I/O

58、操作操作忙忙进程程P的的PCB放入放入此此设备的等待的等待队列列YN忙忙最后一个最后一个COCT?最后一个最后一个DCT?进程程 P 的的 PCB 放入放入此控制器的等待此控制器的等待队列列YNY忙忙最后一个最后一个CHCT?Y最后一个最后一个COCT?NYNN设备分配流程示意图设备分配流程示意图7.3.3 假脱机技术假脱机技术返回 利用假脱机技术利用假脱机技术(SPOOLing, Simultaneous Peripheral Operation On Line, 也称为虚拟设备技也称为虚拟设备技术术)可可把独享设备转变成具有共享特征的虚拟设备把独享设备转变成具有共享特征的虚拟设备,从而,从

59、而提高设备利用率。提高设备利用率。独享设备经常会成为系统中的独享设备经常会成为系统中的“瓶颈瓶颈”资源)资源)进程在占用设备的整个期间,并不经常使用该设备进程在占用设备的整个期间,并不经常使用该设备引入:在多道批处理系统中,专门利用一道程序引入:在多道批处理系统中,专门利用一道程序(SPOOLing程序)来完成对设备的程序)来完成对设备的I/O操作。无需操作。无需使用外围使用外围I/O处理机。处理机。Application AApplication BSPOOLingProgramDeviceVirtual I/OActual I/On n假脱机的原理:假脱机的原理:假脱机的原理:假脱机的原理

60、: SPOOLingSPOOLing程序和外设进行数据交换,可以称为程序和外设进行数据交换,可以称为程序和外设进行数据交换,可以称为程序和外设进行数据交换,可以称为“ “实际实际实际实际I/O”I/O”。一方面,。一方面,。一方面,。一方面,SPOOLingSPOOLing程序预先从外设输入数据并加程序预先从外设输入数据并加程序预先从外设输入数据并加程序预先从外设输入数据并加以缓冲,在以后需要的时候输入到应用程序;另一方面,以缓冲,在以后需要的时候输入到应用程序;另一方面,以缓冲,在以后需要的时候输入到应用程序;另一方面,以缓冲,在以后需要的时候输入到应用程序;另一方面,SPOOLingSPO

61、OLing程序接受应用程序的输出数据并加以缓冲,在程序接受应用程序的输出数据并加以缓冲,在程序接受应用程序的输出数据并加以缓冲,在程序接受应用程序的输出数据并加以缓冲,在以后适当的时候输出到外设。(输入以后适当的时候输出到外设。(输入以后适当的时候输出到外设。(输入以后适当的时候输出到外设。(输入spoolspool和输出和输出和输出和输出spoolspool) 在在在在SPOOLingSPOOLing程序中,需要管理两级缓冲区:内存缓冲区程序中,需要管理两级缓冲区:内存缓冲区程序中,需要管理两级缓冲区:内存缓冲区程序中,需要管理两级缓冲区:内存缓冲区和快速外存上的缓冲池,后者可以暂存多批和快

62、速外存上的缓冲池,后者可以暂存多批和快速外存上的缓冲池,后者可以暂存多批和快速外存上的缓冲池,后者可以暂存多批I/OI/O操作的较多操作的较多操作的较多操作的较多数据。数据。数据。数据。 应用程序进行应用程序进行应用程序进行应用程序进行I/OI/O操作时,只是和操作时,只是和操作时,只是和操作时,只是和SPOOLingSPOOLing程序交换数程序交换数程序交换数程序交换数据,可以称为据,可以称为据,可以称为据,可以称为 虚拟虚拟虚拟虚拟I/OI/O。这时虚拟。这时虚拟。这时虚拟。这时虚拟I/OI/O实际上是从实际上是从实际上是从实际上是从SPOOLingSPOOLing程序的缓冲池中读出数据

63、或把数据送入缓冲池,程序的缓冲池中读出数据或把数据送入缓冲池,程序的缓冲池中读出数据或把数据送入缓冲池,程序的缓冲池中读出数据或把数据送入缓冲池,而不是跟实际的外设进行而不是跟实际的外设进行而不是跟实际的外设进行而不是跟实际的外设进行I/OI/O操作。操作。操作。操作。n n优点:优点:高速虚拟高速虚拟高速虚拟高速虚拟I/OI/O操作操作操作操作:应用程序的虚拟:应用程序的虚拟:应用程序的虚拟:应用程序的虚拟I/OI/O比实际比实际比实际比实际I/OI/O速度提高,缩短应用程序的执行时间。另一速度提高,缩短应用程序的执行时间。另一速度提高,缩短应用程序的执行时间。另一速度提高,缩短应用程序的执

64、行时间。另一方面,程序的虚拟方面,程序的虚拟方面,程序的虚拟方面,程序的虚拟I/OI/O操作时间和实际操作时间和实际操作时间和实际操作时间和实际I/OI/O操作操作操作操作时间分离开来。时间分离开来。时间分离开来。时间分离开来。实现对独享设备的共享实现对独享设备的共享实现对独享设备的共享实现对独享设备的共享:由:由:由:由SPOOLingSPOOLing程序提供程序提供程序提供程序提供虚拟设备,可以对独享设备依次共享使用。虚拟设备,可以对独享设备依次共享使用。虚拟设备,可以对独享设备依次共享使用。虚拟设备,可以对独享设备依次共享使用。n n举例:打印机设备和可由打印机管理器管理的举例:打印机设

65、备和可由打印机管理器管理的打印作业队列。打印作业队列。如:如:如:如:Windows NTWindows NT中,应用程序直接向针式打中,应用程序直接向针式打中,应用程序直接向针式打中,应用程序直接向针式打印机输出需要印机输出需要印机输出需要印机输出需要1515分钟,而向打印作业队列输出只分钟,而向打印作业队列输出只分钟,而向打印作业队列输出只分钟,而向打印作业队列输出只需要需要需要需要1 1分钟,此后用户可以关闭应用程序而转入其分钟,此后用户可以关闭应用程序而转入其分钟,此后用户可以关闭应用程序而转入其分钟,此后用户可以关闭应用程序而转入其他工作,在以后适当的时候由打印机管理器完成他工作,在

66、以后适当的时候由打印机管理器完成他工作,在以后适当的时候由打印机管理器完成他工作,在以后适当的时候由打印机管理器完成1515分钟的打印输出而无需用户干预。分钟的打印输出而无需用户干预。分钟的打印输出而无需用户干预。分钟的打印输出而无需用户干预。7.3.4 I/O进程控制n n从用户的输入输出请求开始,给用户进程分配从用户的输入输出请求开始,给用户进程分配从用户的输入输出请求开始,给用户进程分配从用户的输入输出请求开始,给用户进程分配设备和启动有关设备进行设备和启动有关设备进行设备和启动有关设备进行设备和启动有关设备进行I/OI/O操作,以及在操作,以及在操作,以及在操作,以及在IOIO操作之后

67、响应中断,进行善后处理为止的操作之后响应中断,进行善后处理为止的操作之后响应中断,进行善后处理为止的操作之后响应中断,进行善后处理为止的整个系统控制过程称为整个系统控制过程称为整个系统控制过程称为整个系统控制过程称为IOIO控制。控制。控制。控制。唤醒中断处理程序IO请求处理缓冲区管理设备分配程序中断原因分析外设中断请求用户进程IO请求中断响应启动IO指令设备驱动程序或通道程序I/O控制的实现控制的实现n n作为请求作为请求IO操作的进程的一部分实现操作的进程的一部分实现n n作为当前进程的一部分实现作为当前进程的一部分实现n n由专门的系统进程由专门的系统进程IO进程完成进程完成n n设备驱

68、动程序是驱动物理设备和设备驱动程序是驱动物理设备和设备驱动程序是驱动物理设备和设备驱动程序是驱动物理设备和DMADMA或或或或I/OI/O控制器控制器控制器控制器等直接进行等直接进行等直接进行等直接进行I/OI/O操作的操作的操作的操作的子程序的集合子程序的集合子程序的集合子程序的集合。他们负责完成。他们负责完成。他们负责完成。他们负责完成设置相应设备有关寄存器的值,启动设备进行设置相应设备有关寄存器的值,启动设备进行设置相应设备有关寄存器的值,启动设备进行设置相应设备有关寄存器的值,启动设备进行I/OI/O操操操操作,指定操作的类型和数据流向等。作,指定操作的类型和数据流向等。作,指定操作的

69、类型和数据流向等。作,指定操作的类型和数据流向等。n n与设备密切相关的代码放在设备驱动程序中,每个设与设备密切相关的代码放在设备驱动程序中,每个设与设备密切相关的代码放在设备驱动程序中,每个设与设备密切相关的代码放在设备驱动程序中,每个设备驱动程序处理一种设备类型备驱动程序处理一种设备类型备驱动程序处理一种设备类型备驱动程序处理一种设备类型7.4 设备驱动程序设备驱动程序为了对驱动程序进行管理,系统中设置由设备开为了对驱动程序进行管理,系统中设置由设备开关表关表DST(DeviceSwitchTable)DST中给中给出相应设备的各种操作子程序的入口地址,例如出相应设备的各种操作子程序的入口

70、地址,例如打开、关闭、读、写和启动设备子程序的入口地打开、关闭、读、写和启动设备子程序的入口地址。是一个二维结构。址。是一个二维结构。7.5 磁盘设备管理磁盘设备管理7.5.1 磁盘磁盘I/O访问时间的访问时间的组成组成7.5.2 磁盘磁盘I/O调度策略调度策略7.5.3 磁盘缓存置换算法磁盘缓存置换算法返回CPU和内存的和内存的访问速度访问速度比磁盘要快若干个数量级,比磁盘要快若干个数量级,磁盘系统的性能磁盘系统的性能对整个系统的性能有重要影响对整个系统的性能有重要影响,磁,磁盘设备管理的目标就是提高磁盘系统的性能。盘设备管理的目标就是提高磁盘系统的性能。7.5.1 磁盘磁盘I/O访问时间的

71、组成访问时间的组成n n柱面定位时间:磁头移动到指定柱面的机械运动柱面定位时间:磁头移动到指定柱面的机械运动柱面定位时间:磁头移动到指定柱面的机械运动柱面定位时间:磁头移动到指定柱面的机械运动时间;时间;时间;时间;n n旋转延迟时间:磁盘旋转到指定扇区的机械运动旋转延迟时间:磁盘旋转到指定扇区的机械运动旋转延迟时间:磁盘旋转到指定扇区的机械运动旋转延迟时间:磁盘旋转到指定扇区的机械运动时间;它与磁盘转速相关,如:软盘转速可为时间;它与磁盘转速相关,如:软盘转速可为时间;它与磁盘转速相关,如:软盘转速可为时间;它与磁盘转速相关,如:软盘转速可为600rpm(600rpm(每分钟转速每分钟转速每

72、分钟转速每分钟转速) ),硬盘可为,硬盘可为,硬盘可为,硬盘可为3600rpm3600rpm。n n数据传送时间:从指定扇区读写数据的时间。数据传送时间:从指定扇区读写数据的时间。数据传送时间:从指定扇区读写数据的时间。数据传送时间:从指定扇区读写数据的时间。返回由于由于柱面定位时间柱面定位时间在访问时间中占主要部分,在访问时间中占主要部分,合理组成磁盘数据的存储位置合理组成磁盘数据的存储位置可提高磁盘可提高磁盘I/O性能。性能。当一个进程读磁盘上一个大地当一个进程读磁盘上一个大地 连续分配文件时,尽管看起来对磁盘的访问请求很多,连续分配文件时,尽管看起来对磁盘的访问请求很多,但由于各信息块连

73、在一起,磁头的移动距离却很小,而链接文件和索引文件的数据块可但由于各信息块连在一起,磁头的移动距离却很小,而链接文件和索引文件的数据块可能会散布在整个盘上,使磁盘的磁臂大幅度移动,能会散布在整个盘上,使磁盘的磁臂大幅度移动,I/O负担加重。负担加重。例子:读一个例子:读一个128KB大小的文件:大小的文件:(1)文件由文件由8个连续磁道个连续磁道(每个磁道每个磁道32个扇区个扇区)上的上的256 个扇区构成:个扇区构成:20ms+(7.3ms+16.7ms)*8=220ms;其中,柱面定位时间为其中,柱面定位时间为20ms,旋转延迟时间为,旋转延迟时间为7.3ms,32扇区数据传送时间为扇区数

74、据传送时间为16.7ms;(2)文件由文件由256个随机分布的扇区个随机分布的扇区构成:构成:(20ms+7.3ms+0.5ms)*256=7373ms;其中,其中,1扇区数据传送时间为扇区数据传送时间为0.5ms;随机分布时的访问时间为连续分布时的随机分布时的访问时间为连续分布时的33.5倍倍。7.5.2 磁盘磁盘I/O调度策略调度策略返回1.1.1.1.当当当当多多多多个个个个访访盘盘请请求求求求在在在在等等等等待待待待时时,采采采采用用用用一一一一定定定定的的的的策策策策略略略略,对对这这些些些些请请求求求求的的的的服服服服务务顺顺序序序序调调整整整整安安安安排排排排,旨旨旨旨在在在在降

75、降降降低低低低平平平平均均均均磁磁磁磁盘盘服服服服务时间务时间,达到公平、高效,达到公平、高效,达到公平、高效,达到公平、高效公平:一个公平:一个公平:一个公平:一个I/OI/O请请求在有限求在有限求在有限求在有限时间时间内内内内满满足足足足高效:减少高效:减少高效:减少高效:减少设备设备机械运机械运机械运机械运动动所所所所带带来的来的来的来的时间时间浪浪浪浪费费2. 2. 磁磁磁磁盘调盘调度考度考度考度考虑虑的的的的问题问题: 一次一次一次一次访盘时间访盘时间 = = 寻寻道道道道时间时间+ +旋旋旋旋转转延延延延迟时间迟时间+ +存取存取存取存取时间时间(1) (1) 减少减少减少减少寻寻

76、道道道道时间时间(活(活(活(活动头动头磁磁磁磁盘盘)(2) (2) 减少延减少延减少延减少延迟时间迟时间(固定(固定(固定(固定头头磁磁磁磁盘盘)磁盘调度算法磁盘调度算法n n先进先出算法先进先出算法先进先出算法先进先出算法n n优先级算法优先级算法优先级算法优先级算法n n后进先出算法后进先出算法后进先出算法后进先出算法n n短查找时间优先算法短查找时间优先算法短查找时间优先算法短查找时间优先算法n n扫描扫描扫描扫描(SCAN)(SCAN)算法算法算法算法n n循环扫描循环扫描循环扫描循环扫描(C-SCAN)(C-SCAN)算法算法算法算法n nNN步扫描步扫描步扫描步扫描(N-step

77、-SCAN)(N-step-SCAN)算法算法算法算法n n双队列扫描双队列扫描双队列扫描双队列扫描(FSCAN)(FSCAN)算法算法算法算法n n先进先出先进先出先进先出先进先出(FIFO, First In First Out)(FIFO, First In First Out)算法算法算法算法: 原理原理原理原理:磁盘:磁盘:磁盘:磁盘I/OI/O执行顺序为磁盘执行顺序为磁盘执行顺序为磁盘执行顺序为磁盘I/OI/O请求的先后顺序。请求的先后顺序。请求的先后顺序。请求的先后顺序。 该算法的特点是公平性;在磁盘该算法的特点是公平性;在磁盘该算法的特点是公平性;在磁盘该算法的特点是公平性;在

78、磁盘I/OI/O负载较轻且每次读写负载较轻且每次读写负载较轻且每次读写负载较轻且每次读写多个连续扇区时,性能较好。多个连续扇区时,性能较好。多个连续扇区时,性能较好。多个连续扇区时,性能较好。 缺点缺点缺点缺点:效率不高,相临两次请求可能会造成最内到最外的:效率不高,相临两次请求可能会造成最内到最外的:效率不高,相临两次请求可能会造成最内到最外的:效率不高,相临两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也柱面寻道,使磁头反复移动,增加了服务时间,对机械也柱面寻道,使磁头反复移动,增加了服务时间,对机械也柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利不

79、利不利不利n n例:假设磁盘访问序列:例:假设磁盘访问序列:例:假设磁盘访问序列:例:假设磁盘访问序列:9898,183183,3737,122122,1414,124124,6565,6767读写头起始位置:读写头起始位置:读写头起始位置:读写头起始位置:5353安排磁头服务序列安排磁头服务序列安排磁头服务序列安排磁头服务序列计算磁头移动总距离(道数)计算磁头移动总距离(道数)计算磁头移动总距离(道数)计算磁头移动总距离(道数)n n优先级算法优先级算法:依据进程优先级来调整磁盘:依据进程优先级来调整磁盘I/O请求的执行顺序。请求的执行顺序。该算法反映进程在系统的优先级特征,目标是该算法反映

80、进程在系统的优先级特征,目标是该算法反映进程在系统的优先级特征,目标是该算法反映进程在系统的优先级特征,目标是系统目标的实现,而不是改进磁盘系统目标的实现,而不是改进磁盘系统目标的实现,而不是改进磁盘系统目标的实现,而不是改进磁盘I/OI/O性能。性能。性能。性能。n n后进先出后进先出(LIFO, Last In First Out)算算法法:后产生的磁盘:后产生的磁盘I/O请求,先执行。请求,先执行。该算法是基于事务系统中顺序文件中磁盘该算法是基于事务系统中顺序文件中磁盘该算法是基于事务系统中顺序文件中磁盘该算法是基于事务系统中顺序文件中磁盘I/OI/O的局部性特征,相邻访问的位置也相邻。

81、的局部性特征,相邻访问的位置也相邻。的局部性特征,相邻访问的位置也相邻。的局部性特征,相邻访问的位置也相邻。它的问题在于系统负载重时,可能有进程的磁它的问题在于系统负载重时,可能有进程的磁它的问题在于系统负载重时,可能有进程的磁它的问题在于系统负载重时,可能有进程的磁盘盘盘盘I/OI/O永远不能执行,处于饥饿状态。永远不能执行,处于饥饿状态。永远不能执行,处于饥饿状态。永远不能执行,处于饥饿状态。n n短查找时间优先短查找时间优先短查找时间优先短查找时间优先(SSTF, Shortest Service (SSTF, Shortest Service Time First)Time First

82、)算法算法算法算法:考虑磁盘:考虑磁盘:考虑磁盘:考虑磁盘I/OI/O请求队列中各请请求队列中各请请求队列中各请请求队列中各请求的磁头定位位置,选择从当前磁头位置出发,移求的磁头定位位置,选择从当前磁头位置出发,移求的磁头定位位置,选择从当前磁头位置出发,移求的磁头定位位置,选择从当前磁头位置出发,移动最少的磁盘动最少的磁盘动最少的磁盘动最少的磁盘I/OI/O请求。请求。请求。请求。该算法的目标是使每次磁头移动时间最少。它不该算法的目标是使每次磁头移动时间最少。它不该算法的目标是使每次磁头移动时间最少。它不该算法的目标是使每次磁头移动时间最少。它不一定是最短平均柱面定位时间,但比一定是最短平均

83、柱面定位时间,但比一定是最短平均柱面定位时间,但比一定是最短平均柱面定位时间,但比FIFOFIFO算法算法算法算法有更好的性能。有更好的性能。有更好的性能。有更好的性能。对中间的磁道有利,可能会有进程处于饥饿状态。对中间的磁道有利,可能会有进程处于饥饿状态。对中间的磁道有利,可能会有进程处于饥饿状态。对中间的磁道有利,可能会有进程处于饥饿状态。扫描扫描(SCAN)算法算法n n选择在磁头前进方向上从当前位置移动最少的磁盘选择在磁头前进方向上从当前位置移动最少的磁盘选择在磁头前进方向上从当前位置移动最少的磁盘选择在磁头前进方向上从当前位置移动最少的磁盘I/OI/O请求执行,没有前进方向上的请求时

84、才改变方向。请求执行,没有前进方向上的请求时才改变方向。请求执行,没有前进方向上的请求时才改变方向。请求执行,没有前进方向上的请求时才改变方向。该算法是对该算法是对该算法是对该算法是对SSTFSSTF算法的改进,磁盘算法的改进,磁盘算法的改进,磁盘算法的改进,磁盘I/OI/O较好,且较好,且较好,且较好,且没有进程会饿死。没有进程会饿死。没有进程会饿死。没有进程会饿死。n n循环扫描循环扫描循环扫描循环扫描(C-SCAN)(C-SCAN)算法算法算法算法:在一个方向上使用扫描:在一个方向上使用扫描:在一个方向上使用扫描:在一个方向上使用扫描算法,当到达边沿时直接移动到另一沿的第一个位算法,当到

85、达边沿时直接移动到另一沿的第一个位算法,当到达边沿时直接移动到另一沿的第一个位算法,当到达边沿时直接移动到另一沿的第一个位置。置。置。置。 单向反复地扫描,将磁盘各磁道视为一个环形缓冲区,首单向反复地扫描,将磁盘各磁道视为一个环形缓冲区,首单向反复地扫描,将磁盘各磁道视为一个环形缓冲区,首单向反复地扫描,将磁盘各磁道视为一个环形缓冲区,首尾相连,最后一个磁道与第一个磁道相连尾相连,最后一个磁道与第一个磁道相连尾相连,最后一个磁道与第一个磁道相连尾相连,最后一个磁道与第一个磁道相连 该算法可改进扫描算法对中间磁道的偏好。实验表明,该该算法可改进扫描算法对中间磁道的偏好。实验表明,该该算法可改进扫

86、描算法对中间磁道的偏好。实验表明,该该算法可改进扫描算法对中间磁道的偏好。实验表明,该算法在中负载或重负载时,磁盘算法在中负载或重负载时,磁盘算法在中负载或重负载时,磁盘算法在中负载或重负载时,磁盘I/OI/O性能比扫描算法好。性能比扫描算法好。性能比扫描算法好。性能比扫描算法好。n nNN步扫描步扫描步扫描步扫描(N-step-SCAN)(N-step-SCAN)算法:算法:算法:算法:把磁盘把磁盘把磁盘把磁盘I/OI/O请求请求请求请求队列分成长度为队列分成长度为队列分成长度为队列分成长度为NN的段,每次使用扫描算法处理这的段,每次使用扫描算法处理这的段,每次使用扫描算法处理这的段,每次使

87、用扫描算法处理这NN个请求。当个请求。当个请求。当个请求。当N=1N=1时,该算法退化为时,该算法退化为时,该算法退化为时,该算法退化为FIFOFIFO算法。算法。算法。算法。 该算法的目标是改进前几种算法可能在多磁头系统中出现该算法的目标是改进前几种算法可能在多磁头系统中出现该算法的目标是改进前几种算法可能在多磁头系统中出现该算法的目标是改进前几种算法可能在多磁头系统中出现磁头静止磁头静止磁头静止磁头静止在一个磁道上,导致其它进程无法及时进行磁盘在一个磁道上,导致其它进程无法及时进行磁盘在一个磁道上,导致其它进程无法及时进行磁盘在一个磁道上,导致其它进程无法及时进行磁盘I/OI/O。n n双

88、队列扫描双队列扫描双队列扫描双队列扫描(FSCAN)(FSCAN)算法算法算法算法:把磁盘:把磁盘:把磁盘:把磁盘I/OI/O请求分成请求分成请求分成请求分成两个队列,交替使用扫描算法处理一个队列,新生两个队列,交替使用扫描算法处理一个队列,新生两个队列,交替使用扫描算法处理一个队列,新生两个队列,交替使用扫描算法处理一个队列,新生成的磁盘成的磁盘成的磁盘成的磁盘I/OI/O请求放入另一队列中。请求放入另一队列中。请求放入另一队列中。请求放入另一队列中。 该算法的目标与该算法的目标与该算法的目标与该算法的目标与NN步扫描算法一致。步扫描算法一致。步扫描算法一致。步扫描算法一致。小结小结n n外

89、部设备:交互对象、输入输出类型、特性外部设备:交互对象、输入输出类型、特性外部设备:交互对象、输入输出类型、特性外部设备:交互对象、输入输出类型、特性n n外设管理目的和功能外设管理目的和功能外设管理目的和功能外设管理目的和功能n nI/OI/O控制技术:程序控制、中断驱动、控制技术:程序控制、中断驱动、控制技术:程序控制、中断驱动、控制技术:程序控制、中断驱动、DMADMA方式、方式、方式、方式、通道方式通道方式通道方式通道方式n n缓冲:目的、单缓冲、双缓冲和环形缓冲、缓冲池缓冲:目的、单缓冲、双缓冲和环形缓冲、缓冲池缓冲:目的、单缓冲、双缓冲和环形缓冲、缓冲池缓冲:目的、单缓冲、双缓冲和环形缓冲、缓冲池n n设备分配:共享和独享、静态和动态、假脱机技术设备分配:共享和独享、静态和动态、假脱机技术设备分配:共享和独享、静态和动态、假脱机技术设备分配:共享和独享、静态和动态、假脱机技术n n磁盘调度算法磁盘调度算法磁盘调度算法磁盘调度算法作业:课后课后18,1,35掌握磁盘调度算法掌握磁盘调度算法更多资料请访问:更多资料请访问:http:/

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号