第八章 设备管理_第1页
第八章 设备管理_第2页
第八章 设备管理_第3页
第八章 设备管理_第4页
第八章 设备管理_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第八章 设备管理 引言引言 一、设备种类一、设备种类 (一)按设备的使用特性分:(一)按设备的使用特性分: 1、存储设备:、存储设备:.容量大容量大 .速度比内存慢速度比内存慢 .信息永久存贮信息永久存贮 .以块为单位进行存贮以块为单位进行存贮 .块的分配可以是连续,也可以块的分配可以是连续,也可以 是随机的是随机的 2、输入输出设备:用于计算机与外设间的数据交换。、输入输出设备:用于计算机与外设间的数据交换。 A、输入设备:用于、输入设备:用于. ,如,如 B、输出设备:用于、输出设备:用于.。 C、终端设备、终端设备 D、脱机设备、脱机设备 (二)按设备的从属关系分为:(二)按设备的从属关

2、系分为: 1、系统设备:即各种标准设备,指在操作系统生成、系统设备:即各种标准设备,指在操作系统生成 时就已配置好的设备。时就已配置好的设备。 2、用户设备:由用户自己安装配置后由、用户设备:由用户自己安装配置后由OS统一管理统一管理 的设备。的设备。 (三)按信息的组织方式分:(三)按信息的组织方式分: 1、字符设备、字符设备 2、块设备、块设备(四)按设备的工作性质分:独占型设备、共享型设备(四)按设备的工作性质分:独占型设备、共享型设备二、设备管理的功能与任务二、设备管理的功能与任务 (一)设备管理应具有的功能(一)设备管理应具有的功能 1、提供与进程管理系统的接口,当进程要求设备资、提

3、供与进程管理系统的接口,当进程要求设备资 源时,该接口将进程要求转达给设备管理程序。源时,该接口将进程要求转达给设备管理程序。 2、进行设备分配、进行设备分配 3、实现设备与设备、设备与、实现设备与设备、设备与CPU等之间的并行操作。等之间的并行操作。 (二)设备管理的主要任务:(二)设备管理的主要任务: 1、选择和分配输入输出设备以便进行数据传输操作、选择和分配输入输出设备以便进行数据传输操作 2、控制输入输出设备和、控制输入输出设备和CPU(或内存)之间交换数(或内存)之间交换数 据。据。 3、为用户提供一个友好的透明接口,或用户和设备、为用户提供一个友好的透明接口,或用户和设备 特性分开

4、,使用户在编制应用程序时不必涉及具特性分开,使用户在编制应用程序时不必涉及具 体设备,系统按用户要求控制设备工作。体设备,系统按用户要求控制设备工作。 8.2 数据传送控制方式数据传送控制方式 选择和衡量控制方式的原则:选择和衡量控制方式的原则: .数据传送速度足够高,能满足用户的需要但又不丢数据传送速度足够高,能满足用户的需要但又不丢 失数据。失数据。 .系统开销小,所需的处理控制程序少系统开销小,所需的处理控制程序少 .能充分发挥硬件资源的能力,使得能充分发挥硬件资源的能力,使得T/O设备尽量忙,设备尽量忙, 而而CPU等待时间少。等待时间少。 外围设备与内存之间的常用数据传送方式:外围设

5、备与内存之间的常用数据传送方式: .程序直接控制程序直接控制 .中断控制方式中断控制方式 .DMA方式方式 .通道方式通道方式一、程序直接控制方式一、程序直接控制方式 指完全由程序来控制主机与外设之间的信息传指完全由程序来控制主机与外设之间的信息传 送,方法是用户在程序中安排一段送,方法是用户在程序中安排一段I/O指令和其它指指令和其它指 令组成令组成 的程序段,直接控制外设的工作。缺点是:的程序段,直接控制外设的工作。缺点是: 何时进行传送系统无法预先知道。何时进行传送系统无法预先知道。 (一)无条件传送:不需查询外设状态,而是强迫执(一)无条件传送:不需查询外设状态,而是强迫执 行行I/O

