《计算机操作系统》(孙雅如版)全套ppt电子课件教案第4章设备管理

上传人:aa****6 文档编号:54574253 上传时间:2018-09-15 格式:PPT 页数:62 大小:447KB
返回 下载 相关 举报
《计算机操作系统》(孙雅如版)全套ppt电子课件教案第4章设备管理_第1页
第1页 / 共62页
《计算机操作系统》(孙雅如版)全套ppt电子课件教案第4章设备管理_第2页
第2页 / 共62页
《计算机操作系统》(孙雅如版)全套ppt电子课件教案第4章设备管理_第3页
第3页 / 共62页
《计算机操作系统》(孙雅如版)全套ppt电子课件教案第4章设备管理_第4页
第4页 / 共62页
《计算机操作系统》(孙雅如版)全套ppt电子课件教案第4章设备管理_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《《计算机操作系统》(孙雅如版)全套ppt电子课件教案第4章设备管理》由会员分享,可在线阅读,更多相关《《计算机操作系统》(孙雅如版)全套ppt电子课件教案第4章设备管理(62页珍藏版)》请在金锄头文库上搜索。

1、第4章 设 备 管 理,4.1 概述 4.2 数据传送控制方式 4.3 缓冲管理 4.4 设备分配 4.5 设备虚拟性与独立性 4.6 设备处理过程,4.1 概 述,4.1.1 设备的类别设备类别的划分可以从不同方面描述,比如按设备的使用特性,可分为存储设备、输入/输出设备、终端设备以及脱机设备等;按设备的从属关系,可把设备划分为系统设备和用户设备。在此我们主要从以下三方面来描述。按信息组织方式来划分设备。例如,UNIX系统就把外部设备划分为字符设备和块设备。键盘终端、打印机等以字符为单位组织和处理信息的设备被称为字符设备;而磁盘、磁带等以字符块为单位组织和处理信息的设备被称为块设备。,按照设

2、备的数据传输速率可以分为低速设备、中速设备和高速设备,大致的速率级别是这样的,1 KB/s以下可以认为是低速设备,1 KB/s1 MB/s之间为中速设备,1 MB/s以上是高速设备。比如键盘、鼠标就属于低速设备,打印机、扫描仪属于中速设备,而磁盘、光盘驱动器属于高速设备。当然随着计算机技术的发展,这种速度划分标准也会随之变化。按照设备的共享属性可以分为独占设备、共享设备和虚拟设备。独占设备是指一段时间内只允许一个用户(进程)访问的设备。共享设备是指一段时间内可以允许多个用户(进程)访问的设备,比如磁盘,它可以同时被多个进程访问。虚拟设备是指通过虚拟技术将一占设备当作多个设备共享,例如我们4.5

3、节将要介绍的SPOOLing系统中打印机的应用。,4.1.2 设备管理的功能和任务设备管理是对计算机输入/输出系统的管理,这是操作系统中最具有多样性和复杂性的部分。其主要任务是:(1) 选择和分配输入/输出设备,以便进行数据传输操作。(2) 控制输入/输出设备和CPU(或内存)之间交换数据。(3) 为用户提供一个友好的透明接口,将用户和设备硬件特性分开,使得用户在编制应用程序时不必涉及具体设备,系统按用户要求控制设备工作。另外,这个接口还为新增加的用户设备提供一个与系统核心相连接的入口,以便用户开发新的设备管理程序。(4) 提高设备和设备之间、CPU和设备之间,以及进程和进程之间的并行操作程度

4、,以使操作系统获得最佳效率。,为了完成上述主要任务,设备管理程序一般要提供下述功能:(1) 提供和进程管理系统的接口。当进程要求设备资源时,该接口将进程要求转达给设备管理程序。(2) 进行设备分配。按照设备类型和相应的分配算法把设备和其它有关的硬件分配给请求该设备的进程,并把未分配到所请求设备或其它有关硬件的进程放入等待队列。(3) 实现设备和设备、设备和CPU等之间的并行操作,其中需要大量的硬件支持,例如寄存器、控制器、通道以及中断等。(4) 进行缓冲管理,解决低速I/O设备与高速CPU之间传送数据的不匹配问题。,4.2 数据传送控制方式,设备管理的主要任务之一是控制设备和内存或CPU之间的

5、数据传送,下面将介绍四种常用的数据传送控制方式:(1) 程序直接控制方式;(2) 中断控制方式;(3) DMA方式;(4) 通道方式。,4.2.1 程序直接控制方式程序直接控制方式(Programmed Direct Control)就是由用户进程来直接控制内存或CPU与外围设备之间的信息传送。这种方式的控制者是用户进程。当用户进程需要数据时,它通过CPU发出启动设备准备数据的启动命令,同时将设备状态寄存器的忙/闲标志busy置为1,表示设备忙,然后用户进程进入测试等待状态。在等待时间内,CPU不断地用一条测试指令检查设备状态寄存器,当busy为0时,表示输入设备已将一个字符数据送入数据寄存器

