《(2012简化--修改)计算机操作系统08.ppt》由会员分享,可在线阅读,更多相关《(2012简化--修改)计算机操作系统08.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机操作系统计算机操作系统第八章第八章 设备管理设备管理本章主要内容:本章主要内容:n8.1 引言引言n8.2 数据传送控制方式数据传送控制方式n8.3 中断技术中断技术n8.4 缓冲技术缓冲技术n8.5 设备分配设备分配n8.6 I/O进程控制进程控制n8.7 设备驱动程序设备驱动程序8.1 引言引言n在计算机系统中,在计算机系统中,除了除了CPU和内存和内存之外,其之外,其他的大部分硬设备称为他的大部分硬设备称为外部设备外部设备。它包括常。它包括常用的用的输入输出设备输入输出设备、外存设备外存设备以及以及终端设备终端设备等。等。8.1.1 设备的类别n按信息组织方式按信息组织方式n字符设
2、备字符设备:键盘终端、打印机等以字符为单位组织和处理键盘终端、打印机等以字符为单位组织和处理信息的设备。信息的设备。n块设备块设备:磁盘、磁带等以字符块为单位组织和处理信息的磁盘、磁带等以字符块为单位组织和处理信息的设备。设备。n按照设备的数据传输速率按照设备的数据传输速率n低速设备低速设备:1 KB/s:1 KB/s以下可以认为是低速设备,比如键盘、以下可以认为是低速设备,比如键盘、鼠标。鼠标。n中速设备中速设备:1 KB/s:1 KB/s1 MB/s1 MB/s之间为中速设备之间为中速设备,比如打印机、比如打印机、扫描仪。扫描仪。n高速设备高速设备:1 MB/s:1 MB/s以上是高速设备
3、。比如磁盘、光盘驱以上是高速设备。比如磁盘、光盘驱动器。动器。按使用特性对外部设备的分类设备的类别n按照设备的共享属性n独占设备独占设备:一段时间内只允许一个用户(进程)一段时间内只允许一个用户(进程)访问的设备。访问的设备。n共享设备共享设备:一段时间内可以允许多个用户(进一段时间内可以允许多个用户(进程)访问的设备,比如磁盘,它可以同时被多程)访问的设备,比如磁盘,它可以同时被多个进程访问。个进程访问。n虚拟设备虚拟设备:通过虚拟技术将一台独占设备当作通过虚拟技术将一台独占设备当作多个设备共享,例如多个设备共享,例如SPOOLingSPOOLing系统中打印机的系统中打印机的应用。应用。设
4、备的类别n按设备的从属关系按设备的从属关系n系统设备系统设备:在操作系统生成时就已配置好:在操作系统生成时就已配置好的各种标准设备。例如,键盘、打印机以的各种标准设备。例如,键盘、打印机以及文件存储设备等。及文件存储设备等。n用户设备用户设备:在系统生成时没有配置,而由:在系统生成时没有配置,而由用户自己安装配置后由操作系统统一管理用户自己安装配置后由操作系统统一管理的设备。的设备。设备分类的目的设备分类的目的n对设备分类的目的在于对设备分类的目的在于简化设备管理程简化设备管理程序序。对于同类设备来说,由于设备的硬。对于同类设备来说,由于设备的硬件特性十分相似,从而可以利用相同的件特性十分相似
5、,从而可以利用相同的管理程序或只需做很少的修改即可。管理程序或只需做很少的修改即可。8.1.2 设备管理的功能和任务n设备管理的主要任务是:设备管理的主要任务是:n(1)选择和分配选择和分配输入输出设备以进行数据传输入输出设备以进行数据传输操作;输操作;n(2)控制控制输入输出设备和输入输出设备和CPU(或内存)之(或内存)之间交换数据;间交换数据;n(3)提高提高设备和设备之间、设备和设备之间、CPU和设备之间,和设备之间,以及进程和进程之间的以及进程和进程之间的并行操作度并行操作度,以使操,以使操作系统获得最佳效率。作系统获得最佳效率。设备管理的主要任务n(4)为用户提供为用户提供友好的透
6、明接口友好的透明接口,把用,把用户和设备硬件特性分开,系统按用户要户和设备硬件特性分开,系统按用户要求控制设备工作。求控制设备工作。设备管理的主要功能:n提供和进程管理系统的接口。提供和进程管理系统的接口。n进行设备分配。进行设备分配。主要功能n实现设备和设备、设备和实现设备和设备、设备和CPUCPU等之间的并行等之间的并行操作。操作。n进行缓冲区管理。进行缓冲区管理。解决低速解决低速I/OI/O设备与高速设备与高速CPUCPU之间传送数据的不匹配问题。之间传送数据的不匹配问题。8.2 数据传送控制方式n设备管理的主要任务之一是控制设备和内存或设备管理的主要任务之一是控制设备和内存或CPU之间
7、的数据传送。之间的数据传送。n选择和衡量控制方式有如下几条原则:选择和衡量控制方式有如下几条原则:n(1)数据传送速度足够高,能满足用户的需要但数据传送速度足够高,能满足用户的需要但又不丢失数据;又不丢失数据;n(2)系统开销小,所需的处理控制程序少;系统开销小,所需的处理控制程序少;n(3)能充分发挥硬件资源的能力,使得能充分发挥硬件资源的能力,使得I/O设备设备尽量忙,而尽量忙,而CPU等待时间少。等待时间少。外围设备和内存之间的常用数据传送控制方式n(1)程序直接控制方式;程序直接控制方式;n(2)中断控制方式;中断控制方式;n(3)DMA方式;方式;n(4)通道方式。通道方式。8.2.
8、1 程序直接控制方式l定义定义:程序直接控制方式程序直接控制方式(Programmed(Programmed Direct Control)Direct Control)就是由用户进程来直接控就是由用户进程来直接控制内存或制内存或CPUCPU与外围设备之间的信息传送。与外围设备之间的信息传送。这种方式的控制者是用户进程。这种方式的控制者是用户进程。l特点特点:控制简单,不需要多少硬件支持。控制简单,不需要多少硬件支持。缺点n(1)CPU和外围设备只能串行工作。和外围设备只能串行工作。n(2)CPU在一段时间内只能和一台外围设备在一段时间内只能和一台外围设备交换数据信息,从而交换数据信息,从而不
9、能实现设备之间的不能实现设备之间的并行工作并行工作;n(3)无法发现和处理由于设备或其他硬件所无法发现和处理由于设备或其他硬件所产生的错误产生的错误。8.2.2 中断方式n定义定义:中断中断(Interrupt)方式被用来控制方式被用来控制外围设备与内存或者外围设备与内存或者CPU之间的数据传之间的数据传送送,以以减少程序直接控制方式中减少程序直接控制方式中CPU等待等待时间以及提高系统的并行工作能力时间以及提高系统的并行工作能力的数的数据输入控制方式。据输入控制方式。n特点特点:CPU的利用率高且能支持多道程的利用率高且能支持多道程序和设备的并行操作。序和设备的并行操作。缺点缺点n由于在由于
10、在I/O控制器的控制器的数据缓冲寄存器数据缓冲寄存器装满装满数据之后将会发生中断,而且数据缓冲寄数据之后将会发生中断,而且数据缓冲寄存通常较小,因此,在一次数据传送过程存通常较小,因此,在一次数据传送过程中,发生中断次数较多。这将耗去大量的中,发生中断次数较多。这将耗去大量的CPU处理时间。处理时间。n现代计算机系统通常配置有各种各样的外现代计算机系统通常配置有各种各样的外围设备。如果这些设备通过中断处理方式围设备。如果这些设备通过中断处理方式进行并行操作,则由于中断次数的急剧增进行并行操作,则由于中断次数的急剧增加而造成加而造成CPU无法响应中断和出现数据丢无法响应中断和出现数据丢失现象。失
11、现象。缺点n如果外围设备的速度也非常高,则可能如果外围设备的速度也非常高,则可能造成数据缓冲寄存器的数据由于造成数据缓冲寄存器的数据由于CPU来来不及取走而丢失。不及取走而丢失。DMA方式和通道方式方式和通道方式不会造成上述问题。不会造成上述问题。8.2.3 DMA方式方式n定义定义:DMA方式又称方式又称直接存取直接存取(Direct Memory Access)方式,是一种方式,是一种完全由完全由硬件硬件执行执行I/O数据交换的工作方式。它既数据交换的工作方式。它既考虑到中断的响应,同时又要节约中断考虑到中断的响应,同时又要节约中断开销。开销。n特点特点:DMA控制器控制器代替代替CPU完
12、全接管对完全接管对总线的控制,数据交换不经过总线的控制,数据交换不经过CPU,直直接在接在内存和外围设备之间内存和外围设备之间成批进行。成批进行。与中断方式的主要区别n中断方式时是在数据中断方式时是在数据缓冲寄存器满缓冲寄存器满之后发中断要求之后发中断要求CPU进行中断处理,而进行中断处理,而DMA方式则是在方式则是在所要求转所要求转送的数据块全部传送结束时送的数据块全部传送结束时要求要求CPU进行中断处理。进行中断处理。这就大大减少了这就大大减少了CPU进行中断处理的次数。进行中断处理的次数。n中断方式的数据传送是在中断处理时由中断方式的数据传送是在中断处理时由CPU控制完控制完成的,而成的
13、,而DMA方式是在方式是在DMA控制器的控制下不经控制器的控制下不经过过CPU控制完成的。这就排除了因并行操作设备过控制完成的。这就排除了因并行操作设备过多时多时CPU来不及处理或因速度不匹配而造成数据丢来不及处理或因速度不匹配而造成数据丢失等现象。失等现象。局限性nDMA方式对外围设备的管理和某些操作仍方式对外围设备的管理和某些操作仍由由CPU控制。控制。多个多个DMA控制器的同时使用控制器的同时使用会使得控制过程进一步复杂化。同时会使得控制过程进一步复杂化。同时,多个多个DMA控制器的同时使用也是不经济的。控制器的同时使用也是不经济的。8.2.4 通道控制方式n定义:定义:通道是一个独立于
14、通道是一个独立于CPU的专的专管输入输出控制的管输入输出控制的处理机处理机,它控制,它控制设备与内存直接进行数据交换。它设备与内存直接进行数据交换。它有自己的有自己的通道指令通道指令,这些通道指令,这些通道指令受受CPU启动,并在操作结束时向启动,并在操作结束时向CPU发中断信号。发中断信号。通道控制方式与DMA方式相同点n都是一种以内存为中心,实都是一种以内存为中心,实现设备和内存直接交换数据现设备和内存直接交换数据的控制方式。的控制方式。通道控制方式与通道控制方式与DMA方式不同点方式不同点n在在DMA方式中,方式中,数据的传送方向数据的传送方向、存放数存放数据的内存始址据的内存始址以及传
15、送的以及传送的数据块长度数据块长度等都等都由由CPU控制控制,而在通道方式中,这些都由,而在通道方式中,这些都由专管输入输出的硬件专管输入输出的硬件通道来进行控制通道来进行控制。n与与DMA方式时方式时每台设备至少一个每台设备至少一个DMA控制控制器器相比,通道控制方式可以做到相比,通道控制方式可以做到一个通道一个通道控制多台设备控制多台设备与内存进行数据交换,从而,与内存进行数据交换,从而,通道方式进一步减轻了通道方式进一步减轻了CPU的工作负担和的工作负担和增加了计算机系统的并行工作程度。增加了计算机系统的并行工作程度。三种类型的通道三种类型的通道n一个通道可以以一个通道可以以分时方式分时
16、方式同时执行同时执行几个通道指令程序。按照信息交换几个通道指令程序。按照信息交换方式不同,一个系统中可设立三种方式不同,一个系统中可设立三种类型的通道,即类型的通道,即字节多路通道字节多路通道、数数组多路通道组多路通道和和选择通道选择通道。由这三种。由这三种通道组成的数据传送控制结构如图通道组成的数据传送控制结构如图所示。所示。通道方式的数据传送结构通道方式的数据传送结构三种类型的通道三种类型的通道n字节多路通道字节多路通道以字节为单位以字节为单位传送数据,它主传送数据,它主要用来连接大量的要用来连接大量的低速设备低速设备,如终端、打印,如终端、打印机等。机等。n数组多路通道数组多路通道以块为
17、单位以块为单位传送数据,它具有传送数据,它具有传送速率高和能分时操作不同的设备等优点。传送速率高和能分时操作不同的设备等优点。数组多路通道主要用来连接数组多路通道主要用来连接中速块设备中速块设备,如,如磁带机等。磁带机等。三种类型的通道三种类型的通道n选择通道一次只能控制一台设备进行选择通道一次只能控制一台设备进行 I/O操作。不过,选择通道具有传送速度高的特操作。不过,选择通道具有传送速度高的特点,因而它被用来连接点,因而它被用来连接高速外部设备高速外部设备,并以,并以块为单位成批传送数据。受选择通道控制的块为单位成批传送数据。受选择通道控制的外设有外设有磁盘机磁盘机等。等。8.3.1 中断
18、的基本概念n中断中断(Interrupt)是指计算机在执行期间,是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需系统内发生任何非寻常的或非预期的急需处理事件,使得处理事件,使得CPU暂时中断当前正在执暂时中断当前正在执行的程序而转去执行相应的事件处理程序,行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。引起中断行或调度新的进程执行的过程。引起中断发生的事件被称为发生的事件被称为中断源中断源。中断源向。中断源向CPU发出的请求中断处理信号称为发出的请求中断处理信号称为中断请求中断请求,而而CPU收
19、到中断请求后转相应的事件处理收到中断请求后转相应的事件处理程序称为程序称为中断响应中断响应。禁止中断禁止中断n在有些情况下,尽管产生了中断源和发出了中断请在有些情况下,尽管产生了中断源和发出了中断请求,但求,但CPU内部的处理机状态字内部的处理机状态字PSW的中断允许位的中断允许位已被清除已被清除,从而不允许,从而不允许CPU响应中断。这种情况称响应中断。这种情况称为为禁止中断禁止中断。CPU禁止中断后只有等到禁止中断后只有等到PSW的中断的中断允许位被重新设置后才能接收中断。禁止中断也称允许位被重新设置后才能接收中断。禁止中断也称为为关中断关中断,PSW的中断允许位的设置也被称为的中断允许位
20、的设置也被称为开中开中断断。中断请求、关中断、开中断等都。中断请求、关中断、开中断等都由硬件实现由硬件实现。n开中断和关中断是开中断和关中断是为了保证某些程序执行的原子性为了保证某些程序执行的原子性。中断屏蔽中断屏蔽n中断屏蔽中断屏蔽是指在中断请求产生之后,系统用是指在中断请求产生之后,系统用软件方式有选择地封锁部分中断而允许其余软件方式有选择地封锁部分中断而允许其余部分的中断仍能得到响应。部分的中断仍能得到响应。8.3.2 中断的分类与优先级n根据中断源产生的条件,可把中断分为根据中断源产生的条件,可把中断分为外中断外中断和和内中断内中断。外中断外中断n外中断外中断是指是指来自处理机和内存外
21、部的来自处理机和内存外部的中断中断,包括,包括I/O设备发出的设备发出的I/O中断、中断、外部信号中断外部信号中断(例如用户键入例如用户键入ESC键键)、各种定时器引起的时钟中断以及调试各种定时器引起的时钟中断以及调试程序中设置的断点等引起的调试中断程序中设置的断点等引起的调试中断等。外中断在狭义上一般被称为等。外中断在狭义上一般被称为中断中断。内中断内中断n内中断内中断主要指主要指在处理机和内存内部产生在处理机和内存内部产生的中断的中断。内中断一般称为。内中断一般称为陷阱陷阱(trap)。它包括程序运算引起的各种错误,如地它包括程序运算引起的各种错误,如地址非法、校验错、页面失效、存取访问址
22、非法、校验错、页面失效、存取访问控制错、算术操作溢出、数据格式非法、控制错、算术操作溢出、数据格式非法、除数为零、非法指令、用户程序执行特除数为零、非法指令、用户程序执行特权指令,分时系统中的时间片中断以及权指令,分时系统中的时间片中断以及从用户态到核心态的切换等都是陷阱的从用户态到核心态的切换等都是陷阱的例子。例子。不同优先级不同优先级n为了按中断源的轻重缓急处理响应中断,操作系统为了按中断源的轻重缓急处理响应中断,操作系统对不同的中断赋予对不同的中断赋予不同的优先级不同的优先级。为了禁止中断或。为了禁止中断或屏蔽中断,屏蔽中断,CPU的处理机状态字的处理机状态字PSW中也设置有相中也设置有
23、相应的优先级。如果中断源的优先级高于应的优先级。如果中断源的优先级高于PSW的优先的优先级,则级,则CPU响应该中断源的中断请求,反之,响应该中断源的中断请求,反之,CPU屏蔽该中断源的中断请求。屏蔽该中断源的中断请求。n各中断源的优先级各中断源的优先级在系统设计时给定在系统设计时给定,在系统运行,在系统运行时是固定的。而处理机的优先级则根据执行情况时是固定的。而处理机的优先级则根据执行情况由由系统程序动态设定系统程序动态设定。8.3.3 软中断n上述中断和陷阱都可以看作是上述中断和陷阱都可以看作是硬中硬中断断,因为这些中断和陷阱要通过硬,因为这些中断和陷阱要通过硬件产生相应的中断请求。而件产
24、生相应的中断请求。而软中断软中断则不然,它是则不然,它是通信进程之间用来模通信进程之间用来模拟硬中断的一种信号通信方式拟硬中断的一种信号通信方式。中断处理过程8.4 缓 冲 技 术n问题:外围设备与处理机速度不匹配问题:外围设备与处理机速度不匹配n例如,当计算进程阵发性地把大批量数据例如,当计算进程阵发性地把大批量数据输出到打印机上打印时,由于输出到打印机上打印时,由于CPU输出数输出数据的速度大大高于打印机的打印速度,因据的速度大大高于打印机的打印速度,因此,此,CPU只好停下来等待。反之,在计算只好停下来等待。反之,在计算进程进行计算时,打印机又因无数据输出进程进行计算时,打印机又因无数据
25、输出而空闲无事。而空闲无事。n解决方法:设置缓冲区解决方法:设置缓冲区(器器)8.4.1 缓冲的引入引入缓冲技术的理由n为了匹配外设与为了匹配外设与CPU之间的处理速度;之间的处理速度;n为了减少中断次数和为了减少中断次数和CPU的中断处理时的中断处理时间;间;n提高提高cpu和外围设备的并发性。和外围设备的并发性。8.4.2 缓冲的种类n根据系统设置缓冲器的个数,可把缓冲技术分根据系统设置缓冲器的个数,可把缓冲技术分为为单缓冲、双缓冲和多缓冲以及缓冲池单缓冲、双缓冲和多缓冲以及缓冲池几种。几种。n单缓冲单缓冲是在设备和处理机之间设置一个缓冲器。是在设备和处理机之间设置一个缓冲器。设备和处理机
26、交换数据时,先把被交换数据写设备和处理机交换数据时,先把被交换数据写入缓冲器,然后,需要数据的设备或处理机从入缓冲器,然后,需要数据的设备或处理机从缓冲器取走数据。由于缓冲器属于临界资源,缓冲器取走数据。由于缓冲器属于临界资源,即不允许多个进程同时对一个缓冲器操作,因即不允许多个进程同时对一个缓冲器操作,因此,设备和设备之间不能通过单缓冲达到并行此,设备和设备之间不能通过单缓冲达到并行操作。操作。双缓冲n解决两台外设之间的并行操作问题的办法是设置解决两台外设之间的并行操作问题的办法是设置双缓双缓冲冲。有了两个缓冲器之后,。有了两个缓冲器之后,CPU可把输出到打印机的可把输出到打印机的数据放入其
27、中一个缓冲器数据放入其中一个缓冲器(区区),让打印机慢慢打印,让打印机慢慢打印;然后,它又可以从另一个为外设设置的缓冲器然后,它又可以从另一个为外设设置的缓冲器(区区)中中读取所需要的输入数据。读取所需要的输入数据。n现代计算机系统中一般使用多缓冲或缓冲池结构。现代计算机系统中一般使用多缓冲或缓冲池结构。多缓冲n多缓冲多缓冲是把多个缓冲区连接起来组成两部分,是把多个缓冲区连接起来组成两部分,一部分专门用于输入,另一部分专门用于输一部分专门用于输入,另一部分专门用于输出的缓冲结构。出的缓冲结构。n缓冲池缓冲池则是把多个缓冲区连接起来统一管理,则是把多个缓冲区连接起来统一管理,既可用于输入又可用于
28、输出的缓冲结构。既可用于输入又可用于输出的缓冲结构。n显然,无论是多缓冲,还是缓冲池,由于缓显然,无论是多缓冲,还是缓冲池,由于缓冲区是临界资源,在使用缓冲区时都有一个冲区是临界资源,在使用缓冲区时都有一个申请、释放和互斥的问题。申请、释放和互斥的问题。8.5 设 备 分 配n由于设备、控制器和通道资源的有限性,不由于设备、控制器和通道资源的有限性,不是每一个进程随时随地都能得到这些资源。是每一个进程随时随地都能得到这些资源。进程必须进程必须首先首先向设备管理程序提出资源申请,向设备管理程序提出资源申请,然后然后,由设备分配程序根据相应的分配算法,由设备分配程序根据相应的分配算法为进程分配资源
29、。如果申请进程得不到它所为进程分配资源。如果申请进程得不到它所申请的资源时,将被放入资源等待队列中等申请的资源时,将被放入资源等待队列中等待,直到所需要的资源被释放。待,直到所需要的资源被释放。8.5.1 设备分配用数据结构n1.设备控制表设备控制表DCTn设备控制表设备控制表DCT反映设备的特性、设备和反映设备的特性、设备和I/O控制器的连接情况。包括设备标识、使控制器的连接情况。包括设备标识、使用状态和等待使用该设备的进程队列等。系用状态和等待使用该设备的进程队列等。系统中统中每个设备都必须有一张每个设备都必须有一张DCT,且在系统,且在系统生成时或在该设备和系统连接时创建,但表生成时或在
30、该设备和系统连接时创建,但表中的内容则根据系统执行情况而被动态地修中的内容则根据系统执行情况而被动态地修改。改。2.系统设备表SDTn系统设备表系统设备表SDT整个系统一张整个系统一张,它记录已被连接到,它记录已被连接到系统中的所有物理设备的情况,并为每个物理设备系统中的所有物理设备的情况,并为每个物理设备设一表项。设一表项。SDT的每个表项包括的内容有的每个表项包括的内容有:n(1)DCT指针,该指针指向有关设备的设备控制表。指针,该指针指向有关设备的设备控制表。n(2)正在使用设备的进程标识。正在使用设备的进程标识。n(3)设备类型和设备标识符,该项的意义与设备类型和设备标识符,该项的意义
31、与DCT中中的相同。的相同。nSDT的主要意义在于反映系统中设备资源的状态,的主要意义在于反映系统中设备资源的状态,即系统中有多少设备,有多少是空闲的,而又有多即系统中有多少设备,有多少是空闲的,而又有多少已分配给了哪些进程。少已分配给了哪些进程。3.控制器表COCTnCOCT是是每个控制器一张每个控制器一张,它反映,它反映I/O控制器的使用状态以及和通道的控制器的使用状态以及和通道的连接情况等连接情况等(在在DMA方式时,该项是方式时,该项是没有的没有的)。4.通道控制表CHCTn该表只在通道控制方式的系统中存在,该表只在通道控制方式的系统中存在,也是也是每个通道一张每个通道一张。CHCT包括通道标包括通道标识符、通道忙识符、通道忙/闲标识、等待获得该通闲标识、等待获得该通道的进程等待队列的队首指针与队尾指道的进程等待队列的队首指针与队尾指针等。针等。8.7 设备驱动程序n设备驱动程序是驱动物理设备和设备驱动程序是驱动物理设备和DMA控制器或控制器或I/O控制器等直接进控制器等直接进行行I/O操作的子程序的集合。负责设操作的子程序的集合。负责设置相应设备有关寄存器的值,启动置相应设备有关寄存器的值,启动设备进行设备进行I/O操作,指定操作的类型操作,指定操作的类型和数据流向等。和数据流向等。