6、指令。为使传送可靠,编程人员需了解外设指令。为使传送可靠,编程人员需了解外设的的 动态使用情况。动态使用情况。 缺点:增加编程人员负担和数据易丢失缺点:增加编程人员负担和数据易丢失 (二)条件传送:又称状态驱动方式、查询方式、应答(二)条件传送:又称状态驱动方式、查询方式、应答 方式。在数据传送之前,事先要了解外设的状态,方式。在数据传送之前,事先要了解外设的状态, 只有了解的结果满足条件时,才能执行本次传送,只有了解的结果满足条件时,才能执行本次传送, 否则,程序只能踏步等待或转入其它程序。否则,程序只能踏步等待或转入其它程序。 1、具有跳步测试外设状态指令、具有跳步测试外设状态指令 2、具

7、有表征外设工作状态的触发器、具有表征外设工作状态的触发器 (三)程序直接控制方式缺点:(三)程序直接控制方式缺点: 1、主机与外设只能串行工作,、主机与外设只能串行工作,CPU利用率低。利用率低。 2、各外设只能串行工作,即主机在一个时间段内只、各外设只能串行工作,即主机在一个时间段内只 能与一台外设交换数据,外设利用率低。能与一台外设交换数据,外设利用率低。 3、 不能发现和处理事先无法估计的错误与异常。不能发现和处理事先无法估计的错误与异常。 (四)优点与应用(四)优点与应用 硬件简单,程序简单,功能有限,用户多路选硬件简单,程序简单,功能有限,用户多路选 择开关送显示,如发光二极管,七段

8、数码显示管等择开关送显示,如发光二极管,七段数码显示管等 二、程序中断方式:二、程序中断方式: 方法:在程序中安排在某一时刻启动外部设备,然后方法:在程序中安排在某一时刻启动外部设备,然后 机器继续执行原程序,当外设完成数据传送的准机器继续执行原程序,当外设完成数据传送的准 备后,便向备后,便向CPU发中断请求信息,发中断请求信息,CPU接到请求接到请求 信息后若可以停止正在运行的程序,则转去执行信息后若可以停止正在运行的程序,则转去执行 传送指令完成主机与外设务备的数据交换,交换传送指令完成主机与外设务备的数据交换,交换 完毕后返回原程序继续执行。完毕后返回原程序继续执行。 缺点:缺点: 1

9、、外设工作期间、外设工作期间CPU可以继续工作可以继续工作 2、实时性强、实时性强 3、CPU存在额外时间开销(保护现场和断点状态)存在额外时间开销(保护现场和断点状态) 三、直接内存存取方式三、直接内存存取方式DMA (一一)中断方式的应用、缺点中断方式的应用、缺点 1、中断方式实现了主机与外设之间一定程度的并行、中断方式实现了主机与外设之间一定程度的并行 提高了系统的效率,但是每交换一个单位数据,均提高了系统的效率,但是每交换一个单位数据,均 要中断主机一次,且花费相当多的指令去做保存断要中断主机一次,且花费相当多的指令去做保存断 点、保护现场和恢复现场等工作,对于慢速外设,点、保护现场和

10、恢复现场等工作,对于慢速外设, 单位数据之间的时间间隔一般在毫秒级,因此主机单位数据之间的时间间隔一般在毫秒级,因此主机 还有相当多的时间用于执行程序,故这种方式对于还有相当多的时间用于执行程序,故这种方式对于 慢速的外设是可行的。慢速的外设是可行的。 2、而磁盘等高速外设,单位数据之间的时间间隔是、而磁盘等高速外设,单位数据之间的时间间隔是 微秒级甚至更短,且数据的交换是大量的成批的。微秒级甚至更短,且数据的交换是大量的成批的。 如果还采用中断方式则可能出现两种情况:如果还采用中断方式则可能出现两种情况:A.若主若主 机响应请求而致力于数据传送,由于单位数据之间机响应请求而致力于数据传送,由

11、于单位数据之间 的时间间隔短,甚至无法使用,故必须让一批数据的时间间隔短,甚至无法使用,故必须让一批数据 交换完,这样一交换数据便完全占用主机,因而又交换完,这样一交换数据便完全占用主机,因而又 回到完全串行工作状态。回到完全串行工作状态。B. 主机一旦不马上响应主机一旦不马上响应请请 求,则由于单位数据不断完成交换的准备,便可能求,则由于单位数据不断完成交换的准备,便可能 冲掉信息而造成丢失。冲掉信息而造成丢失。 ( (二二) )方法:在外设与主存之间开辟直接的数据交换通方法:在外设与主存之间开辟直接的数据交换通 路,机器在正常工作时,路,机器在正常工作时, 所有的工作周期用于执行所有的工作