6、,于是处理机将该数据取出送到指定内存单元。接着开始读下一个数据,同时置busy为1。,程序直接控制方式虽然控制简单,也不需要多少硬件支持,但是程序直接控制方式明显地存在下述缺点:(1) CPU和外围设备只能串行工作。由于CPU的处理速度要大大高于外围设备的数据传送和处理速度,因此,CPU大量时间都处于等待和空闲状态,这使得CPU利用率大大降低。(2) CPU在一段时间内只能与一台外围设备交换数据信息,不能实现设备之间的并行工作。(3) 由于程序直接控制方式依靠测试设备标志触发器的状态位来控制数据传送,因此无法发现和处理由于设备或其它硬件所产生的错误。因此,程序直接控制方式只适用于那些CPU执行

7、速度较慢,而且外围设备较少的系统。,4.2.2 中断方式为了减少程序直接控制方式中CPU等待时间以及提高系统的并行工作程序,中断(Interrupt)方式被用来控制外围设备与内存或者CPU之间的数据传送。中断方式的工作过程是这样的,当某进程要启动某个I/O设备工作时,由CPU向该设备的设备控制器发出一个I/O命令,然后继续执行原来的工作,同时设备控制器开始控制I/O设备按照命令要求进行具体的I/O操作,当I/O完成后,设备控制器向CPU发出中断信号,表示一个I/O步骤完成,CPU再根据这条中断请求调用相应的中断处理程序进行处理。在这个过程中,我们看到CPU和I/O设备之间实现了并行工作。,尽管

8、中断方式与程序直接控制方式相比,CPU的利用率大大提高且能支持多道程序和设备的并行操作,但仍然存在着许多问题:(1) 由于在I/O控制器的数据缓冲寄存器装满数据之后将会发生中断,而且数据缓冲寄存器通常较小(因为一般是以字为单位传送),因此在一些数据传送过程中,发生中断次数较多,这将耗去大量的CPU处理时间。(2) 现代计算机系统通常配置各种各样的外围设备。如果这些设备通过中断处理方式进行并行操作,则由于中断次数的急剧增加而造成CPU无法响应中断,出现数据丢失现象。,(3) 在采用中断控制方式时,我们都是假定外围设备的速度非常低,而CPU处理速度非常高。也就是说,当设备把数据放入数据缓冲寄存器并

9、发出中断信号之后,CPU有足够的时间在下一个数据进入数据缓冲寄存器之前取走这些数据。如果外围设备的速度也非常高,则可能造成数据缓冲寄存器的数据由于CPU来不及取走而丢失。,4.2.3 DMA方式DMA方式又称直接存取(Direct Memory Access)方式,是一种完全由硬件执行I/O数据交换的工作方式。它既考虑到中断的响应,同时又要节约中断开销。此时,DMA控制器代替CPU完全接管对总线的控制,数据交换不经过CPU,直接在内存和外围设备之间成批进行。批量数据(数据块)的传送由计数器逐个计数,并由内存地址寄存器确定内存地址。除了在数据块传送开始时需要CPU启动指令和在整个数据块传送结束时

10、需发中断通知CPU进行中断处理之外,不再像中断控制方式那样需要CPU的频繁干涉。,4.2.4 通道控制方式不过,DMA方式仍存在着一定的局限性。首先,DMA方式对外围设备的管理和某些操作仍由CPU控制。在大中型计算机中,系统所配置的外围设备种类越来越多,数量也越来越大,因而对外围设备的管理与控制也就愈来愈复杂。多个DMA控制器的同时使用显然会引起内存地址的冲突并使得控制过程进一步复杂化。同时,多个DMA控制器的同时使用也是不经济的。因此,在大中型计算机系统中,除了设置DMA器件之外,还设置专门的硬件装置通道。,通道控制(Channel Control)方式与DMA方式相类似,也是一种以内存为中

11、心,实现设备和内存直接交换数据的控制方式。与DMA方式不同的是,在DMA方式中,数据的传送方向、存取数据的内存始址以及传送的数据块长度等都由CPU控制,而在通道方式中,这些都由独立于CPU的特殊处理机通道来进行控制。另外,与DMA方式时每台设备至少一个DMA控制器相比,通道控制方式可以做到一个通道控制多台设备与内存进行数据交换,从而进一步减轻了CPU的工作负担和增加了计算机系统的并行工作程度。,通道是通过执行通道程序来完成CPU制定的I/O任务,当执行完成后,发出中断请求表示I/O结束,CPU再执行相应的中断处理程序。通道程序是由一系列通道指令组成的,通道指令一般包含有被交换数据在内存中应占据

