版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第9章章 设备管理设备管理设备管理是对计算机输入输出设备管理是对计算机输入输出系统的管理,是操作系统中最系统的管理,是操作系统中最具多样性和复杂性的部分。本具多样性和复杂性的部分。本章主要讨论设备管理的基本概章主要讨论设备管理的基本概念,包括中断、缓冲、设备分念,包括中断、缓冲、设备分配和控制等。配和控制等。9.1 引言引言9.7设备标识与设备驱动程序设备标识与设备驱动程序9.2 数据传送控制方式数据传送控制方式9.3 中断技术中断技术9.4 缓冲技术缓冲技术9.5 设备分配设备分配9.6 I/O进程控制进程控制本章小结本章小结计算机系统中,除了计算机系统中,除了CPU和内存之外,其他和内存
2、之外,其他的大部分硬设备称为外部设备。它包括常的大部分硬设备称为外部设备。它包括常用的输入输出设备、外存设备以及终端设用的输入输出设备、外存设备以及终端设备等。备等。9.1.1 设备的类别设备的类别9.1.2 设备管理的功能和任务设备管理的功能和任务9.1 引引 言言9.1.1 设备的类别设备的类别从系统管理的角度分类:从系统管理的角度分类:v按使用特性分类按使用特性分类v按从属关系分类按从属关系分类v按信息组织方式分类按信息组织方式分类图图9.1 按使用特性对外部设备的分类按使用特性对外部设备的分类9.1.1 设备的类别设备的类别v按设备的按设备的从属关系从属关系分类分类系统设备系统设备:在
3、操作系统生成时就已配置好的各种:在操作系统生成时就已配置好的各种标准设备。如,键盘、打印机以及文件存储设备标准设备。如,键盘、打印机以及文件存储设备等。等。用户设备用户设备:在系统生成时没有配置,而由用户自:在系统生成时没有配置,而由用户自己安装配置后由操作系统统一管理的设备。如,己安装配置后由操作系统统一管理的设备。如,网络系统中的各种网卡、图像处理系统的图像设网络系统中的各种网卡、图像处理系统的图像设备等。备等。9.1.1 设备的类别设备的类别v按按信息组织方式信息组织方式分类分类字符设备:字符设备:键盘、终端、打印机等以字符为单位键盘、终端、打印机等以字符为单位组织和处理信息的设备被称为
4、组织和处理信息的设备被称为字符设备字符设备;块设备:块设备:磁盘、磁带等以字符块为单位组织和处磁盘、磁带等以字符块为单位组织和处理信息的设备被称为理信息的设备被称为块设备块设备。9.1.2 设备管理的功能和任务设备管理的功能和任务v设备管理的主要任务:设备管理的主要任务:选择和分配输入输出设备以进行数据传输操作;选择和分配输入输出设备以进行数据传输操作;控制输入输出设备和控制输入输出设备和CPUCPU(或内存)之间交换数(或内存)之间交换数据;据;为用户提供友好的透明接口,把用户和设备硬件为用户提供友好的透明接口,把用户和设备硬件特性分开,使得用户在编制应用程序时不必涉及特性分开,使得用户在编
5、制应用程序时不必涉及具体设备,系统按用户要求控制设备工作;具体设备,系统按用户要求控制设备工作;提高设备和设备之间、提高设备和设备之间、CPUCPU和设备之间,以及进和设备之间,以及进程和进程之间的并行操作度,以使操作系统获得程和进程之间的并行操作度,以使操作系统获得最佳效率。最佳效率。9.1.2 设备管理的功能和任务设备管理的功能和任务v设备管理的设备管理的功能:功能:(1) (1) 提供和进程管理系统的接口。提供和进程管理系统的接口。 (2) (2) 进行设备分配。进行设备分配。(3) (3) 实现设备和设备、设备和实现设备和设备、设备和CPUCPU等之间的并等之间的并行操作。行操作。(4
6、) (4) 进行缓冲区管理。进行缓冲区管理。9.7 设备标识与设备驱动程序设备标识与设备驱动程序v逻辑设备与物理设备逻辑设备与物理设备1.逻辑设备和物理设备的含义逻辑设备和物理设备的含义2.设备独立性设备独立性3.设备独立性的优点设备独立性的优点1.逻辑设备和物理设备的含义逻辑设备和物理设备的含义v逻辑设备逻辑设备逻辑设备是对实际物理设备属性的抽象,它并不限于某逻辑设备是对实际物理设备属性的抽象,它并不限于某个具体设备。个具体设备。用户在编程时,不用关心系统具体配置了哪些设备,也用户在编程时,不用关心系统具体配置了哪些设备,也不需要了解各种设备的物理特性,而只要按照惯例为所不需要了解各种设备的
7、物理特性,而只要按照惯例为所用到的设备起个逻辑名字,称为逻辑设备名。用到的设备起个逻辑名字,称为逻辑设备名。v物理设备物理设备物理设备是一个具体的设备。物理设备是一个具体的设备。系统为了能识别全部外设,给每台外设分配一个唯一不系统为了能识别全部外设,给每台外设分配一个唯一不变的名字,称为物理设备名。变的名字,称为物理设备名。v通过引入逻辑设备和物理设备,可实现设备独立性。通过引入逻辑设备和物理设备,可实现设备独立性。2.设备独立性设备独立性v设备独立性也称为设备无关性,指用户编程时所使设备独立性也称为设备无关性,指用户编程时所使用的设备与实际使用的设备无关,用户编程时使用用的设备与实际使用的设
8、备无关,用户编程时使用逻辑设备名。逻辑设备名。用户程序以逻辑设备名来请求使用某类设备时,系统将用户程序以逻辑设备名来请求使用某类设备时,系统将在该类设备中,根据设备的使用情况,将任一台合适的在该类设备中,根据设备的使用情况,将任一台合适的物理设备分配给该程序。物理设备分配给该程序。如果用户程序是以物理设备名来请求指定某台设备,假如果用户程序是以物理设备名来请求指定某台设备,假如该设备有故障或正在被其他进程使用,则用户程序只如该设备有故障或正在被其他进程使用,则用户程序只能一直等待。能一直等待。采用逻辑设备名,可以使用户程序独立于分配给它的某采用逻辑设备名,可以使用户程序独立于分配给它的某类设备
9、的具体设备。类设备的具体设备。2.设备独立性设备独立性v使用逻辑设备名,还能使用户程序独立于所使用的使用逻辑设备名,还能使用户程序独立于所使用的某类设备。某类设备。例如,在例如,在Linux系统环境下,系统提供标准输入系统环境下,系统提供标准输入/输出,在输出,在用户程序中的输入用户程序中的输入/输出都使用这两个标准的输出都使用这两个标准的I/O,实际运,实际运行时,可根据具体情况而定。如果配备打印机,可将输行时,可根据具体情况而定。如果配备打印机,可将输出信息送到打印机打印;如果没有配备打印机,就把输出信息送到打印机打印;如果没有配备打印机,就把输出重定向到某个指定文件,把要打印的信息送到该
10、文件出重定向到某个指定文件,把要打印的信息送到该文件中。中。 3.设备独立性的优点设备独立性的优点v(1)方便用户编程。)方便用户编程。v(2)便于程序移植。)便于程序移植。v(3)提高了资源利用率。)提高了资源利用率。v(4)能适应多用户多进程的需要。)能适应多用户多进程的需要。设备驱动程序设备驱动程序v设备驱动程序:设备驱动程序:是驱动物理设备直接进行是驱动物理设备直接进行各种操作的软件,它可看作各种操作的软件,它可看作I/O系统和物理系统和物理设备的接口,所有进程对于设备的请求都设备的接口,所有进程对于设备的请求都要通过设备驱动程序来完成。要通过设备驱动程序来完成。 1.设备控制器设备控
11、制器2.设备驱动程序的引入设备驱动程序的引入3.设备驱动程序的处理过程设备驱动程序的处理过程1.设备控制器外设外设机械部件机械部件电子部件电子部件独立出来独立出来设备控制器设备控制器设备只有在设备控制器的控制下才能运行,设备只有在设备控制器的控制下才能运行,且一个控制器可以控制几台同类设备。且一个控制器可以控制几台同类设备。设备控制器设备控制器CPU设备设备控制寄存器、控制寄存器、数据寄存器、数据寄存器、状态寄存器、状态寄存器、地址译码器等地址译码器等接收和识别接收和识别CPU发发来的命令来的命令 实现控制器与实现控制器与CPU之间、控制器和外之间、控制器和外设之间的数据交换设之间的数据交换
12、记录设备的状态记录设备的状态(如设备就绪、(如设备就绪、设备忙、操作错设备忙、操作错误等)供误等)供CPU了了解解 用于识别每个设备用于识别每个设备的地址的地址 2.设备驱动程序的引入v将用户命令中的逻辑设备名转换为物理设备名,系将用户命令中的逻辑设备名转换为物理设备名,系统只是完成了第一步工作,至于要具体操纵这台物统只是完成了第一步工作,至于要具体操纵这台物理设备,就复杂多了。理设备,就复杂多了。v操作系统设计者把与物理设备直接有关的软件部分操作系统设计者把与物理设备直接有关的软件部分独立出来,构成设备驱动程序系列,一般由设备商独立出来,构成设备驱动程序系列,一般由设备商和软硬件开发商提供的
13、针对某一种具体和软硬件开发商提供的针对某一种具体设备的驱动设备的驱动程序程序组成。组成。v系统和用户可根据需要,灵活配置物理设备,选择系统和用户可根据需要,灵活配置物理设备,选择相应的驱动程序装载。相应的驱动程序装载。 3.设备驱动程序的处理过程v(1)将抽象要求转换为具体要求(控制器中寄存)将抽象要求转换为具体要求(控制器中寄存器内容)。器内容)。v(2)检查)检查I/O请求的合法性。请求的合法性。v(3)检查设备状态。读状态寄存器内容,看设备)检查设备状态。读状态寄存器内容,看设备忙忙/闲状态。闲状态。v(4)传送必要的参数。)传送必要的参数。v(5)启动)启动I/O设备。向设备控制器中的
14、命令寄存设备。向设备控制器中的命令寄存器传送控制命令,将外设启动,然后可由设备控器传送控制命令,将外设启动,然后可由设备控制器来控制外设进行基本制器来控制外设进行基本I/O操作。操作。v不同类型的外设,驱动程序是不一样的。不同类型的外设,驱动程序是不一样的。9.2 数据传送控制方式数据传送控制方式v选择和衡量控制方式的原则:选择和衡量控制方式的原则:(1)数据传送速度足够高,能满足用户的需要但数据传送速度足够高,能满足用户的需要但又不丢失数据;又不丢失数据;(2)系统开销小,所需的处理控制程序少;系统开销小,所需的处理控制程序少;(3)能充分发挥硬件资源的能力,使得能充分发挥硬件资源的能力,使
15、得I/O设备尽设备尽量忙,而量忙,而CPU等待时间少。等待时间少。9.2 数据传送控制方式数据传送控制方式v4种外设和内存间常用的数据传送控制方种外设和内存间常用的数据传送控制方式:式:9.2.1 程序直接控制方式程序直接控制方式9.2.2 中断方式中断方式9.2.3 DMA方式(直接存取方式)方式(直接存取方式)9.2.4 通道控制方式通道控制方式(channel control)9.2.1 程序直接控制方式程序直接控制方式v程序直接控制方式:程序直接控制方式:由用户进程来直接控制由用户进程来直接控制内存或内存或CPU和外围设备之间的信息传送。和外围设备之间的信息传送。控控制者是用户进程。制
16、者是用户进程。vI/OI/O控制器中的寄存器控制器中的寄存器1.1.控制状态寄存器:设有多个标志位,如忙控制状态寄存器:设有多个标志位,如忙/ /闲闲标志位、完成位标志位、完成位2.2.数据缓冲寄存器数据缓冲寄存器程序直接控制方式程序直接控制方式以以键盘为例键盘为例1、CPU向键盘的控制器发一条输入命令,启动键盘向键盘的控制器发一条输入命令,启动键盘进行输入操作,并将状态寄存器的进行输入操作,并将状态寄存器的”忙闲位忙闲位”置置1,表示忙。,表示忙。2、然后、然后CPU运行程序不断测试状态寄存器的完成位,运行程序不断测试状态寄存器的完成位,看键盘是否完成了输入。直到键盘已将数据输入看键盘是否完
17、成了输入。直到键盘已将数据输入到了键盘控制器的数据寄存器中,状态寄存器的到了键盘控制器的数据寄存器中,状态寄存器的完成位变为完成位变为1时,时,CPU才停止测试。才停止测试。3、CPU取走数据寄存器中的输入数据。取走数据寄存器中的输入数据。v目前目前IDE接口硬盘仍在使用这种方式,称为接口硬盘仍在使用这种方式,称为PIO(Programming Input/Output)模式。)模式。程序直接控制方式的控制流程图程序直接控制方式的控制流程图v程序直接控制方式的缺点:程序直接控制方式的缺点:(1)CPU(1)CPU和外围设备只能串行工作。和外围设备只能串行工作。(2)CPU(2)CPU在一段时间
18、内只能和一台外围设备交换数据在一段时间内只能和一台外围设备交换数据信息,从而不能实现设备之间的并行工作;信息,从而不能实现设备之间的并行工作;(3)(3)由于程序直接控制方式依靠测试设备标志触发由于程序直接控制方式依靠测试设备标志触发器的状态位来控制数据传送,因此无法发现和处理器的状态位来控制数据传送,因此无法发现和处理由于设备或其他硬件所产生的错误。由于设备或其他硬件所产生的错误。v程序直接控制方式程序直接控制方式只适用于那些只适用于那些CPUCPU执行速度较慢,执行速度较慢,而且外围设备较少的系统而且外围设备较少的系统。9.2.2 中断方式中断方式vCPU请求设备传输后不等待,转去做其他更
19、有用的请求设备传输后不等待,转去做其他更有用的事情,当设备完成请求的时候向事情,当设备完成请求的时候向CPU发设备中断。发设备中断。(系统中同一时刻可能有许多设备的请求在同时发(系统中同一时刻可能有许多设备的请求在同时发生。)生。)v所谓中断,就是指当某个事件发生时,向系统发出所谓中断,就是指当某个事件发生时,向系统发出一个中断信号,系统于是中止现行程序的运行,转一个中断信号,系统于是中止现行程序的运行,转去执行相应的中断处理程序,完毕后返回断点继续去执行相应的中断处理程序,完毕后返回断点继续执行。执行。v需要在需要在CPU和每一个设备控制器之间增加一条和每一个设备控制器之间增加一条中断中断请
20、求线请求线,并在设备控制器的控制寄存器中增加一个,并在设备控制器的控制寄存器中增加一个中断允许位中断允许位。中断方式的传送结构中断方式的传送结构中断方式中断方式以键盘输入为例以键盘输入为例(1)开中断。)开中断。CPU把启动位和中断允许位为把启动位和中断允许位为1的控制的控制字写入键盘控制状态寄存器中,启动键盘字写入键盘控制状态寄存器中,启动键盘。(当中断(当中断允许位为允许位为1时,中断程序可以被调用。)时,中断程序可以被调用。)(2)进程等待键盘输入完成)进程等待键盘输入完成(进入等待队列)(进入等待队列),由进程调由进程调度程序调度其他就绪进程使用度程序调度其他就绪进程使用CPU。(3)
21、键盘启动后,当数据寄存器装满后,键盘控制)键盘启动后,当数据寄存器装满后,键盘控制器通过中断请求线向器通过中断请求线向CPU发出中断信号。发出中断信号。(4)CPU暂停正在进行的工作,转向执行中断处理暂停正在进行的工作,转向执行中断处理程序程序。(取出数据寄存器中的输入数据送到内存特定单元,并将等待(取出数据寄存器中的输入数据送到内存特定单元,并将等待输入完成的进程唤醒。)输入完成的进程唤醒。)(5)中断处理程序完毕,)中断处理程序完毕,CPU返回断点继续执行。返回断点继续执行。(6)以后某个时刻,进程调度程序选中正处于就绪)以后某个时刻,进程调度程序选中正处于就绪状态的那个进程,该进程从特定
22、内存单元中取出所状态的那个进程,该进程从特定内存单元中取出所需的数据继续工作。需的数据继续工作。图图9.4 中断控制方式的处理过程中断控制方式的处理过程中断控制方式的处理过程中断控制方式的处理过程v中断方式的优点:中断方式的优点:CPU不需等待数据传输完成,不需等待数据传输完成,I/O设备与设备与CPU并行工作,并行工作,CPU的利用率因此提高。的利用率因此提高。v中断方式的缺点:中断方式的缺点:在一次数据传送过程中,发生中断次数较多。在一次数据传送过程中,发生中断次数较多。如果数据量大,需要多次执行中断程序,如果数据量大,需要多次执行中断程序,CPU的效率仍然不高。的效率仍然不高。如果外围设
23、备的速度也非常高,则可能造成数如果外围设备的速度也非常高,则可能造成数据缓冲寄存器的数据由于据缓冲寄存器的数据由于CPU来不及取走而丢来不及取走而丢失。失。9.2.3 DMA方式(直接存取方式)方式(直接存取方式)vDMA(Direct Memory Access)方式:)方式:在外部设备和主存之间建立了直接数据通路,在外部设备和主存之间建立了直接数据通路,即外设和主存之间可直接读写数据,且数据传即外设和主存之间可直接读写数据,且数据传送的基本单位是数据块。送的基本单位是数据块。整块数据的传输在一个称为整块数据的传输在一个称为DMA控制器的控制控制器的控制下完成。下完成。DMA数据传输期间不需
24、数据传输期间不需CPU干预,仅在传送一干预,仅在传送一个或多个数据块的开始或结束时,才需个或多个数据块的开始或结束时,才需CPU处处理。理。 在在DMA方式中,方式中,I/O控制除了控制状态寄存器和数据缓控制除了控制状态寄存器和数据缓冲寄存器之外,冲寄存器之外,DMA控制器中还包括传送字节计数器、控制器中还包括传送字节计数器、内存地址寄存器等。内存地址寄存器等。DMA控制方式控制方式 CPU I/O 设备 DMA 控制器 主存 数据线 地址线 控制线 DMA方式的数据输入处理过程如下方式的数据输入处理过程如下: vCPUCPU把准备存放输入数据的内存始址以及要传送的字节把准备存放输入数据的内存
25、始址以及要传送的字节数分别送入数分别送入DMADMA控制器中的内存地址寄存器和传送字节控制器中的内存地址寄存器和传送字节计数器;另外,还把控制状态寄存器中的中断允许位和计数器;另外,还把控制状态寄存器中的中断允许位和启动位置启动位置1 1;从而启动设备开始进行数据输入。;从而启动设备开始进行数据输入。v发出数据要求的进程进入等待状态,进程调度程序调度发出数据要求的进程进入等待状态,进程调度程序调度其他进程占据其他进程占据CPU。v当输入设备把一个数据送入当输入设备把一个数据送入DMA控制器的数据缓冲寄存控制器的数据缓冲寄存器后,器后,DMA控制器立即取代控制器立即取代CPU,接管地址总线的控,
26、接管地址总线的控制权,根据送入制权,根据送入DMA控制器的内容,将数据送入相应的控制器的内容,将数据送入相应的内存单元(内存单元(这称为挪用(窃取)这称为挪用(窃取)CPU工作周期),工作周期),直到直到所要求的字节全部传送完毕。所要求的字节全部传送完毕。v DMA控制器在传送字节数完成时通过中断请求线发出控制器在传送字节数完成时通过中断请求线发出中断信号,中断信号,CPU在接收到中断信号后转中断处理程序进在接收到中断信号后转中断处理程序进行善后处理。行善后处理。(1)中断处理结束时,中断处理结束时,CPU返回被中断进程处执行或被调度返回被中断进程处执行或被调度到新的进程上下文环境中执行。到新
27、的进程上下文环境中执行。图图9.6 DMA方式的方式的数据传送处理过程数据传送处理过程vDMA方式与中断方式的主要区别(优点):方式与中断方式的主要区别(优点):中断方式:在数据缓冲寄存器满之后发中断要求中断方式:在数据缓冲寄存器满之后发中断要求CPU进行中断处理;进行中断处理;DMA方式:在所要求转送的方式:在所要求转送的数据块全部传送结束时要求数据块全部传送结束时要求CPU进行中断处理。进行中断处理。大大减少了大大减少了CPU进行中断处理的次数。进行中断处理的次数。中断方式:数据传送在中断处理时由中断方式:数据传送在中断处理时由CPU控制完控制完成;成;DMA方式:在方式:在DMA控制器的
28、控制下不经过控制器的控制下不经过CPU控制完成。控制完成。vDMA方式的缺点:方式的缺点:DMA方式对外围设备的管理和某些操作仍由方式对外围设备的管理和某些操作仍由CPU控制。控制。大中型计算机中,系统所配置的外设种类越来越大中型计算机中,系统所配置的外设种类越来越多,数量也越来越大,对外围设备的管理的控制多,数量也越来越大,对外围设备的管理的控制也就愈来愈复杂。也就愈来愈复杂。9.2.4 通道控制方式通道控制方式(channel control)v1.1.通道的概念通道的概念v2.通道的种类通道的种类v3.3.通道控制方式的数据传输处理过程通道控制方式的数据传输处理过程v4.4.通道方式与通
29、道方式与DMADMA方式的区别方式的区别1.通道的概念通道的概念v通道通道是一个独立于是一个独立于CPU的专管输入输出控的专管输入输出控制的处理机,它控制设备与内存直接进行数制的处理机,它控制设备与内存直接进行数据交换。据交换。v通道有自己的一套简单的指令系统,称为通道有自己的一套简单的指令系统,称为通通道指令道指令。每条通道指令规定了设备的一种操。每条通道指令规定了设备的一种操作,通道指令序列便是作,通道指令序列便是通道程序通道程序,通道执行,通道执行通道程序来完成规定动作。通道程序来完成规定动作。v通道的定义:通道的定义:通道是一个独立于通道是一个独立于CPU的专管的专管输入输出控制的处理
30、机,它控制设备与内存输入输出控制的处理机,它控制设备与内存直接进行数据交换。它有自己的通道指令,直接进行数据交换。它有自己的通道指令,这些通道指令受这些通道指令受CPU启动,并在操作结束时启动,并在操作结束时向向CPU发中断信号。发中断信号。1.通道的概念通道的概念1.通道的概念通道的概念通道靠执行通道程序软件完成数据传输,通道控通道靠执行通道程序软件完成数据传输,通道控制器的功能比制器的功能比DMA控制器更强大,它能够承担外控制器更强大,它能够承担外设的大部分工作。设的大部分工作。 通道处理机通道处理机寄存器部分寄存器部分控制部分控制部分数据寄存器数据寄存器主存地址寄存器主存地址寄存器传输字
31、节寄存器传输字节寄存器通道命令寄存器通道命令寄存器通道状态寄存器通道状态寄存器分时控制分时控制地址分配地址分配数据传送等数据传送等2.通道的种类通道的种类 CPU 字节多路通道 选择通道 I/O 控制器 I/O 控制器 数组多路通道 I/O 控制器 I/O 控制器 I/O 控制器 I/O 控制器 内存 I/O I/O I/O I/O I/O I/O 总线 以字节为传输单位,可以分时以字节为传输单位,可以分时地执行多个通道程序。地执行多个通道程序。这是一种简单的共享通道,主这是一种简单的共享通道,主要为多台低速或中速的字符设要为多台低速或中速的字符设备服务。备服务。如终端、打印机等。如终端、打印
32、机等。 它用开关来控制它用开关来控制对高速外设的选对高速外设的选择,择,如如磁盘机等。磁盘机等。在一段时间内单在一段时间内单独为一台外围设独为一台外围设备服务,直到该备服务,直到该设备的数据传输设备的数据传输工作全部结束。工作全部结束。然后通道再选择然后通道再选择另一台外设为其另一台外设为其提供服务。提供服务。 它分时地为多台外围设备服务,它分时地为多台外围设备服务,每个时间片传送一个数据块。每个时间片传送一个数据块。可以同时连接多台高速存储设可以同时连接多台高速存储设备,备,如磁带机等。如磁带机等。因此,它能够充因此,它能够充分发挥高速通道的数据传输能分发挥高速通道的数据传输能力。力。3.3
33、.通道控制方式的数据输入处理过程通道控制方式的数据输入处理过程 (1)(1)当进程要求设备输入数据时,当进程要求设备输入数据时,CPUCPU发发StartStart指令指明指令指明I/OI/O操作、设备号和对应通道。操作、设备号和对应通道。(2)(2)对应通道接收到对应通道接收到CPUCPU发来的启动指令发来的启动指令StartStart之后,把存之后,把存放在内存中的通道指令程序读出,设置对应设备的放在内存中的通道指令程序读出,设置对应设备的I/OI/O控制器中的控制状态寄存器。控制器中的控制状态寄存器。(3)(3)设备根据通道指令的要求,把数据送往内存中指定区设备根据通道指令的要求,把数据
34、送往内存中指定区域。域。(4)若数据传送结束,若数据传送结束,I/O控制器通过中断请求线发中断信控制器通过中断请求线发中断信号请求号请求CPU做中断处理。做中断处理。(5)中断处理结束后中断处理结束后CPU返回被中断进程处继续执行。返回被中断进程处继续执行。在在(1)中要求数据的进程只有在调度程序选中它之后,才能中要求数据的进程只有在调度程序选中它之后,才能对所得到的数据进行加工处理。对所得到的数据进行加工处理。 发出发出Start指令,指指令,指明明I/O操作、设备号操作、设备号和对应的通道和对应的通道启动设备准备数据启动设备准备数据设备根据通道指令设备根据通道指令要求,把数据放入要求,把数
35、据放入内存制定区域内存制定区域通道接受启动指令通道接受启动指令Start传送结束吗传送结束吗通道方式的数据传送处理过程通道方式的数据传送处理过程4.4.通道控制方式与通道控制方式与DMADMA方式相类似,也是一方式相类似,也是一种以内存为中心,实现设备和内存直接交种以内存为中心,实现设备和内存直接交换数据的控制方式。换数据的控制方式。与与DMADMA方式不同的是方式不同的是:DMADMA方式:数据的传送方向、存放数据的内存方式:数据的传送方向、存放数据的内存始址以及传送的数据块长度等都由始址以及传送的数据块长度等都由CPUCPU控制;控制;通道方式:这些都由专管输入输出的硬件通道方式:这些都由
36、专管输入输出的硬件通道来进行控制。通道来进行控制。DMADMA方式:每台设备至少一个方式:每台设备至少一个DMADMA控制器;通控制器;通道控制方式:可以做到一个通道控制多台设备道控制方式:可以做到一个通道控制多台设备与内存进行数据交换,通道方式进一步减轻了与内存进行数据交换,通道方式进一步减轻了CPUCPU的工作负担和增加了计算机系统的并行工的工作负担和增加了计算机系统的并行工作程度。作程度。9.3 中中 断断 技技 术术v在人机联系、故障处理、实时处理、程序调试与在人机联系、故障处理、实时处理、程序调试与监测、任务分配等方面都需用到中断技术;监测、任务分配等方面都需用到中断技术;v在设备管
37、理中,没有中断技术就不可能实现设备在设备管理中,没有中断技术就不可能实现设备与主机、设备与设备、设备与用户、设备与程序与主机、设备与设备、设备与用户、设备与程序的并行。的并行。9.3.1 中断的基本概念中断的基本概念9.3.2 中断的分类与优先级中断的分类与优先级9.3.3 软中断软中断9.3.4 中断处理过程中断处理过程9.3.1 中断的基本概念中断的基本概念v中断中断(Interrupt):是指计算机在执行期间,是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处系统内发生任何非寻常的或非预期的急需处理事件,使得理事件,使得CPU暂时中断当前正在执行的暂时中断当前正在执行的程序而转
38、去执行相应的事件处理程序,待处程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。度新的进程执行的过程。9.3.1 中断的基本概念中断的基本概念v引起中断发生的事件被称为引起中断发生的事件被称为中断源中断源。v中断源向中断源向CPU发出的请求中断处理信号称为发出的请求中断处理信号称为中断请求中断请求;vCPU收到中断请求后转相应的事件处理程序收到中断请求后转相应的事件处理程序称为称为中断响应中断响应。v相应的事件处理程序称为相应的事件处理程序称为中断服务程序中断服务程序。v执行中断服务程序的过程称为执行中断服务
39、程序的过程称为中断处理中断处理。v禁止中断:禁止中断:在有些情况下,尽管产生了中断在有些情况下,尽管产生了中断源和发出了中断请求,但源和发出了中断请求,但CPU内部的处理机内部的处理机状态字状态字PSW的中断允许位已被清除,从而不的中断允许位已被清除,从而不允许允许CPU响应中断。响应中断。CPU禁止中断后只有等禁止中断后只有等到到PSW的中断允许位被重新设置后才能接收的中断允许位被重新设置后才能接收中断。中断。v禁止中断也称为禁止中断也称为关中断关中断,即把,即把CPU内部的处内部的处理机状态字理机状态字PSW的中断允许位已被清除,从的中断允许位已被清除,从而不允许而不允许CPU响应中断。响
40、应中断。 9.3.1 中断的基本概念中断的基本概念9.3.1 中断的基本概念中断的基本概念v开中断:开中断:设置设置CPU内部的处理机状态字把内部的处理机状态字把PSW的中断允许位从而允许把的中断允许位从而允许把CPU内部的处内部的处理机状态字的称为理机状态字的称为开中断。开中断。v中断请求、关中断、开中断等都中断请求、关中断、开中断等都由硬件实现由硬件实现。v开中断和关中断是为了开中断和关中断是为了保证某些程序执行的保证某些程序执行的原子性原子性。v中断屏蔽:中断屏蔽:中断屏蔽是指在中断请求产生之后,系中断屏蔽是指在中断请求产生之后,系统统用软件方式用软件方式有选择地有选择地封锁部分中断封锁
41、部分中断而而允许其余部分允许其余部分的中断的中断仍能得到仍能得到响应响应。v中断屏蔽是通过每一类中断源设置一个中中断屏蔽是通过每一类中断源设置一个中断屏蔽触断屏蔽触发器发器来屏蔽它们的中断请求而实现的。不过,有些中来屏蔽它们的中断请求而实现的。不过,有些中断请求是不能屏蔽甚至不能禁止的,也就是说,这些断请求是不能屏蔽甚至不能禁止的,也就是说,这些中断具有最高优先级。不管中断具有最高优先级。不管CPU是否是关中断的,只是否是关中断的,只要这些中断请求一旦提出,要这些中断请求一旦提出,CPU必须立即响应。必须立即响应。9.3.1 中断的基本概念中断的基本概念9.3.2 中断的分类与优先级中断的分类
42、与优先级v1.中断的分类中断的分类v2.中断与陷阱的区别中断与陷阱的区别v3.中断优先级中断优先级1.中断的分类中断的分类中断分类中断分类 外中断外中断硬中断硬中断 内中段内中段软中断软中断n来自于处理机及内存外来自于处理机及内存外部的中断,都称为外中部的中断,都称为外中断。断。外中断在狭义上一般外中断在狭义上一般被称为中断。被称为中断。n例如,输入例如,输入/输出中断,输出中断,操作员对机器进行干预操作员对机器进行干预的中断,各种定时器引的中断,各种定时器引起的时钟中断,调试程起的时钟中断,调试程序中设置断点引起的调序中设置断点引起的调试中断等。试中断等。n在处理机和内存内部产在处理机和内存
43、内部产生的中断称为内中段,生的中断称为内中段,也称为陷入或异常。也称为陷入或异常。n例如,非法指令、数据例如,非法指令、数据格式错误、主存保护错格式错误、主存保护错误、地址越界错误、各误、地址越界错误、各种运算溢出错误、除数种运算溢出错误、除数为零错误、数据校验错、为零错误、数据校验错、进程用户态向系统态转进程用户态向系统态转换等。换等。n由程序中执行了中断由程序中执行了中断指令引起的中断,称为指令引起的中断,称为软中断。软中断。n软中断源于软中断源于UNIX系统,系统,该中断又叫信号处理机该中断又叫信号处理机构,它是构,它是UNIX系统提系统提供的一种进程通信机构,供的一种进程通信机构,利用
44、它,进程之间可相利用它,进程之间可相互通信。互通信。n通过硬件产生相通过硬件产生相应的中断请求应的中断请求v陷阱由处理机正在执行的现行指令引起;中断陷阱由处理机正在执行的现行指令引起;中断由与现行指令无关的中断源引起的;由与现行指令无关的中断源引起的;v陷阱处理程序提供的服务为当前进程所用;中陷阱处理程序提供的服务为当前进程所用;中断处理程序提供的服务则不是为了当前进程的;断处理程序提供的服务则不是为了当前进程的;vCPU在执行完一条指令之后,下一条指令开始在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中也可以响应之前响应中断,而在一条指令执行中也可以响应陷阱。陷阱。2.中
45、断与陷阱的区别中断与陷阱的区别3.中断优先级中断优先级v中断优先级的确定主要由下列因素来决定:中断优先级的确定主要由下列因素来决定:(1)中断源的紧迫性。)中断源的紧迫性。(2)设备的工作速度。)设备的工作速度。(3)数据恢复的难易程度。)数据恢复的难易程度。3.中断优先级中断优先级v为了按中断源的轻重缓急处理响应中断,操作系统为了按中断源的轻重缓急处理响应中断,操作系统对不同的中断赋予不同的优先级。对不同的中断赋予不同的优先级。v为了禁止中断或屏蔽中断,为了禁止中断或屏蔽中断,CPU的处理机状态字的处理机状态字PSW中设置有相应的优先级。中设置有相应的优先级。v当系统中同时存在若干个中断请求
46、时,当系统中同时存在若干个中断请求时,CPU按它们按它们的优先级从高到低进行处理。的优先级从高到低进行处理。v当当CPU响应一个中断源的请求,在进行中断处理时,响应一个中断源的请求,在进行中断处理时,如果又有新的中断源发出中断请求,如果又有新的中断源发出中断请求,CPU是否响应是否响应该中断请求,则取决于中断源的优先级。该中断请求,则取决于中断源的优先级。 9.3.4 中断处理过程中断处理过程一旦一旦CPU响应中断,转入中断处理程序,系响应中断,转入中断处理程序,系统就开始进行中断处理。图统就开始进行中断处理。图9.8 中断处理过程中断处理过程图图9.8 中断处理过程中断处理过程条条9.4 缓
47、缓 冲冲 技技 术术9.4.1 缓冲的引入缓冲的引入9.4.2 缓冲的种类缓冲的种类9.4.3 缓冲池的管理缓冲池的管理9.4.1 缓冲的引入缓冲的引入v外围设备和外围设备和CPU的处理速度不匹配的问题是客观的处理速度不匹配的问题是客观存在的。这限制了和处理机连接的外设台数,且存在的。这限制了和处理机连接的外设台数,且在中断方式时造成数据丢失。也极大地制约了计在中断方式时造成数据丢失。也极大地制约了计算机系统性能的进一步提高和限制了系统的应用算机系统性能的进一步提高和限制了系统的应用范围。范围。v有效降低中断次数。使用有效降低中断次数。使用DMADMA方式或通道方式控方式或通道方式控制数据传送
48、,但对这两种方式如果不画分专用制数据传送,但对这两种方式如果不画分专用的内存区或专用缓冲器来存放数据的话,也会的内存区或专用缓冲器来存放数据的话,也会因为要求数据的进程所拥有的内存区不够或存因为要求数据的进程所拥有的内存区不够或存放数据的内存始址计算困难等原因而造成某个放数据的内存始址计算困难等原因而造成某个进程长期占有通道或进程长期占有通道或DMADMA控制器及设备,从而产控制器及设备,从而产生所谓瓶颈问题。生所谓瓶颈问题。9.4.1 缓冲的引入缓冲的引入v为了为了匹配外设与匹配外设与CPU之间的处理速度之间的处理速度,为了,为了减少中断次数和减少中断次数和CPU的中断处理时间的中断处理时间
49、,同时,同时也是为了也是为了解决解决DMA或通道方式时的瓶颈问题或通道方式时的瓶颈问题,在设备管理中引入了用来暂存数据的缓冲技在设备管理中引入了用来暂存数据的缓冲技术。术。9.4.1 缓冲的引入缓冲的引入硬件缓冲采用专用硬件缓冲器,一般由外设自带的专用寄存器构成。硬件缓冲器的大小是衡量设备性能的一个指标。但硬件缓冲器价格较昂贵。在内存中专门开辟若干单元作为缓冲区。系统通常采用这种方法。 v缓冲的实现方法缓冲的实现方法(1)硬件缓冲)硬件缓冲(2)软件缓冲)软件缓冲v缓冲:缓冲:是使用专用硬件缓冲器或在内存中划出一是使用专用硬件缓冲器或在内存中划出一个专用区域来暂时存放输入输出数据的器件。个专用
50、区域来暂时存放输入输出数据的器件。9.4.2 缓冲的种类缓冲的种类v根据缓冲区设置个数的多少,可以分为:根据缓冲区设置个数的多少,可以分为:单缓冲单缓冲双缓冲双缓冲多缓冲多缓冲缓冲池缓冲池(1)单缓冲 Buffer 发送进程 接收进程 假如发送者和接收者速度不匹配,将会浪费大量的等待时间,设备和设备之间不能通过单缓冲达到并行操作。因此,通常不采用单缓冲。 (2)双缓冲 Buffer1 发送进程 接收进程 Buffer2 当发送者和接收者的速度相差很大时,双缓冲还是不能解决两者并行工作问题。双缓冲在实际系统中采用得很少。(3)多缓冲)多缓冲多缓冲是把多个缓冲区连接起来组成两部分,多缓冲是把多个缓
51、冲区连接起来组成两部分,一部分一部分专门用于输入专门用于输入,另一部分,另一部分专门用于输专门用于输出出的缓冲结构。的缓冲结构。(4)缓冲池缓冲池 收容输入工作缓冲区 提取输入工作缓冲区 提取输出工作缓冲区 收容输出工作缓冲区 输入队列 输入队列 空缓冲队列 缓冲池 应 用 进 程 输出设备 输入设备 缓冲池由多个大小相同的缓冲区组成,缓冲池中的缓冲区被系统中所有进程共享使用,由管理程序统一对缓冲池进行管理。为便于管理,系统将相同类型的缓冲区链成一个队列,缓冲池中共有三种队列。这三种队列各有指向其首缓冲区的队首指针和指向尾缓冲区的队尾指针。 对缓冲区进行读、写操作时。从队列中取下的缓冲区称为工
52、作缓冲区,缓冲池中有四种工作缓冲区:输出过程?输出过程?(4)缓冲池缓冲池v缓冲池的结构缓冲池的结构缓冲池由多个缓冲区组成。而一个缓冲区由两部分组缓冲池由多个缓冲区组成。而一个缓冲区由两部分组成成: 一部分是用来标识该缓冲器和用于管理的缓冲一部分是用来标识该缓冲器和用于管理的缓冲首部,另一部分是用于存放数据的缓冲体。首部,另一部分是用于存放数据的缓冲体。对缓冲池的管理是通过对每一个缓冲器的缓冲首部进对缓冲池的管理是通过对每一个缓冲器的缓冲首部进行操作实现的。行操作实现的。图图9.9 缓冲首部缓冲首部9.5 设设 备备 分分 配配9.5.1 设备分配用数据结构设备分配用数据结构9.5.2 设备分
53、配的原则设备分配的原则9.5.3 设备分配流程设备分配流程9.5.1 设备分配用数据结构设备分配用数据结构v设备控制表设备控制表DCT(Device Control Table)v系统设备表系统设备表SDT(System Device Table) v控制器表控制器表COCT(COntroler Control Table)v通道控制表通道控制表CHCT(CHannel Control Table)n反映设备的特性、反映设备的特性、设备和设备和 I/O控制器控制器的连接情况。的连接情况。n每个设备一张,每个设备一张,且在系统生成时或且在系统生成时或在该设备和系统连在该设备和系统连接时创建,但表
54、中接时创建,但表中的内容则根据系统的内容则根据系统执行情况而被动态执行情况而被动态地修改。地修改。n整个系统一张,整个系统一张,它记录已被连接它记录已被连接到系统中的所有到系统中的所有物理设备的情况,物理设备的情况,并为每个物理设并为每个物理设备设一表项。备设一表项。nSDT的主要意的主要意义在于反映系统义在于反映系统中设备资源的状中设备资源的状态,即系统中有态,即系统中有多少设备,有多多少设备,有多少是空闲的,而少是空闲的,而又有多少已分配又有多少已分配给了哪些进程。给了哪些进程。nCOCT也是每个控也是每个控制器一张,它反映制器一张,它反映I/O控制器的使用状控制器的使用状态以及和通道的连
55、态以及和通道的连接情况等接情况等(在在DMA方式时,该项是没方式时,该项是没有的有的)。n该表只在通道控制该表只在通道控制方式的系统中存在。方式的系统中存在。每个通道一张。每个通道一张。9.5.2 设备分配的原则设备分配的原则v1. 设备分配原则设备分配原则根据设备特性、用户要求和系统配置情况决定根据设备特性、用户要求和系统配置情况决定的。的。设备分配的总原则设备分配的总原则:既要充分发挥设备的使用:既要充分发挥设备的使用效率,尽可能的让设备忙,但又要避免由于不效率,尽可能的让设备忙,但又要避免由于不合理的分配方法造成进程死锁;合理的分配方法造成进程死锁;还要做到:把用户程序和具体物理设备隔离
56、开还要做到:把用户程序和具体物理设备隔离开来,即用户程序面对的是逻辑设备,而分配程来,即用户程序面对的是逻辑设备,而分配程序将在系统把逻辑设备转换成物理设备之后,序将在系统把逻辑设备转换成物理设备之后,再根据要求的物理设备号进行分配。再根据要求的物理设备号进行分配。v设备分配方式:设备分配方式:静态分配:静态分配:在在用户作业开始执行之前用户作业开始执行之前,由系,由系统一次分配该作业所要求的全部设备、控制器统一次分配该作业所要求的全部设备、控制器和通道。和通道。静态分配方式不会出现死锁,但设备静态分配方式不会出现死锁,但设备的使用效率低。不符合设备分配的总原则。的使用效率低。不符合设备分配的
57、总原则。动态分配:动态分配:在在进程执行过程中进程执行过程中根据执行需要进根据执行需要进行。当进程需要设备时,通过行。当进程需要设备时,通过系统调用系统调用命令向系命令向系统提出设备请求,由系统按照事先规定的策略给统提出设备请求,由系统按照事先规定的策略给进程分配所需要的设备、进程分配所需要的设备、I/O控制器和通道,一旦控制器和通道,一旦用完之后,便立即释放。用完之后,便立即释放。有利于提高设备的利用有利于提高设备的利用率,分配算法使用不当有可能造成进程死锁。率,分配算法使用不当有可能造成进程死锁。2. 设备分配策略设备分配策略(1)先来先服务)先来先服务(2)优先级高者先服务)优先级高者先
58、服务当有多个进程对同一当有多个进程对同一台设备提出分配请求台设备提出分配请求时,根据进程对某设时,根据进程对某设备提出请求的时间顺备提出请求的时间顺序,将这些进程控制序,将这些进程控制块排成一个设备请求块排成一个设备请求队列,处于队首的进队列,处于队首的进程最先获得使用权。程最先获得使用权。请求设备的进程按请求设备的进程按优先级排入设备请优先级排入设备请求队列,在优先级求队列,在优先级相同的情况下,再相同的情况下,再按时间顺序排列,按时间顺序排列,设备总是分配给队设备总是分配给队首具有最高优先级首具有最高优先级的进程使用。的进程使用。 动态设备分配的分配策略动态设备分配的分配策略9.5.3 设
59、备分配流程设备分配流程9.6 I/O进程控制进程控制9.6.1 I/O控制的引入控制的引入9.6.2 I/O控制的功能控制的功能9.6.3 I/O控制的实现控制的实现9.6.1 I/O控制的引入控制的引入vI/O控制:控制:从用户进程的输入输出请求开始,从用户进程的输入输出请求开始,给用户进程分配设备和启动有关设备进行给用户进程分配设备和启动有关设备进行I/O操作,以及在操作,以及在I/O操作完成之后响应中断,进操作完成之后响应中断,进行善后处理为止的整个系统控制过程称为行善后处理为止的整个系统控制过程称为I/O控制控制。9.6.2 I/O控制的功能控制的功能9.6.3 I/O控制的实现控制的
60、实现vI/O控制过程的三种实现方式:控制过程的三种实现方式:(1) 作为请求作为请求I/O操作的进程的一部分实现。这种操作的进程的一部分实现。这种情况下,请求情况下,请求I/O操作的进程应具有良好的实时性,操作的进程应具有良好的实时性,且系统应能根据在中断信号的内容准确地调度到且系统应能根据在中断信号的内容准确地调度到请求所对应请求所对应I/O操作的进程占据处理机,因为在大操作的进程占据处理机,因为在大多数情况下,当一个进程发出多数情况下,当一个进程发出I/O请求命令之后,请求命令之后,都被阻塞睡眠。都被阻塞睡眠。vI/O控制过程的三种实现方式:控制过程的三种实现方式:(2) 作为当前进程的一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校物业管理服务满意度调查问卷
- 学校食堂食品安全考核细则
- 学校课题研究管理制度
- 学校财务制度
- 物业管理区域物业服务工作报告管理细则
- 物业小区中央空调维护保养制度
- 人教版高二生物选必三细胞工程预习 新学期预科精讲课件
- 现金流杜邦盈亏平衡分析历年真题(附答案)
- 育婴师全真模拟密卷含完整答案
- 盆底康复标准化模拟预测密卷含完整答案
- 2026年秋季新教材统编版九年级上册道德与法治全册知识点背诵提纲精简版
- 《全国病媒生物监测技术指南(2025年)》
- (2025年)宜昌市伍家岗区网格员考试题库(含答案)
- 2026舞台灯光音响行业市场规模深度研究与发展战略分析报告
- 2026年基层选调生遴选笔试试卷(附答案)
- 山地丘陵村镇水土环境协同修复技术指南编制说明
- T∕CRES 0045-2026 生物质可磨性指数测定方法 哈德格罗夫法
- 2026年海南数金备考题库技术有限公司招聘备考题库参考答案详解
- 运输管理课件教学
- 展览展示设备安装施工方案
- 建筑班组长管理培训
评论
0/150
提交评论