12、周期用于执行 程序,当外设将要输入或输出的数据准备好之后,程序,当外设将要输入或输出的数据准备好之后, 窃取或挪用一个工作周期,在这周期内,外设与内窃取或挪用一个工作周期,在这周期内,外设与内 存直接交换数据,这个周期过后,存直接交换数据,这个周期过后,CPU又执行原程又执行原程 序,因此序,因此DMA方式又称为周期挪用或周期窃取方式。方式又称为周期挪用或周期窃取方式。 (三三)DMA方式功能与特点:方式功能与特点: 1、由于外设与主机直接相连,因此主存及其地址寄、由于外设与主机直接相连,因此主存及其地址寄 存器、数据缓冲寄存器,不但可被存器、数据缓冲寄存器,不但可被CPU访问,也可访问,也可

13、 被外设访问;被外设访问; 2、由于靠硬件,而不必借助中断服务程序交换数据,、由于靠硬件,而不必借助中断服务程序交换数据, 因而无须占用因而无须占用CPU的寄存器及程序计数器,这样省的寄存器及程序计数器,这样省 去了保存断点、保护现场,判断中断条件等大量操去了保存断点、保护现场,判断中断条件等大量操 作,提高了效率。作,提高了效率。 3、用、用DMA方式交换一批数据的开始前和结束后仍要方式交换一批数据的开始前和结束后仍要 通过程序中断方式进行前处理和后处理,如开始前,通过程序中断方式进行前处理和后处理,如开始前, DMA所需的控制信息、状态信息,如主存缓冲区首所需的控制信息、状态信息,如主存缓

14、冲区首 址、数据块的长度、数据传送的方向及方式、以及外址、数据块的长度、数据传送的方向及方式、以及外 设和接口的有关状态等,或由设和接口的有关状态等,或由CPU用程序送入用程序送入DMA 的有关控制寄存器,或由程序取回的有关控制寄存器,或由程序取回CPU进行分析。进行分析。 4、DMA靠硬件完成数据交换,主要体现在:主存活靠硬件完成数据交换,主要体现在:主存活 动地址的确定,数据块的长度的计数控制,主存与动地址的确定,数据块的长度的计数控制,主存与 外设间的数据传送等均由外设间的数据传送等均由DMA接口的逻辑电路完成。接口的逻辑电路完成。 5 5、与中断方式比较,二者既有区别又互相配合。、与中

15、断方式比较,二者既有区别又互相配合。一是一是 DMA仅仅局限于数据块的输局限于数据块的输入输出操作,而程序中断入输出操作,而程序中断 除用于输入输出外,还可用于故障诊断等任务;除用于输入输出外,还可用于故障诊断等任务;二二 是是中断响应一般只是发生在一条指令周期结束而另中断响应一般只是发生在一条指令周期结束而另 一条指令尚未开始的时刻,而一条指令尚未开始的时刻,而DMADMA则可在两个存储周则可在两个存储周 期之间的任意时刻响应;期之间的任意时刻响应;三是三是DMADMA过程中,若遇出错信号过程中,若遇出错信号 或收到新的启动输入输出指令,则仍可中断现行程或收到新的启动输入输出指令,则仍可中断

16、现行程 序,进入中断服务程序,而程序中断除对序,进入中断服务程序,而程序中断除对DMADMA提供前提供前 处理、后处理外,还可通过测试处理、后处理外,还可通过测试DMADMA的状态或中断条的状态或中断条 件,以实施对件,以实施对DMADMA及有关设备控制器的监控。及有关设备控制器的监控。 四四、通道控制方式:、通道控制方式: (一一)概念:通道是一个独立于概念:通道是一个独立于CPUCPU的专管输入输出控制的专管输入输出控制 的处理机,它控制设备与内存直接进行数据交换,的处理机,它控制设备与内存直接进行数据交换, 它有自己的通道指令,这些通道指令受它有自己的通道指令,这些通道指令受CPUCPU