12、的位置、传送方向、数据块长度以及被控制的I/O设备的地址信息、特征信息(例如是磁带设备还是磁盘设备)等,通道指令在通道中没有存储部件时存放在内存中。通道指令的格式一般由操作码、通道程序结束标志P、记录结束标志R、计数段(数据块长度)以及内存地址段等组成。通道程序由系统根据进程要求数据自动生成。图4-1是一个由5条指令组成的通道程序。,图4-1 通道程序举例,该通道程序表示进行一个输出操作,向输出设备传送两组纪录,第一组纪录包含两部分,内存地址单元150399中250个字符和地址单元550599中50个字符;第二组记录包含三部分,内存地址单元8501009中160个字符、内存地址单元138015

13、69中190个字符和内存地址单元22402495中256个字符。共计完成906个字符予以输出。,4.3 缓 冲 管 理,4.3.1 缓冲的引入在计算机系统中,各种设备本身的属性决定了它们在数据传输速率方面的差异,最典型的就是外围设备和CPU的处理速度不匹配的问题。例如,当用户作业中的计算进程把大批数据输出到打印机上打印时,由于CPU计算数据的速度大大高于打印机的打印速度,因此,CPU只好停下来等待。当计算进程进行计算时,打印机又因无数据输出而空闲。这样看来,高速CPU与低速的I/O设备间的速度矛盾是设备利用率不高的主要原因。引入缓冲区,可以解决这个问题。在设置了缓冲区之后,计算进程可以把数据高

14、速输出到缓冲区,然后继续执行;而打印机则可以从缓冲区取出数据依次打印,实现了两者的并行工作。凡是数据到达速率与离去速率不同的地方,都可以设置缓冲区以缓和它们速率不匹配的矛盾。,从减少中断的次数看,也存在着引入缓冲区的必要性。在中断方式时利用字符设备输入100个字符时,每输入一个字符就必须中断CPU一次,而且必须立即响应,否则将被后续字符冲掉,这样我们看到中断频率非常高。如果增加一个100个字符的缓冲区,等到能存放100个字符的字符缓冲区装满之后才向处理机发出一次中断,将这100个字符取走,这将大大减少处理机的中断处理时间,而且放宽了CPU对中断的响应时间。在设备管理中引入了用来暂存数据的缓冲技

15、术,显著提高了CPU和I/O设备之间的并行,提高了设备利用率和系统吞吐量。根据系统对缓冲区的不同设置,可把缓冲技术分为单缓冲、双缓冲和循环缓冲以及缓冲池等。,4.3.2 单缓冲与双缓冲单缓冲是在设备和处理机之间设置一个缓冲区。设备和处理机交换数据时,先把被交换数据写入缓冲区,然后需要数据的设备或处理机从缓冲区取走数据。由于缓冲区属于临界资源,不允许多个进程同时对一个缓冲区操作,因此单缓冲无法实现 CPU 与设备的并行操作。例如一个作业的输入进程在向缓冲区中写数据时,计算进程必须等待。,提高设备并行操作的办法可以采用双缓冲。输入进程将数据写到第一个缓冲区中,写满后转到另一个缓冲区继续写入,同时输

16、出进程从第一个缓冲区读数据,当第二个缓冲区被写满后,第一个缓冲区数据被输出进程取走,所以输入进程又回到第一个缓冲区继续输入,而输出进程又到第二个缓冲区取数据,如此交替,可以实现一批数据的传递。显然,双缓冲只是一种说明设备和设备、CPU和设备并行操作的简单模型,并不能用于实际系统中的并行操作。这是因为计算机系统中的外围设备较多,读/写数据速度有很大差异,在向缓冲区读/写数据的过程中,高速设备等待的情况仍然比较严重,设备利用率比较低。,图4-2 单缓冲与双缓冲,4.3.3 循环缓冲,1循环缓冲管理的数据结构在循环缓冲中含有多个缓冲区,每个缓冲区的大小相同,通过指针链接为一个循环队列。缓冲区可分成三种类型:空缓冲区R、装满数据的缓冲区G、正在访问的工作缓冲区C,如图4-3所示。设置四个指针: Nextg:指示读进程下一个可用的缓冲区G。 Nexti:指示写进程下次可用的空缓冲区R。 Current_R:指示读进程正在使用的缓冲区。 Current_W:指示写进程正在使用的缓冲区。,图4-3 循环缓冲,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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