第 5 章 设备管理
5.1 典型例题解析
【例 1】为什么要在操作系统中引入缓冲?
答:①缓和 CPU 与 I/O 设备间速度不匹配的矛盾。
②减少对 CPU 的中断频率,放宽对中断响应时间的限制。 ③提高 CPU 和 I/O 设备的并行性。 【例 2 】设备控制器的主要功能是什么? 答:设备控制器的主要功能是控制一个或多个 备工作。
设备控制器主要完成以下功能: ⑴接收和识别命令。接收从
CPU发来的命令,并识别这些命令。
设备控制器必须能够识别它所控制的每
CPU 了解。
⑵数据交换。指实现 CPU 与设备控制器之间、控制器与设备之间的数据交换。 ⑶地址识别。 系统中每一个设备都有一个地址, 个设备的地址。
⑷标识和报告设备的状态。控制器应记下设备的状态供
I/O 设备,以实现 I/O 设备和计算机之间的
CPU 发出的命令,并控制 I/O 设
数据交换。它是 CPU 和 I/O 设备之间的接口,它接收从
⑸数据缓冲。由于 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、缓冲技术 C、通道技术 A、并行技术 C、缓冲技术 A、缓冲池 C、单缓冲区 答:A
4.缓冲技术中的缓冲池在()中
A、外存 C、ROM A、主存与外设 C、主存与外存 6.通道是一种()
A、I/O 断口 C、I/O 专用处理器 A、数据选择通道 C、数据多路通道 答;B
8.在操作系统中, _________指的是一种硬件机制。
A、通道技术 C、SPOOLING 技术 答:A
9.通过硬件和软件的功能扩充,把原来独占的设备改造成若干用户共享的设备,这种设备 称为()。
A、存储设备 C、虚拟设备
B、系统设备 D、用户设备
。
B、缓冲池 D、内存覆盖技术 B、共享文件 D、数据通道
I/0 设备。
B、字节多路通道 D、字节选择通道 B、内存 D、寄存器 B、CPU 与外设 D、CPU 与外存 B、并行技术 D、虚拟存储技术
。
B、通道技术 D、虚拟存储技术
_______结构的缓冲技术。
B、闭缓冲区环 D、双缓冲区
2.CPU 输出数据的速度远远高于打印机的打印速度,为解决这一矛盾,可采用()
3.为了使多个进程能有效地同时处理输入和输出,最好使用
5.通道又称 I/O 处理机,它用于实现()之间的信息传输。
7.____________用作连接大量的低速或中速
10.对于磁盘来说,输入输出操作的信息传送单位为()
***
***
A、字节 C、文件
11.__________是直接存取的存储设备。
A、磁盘 C、打印机 A 、从属关系 C、共享属性 的数据结构。
A、DCT C、COCT A、短作用优先 C、首次适应
15.下列设备不属于系统设备的是()
A、鼠标 C、扫描仪
B、字 D、块
B、磁带
D、键盘显示终端 B、操作特性 D、信息交换单位
()不属于设备管理
12.按 _____________分类可将设备分为块设备和字符设备。
13.设备管理程序对设备的管理是借助一些数据结构来进行的,下面的
B、JCB D、CHCT B、最佳适应 D、先来先服务 B、键盘 D、磁盘
14.()算法是设备分配常用的一种算法。
系统设备:指在操作系统生成时已登记于系统中的标准设备。如键盘、鼠标、磁盘等。 用户设备: 指在系统生成时未登入系统的非标准设备。 16.如果 I/O 设备与存储设备进行数据交换不经过
A、中断方式 C、DMA 方式 A、打印机 C、磁盘的输出井
来实现。下面的叙述中哪一条正确的()
通常这类设备是由用户提供的,
用户
必须用某种方式把这类设备交给系统统一管理。如绘图仪、扫描仪等。
CPU 来完成,这种数据交换方式是() 。
B、无条件存取方式 D、程序查询方式
。
B、磁盘的输入井 D、终端 。
17.在采用 SPOOLING 技术的系统中,用户的打印数据首先被送到()
5.2 在一般大型计算机系统中,主机对外围设备的控制可通过通道、控制器和设备三个层次
A、控制器可控制通道,设备在通道控制下工作 B、通道控制控制器,设备在控制器控制下工作 C、通道和控制器分别控制设备 D、控制器控制通道和设备的工作
5.3 假定把磁盘上一个数据块中的信息输入到一单缓冲区的时间
数据传送到用户区的时间 据的处理时间为() 。
A、50μs C、150μs A、时间片轮转 C、最短寻道时间优先 A、SSTF
B、SCAN
B、100μs D、200μs
B、LRU
D、优先级高者优先
)。
C、FSCAN
这样,系统对每一块数据的处理时间为()
T 为 100μs,将缓冲区中的
C 为 50μs。
M 为 50μs,而 CPU 对这一块数据进行计算的时间
;如果将单缓冲改为双缓冲,则系统对每一块数
5.4 下列算法中,用于磁盘调度的是()
21.下列那种磁盘调度算法不存在“磁臂粘着”现象(
D、CSCAN
***
***
5.5 如果有多个中断同时发生,系统将根据中断优先级响应优先级最高的中断请求。若要调
整中断事件的响应次序,可以利用
A. 中断向量 C. 中断响应 二、填空题
1.I/O 控制方式的发展经历了
和
种类型。
3.按设备所属关系分类,可分为 4.通道指专门用于负责输入 5.通道是一个独立于 的信息交换。 6.虚拟设备是通过 为
技术把
设备变成能为若干用户 为单位组织和处理信息的设备称为
3 种类型,分别是 。 和
和
之间的一个
。
算法可能会随时改变移动臂的运动方
来申请的。
和
和
三级组成。
程序。 、
的设备。
。
7.UNIX 系统中,键盘、终端、打印机等以
;而磁盘、 磁带等以 和
9.设备驱动程序是 10.设备独立性的含义是 11.磁盘调度算法中 向。
12.在实现了设备独立性的系统中, 13.设备分配算法有 15. SPOOLING 系统由
三部分组成。
三、问答题
1.简述独占设备的一般分配过程 2.I/O 控制方式有几种?各有什么特点? 3.设备分配策略与哪些因素有关?
4.什么虚拟设备?简述共享打印机的工作原理。
5. 有 5 个记录 A、B、C、D、E 存放在磁盘的某个磁道上,且每个磁道正好可以存放 录。设磁盘旋转速度为 30ms/转,处理程序每读出一个记录后用 当记录 A、B、C、D、E按顺序存放在磁道上时,顺序处理这 6. 当前磁盘读写位于柱面号
5 个记
6ms的时间进行处理, 则(1)
14.现代计算机 I/O 系统的结构, 由
I/O 进程申请设备是以 和
、 、
两种。
8.根据信息交换方式,通道可分成
为单位组织和处理信息的设备称
的专管
和用户设备两类。
。
与内存之间
的处理机, 它控制
/输出工作的处理机,通道所执行的程序称为 4 个阶段,分别是
。
、
和
三
、
、
B.中断嵌套 D.中断屏蔽
______。
2.从资源分配角度出发, I/O 设备可以分为
5 个记录花费的总时间是多少?
(2)如何采取优化方法使处理这些记录所花费的总时间最短?求出该最短时间。
20,此时有多个磁盘请求以下列柱面号顺序送至磁盘驱动器;
6ms,按下列三种算法计算所需寻道
10,22,20,2,40,6,38。寻道时,移动一个柱面需 时间(柱面移动顺序及总寻道时间) 。
(1)先到先服务; (2)最短寻道优先;
(3)电梯算法(当前状态:向上) 。
***
***
参考答案 一、选择题
5.6A
7.B
2.C 3.A 4.A 5.A 6.C 7.B 8.A 9.C 10.D 11.A 12.D
14.D 15.C 16.C 17.C 18.B 19.CB 20.C 21.C 22.D
二、填空题 1.程序查询方式 2.独占设备 3.系统设备 4.通道程序 5.CPU 6.虚拟
输入/输出的处理机 独占
共享
数组选择通道
通信
数组多路通道 外设
I/O 中断方式
DMA 方式
I/O 通道方式
共享设备
虚拟设备
7.字符、字符设备、块、块设备 8.字节多路通道 9.I/O 进程
设备控制器
10.应用程序独立于具体使用的物理设备 11.FCFS、SSTF 12.逻辑设备名 13.先来先服务 14.通道 15.输入井输出井 三、问答题
1.对于具有通道的系统, 在进程提出 I/O 请求后, 系统的设备分配程序可按下述步骤进行 设备分配:
①分配设备。首先根据物理设备名、查找系统设备表
SDT,从中找出该设备的 DCT,
I/O 的进程的 PCB 挂在 如果不会导致系统进
根据表中的设备状态字段,可知该设备是否正忙。若忙,便将请求 设备队列上; 否则, 便按照—定的算法来计算本次设备分配的安全性, 入不安全状态,便将设备分配给请求进程;否则,仍将其
②分配控制器。在系统把设备分配给请求
优先权高者优先
设备
输入进程输出进程
输入缓冲区输出缓冲区
设备控制器
PCB 插入设备等待队列。
I/O 的进程后,再到其 DCT 中找出与该设备
连接的控制器的控制器表( COCT),从表内的状态字段中可知该控制器是否忙碌。若忙,便 将请求 I/O 的进程的 PCB 挂在该控制器的等待队列上;否则,将该控制器分配给进程。
③分配通道。在该 COCT 中又可找到与该控制器连接的通道的通道表( CHCT内的状态信息可知该通道是否忙碌, 设备分配才算成功;然后、便可启动该 通道方式。
⑴程序查询方式
在早期计算机或现代一些简单的微型计算机系统中,采用程序查询 询是一种用程序直接控制
I/O 方式。程序查
I/O 操作的方式。 CPU 与外设的活动本质上是异步的,为了实现
CHCT),再根据
若忙, 便将请求 I/O 的进程挂在该通道的等待队
列上;否则,将该通道分配给进程。只有在设备、控制器和通道三者都分配成功时,这次的
I/O 设备进行数据传送。
I/O 中断方式, DMA方式和 I/O
2.I/O 控制方式的发展经历了四个阶段:程序查询方式,
CPU 与外设间的信息传送, CPU 必须重复测试外设的状态,仅当外设是处在准备好的状态
***
***
时,CPU 才能与外设交换信息。所以,在程序查询 端口,以使 CPU 通过执行输入指令了解外设的状态。
I/O 方式的接口电路中必须设置一状态
I/O 操作时, CPU 要执行
使 CPU
当采用程序查询传送方式时,每当程序要使用某一外设进行 一段循环测试程序,以实现在外设准备好时执行一条输入 与外设串行工作,严重影响了
⑵I/O 中断方式
引入中断技术后,每当设备完成
/ 输出指令,进行一个字节或字的
数据传送操作。 在这种方式下, CPU 的大量时间消耗在等待输入输出的循环检测上,
CPU 和外设的使用效率,致使整个系统效率很低。
I/O 操作时,便向 CPU 发出中断请求信号,通知
I/O 处理和 I/O 操作。
CPU
外设已准备好,可以进行数据传送操作。这样,
程序中断传送方式改善了
CPU 一旦启动 I/O 设备后便可执行其它程
序,仅在收到 I/O 中断请求时才执行其中断服务程序,进行
CPU 的利用率, 并使 CPU与外设并行操作。 但 I/O 数据的处
理和 I/O 操作的控制都是由 CPU 承担的,仍然消耗了 CPU 不少时间。
⑶直接存储器访问( DMA)方式
虽然 I/O 中断方式比程序查询方式更有效,但须注意,它仍是以字节或字为单位进行 输入输出的,每当完成一个字节或字时,控制器便要向 I/O ,显然是低效的。例如,为了从磁盘中读出
⑷I/O 通道方式
I/O 通道方式时 DMA方式的发展,它会进一步较少对 的干预。 I/O 通道有自己的指令系统,即通道程序,可以与 和实现主存和外设之间的信息传输,使
CPU的干预,即把对一个数据块 CPU 并行操作,独立管理外设
的读(或写)为单位的干预,减少为对一组数据块的读(或写)即有关的控制和管理为单位
CPU摆脱了繁忙的 I/O 操作。在配置通道的计算机
CPU 请求一次中断。换言之,采用
CPU 1K 次。为
I/O 中断方式时的 CPU,是以字节或字为单位进行干预的。如果将这种方式用于块设备的
1KB 的数据块,需要中断
DMA)方式。
了进一步减少 CPU 对 I/O 的干预而引入了直接存储器访问(
系统中,不仅能实现 CPU 与通道的并行操作,而是通道与通道、各通道的外设之间均能实 现并行操作,因而有效地提高了整个系统的使用效率。
5.7 设备分配策略与下列因素有关:
(1 )I/O 设备的固有属性,对于独占设备,共享设备、虚拟设备等具有不同属性的设备, 通常采用相应的分配算法。
(2 )设备分配算法,常见的有先来先服务算法、优先级高者优先算法 (3 )设备分配的安全性,即避免死锁的产生。
(4 )设备独立性,设备独立性指应用程序独立于具体使用的物理设备。
4.虚拟设备是通过某种技术将一台独占设备改造为可以供多个用户共享的共享设备。
共享打印机的工作流程如下: 当用户进程请求打印输出时, Spooling 印输出, 但并不真正把打印机分配给该用户进程,
系统同意为他打
而只为它做两件事: ①由输出进程在输出
井中为之申请—空闲盘块区, 并将要打印的数据送人其中; ②输出进程再为用户进程申请一 张空白的用户请求打印表,并将用户的打印要求填入其中,再将该表挂到请求打印队列上。 如果还有进程要求打印输出,系统仍可接受该请求,也同样为该进程做上述两件事。
如果打印机空闲, 输出进程将从请求打印队列的队首取出—张请求打印表, 要求将要打印的数据从输出井传送到内存缓冲区, 程再查看请求打印队列中是否还有等待要打印的请求表。 有打印请求时才被唤醒。
根据表中的
再由打印机进行打印。 打印完毕, 输出进
若有, 再取出一张表, 并根据其中
的要求进行打印,如此下去,直至请求队列空为止,输出进程才自己阻塞起来、等待下次再
8.(1)磁盘旋转速度是 30ms、转,共分成 5 个扇区, 因此每个扇区的读写时间为 30/5=6ms;
***
***
若按顺序编号,每读出一个扇区后用 处理 5 个扇区的时间花费是(其中
6ms 的时间进行处理,此时磁盘仍在转动,处理完 A 是第一个,因此处理有别于其他扇区)
A
扇区后,磁头已到达 C 扇区,因此要等磁盘再转一圈后才可读 B(见图),以此类推,顺序
:A: 6ms+6ms
B~D:6ms*4+6ms+6ms ,共计 156ms。
(2)采用的优化方法是扇区交替编号,使得 A 扇区在处理完后可以在最短的时间内定位扇区,排列方式如下图。求出的花费时间是:
12ms*5=60ms 。
5.8
方法一: (1)FCFS:
从20号柱面(磁道)开始 柱面移动顺序
磁头移动距离 (磁道数)
10 10 22 12 20 2 2 18 40 38 6 34 38
32
总寻道时间: 146*6 = 876ms
(2)SSTF:
从20号柱面(磁道)开始 柱面移动顺序
磁头移动距离 (磁道数)
20 0 22 2 10 12 6 4 2 4 38 36 40
2
***
B
***
总寻道时间: 60*6 = 360ms
(3)SCAN:
从20号柱面(磁道)开始,向上 柱面移动顺序
20 22 38 40 10 6 2
磁头移动距离 (磁道数)
0 2 16 2 30 4 4
总寻道时间: 58*6 = 348ms
方法二:首先画出磁头在盘面上的运动轨迹(访问柱面即为访问磁道)
。
总寻道时间: (10+12+20+38+34+32 )*6=876ms
总寻道时间: (2+20+38)*6=360ms
总寻道时间: (20+38)*6=348ms
***
因篇幅问题不能全部显示,请点此查看更多更全内容