17、启动,启动, 并在操作结束时向并在操作结束时向CPUCPU发中断信号。发中断信号。 (二二)引入通道的原因引入通道的原因 进行数据交换时进行数据交换时 1.用程序直接控制方式,用程序直接控制方式,CPU与外设利用率低,且数与外设利用率低,且数 据传送正误无法判断。据传送正误无法判断。 2.采用中断方式,传送的总数据量小,且采用中断方式,传送的总数据量小,且CPU存在额存在额 外时间开销。外时间开销。 3.采用采用DMA方式,方式,CPU在数据传送前后均要参与,另在数据传送前后均要参与,另 外一类或一台外设需一套外一类或一台外设需一套DMA硬件装置,而大中型硬件装置,而大中型 计算机外设数量多,

18、采用计算机外设数量多,采用DMA方式既不经济,而且方式既不经济,而且 多多DMA访问内存存在冲突。访问内存存在冲突。 为此,引入通道。为此,引入通道。 (三三)方法:通过通道控制多台外设和内存直接交换信息,方法:通过通道控制多台外设和内存直接交换信息, 当执行程序需要与某外设交换数据时,当执行程序需要与某外设交换数据时,CPU只要执只要执 行启动某一通道的指令,然后继续执行原程序。而行启动某一通道的指令,然后继续执行原程序。而 与外设交换数据的实际操作,则在通道的控制下,与外设交换数据的实际操作,则在通道的控制下, 通过执行一串通道指令来完成,这样通过执行一串通道指令来完成,这样CPU与通道可

19、与通道可 以并行,且与多台外设并行。以并行,且与多台外设并行。 (四四) 通道功能:通道功能:CPU功能和功能和DMAC功能功能 具体如下:具体如下: 1.根据根据CPU的要求选择某一指定外设与系统相连,并的要求选择某一指定外设与系统相连,并 向该外设发出操作命令。向该外设发出操作命令。 2.指出外设指出外设R/W信息的所在位置,同时指出与外设交信息的所在位置,同时指出与外设交 换信息的主存缓冲区地址。换信息的主存缓冲区地址。 3.控制外设与主存之间的数据交换,不但提供数据缓控制外设与主存之间的数据交换,不但提供数据缓 冲,而且要完成交换信息的分拆与装配。冲,而且要完成交换信息的分拆与装配。

20、4.指定数据传送结束时的操作内容,并检查外设的良指定数据传送结束时的操作内容,并检查外设的良 好或故障状态。好或故障状态。 (五五)通道与通道与DMA的区别的区别 1.DMA是借助硬件完成数据交换,而通道则是它本身是借助硬件完成数据交换,而通道则是它本身 通过一组通道命令通过一组通道命令通道程序来完成数据交换。通道程序来完成数据交换。 2.一台外设有一个一台外设有一个DMA控制器,若一个控制器,若一个DMA控制器接控制器接 多台同类设备,则它们只能串行工作,而一个通道多台同类设备,则它们只能串行工作,而一个通道 可接多台不同类型设备,这众多外设均可在通道控可接多台不同类型设备,这众多外设均可在

21、通道控 制下同时工作。制下同时工作。 3.采用采用DMA传送的诸外设均要由传送的诸外设均要由CPU管理控制,由管理控制,由 CPU进行初始化,通道则代替进行初始化,通道则代替CPU管理控制外设,管理控制外设, CPU仅仅通过仅仅通过I/O指令启动通道,通道本身进行外设指令启动通道,通道本身进行外设 的初始化工作。的初始化工作。 (六六)通道控制方式的数据输入处理过程:通道控制方式的数据输入处理过程: 1.当进程要求设备输入数据时,当进程要求设备输入数据时,CPU发发START指令指指令指 明明I/O操作,给出设备号、对应通道。操作,给出设备号、对应通道。 2.对应通道接收到对应通道接收到CPU

22、发来的启动指令发来的启动指令START之后,之后, 把存放在内存中的通道指令程序读出,设置对应设把存放在内存中的通道指令程序读出,设置对应设 备的备的I/O控制器中的控制状态寄存器等。控制器中的控制状态寄存器等。 3.设备通过通道指令要求,把数据送往内存中指定区设备通过通道指令要求,把数据送往内存中指定区 域。域。 4.若数据传送结束,若数据传送结束,I/O控制器通过中断请求线发中断控制器通过中断请求线发中断 信号请求信号请求CPU做中断处理。做中断处理。 8.3 中断技术中断技术一、中断的基本概念一、中断的基本概念 1、定义:指计算机在执行期间,系统内发生任何非寻、定义:指计算机在执行期间,

