第5章设备管理5.1 典型例题解析【例1】为什么要在操作系统中引入缓冲?答:①缓和CPU与I/O设备间速度不匹配的矛盾。
②减少对CPU的中断频率,放宽对中断响应时间的限制。
③提高CPU和I/O设备的并行性。
【例2】设备控制器的主要功能是什么?答:设备控制器的主要功能是控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。
它是CPU和I/O设备之间的接口,它接收从CPU发出的命令,并控制I/O设备工作。
设备控制器主要完成以下功能:⑴接收和识别命令。
接收从CPU发来的命令,并识别这些命令。
⑵数据交换。
指实现CPU与设备控制器之间、控制器与设备之间的数据交换。
⑶地址识别。
系统中每一个设备都有一个地址,设备控制器必须能够识别它所控制的每个设备的地址。
⑷标识和报告设备的状态。
控制器应记下设备的状态供CPU了解。
⑸数据缓冲。
由于I/O设备的速度较低而CPU和内存的速度较高,故在控制器中可以设置一缓冲。
以缓和I/O设备和CPU、内存之间的速度矛盾。
⑹差错控制。
设备控制器还兼管对由I/O设备传来的数据进行差错检测。
【例3】什么是设备驱动程序?设备驱动程序的主要功能是什么?答:设备驱动程序是I/O进程与设备控制器之间的通信程序。
设备驱动程序的主要功能如下:①将接收到的抽象要求转换为具体要求。
②检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。
③发出I/O命令,启动分配到的I/O设备,完成指定的I/O操作。
④及时响应由控制器或通道发来的中断请求,并根据其中断类型(正常、异常结束的中断或其他类型中断)调用相应的中断处理程序进行处理。
⑤对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。
【例4】什么叫设备独立性?怎么实现设备独立性?答:设备独立性的含义是:应用程序独立于具体使用的物理设备。
为了实现设备的独立性,在操作系统中引入了逻辑设备名和物理设备名两个概念。
在实现了设备独立性的系统中,I/O进程申请设备是以逻辑设备名申请的。
【例5】设备分配算法有哪些?答:在设备管理中设备的分配算法比较简单,主要有两种算法:①先来先服务算法。
当有多个进程申请一个设备时,该算法根据进程申请设备的先后次序,将这些进程排列成一个设备请求队列,设备分配程序总是把设备首先分配给队首进程。
②优先权高者优先算法。
这种算法中,系统首先把设备分配给优先权高的进程,使高优先权的进程能够尽快完成。
对于同优先权的进程,系统按照先来先服务的方法分配设备。
【例6】什么是Spooling技术?Spooling系统有哪几部分组成?答:Spooling技术是一种虚拟设备技术,它可以把一台独占设备改造为虚拟设备,在进程所需的物理设备不存在或被占用的情况下,使用该设备。
Spooling技术是对脱机输入、输出系统的模拟,所以又叫作假脱机操作。
Spooling系统主要有以下三部分组成:输入井和输出井、输入缓冲区和输出缓冲区、输入进程和输出进程。
5.2 练习题及答案一、选择题1.()是操作系统中采用的以空间换时间的技术。
A、缓冲技术B、并行技术C、通道技术D、虚拟存储技术2.CPU输出数据的速度远远高于打印机的打印速度,为解决这一矛盾,可采用()。
A、并行技术B、通道技术C、缓冲技术D、虚拟存储技术3.为了使多个进程能有效地同时处理输入和输出,最好使用_______结构的缓冲技术。
A、缓冲池B、闭缓冲区环C、单缓冲区D、双缓冲区答:A4.缓冲技术中的缓冲池在()中A、外存B、内存C、ROMD、寄存器5.通道又称I/O处理机,它用于实现()之间的信息传输。
A、主存与外设B、CPU与外设C、主存与外存D、CPU与外存6.通道是一种()A、I/O断口B、共享文件C、I/O专用处理器D、数据通道7.____________用作连接大量的低速或中速I/0设备。
A、数据选择通道B、字节多路通道C、数据多路通道D、字节选择通道答;B8.在操作系统中,_________指的是一种硬件机制。
A、通道技术B、缓冲池C、SPOOLING技术D、内存覆盖技术答:A9.通过硬件和软件的功能扩充,把原来独占的设备改造成若干用户共享的设备,这种设备称为()。
A、存储设备B、系统设备C、虚拟设备D、用户设备10.对于磁盘来说,输入输出操作的信息传送单位为()。
A、字节B、字C、文件D、块11.__________是直接存取的存储设备。
A、磁盘B、磁带C、打印机D、键盘显示终端12.按_____________分类可将设备分为块设备和字符设备。
A、从属关系B、操作特性C、共享属性D、信息交换单位13.设备管理程序对设备的管理是借助一些数据结构来进行的,下面的()不属于设备管理的数据结构。
A、DCTB、JCBC、COCTD、CHCT14.()算法是设备分配常用的一种算法。
A、短作用优先B、最佳适应C、首次适应D、先来先服务15.下列设备不属于系统设备的是()A、鼠标B、键盘C、扫描仪D、磁盘系统设备:指在操作系统生成时已登记于系统中的标准设备。
如键盘、鼠标、磁盘等。
用户设备:指在系统生成时未登入系统的非标准设备。
通常这类设备是由用户提供的,用户必须用某种方式把这类设备交给系统统一管理。
如绘图仪、扫描仪等。
16.如果I/O设备与存储设备进行数据交换不经过CPU来完成,这种数据交换方式是()。
A、中断方式B、无条件存取方式C、DMA方式D、程序查询方式17.在采用SPOOLING技术的系统中,用户的打印数据首先被送到()。
A、打印机B、磁盘的输入井C、磁盘的输出井D、终端18. 在一般大型计算机系统中,主机对外围设备的控制可通过通道、控制器和设备三个层次来实现。
下面的叙述中哪一条正确的()。
A、控制器可控制通道,设备在通道控制下工作B、通道控制控制器,设备在控制器控制下工作C、通道和控制器分别控制设备D、控制器控制通道和设备的工作19. 假定把磁盘上一个数据块中的信息输入到一单缓冲区的时间T为100μs,将缓冲区中的数据传送到用户区的时间M为50μs,而CPU对这一块数据进行计算的时间C为50μs。
这样,系统对每一块数据的处理时间为();如果将单缓冲改为双缓冲,则系统对每一块数据的处理时间为()。
A、50µsB、100µsC、150µsD、200µs20. 下列算法中,用于磁盘调度的是()A、时间片轮转B、LRUC、最短寻道时间优先D、优先级高者优先21.下列那种磁盘调度算法不存在“磁臂粘着”现象()。
A、SSTFB、SCANC、FSCAND、CSCAN22. 如果有多个中断同时发生,系统将根据中断优先级响应优先级最高的中断请求。
若要调整中断事件的响应次序,可以利用______。
A. 中断向量B.中断嵌套C. 中断响应D.中断屏蔽二、填空题1.I/O控制方式的发展经历了4个阶段,分别是、、和。
2.从资源分配角度出发,I/O设备可以分为、和三种类型。
3.按设备所属关系分类,可分为和用户设备两类。
4.通道指专门用于负责输入/输出工作的处理机,通道所执行的程序称为。
5.通道是一个独立于的专管的处理机,它控制与内存之间的信息交换。
6.虚拟设备是通过技术把设备变成能为若干用户的设备。
7.UNIX系统中,键盘、终端、打印机等以为单位组织和处理信息的设备称为;而磁盘、磁带等以为单位组织和处理信息的设备称为。
8.根据信息交换方式,通道可分成3种类型,分别是、和。
9.设备驱动程序是和之间的一个程序。
10.设备独立性的含义是。
11.磁盘调度算法中和算法可能会随时改变移动臂的运动方向。
12.在实现了设备独立性的系统中,I/O进程申请设备是以来申请的。
13.设备分配算法有和两种。
14.现代计算机I/O系统的结构,由、和三级组成。
15.SPOOLING系统由、和三部分组成。
三、问答题1.简述独占设备的一般分配过程2.I/O控制方式有几种?各有什么特点?3.设备分配策略与哪些因素有关?4.什么虚拟设备?简述共享打印机的工作原理。
5. 有5个记录A、B、C、D、E存放在磁盘的某个磁道上,且每个磁道正好可以存放5个记录。
设磁盘旋转速度为30ms/转,处理程序每读出一个记录后用6ms的时间进行处理,则(1)当记录A、B、C、D、E按顺序存放在磁道上时,顺序处理这5个记录花费的总时间是多少?(2)如何采取优化方法使处理这些记录所花费的总时间最短?求出该最短时间。
6. 当前磁盘读写位于柱面号20,此时有多个磁盘请求以下列柱面号顺序送至磁盘驱动器;10,22,20,2,40,6,38。
寻道时,移动一个柱面需6ms,按下列三种算法计算所需寻道时间(柱面移动顺序及总寻道时间)。
(1)先到先服务;(2)最短寻道优先;(3)电梯算法(当前状态:向上)。
参考答案一、选择题1.A2.C3.A4.A5.A6.C7.B8.A9.C 10.D 11.A 12.D13.B 14.D 15.C 16.C 17.C 18.B 19.CB 20.C 21.C 22.D二、填空题1.程序查询方式I/O中断方式DMA方式I/O通道方式2.独占设备共享设备虚拟设备3.系统设备4.通道程序5.CPU 输入/输出的处理机外设6.虚拟独占共享7.字符、字符设备、块、块设备8.字节多路通道数组选择通道数组多路通道9.I/O进程设备控制器通信10.应用程序独立于具体使用的物理设备11.FCFS、SSTF12.逻辑设备名13.先来先服务优先权高者优先14.通道设备控制器设备15.输入井输出井输入缓冲区输出缓冲区输入进程输出进程三、问答题1.对于具有通道的系统,在进程提出I/O请求后,系统的设备分配程序可按下述步骤进行设备分配:①分配设备。
首先根据物理设备名、查找系统设备表SDT,从中找出该设备的DCT,根据表中的设备状态字段,可知该设备是否正忙。
若忙,便将请求I/O的进程的PCB挂在设备队列上;否则,便按照—定的算法来计算本次设备分配的安全性,如果不会导致系统进入不安全状态,便将设备分配给请求进程;否则,仍将其PCB插入设备等待队列。
②分配控制器。
在系统把设备分配给请求I/O的进程后,再到其DCT中找出与该设备连接的控制器的控制器表(COCT),从表内的状态字段中可知该控制器是否忙碌。
若忙,便将请求I/O的进程的PCB挂在该控制器的等待队列上;否则,将该控制器分配给进程。
③分配通道。
在该COCT中又可找到与该控制器连接的通道的通道表(CHCT),再根据CHCT内的状态信息可知该通道是否忙碌,若忙,便将请求I/O的进程挂在该通道的等待队列上;否则,将该通道分配给进程。
只有在设备、控制器和通道三者都分配成功时,这次的设备分配才算成功;然后、便可启动该I/O设备进行数据传送。