操作系统设备管理.ppt
《操作系统设备管理.ppt》由会员分享,可在线阅读,更多相关《操作系统设备管理.ppt(123页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8章章 设备管理设备管理8.1 引言引言8.2 数据传送控制方式数据传送控制方式8.3 中断技术中断技术8.4 缓冲技术缓冲技术8.5 设备分配设备分配8.6 I/O进程控制进程控制8.7 设备驱动程序设备驱动程序本章小结本章小结习题习题本章主要讨论设备管理的基本概念,包括中断、缓冲、本章主要讨论设备管理的基本概念,包括中断、缓冲、设备分配和控制等。设备分配和控制等。8.1 引引 言言8.1.1 设备的类别设备的类别外部设备外部设备=除了除了CPU和内存之外其他的硬设备和内存之外其他的硬设备.它包它包括常用的输入输出设备、外存设备以及终端设备等。括常用的输入输出设备、外存设备以及终端设备等
2、。图图8.1 按使用特性对外部设备的分类按使用特性对外部设备的分类除了上述分类方法之外,在有的系统中还按信息组织除了上述分类方法之外,在有的系统中还按信息组织方式来画分设备。例如,方式来画分设备。例如,UNIX系统就把外部设备系统就把外部设备画分为字符设备和块设备。键盘、终端、打印机等画分为字符设备和块设备。键盘、终端、打印机等以字符为单位组织和处理信息的设备被称为字符设以字符为单位组织和处理信息的设备被称为字符设备;而磁盘、磁带等以字符块为单位组织和处理信备;而磁盘、磁带等以字符块为单位组织和处理信息的设备被称为块设备。息的设备被称为块设备。8.1.2 设备管理的功能和任务设备管理的功能和任
3、务设备管理是对计算机输入输出系统的管理。设备管理是对计算机输入输出系统的管理。(1)选择和分配输入输出设备以进行数据传输操作;选择和分配输入输出设备以进行数据传输操作;(2)控制输入输出设备和控制输入输出设备和CPU(或内存)之间交换数据;(或内存)之间交换数据;(3)为用户提供友好的透明接口,把用户和设备硬件特性为用户提供友好的透明接口,把用户和设备硬件特性分开,使得用户在编制应用程序时不必涉及具体设备,分开,使得用户在编制应用程序时不必涉及具体设备,系统按用户要求控制设备工作。另外,这个接口还为新系统按用户要求控制设备工作。另外,这个接口还为新增加的用户设备提供一个和系统核心相连接的入口,
4、以增加的用户设备提供一个和系统核心相连接的入口,以便用户开发新的设备管理程序;便用户开发新的设备管理程序;(4)提高设备和设备之间、提高设备和设备之间、CPU和设备之间,以及进程和和设备之间,以及进程和进程之间的并行操作度,以使操作系统获得最佳效率。进程之间的并行操作度,以使操作系统获得最佳效率。为了完成上述主要任务,设备管理程序一般要提供下为了完成上述主要任务,设备管理程序一般要提供下述功能:述功能:(1)提供和进程管理系统的接口。当进程要求设备资提供和进程管理系统的接口。当进程要求设备资源时,该接口将进程要求转达给设备管理程序;源时,该接口将进程要求转达给设备管理程序;(2)进行设备分配。
5、按照设备类型和相应的分配算法进行设备分配。按照设备类型和相应的分配算法把设备和其他有关的硬件分配给请求该设备的进程,把设备和其他有关的硬件分配给请求该设备的进程,并把未分配到所请求设备或其他有关硬件的进程放并把未分配到所请求设备或其他有关硬件的进程放入等待队列;入等待队列;(3)实现设备和设备、设备和实现设备和设备、设备和CPU等之间的并行操作。等之间的并行操作。这需要有相应的硬件支持。这需要有相应的硬件支持。(4)进行缓冲区管理。一般来说,进行缓冲区管理。一般来说,CPU的执行速度和的执行速度和访问内存速度都比较高,而外部设备的数据流通速访问内存速度都比较高,而外部设备的数据流通速度则低得多
6、(例如键盘),为了减少外部设备和内度则低得多(例如键盘),为了减少外部设备和内存与存与CPU之间的数据速度不匹配的问题,系统中一之间的数据速度不匹配的问题,系统中一般设有缓冲区(器)来暂放数据。设备管理程序负般设有缓冲区(器)来暂放数据。设备管理程序负责进行缓冲区分配、释放及有关的管理工作。责进行缓冲区分配、释放及有关的管理工作。8.2 数据传送控制方式数据传送控制方式设备管理的主要任务之一是控制设备和内存或设备管理的主要任务之一是控制设备和内存或CPU之之间的数据传送。间的数据传送。选择和衡量控制方式有如下几条原则:选择和衡量控制方式有如下几条原则:(1)数据传送速度足够高,能满足用户的需要
7、但又不数据传送速度足够高,能满足用户的需要但又不丢失数据;丢失数据;(2)系统开销小,所需的处理控制程序少;系统开销小,所需的处理控制程序少;(3)能充分发挥硬件资源的能力,使得能充分发挥硬件资源的能力,使得I/O设备尽量忙,设备尽量忙,而而CPU等待时间少。为了控制等待时间少。为了控制I/O设备和内存之间设备和内存之间的数据交换,每台外围设备都按一定规律编码。而的数据交换,每台外围设备都按一定规律编码。而且,设备和内存与且,设备和内存与CPU之间有相应的硬件接口支持之间有相应的硬件接口支持同步控制、设备选择以及中断控制等。同步控制、设备选择以及中断控制等。外围设备和内存之间的常用数据传送控制
8、方式有外围设备和内存之间的常用数据传送控制方式有4种。种。即:即:(1)程序直接控制方式;程序直接控制方式;(2)中断控制方式;中断控制方式;(3)DMA方式;方式;(4)通道方式。通道方式。8.2.1 程序直接控制方式程序直接控制方式就是由用户进程来直接控制内存或就是由用户进程来直接控制内存或CPU和外围设备之和外围设备之间的信息传送。这种方式的控制者是用户进程。当间的信息传送。这种方式的控制者是用户进程。当用户进程需要数据时,它通过用户进程需要数据时,它通过CPU发出启动设备准发出启动设备准备数据的启动命令备数据的启动命令“Start”,然后,用户进程进入,然后,用户进程进入测试等待状态。
9、在等待时间内,测试等待状态。在等待时间内,CPU不断地用一条不断地用一条测试指令检查描述外围设备的工作状态的控制状态测试指令检查描述外围设备的工作状态的控制状态寄存器。而外围设备只有将数据传送的准备工作作寄存器。而外围设备只有将数据传送的准备工作作好之后,才将该寄存器置为完成状态。从而,当好之后,才将该寄存器置为完成状态。从而,当CPU检测到控制状态寄存器为完成状态,也就是该检测到控制状态寄存器为完成状态,也就是该寄存器发出寄存器发出“Done”信号之后,设备开始往内存或信号之后,设备开始往内存或CPU传送数据。反之,当用户进程需要向设备输出传送数据。反之,当用户进程需要向设备输出数据时,也必
10、须同样发启动命令启动设备和等待设数据时,也必须同样发启动命令启动设备和等待设备准备好之后才能输出数据。备准备好之后才能输出数据。除了控制状态寄存器之外,在除了控制状态寄存器之外,在I/O控制器中还有一类控制器中还有一类称为数据缓冲寄存器的寄存器。在称为数据缓冲寄存器的寄存器。在CPU与外围设备与外围设备之间传送数据时,输入设备每进行一次操作,首先之间传送数据时,输入设备每进行一次操作,首先把所输入的数据送入该寄存器,然后,把所输入的数据送入该寄存器,然后,CPU再把其再把其中数据取走。反之,当中数据取走。反之,当CPU输出数据时,也是先把输出数据时,也是先把数据输出到该寄存器之后,再由输出设备
11、将其取走。数据输出到该寄存器之后,再由输出设备将其取走。只有数据装入该寄存器之后,控制状态寄存器的值只有数据装入该寄存器之后,控制状态寄存器的值才会发生变化。程序直接控制方式的控制流程如图才会发生变化。程序直接控制方式的控制流程如图8.2。图图8.2 程序直接控制方式程序直接控制方式程序直接控制方式虽然控制简单,也不需要多少硬件程序直接控制方式虽然控制简单,也不需要多少硬件支持,但是,明显地存在下述缺点:支持,但是,明显地存在下述缺点:(1)CPU和外围设备只能串行工作。由于和外围设备只能串行工作。由于CPU的处理的处理速度要大大高于外围设备的数据传送和处理速度,速度要大大高于外围设备的数据传
12、送和处理速度,所以,所以,CPU的大量时间都处于等待和空闲状态。这的大量时间都处于等待和空闲状态。这使得使得CPU的利用率大大降低;的利用率大大降低;(2)CPU在一段时间内只能和一台外围设备交换数据在一段时间内只能和一台外围设备交换数据信息,从而不能实现设备之间的并行工作;信息,从而不能实现设备之间的并行工作;(3)由于程序直接控制方式依靠测试设备标志触发器由于程序直接控制方式依靠测试设备标志触发器的状态位来控制数据传送,因此无法发现和处理由的状态位来控制数据传送,因此无法发现和处理由于设备或其他硬件所产生的错误。所认,程序直接于设备或其他硬件所产生的错误。所认,程序直接控制方式只适用于那些
13、控制方式只适用于那些CPU执行速度较慢,而且外执行速度较慢,而且外围设备较少的系统。围设备较少的系统。8.2.2 中断方式中断方式为了减少程序直接控制方式中为了减少程序直接控制方式中CPU等待时间以及提高等待时间以及提高系统的并行工作程度,中断系统的并行工作程度,中断(interrupt)方式被用来方式被用来控制外围设备和内存与控制外围设备和内存与CPU之间的数据传送。这种之间的数据传送。这种方式要求方式要求CPU与设备与设备(或控制器或控制器)之间有相应的中断之间有相应的中断请求线,而且在设备控制器的控制状态寄存器的相请求线,而且在设备控制器的控制状态寄存器的相应的中断允许位。中断方式的传送
14、结构如图应的中断允许位。中断方式的传送结构如图8.3所所示。从而,数据的输入可按如下步骤操作。示。从而,数据的输入可按如下步骤操作。(1)首先,进程需要数据时,通过首先,进程需要数据时,通过CPU发出发出“Start”指指令启动外围设备准备数据。该指令同时还将控制状令启动外围设备准备数据。该指令同时还将控制状态寄存器中的中断允许位打开,以便在需要时,中态寄存器中的中断允许位打开,以便在需要时,中断程序可以被调用执行。断程序可以被调用执行。图图8.3 中断控制方式的传送结构中断控制方式的传送结构(2)在进程发出指令启动设备之后,该进程放弃处理在进程发出指令启动设备之后,该进程放弃处理机,等待输入
15、完成。从而,进程调度程序调度其他机,等待输入完成。从而,进程调度程序调度其他就绪进程占据处理机。就绪进程占据处理机。(3)当输入完成时,当输入完成时,I/O控制器通过中断请求线向控制器通过中断请求线向CPU发出中断信号。发出中断信号。CPU在接收到中断信号之后,转向在接收到中断信号之后,转向预先设计好的中断处理程序对数据传送工作进行相预先设计好的中断处理程序对数据传送工作进行相应的处理。应的处理。(4)在以后的某个时刻,进程调度程序选中提出请求在以后的某个时刻,进程调度程序选中提出请求并得到了数据的进程,该进程从约定的内存特定单并得到了数据的进程,该进程从约定的内存特定单元中取出数据继续工作。
16、元中取出数据继续工作。中断控制方式的处理过程可由图中断控制方式的处理过程可由图8.4表示。表示。图图8.4 中断控制方式的处理过程中断控制方式的处理过程由图由图8.4可以看出,当可以看出,当CPU发出启动设备和允许中断发出启动设备和允许中断指令之后,它没有像程序直接控制方式那样循环测指令之后,它没有像程序直接控制方式那样循环测试状态控制寄存器的状态是否已处于试状态控制寄存器的状态是否已处于“Done”。反。反之,之,CPU已被调度程序分配给其他进程在另外的进已被调度程序分配给其他进程在另外的进程上下文中执行。当设备将数据送入缓冲寄存器并程上下文中执行。当设备将数据送入缓冲寄存器并发出中断信号之
17、后,发出中断信号之后,CPU接收中断信号进行中断处接收中断信号进行中断处理。显然,理。显然,CPU在另外的进程上下文中执行时,也在另外的进程上下文中执行时,也可以发启动不同设备的启动指令和允许中断指令,可以发启动不同设备的启动指令和允许中断指令,从而做到设备与设备间的并行操作以及设备和从而做到设备与设备间的并行操作以及设备和CPU间的并行操作。间的并行操作。优点优点:中断方式中断方式CPU的利用率大大提高且能支持多道的利用率大大提高且能支持多道程序和设备的并行操作程序和设备的并行操作缺点缺点:由于在由于在I/O控制器的数据缓冲寄存器装满数据之控制器的数据缓冲寄存器装满数据之后将会发生中断,而且
18、数据缓冲寄存通常较小,因后将会发生中断,而且数据缓冲寄存通常较小,因此,在一次数据传送过程中,发生中断次数较多。此,在一次数据传送过程中,发生中断次数较多。这将耗去大量的这将耗去大量的CPU处理时间。处理时间。现代计算机系统通常配置有各种各样的外围设备。如现代计算机系统通常配置有各种各样的外围设备。如果这些设备通过中断处理方式进行并行操作,则由果这些设备通过中断处理方式进行并行操作,则由于中断次数的急剧增加而造成于中断次数的急剧增加而造成CPU无法响应中断和无法响应中断和出现数据丢失现象。出现数据丢失现象。8.2.3 DMA方式方式又称直接存取方式。基本思想是在外围设备和内存之又称直接存取方式
19、。基本思想是在外围设备和内存之间开辟直接的数据交换通路。在间开辟直接的数据交换通路。在DMA方式中,方式中,I/O控制器具有比中断方式和程序直接控制方式时更强控制器具有比中断方式和程序直接控制方式时更强的功能。除了控制状态寄存器和数据缓冲寄存器之的功能。除了控制状态寄存器和数据缓冲寄存器之外,外,DMA控制器中还包括传送字节计数器、内存控制器中还包括传送字节计数器、内存地址寄存器等。这是因为地址寄存器等。这是因为DMA方式窃取或挪用方式窃取或挪用CPU的一个工作周期把数据缓冲寄存器中的数据直的一个工作周期把数据缓冲寄存器中的数据直接送到内存地址寄存器所指向的内存区域。接送到内存地址寄存器所指向
20、的内存区域。从而,从而,DMA控制器可用来代替控制器可用来代替CPU控制内存和设备控制内存和设备之间进行成批的数据交换。批量数据之间进行成批的数据交换。批量数据(数据块数据块)的传的传送由计数器逐个计数,并由内存地址寄存器确定内送由计数器逐个计数,并由内存地址寄存器确定内存地址。除了在数据块传送开始时需要存地址。除了在数据块传送开始时需要CPU的启动的启动指令和在整个数据块传送结束时需发中断通知指令和在整个数据块传送结束时需发中断通知CPU进行中断处理之外,不再像中断控制方式时那样需进行中断处理之外,不再像中断控制方式时那样需要要CPU的频繁干涉。的频繁干涉。DMA存取方式的结构如图存取方式的
21、结构如图8.5所示。所示。DMA方式的数据输入处理过程如下方式的数据输入处理过程如下:(1)当进程要求设备输入数据时,当进程要求设备输入数据时,CPU把准备存放输把准备存放输入数据的内存始址以及要传送的字节数分别送入入数据的内存始址以及要传送的字节数分别送入DMA控制器中的内存地址寄存器和传送字节计数控制器中的内存地址寄存器和传送字节计数器器;另外,还把控制状态寄存器中的中断允许位和另外,还把控制状态寄存器中的中断允许位和启动位置启动位置1;从而启动设备开始进行数据输入。从而启动设备开始进行数据输入。图图8.5 DMA方式的传送结构方式的传送结构(2)发出数据要求的进程进入等待状态,进程调度程
22、发出数据要求的进程进入等待状态,进程调度程序调度其他进程占据序调度其他进程占据CPU。(3)输入设备不断地挪用输入设备不断地挪用CPU工作周期,将数据缓冲工作周期,将数据缓冲寄存器中的数据源源不断地写入内存,直到所要求寄存器中的数据源源不断地写入内存,直到所要求的字节全部传送完毕。的字节全部传送完毕。(4)DMA控制器在传送字节数完成时通过中断请求线控制器在传送字节数完成时通过中断请求线发出中断信号,发出中断信号,CPU在接收到中断信号后转中断处在接收到中断信号后转中断处理程序进行善后处理。理程序进行善后处理。(5)中断处理结束时,中断处理结束时,CPU返回被中断进程处执行或返回被中断进程处执
23、行或被调度到新的进程上下文环境中执行。被调度到新的进程上下文环境中执行。DMA方式的处理过程如图方式的处理过程如图8.6所示。所示。图图8.6 DMA方式的数据传送处理过程方式的数据传送处理过程由图由图8.6可以看出,可以看出,DMA方式与中断方式的一个主要方式与中断方式的一个主要区别是,中断方式时是在数据缓冲寄存器满之后发区别是,中断方式时是在数据缓冲寄存器满之后发中断要求中断要求CPU进行中断处理,而进行中断处理,而DMA方式则是在方式则是在所要求转送的数据块全部传送结束时要求所要求转送的数据块全部传送结束时要求CPU进行进行中断处理。这就大大减少了中断处理。这就大大减少了CPU进行中断处
24、理的次进行中断处理的次数。另一个主要区别是,中断方式的数据传送是在数。另一个主要区别是,中断方式的数据传送是在中断处理时由中断处理时由CPU控制完成的,而控制完成的,而DMA方式是在方式是在DMA控制器的控制下不经过控制器的控制下不经过CPU控制完成的。这控制完成的。这就排除了因并行操作设备过多时就排除了因并行操作设备过多时CPU来不及处理或来不及处理或因速度不匹配而造成数据丢失等现象。因速度不匹配而造成数据丢失等现象。DMA方式仍存在着一定的局限性。方式仍存在着一定的局限性。首先,首先,DMA方式对外围设备的管理和某些操作仍由方式对外围设备的管理和某些操作仍由CPU控制。在大中型计算机中,系
25、统所配置的外设控制。在大中型计算机中,系统所配置的外设种类越来越多,数量也越来越大,因而,对外围设种类越来越多,数量也越来越大,因而,对外围设备的管理的控制也就愈来愈复杂。多个备的管理的控制也就愈来愈复杂。多个DMA控制控制器的同时使用显然会引起内存地址的冲突并使得控器的同时使用显然会引起内存地址的冲突并使得控制过程进一步复杂化。制过程进一步复杂化。同时同时,多个多个DMA控制器的同时使用也是不经济的。控制器的同时使用也是不经济的。8.2.4 通道控制方式通道控制方式与与DMA方式不同的是,在方式不同的是,在DMA方式中,数据的传送方式中,数据的传送方向、存放数据的内存始址以及传送的数据块长度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 设备管理
限制150内