23、系统内发生任何非寻 常的或非预期的急需处理事件,使得常的或非预期的急需处理事件,使得CPU暂时中断暂时中断 当前正在执行的程序而转去执行相应的事件处理程当前正在执行的程序而转去执行相应的事件处理程 序,待处理完毕后又返回原来中断处继续执行或调序,待处理完毕后又返回原来中断处继续执行或调 度新的进程执行的过程。度新的进程执行的过程。 2、常见术语:、常见术语: 中断请求:中断源向中断请求:中断源向CPU发生的请求中断处理信号。发生的请求中断处理信号。 中断响应:中断响应:CPU收到中断请求之后转相应的事件处理收到中断请求之后转相应的事件处理 程序。程序。 禁止中断:尽管产生了中断源和发生了中断请

24、求,但禁止中断:尽管产生了中断源和发生了中断请求,但 CPU内部的处理机状态字内部的处理机状态字PSW的中断允许位已的中断允许位已 被清除,从而不允许被清除,从而不允许CPU响应中断,也叫关中断。响应中断,也叫关中断。 开中断:开中断:PSW的中断允许位的重新复位。的中断允许位的重新复位。 中断屏蔽:是指在中断请求产生之后,系统用软件方式中断屏蔽:是指在中断请求产生之后,系统用软件方式 有选择地封锁部分中断而允许其余部分的中断仍能有选择地封锁部分中断而允许其余部分的中断仍能 得到响应。得到响应。二、中断的分类与优先级二、中断的分类与优先级 1、根据中断源产生的条件、根据中断源产生的条件 (1)

25、外中断:指来自处理机和内存外部的中断,包括)外中断:指来自处理机和内存外部的中断,包括 I/O设备发出的设备发出的I/O中断,外部信号中断,各种定时中断,外部信号中断,各种定时 器引起的时钟中断及调试程序中设置的断点等引起器引起的时钟中断及调试程序中设置的断点等引起 的调度中断。的调度中断。 (2)内中断:主要指在处理机和内存内部产生的中断。)内中断:主要指在处理机和内存内部产生的中断。 一般称为陷阱。包括程序运算引起的错误。一般称为陷阱。包括程序运算引起的错误。(P214) 2、优先级:为了按中断中断源的轻重缓急处理相应中断、优先级:为了按中断中断源的轻重缓急处理相应中断 ,操作系统对不同的

26、中断赋予不同的优先级。例如,操作系统对不同的中断赋予不同的优先级。例如, 在在UNIX中,外中断和陷阱的优先级共分为中,外中断和陷阱的优先级共分为8级,为了级,为了 禁止和屏蔽中断,禁止和屏蔽中断,CPU的处理机状态字的处理机状态字PSW也设置也设置 了相应的优先级。如果中断源的优先级高于了相应的优先级。如果中断源的优先级高于PSW的的 优先级,则优先级,则CPU相应该中断源的中断请求,反之,相应该中断源的中断请求,反之, CPU屏蔽该中断源的中断请求。屏蔽该中断源的中断请求。 3、中断和陷阱的区别、中断和陷阱的区别 (P214) (1) (2) (3)三、软中断三、软中断 是通信进程之间用来

27、模拟硬中断的一种信号通信是通信进程之间用来模拟硬中断的一种信号通信 方式。软中断与硬中断相同的地方是:其中断源发中方式。软中断与硬中断相同的地方是:其中断源发中 断请求或软中断信号后,断请求或软中断信号后,cpu或接收进程在适当的时或接收进程在适当的时 机自动进行中断处理或完成软中断信号所对应的功能机自动进行中断处理或完成软中断信号所对应的功能 。软中断与硬中断不同的地方是:后者要通过硬件产。软中断与硬中断不同的地方是:后者要通过硬件产 生相应的中断请求。生相应的中断请求。 8.4 缓冲技术缓冲技术 一、缓冲引入一、缓冲引入 1、计算机系统中设备的速度不匹配,有时差别很大,这、计算机系统中设备

28、的速度不匹配,有时差别很大,这 限制了和处理机连接的设备的外设台数,且在中断方限制了和处理机连接的设备的外设台数,且在中断方 式时容易造成数据丢失,例如:打印进程与计算进程式时容易造成数据丢失,例如:打印进程与计算进程 间的矛盾。间的矛盾。 2、从减少中断次数来看,也有引入缓冲区的必要性,引、从减少中断次数来看,也有引入缓冲区的必要性,引 入缓冲区后,可大大降低中断次数,减少处理机的中入缓冲区后,可大大降低中断次数,减少处理机的中 断处理时间。断处理时间。 3、引入缓冲器来存放数据,也可解决、引入缓冲器来存放数据,也可解决DMA或通道方式或通道方式 时的瓶颈问题,因为如果不划分专用的内存区域或

29、专时的瓶颈问题,因为如果不划分专用的内存区域或专 用缓冲器来存放数据的话,含因要求数据的进程所拥用缓冲器来存放数据的话,含因要求数据的进程所拥 有的内存区不够或存放数据的内存始址计算困难等原有的内存区不够或存放数据的内存始址计算困难等原 因造成某进程长期占有通道或因造成某进程长期占有通道或DMA控制器及设备。控制器及设备。 4、缓冲的实现方法:、缓冲的实现方法: (1)采用专用硬件缓冲器,例如)采用专用硬件缓冲器,例如I/O控制器中的数据缓控制器中的数据缓 冲寄存器。冲寄存器。 (2)在内存中划出一个具有几个单元的专用缓冲区,以)在内存中划出一个具有几个单元的专用缓冲区,以 便存放输入输出数据

30、,此法又叫软件缓冲。便存放输入输出数据,此法又叫软件缓冲。二、缓冲的种类:二、缓冲的种类: 根据系统设置的缓冲器个数:单缓冲、双缓冲、根据系统设置的缓冲器个数:单缓冲、双缓冲、 缓冲池。缓冲池。 1、单缓冲:、单缓冲:(1)方法:在设备与处理机间设置一个缓冲器,设备和)方法:在设备与处理机间设置一个缓冲器,设备和 处理机交换数据时,先把被交换的数据写入处理机交换数据时,先把被交换的数据写入BUFFER ,然后需要数据的设备或处理机从,然后需要数据的设备或处理机从BUFFER取趟数据取趟数据 (2)特点:)特点:BUFFER属于临界资源,即不允许多个进程属于临界资源,即不允许多个进程 同时对一个

31、缓冲器操作,因此设备与设备间不能并行同时对一个缓冲器操作,因此设备与设备间不能并行 2、双缓冲:只是一种说明设备和设备、双缓冲:只是一种说明设备和设备、CPU和设备并行和设备并行 操作的简单模型,并不能用于实际系统中的并行操作。操作的简单模型,并不能用于实际系统中的并行操作。 3、多缓冲(缓冲池)、多缓冲(缓冲池) 多多BUF:把多个:把多个BUFFER连接起来组成两部分,一部分连接起来组成两部分,一部分 专门用于输入,另一部分专门用于输出。专门用于输入,另一部分专门用于输出。 缓冲池:把多个缓冲池:把多个BUFFER连接起来统一管理,既可用于连接起来统一管理,既可用于 输入又可用于输出。输入

32、又可用于输出。三、缓冲池的管理:三、缓冲池的管理: 1、BUFFER BOOL的结构:的结构:(1)缓冲区的组成:缓冲首部)缓冲区的组成:缓冲首部 缓冲体缓冲体 缓冲首部:用于标识缓冲器和用于对缓冲首部:用于标识缓冲器和用于对BUFFER的管的管 理,内容上包括设备号、数据块号、缓冲器号理,内容上包括设备号、数据块号、缓冲器号, 互斥标识位,连接指针等。互斥标识位,连接指针等。 缓冲体:用于存放数据。缓冲体:用于存放数据。(2)缓冲池的组成)缓冲池的组成 A、系统将各缓冲区按其使用情况连成三个队列:、系统将各缓冲区按其使用情况连成三个队列: a、空白缓冲队列、空白缓冲队列EM,队首指针为,队首

33、指针为F(em),队尾队尾L(em) b、输入缓冲队列、输入缓冲队列in,队首为队首为F(in),队尾为队尾为L(in) c、输出缓冲队列、输出缓冲队列out,队首为队首为L(out),队尾为队尾为L(out) B、工作缓冲区、工作缓冲区-用来进行分配、存数、取数的缓冲区用来进行分配、存数、取数的缓冲区 有四种工作缓冲区。有四种工作缓冲区。 a、用于收容设备输入数据的收容输入缓冲区、用于收容设备输入数据的收容输入缓冲区HM b、用于提取设备输入数据的撮输入缓冲区、用于提取设备输入数据的撮输入缓冲区SIN c、用于收容、用于收容CPU输出数据的收容输出缓冲区输出数据的收容输出缓冲区HOUT d、

34、用于撮、用于撮CPU输出数据的进取输出缓冲区输出数据的进取输出缓冲区SOUT 2、缓冲池的管理、缓冲池的管理 (1)四种基本操作)四种基本操作(P218) (2)缓冲池的工作过程)缓冲池的工作过程3、get_buf和和put_buf描述描述 8.5 设备分配设备分配 I/O系统的功能:系统的功能: 1、隐蔽设备的物理特性:即用户在使用程序时不必考、隐蔽设备的物理特性:即用户在使用程序时不必考虑与设备物理特性存关的任何虑与设备物理特性存关的任何I/O操作,这些工作由较低操作,这些工作由较低层的软件完成(如设备驱动程序,层的软件完成(如设备驱动程序,I/O中断服务程序)中断服务程序) 2、提供独立

35、于设备的统一接口,即设备独立性,为达、提供独立于设备的统一接口,即设备独立性,为达此目的,此目的,OS为每设备定义一个名称为每设备定义一个名称逻辑名,用户申逻辑名,用户申请设备时只须提供逻辑名即可,请设备时只须提供逻辑名即可,OS根据设备的逻辑名映根据设备的逻辑名映射相应的驱动程序,启动相应设备。射相应的驱动程序,启动相应设备。 3、设备分配:在多用户系统中,由于存在用户进程竞、设备分配:在多用户系统中,由于存在用户进程竞争有限的资源问题,因此争有限的资源问题,因此OS应合理分配设备,对用户应应合理分配设备,对用户应公平,对设备应有最高利用率。公平,对设备应有最高利用率。 4、出错处理,用户进

36、程在使用设备的过程中,如果发、出错处理,用户进程在使用设备的过程中,如果发生硬件故障、环境原因引起的故障,导致生硬件故障、环境原因引起的故障,导致I/O操作失误,操作失误,I/O系统应能及时发现和处理。系统应能及时发现和处理。一、设备分配用数据结构一、设备分配用数据结构 1、设备控制表、设备控制表DCT:反映设备的特性,设备和:反映设备的特性,设备和I/O控制控制 器的连接情况,包括设备标识,使用状态和等待使用该器的连接情况,包括设备标识,使用状态和等待使用该 设备的进程队列,一个设备对应一张设备的进程队列,一个设备对应一张DCT。 它包括以下内容它包括以下内容 (1)设备标识符)设备标识符

37、(2)设备类型)设备类型 (3)设备地址或设备符号名)设备地址或设备符号名 (4)设备状态)设备状态 (5)等待队列指针)等待队列指针 (6)I/O控制器指针控制器指针 2、系统设备表(、系统设备表(SDT) 整个系统一张,它记录已被连接到系统中的所有整个系统一张,它记录已被连接到系统中的所有 物理设备的情况,并为每个物理设备设一表项,内容物理设备的情况,并为每个物理设备设一表项,内容 包括:包括: (1)DCT指针指针 (2)正在使用设备的进程标识)正在使用设备的进程标识 (3)设备类型和标识符)设备类型和标识符 3、控制器表、控制器表CDCT 每个每个I/O控制对应一张控制对应一张CDCT

38、,它反映,它反映I/O控制器控制器 的使用状态以及和通道的连接情况等。的使用状态以及和通道的连接情况等。 4、通道控制表、通道控制表CHCT 该表只在通道控制方式的系统中存在,也是每个该表只在通道控制方式的系统中存在,也是每个 通道一张,通道一张,CHCT包括通道标识符,通道忙包括通道标识符,通道忙/闭标识闭标识, 等待获得通道的进程等待队列首指针和尾指针。等待获得通道的进程等待队列首指针和尾指针。二、设备分配原则:二、设备分配原则: 1、设备分配原则:、设备分配原则: 总原则:既要充分发挥设备的使用效率,尽可能的让总原则:既要充分发挥设备的使用效率,尽可能的让 设备忙,但又要避免由于不合理的

39、分配方法造成设备忙,但又要避免由于不合理的分配方法造成 进程死锁;另外还要做到把用户程序和具体物理进程死锁;另外还要做到把用户程序和具体物理 设备隔离开来,即用户程序面对的是逻辑设备,设备隔离开来,即用户程序面对的是逻辑设备, 而分配程序将在系统把逻辑设备转换成物理设备而分配程序将在系统把逻辑设备转换成物理设备 之后,再根据要求的物理设备号进行分配。之后,再根据要求的物理设备号进行分配。 分配方法:静态分配与动态分配分配方法:静态分配与动态分配 (1)静态分配:是在用户作业开始运行之前,由系统)静态分配:是在用户作业开始运行之前,由系统 一次分配该作业所要求的全部设备、控制器和通道一次分配该作

40、业所要求的全部设备、控制器和通道 ,一旦分配后,这些设备、控制器和通道就一直,一旦分配后,这些设备、控制器和通道就一直 为该作业占用,直到该作业被撤消。这种方式不会为该作业占用,直到该作业被撤消。这种方式不会 出现死锁,但设备利用率低。出现死锁,但设备利用率低。 (2)动态分配:在进程执行过程中根据执行需要进行。)动态分配:在进程执行过程中根据执行需要进行。 当进程需要设备时,通过系统调用命令向系统提出当进程需要设备时,通过系统调用命令向系统提出 设备请求,由系统按照事先规定的策略给进程分配设备请求,由系统按照事先规定的策略给进程分配 所需要的设备、所需要的设备、I/O控制器和通道,一旦用完之

41、后控制器和通道,一旦用完之后 ,便立即释入。,便立即释入。 该法有利于提高利用率,但分配算法使用不该法有利于提高利用率,但分配算法使用不 当,可能造成死锁。当,可能造成死锁。2、 设备分配策略:设备分配策略:(1) 先请求先分配:当有多个进程对某一设备提出先请求先分配:当有多个进程对某一设备提出I/O请求时,或是在同一设备请求时,或是在同一设备 上进行多次上进行多次I/O操作时,系统按操作时,系统按I/O请求的先后,将进程发出的请求命令排成队列,其队请求的先后,将进程发出的请求命令排成队列,其队首指向被请求的设备。当设备空闲时,系统从该设备的请首指向被请求的设备。当设备空闲时,系统从该设备的请

42、求队列的队道取下一个求队列的队道取下一个I/O请求消息,将设备分配给发出请求消息,将设备分配给发出这个请求消息的进程。这个请求消息的进程。(2) 优先级高者先分配:优先级高者是指发生优先级高者先分配:优先级高者是指发生I/O请求请求命令的进程,即进程的优先级高,它的命令的进程,即进程的优先级高,它的I/O请求也优先予请求也优先予以满足,对于相同优先级的进程而言,则按先请求先分配以满足,对于相同优先级的进程而言,则按先请求先分配策略分配。因此,优先级高者分配策略把请求某设备的策略分配。因此,优先级高者分配策略把请求某设备的I/O请求命令按进程的优先级组成队列,从而保证在该设请求命令按进程的优先级

43、组成队列,从而保证在该设备空闲时,系统从备空闲时,系统从I/O请求的队列的队首取下一个高优先请求的队列的队首取下一个高优先级的进程发来的请求命令,并将设备分配给发出该命令的级的进程发来的请求命令,并将设备分配给发出该命令的进程。进程。三、设备分配算法(三、设备分配算法(P222图图8.13) 8.6 I/O进程控制进程控制一、一、I/O控制的引入控制的引入 I/O控制:从用户进程的输入输出请求开始,给控制:从用户进程的输入输出请求开始,给 用户进程分配设备和启动设备进行用户进程分配设备和启动设备进行I/O操作,以及操作,以及 I/O操作完成后响应中断,进行善后处理为止的整个操作完成后响应中断,进行善后处理为止的整个 系统控制过程称为系统控制过程称为I/O控制。控制。二、二、I/O控制的功能:控

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论