操作系统 设备管理

更新时间:2024-02-27 18:45:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第6章 设备管理

6.1 例题解析

例6.2.1 何谓虚拟设备?请说明SPOOLing系统是如何实现虚拟设备的。 解 本题的考核要点是虚拟设备的实现方法。

虚拟设备是指利用软件方法,比如SPOOLing系统,把独享设备分割为若干台逻辑上的独占的设备,使用户感受到系统有出若干独占设备在运行。当然,系统中至少一台拥有物理设备,这是虚拟设备技术的基础。

SPOOLing系统又称“假脱机I/O系统”,其中心思想是,让共享的、高速的、大容量外存储器(比如,磁盘)来模拟若干台独占设备,使系统中的一台或少数几台独占设备变成多台可并行使用的虚拟设备。

SPOOLing系统主要管理外存上的输入井和输出井,以及内存中的输入缓冲区和输出缓冲区。其管理进程主要有输入和输出进程,负责将输入数据装入到输入井,或者将输出井的数据送出。它的特点是:提高了 I/O操作的速度;将独占设备改造为共享设备;实现了虚拟设备功能。

例6.2.2 有关设备管理要领的下列叙述中,( )是不正确的。 e A.通道是处理输入、输出的软件 B.所有外围设备都由系统统一来管理

C.来自通道的I/O中断事件由设备管理负责处理 D.编制好的通道程序是存放在主存贮器中的 E.由用户给出的设备编号是设备的绝对号

解 本题的考核要点是设备管理的基本概念。

(1) 通道是计算机上配置的一种专门用于输入输出的设备,是硬件的组成部分。因此A是错误的。

(2) 目前常见I/O系统其外部设备的驱动和输入输出都由系统统一管理。因此B是对的。

(3) 设备管理模块中的底层软件中配有专门处理设备中断的处理程序。通道中断属于设备中断的一种。因此C是对的。

(4) 通道设备自身只配有一个简单的处理装置(CPU),并不配有存储器,它所运行的通道程序全部来自内存。因此D是对的。

(5) 系统在初启时为每台物理设备赋予一个绝对号,设备绝对号是相互独立的。由用户给出的设备号只能是逻辑编号,由系统将逻辑号映射为绝对号。因此E是错误的。

第6章 设备管理

例6.2.3 在关于SPOOLING的叙述中, 描述是不正确的。 d

A.SPOOLING系统中不需要独占设备 B.SPOOLING系统加快了作业执行的速度 C.SPOOLING系统使独占设备变成共享设备

D.SPOOLING系统利用了处理器与通道并行工作的能力。 本题的考核要点是SPOOLING技术。涉及的概念有4方面:

(1) 该项技术应有外存空间作为物质基础,同时应当至少有一台独占设备实现输入或输出,因此选项A错误。

(2) SPOOLING技术又称“脱机输入输出系统”。它将独享设备改造成与共享设备,使进程避免长期等待I/O操作的完成,因此加快了作业执行的速度。所以说B是正确的。

(3) SPOOLING技术将外存空间模拟成多台独占设备,功能上看,它将一台独占设备变成一台共享设备,因而C是对的。

(4) 在计算机系统中安装上通道设备,使处理器与通道可以并行工作。这作为一种硬件配置,与没有通道的系统相比,系统的资源利用率得到提高。不过,无论有没有配置通道,SPOOLING系统都是可以运行的。因此D是不正确的。 例6.2.4 I/O软件一般分为4个层次,用户层、与设备无关软件层、设备驱动程序以及中断处理程序。请说明以下各工作是在哪一层完成的?

(1) 向设备寄存器写命令;

(2) 检查用户是否有权使用设备;

(3) 将二进制整数转换成ASCII码以便打印。

解 本题的考核要点为设备管理模块的结构。有些系统的结构分为本题所说的4层结构,而有的系统将设备驱动程序与中断处理程序合并为1层,共分为3层(见汤子瀛《计算机操作系统》,P221)。无论如何划分并不影响本题的回答。

设备驱动程序是设备管理的底层软件,用于控制I/O设备进行具体输入输出操作。其功能是:

1) 将抽象的要求转换为具体的要求;

2) 检查用户I/O请求的合法性,了解外设的状态,设置设备的工作方式; 3) 向设备发出I/O命令,启动设备,实现I/O。

(1) 由于“向设备寄存器写命令”属于直接操作设备控制器的操作,因此属于设备驱动程序。

(2) 用户层软件是用户与设备管理模块的接口,负责解释用户的应用请求,并将这种请求转化为具体的输入输出操作。不过,该层软件并不检查用户的访问权限,因此, “检查用户是否有权使用设备”属于设备驱动程序。

(3) 与设备无关软件层软件主要负责将逻辑设备名转换为物理设备,实现设备的分配和回收,进行缓冲区管理等。“将二进制整数转换成ASCII码以便打印”不属于该层软件。它应当是将抽象要求转换为具体要求的一部分,所以也属于设备驱动程序。

112

例题解析

例6.2.5 在缓冲池中有3个队列,分别为空白缓冲队列em,输入缓冲队列in,以及输出缓冲队列out。过程add_buf(type,numb)和take_buf(type,numb)分别用来把缓冲区numb插入type队列和从type队列中取出缓冲区numb。

试描述进程从任一缓冲队列得到一个缓冲区的过程get_buf(type,numb)和将一个缓冲区numb放入缓冲队列的过程put_buf(type,numb)。 解 设队列type的互斥信号量为S(type),初值为1。设描述资源数目的信号量RS(type),初值为n。

信号量的定义及初始化过程,以及get_buf()过程和put_buf()过程的描述如下:

Semaphore S(type):=1; Semaphore RS(type):=n; /*n为type队列长度*/ PROCEDURE get_buf(type,number) BEGIN

P(RS(type)); P(S(type));

Pointer of buffer(number)=take_buf(type,number) V(S(type)); END;

PROCEDURE put_buf(type,number) BEGIN

P(S(type));

add_buf (type,number) V(S(type)); V(RS(type)); END。

例6.7 描述操作系统中使用公用缓冲池时数据块插入缓冲队列的输入过程。

本题考核的要点是缓冲池技术。缓冲池由多个缓冲区组成,其中每个缓冲区包括缓冲区首部和缓冲体两部分。系统通过操作缓冲池首部,实现对缓冲区的管理。

解 通常,缓冲池中有3个队列:em队列(空白缓冲区队列)、in队列(装满输入数据的缓冲区队列)、out队列(装满输出数据的缓冲区队列)。

令参数type表示缓冲队列类型,number表示缓冲区号。缓冲池管理中负责数据输入的过程可包括:

(1) 过程get_buf(type,number):以某种选取规则从type指定的缓冲区队列中摘取一个缓冲区number。

(2) 过程put_buf(type,number):将number 缓冲区程将缓冲区放入相应缓冲区队列。

113

第6章 设备管理

使用上述操作,输入过程可被描述如下:

(1) 输入进程调用过程get_buf(em,number)从空白缓冲区队列em中取出一个缓冲区,返回的号码为number。将该空白缓冲区命名为hin。

(2) 将输入的数据装入缓冲区hin,当hin中装满了由输入设备输入的数据之后,系统调用过程put_buf(in,hin)将该缓冲区插入输入缓冲队列in中。 例6.8 逻辑设备表(LUT)的主要功能是( )和( )。设备驱动程序是一种低级的系统例程,它通常分为( )和( )两个部分。

本题的考核要点是设备管理的基本概念。涉及的内容有:

设备管理的功能之一是,将用户输入的逻辑设备名映射为系统内的物理设备。可使系统在设备分配中更灵活,设备管理更具独立性。在多用户系统中,LUT是系统为每个进程配置的一种数据结构。该结构被保存到进程的PCB中,内含两个域:逻辑设备名和指向系统设备的指针。因此,该问题的正确答案应为:(实现逻辑设备到物理设备的映射)和(实现设备独立性)。

②.设备驱动程序是设备管理的底层软件,用于控制I/O设备进行具体输入输出操作。此外,当输入输出操作完成时,产生的外中断信号由系统予以响应,转入设备中断处理程序,根据操作的状态进行相应的处理。因此正确答案应为:

控制I/O设备进行具体输入输出操作程序、设备中断处理程序 例6.9(论述题)试给出两种I/O调度算法,并说明为什么I/O调度中不能采用时间片轮转法。

本题的考核要点是I/O调度算法。两种常用的I/O调度算法是:

①.先来先服务算法。当系统中多个进程对同一I/O设备提出输入输出请求时,该算法把它们按请求顺序排成一个等待队列,并将该I/O设备分配给队列中的第一个进程。

②.优先权高者优先算法。当系统中多个进程对同一I/O设备提出输入输出请求时,该算法把它们按优先权由高到低的顺序排成一个等待队列。并将该I/O设备分配给队列中的第一个进程(其优先权最高)。

时间片轮转算法是不能用于I/O调度中的。因为在I/O操作中,大部分外部设备都是独占设备,其固有属性决定了设备只能独占使用,不能共享使用。这种设备一旦被某进程占用,直到使用完才能被释放。而且在通道程序控制的输入输出系统中,通道程序的执行是不受中断影响的。时间片中断信号并不能中断通道程序的操作。所以I/O调度中不能采用时间片轮转法。

例6.10某操作系统采用双缓冲传送磁盘上的数据。设从磁盘将数据传送到缓冲区所用时间为T1,将缓冲区中数据传送到用户区所用时间为T2(假设T2<

(A)T1+T2+T3

(C)MAX(T1,T3)+T2

(B)MAX(T2,T3)+T1 (D)MAX(T1,T3)

114

例题解析

分析:系统采用双缓冲传送某磁盘数据时:

①.如果T3>T1,即CPU处理数据快,数据传送慢。此时意味着I/O设备可连续输入,磁盘将数据传送到缓和冲区,再传送到用户区,与CPU处理数据可视为并行处理。时间的花费取决于CPU最大花费时间,则系统的用总时间为T3。

②.如果T3

答案应为D。 例6.11下面是一段简单的通道程序,则四个选项中叙述不正确的是( )。

操作 WRITE WRITE READ WRITE WRITE READ P 0 0 0 0 0 1 R 1 1 1 0 1 1 计数 90 100 230 120 120 70 内存地址 743 250 1200 400 350 2000 (A)该段通道程序包括六条、两类通道指令

(B)这些指令涉及的数据内存地址有相邻接的地方 (C)该段通道程序共处理了5条记录

(D)单记录最大为230个字节 d

本题考核的是通道程序的功能。涉及的概念有:

①.每一行就是一条指令;该段通道程序的6条指令可分为WRITE和READ两类通道指令。

①.在6条指令中,第2条和第5条指令访问的内存地址是邻接的。

②.在通道指令中,域R是记录的结束标志。R=0表明本通道指令与下一条通道

指令处理的数据属于同一条记录;R=1表明本指令处理完数据后,记录就结束了。因此上面的程序涉及5条记录。

③.程序中的第4条指令和第5条指令共同处理一条记录,即第4条记录。记录的

长度为240(120+120)字节。 答案应为D。 例6.12(填空题)进行设备分配时所需的数据表格主要有( )、( )、( )和( )等。

本题的考核要点是设备分配中使用的数据结构。主要包括: ? 设备控制表(UC或DCB):记录设备的使用情况。主要有设备类型、设备标识符、设备状态、出错后的重复执行次数、控制器表指针,及其他信

115

习题

4.利用通道实现了( 1 )之间数据的快速传输。

(A)CPU和外设 (B)内存和CPU (C)内存和外设 (D)外设和外设

5.假脱机技术中,对打印机的操作实际上是用对磁盘存储实现的,用以替代打印机的部分是指( 3 )。

(A)共享设备 (B)独占设备 (C)虚拟设备 (D)物理设备

6.设从磁盘将一块数据传送到缓冲区所用时间为80μs,将缓冲区中数据传送到用户区所用时间为40μs,CPU处理数据所用时间为30μs,则处理该数据,采用单缓冲传送某磁盘数据,系统所用总时间为(1 )。

(A)120μs (B)110μs (C)150μs (D)70μs

7.对于速率为9.6KB/s的数据通信来说,如果说设置一个具有8位的缓冲寄存器,则CPU中断时间和响应时间大约分别为( 3 )。

(A)0.8ms,0.8ms (B)8ms,1ms (C)0.8ms,0.1ms (D)0.1ms,0.1ms

8.在调试程序时,可以先把所有输出送屏幕显示而不必正式输出到打印设备,其运用了( 2 )。

(A)SPOOLing技术 (B)I/O重定向 (C)共享技术 (D)缓冲技术

9.设备驱动程序是系统提供的一种通道程序,它专门用于在请求I/O的进程与设备控制器之间传输信息。下面的选项中不是设备驱动程序功能的是( 3 )。

(A)检查用户I/O请求的合法性

(B)及时响应由控制器或通道发来的中断请求 (C)控制I/O设备的I/O操作

(D)了解I/O设备的状态,传送有关参数,设置设备的工作方式

10.下列关于通道、设备、设备控制器三者之间的关系叙述中正确的是( 3 )。 (A)设备控制器和通道可以分别控制设备 (B)设备控制器控制通道和设备一起工作

(C)通道控制设备控制器,设备控制器控制设备 (D)设备控制器控制通道,通道控制设备 二、选择所有正确的答案

1.下列哪一个选项是引入缓冲的原因( )。 (A)缓和CPU和I/O设备间速度不匹配的矛盾

(B)减少对CPU的中断频率,放宽对中断响应时间的限制 (C)减少CPU对I/O控制的干预

(D)提高CPU和I/O设备之间的并行性

121

第6章 设备管理

2.从设备分配的角度来看,设备分成( )。

A.独享设备 B.系统设备 C. 用户设备 D.共享设备 E.虚拟设备

3.在操作系统中,下列选项属于软件机制的是( )。

(A)缓冲池 (B)通道技术 (C)覆盖技术 (D)Spooling技术

4.下列哪种设备是从设备分配策略角度来说的( )。

(A)系统设备 (B)独享设备 (C)共享设备 (D)虚拟设备

5.下列关于通道、设备、设备控制器三者之间的关系叙述中正确的是( )。

(A)控制器和通道可以分别控制设备 (B)控制器、通道和设备一起工作

(C)通道控制设备控制器,设备控制器控制设备 (D)设备控制器控制通道,通道控制设备

6.在假脱机I/O技术中,对打印机的操作实际上是用对磁盘存储的访问。那么,用以替代打印机的部分通常称作( )。

(A)共享设备 (B)独占设备 (C)虚拟设备 (D)物理设备

7.下列存储设备中,适合作为共享设备的是( )。

(A)语音输入输出设备 (B)打印机 (C)鼠标 (D)磁盘

8.低速设备一般被设置成独占设备,可用作独占设备的有( )。

(A)软磁盘 (B)磁带机 (C)可擦写光驱 (D)磁鼓

9.系统中的通道数量较少,可能会产生“瓶颈”问题。( )不是解决此问题的有效方法

(A)在结构上增加一些连线,以增加数据传送通路 (B)在数据传输线路上多增设一些缓冲区 (C)提高CPU的速度 (D)采用虚拟设备技术

10.I/O系统硬件结构分为4级:1. 设备控制器 2. I/O设备 3. 计算机 4. I/O通道,按级别由高到低的顺序是( )。

(A)2-4-1-3 (B)3-1-4-2 (C)2-1-4-3 (D)3-4-1-2 三、判断正误,简要说明理由 都错

1.操作系统采用缓冲技术的缓冲池主要是通过硬件来实现的。

122

习题解答

2.低速设备一般被设置成共享设备。

3.通道指令和一般机器的指令没有什么不同。

4.数组选择通道和数组多路通道可以支持多个通道程序并发执行,而字节多路通道不支持多个通道程度并发执行。

5.共享设备允许多个作业同时使用设备,即每一时刻可有多个作业在使用该共享设备,因而提高了系统设备资源的利用率。

6.由于设备分配中设置了若干数据结构,所以在设备分配中不会发生死锁。 7.I/O通道控制方式中不需要任何CPU干预。

8.先来先服务算法、优先级高者优先算法、时间片轮转算法等是经常在设备分配中采用算法。

9.由于独占设备在一段时间内只允许一个进程使用,因此,多个并发进程无法访问这类设备。

10.操作系统中应用的缓冲技术,多数通过使用外存来实现。 四、简答题

1. 计算机中设备控制器是由哪些部分构成的?

2. 什么是字节多路通道?什么是数组选择通道和数组多路通道? 3. 有哪几种I/O控制方式?分别适用何种场合? 4. 试说明DMA的工作流程。

5. 在单缓冲情况下,为什么系统对一块数据的处理时间为max(C,T)+M。 6. 为什么在双缓冲情况下,系统对一块数据的处理时间为max(C,T)? 7. 试绘图说明把多缓冲用于输出时的情况。

8. 试说明收容输入工作缓冲区和提取输出工作缓冲区的工作情况。 9. 何谓安全分配方式和不安全分配方式? 10. 为什么要引入设备独立性?如何实现设备独立性? 11. 试说明SPOOLing系统的组成。 12. 在实现后台打印时,SPOOLing系统应为请求I/O的进程提供哪些服务? 13. 试说明设备驱动程序具有哪些特点? 14. 试说明设备驱动程序应具有哪些功能? 15. 设备驱动程序通常要完成哪些工作? 16. 设备中断处理程序通常需完成哪些工作?

6.3 习题解答

一、1.D 2.D 10.C 二、1.(ABD) 5.(BC)

3.B 4.C 5.C 6.A 7.C 8.B 9.C

2.(ADE)

6.(C) 3.(ACD)

7.(D) 4.(BCD)

8.(ABC)

123

第6章 设备管理

9.(BCD) 10.(D) 三、1.答案:(错)。缓冲技术的实现方法有硬件和软件两种。

? 硬件方法,适于应用在速度和安全性要求较高的重要场合,且费用很高;

? 软件方法,即在内存中开辟出专门的存储区来做缓冲区。

操作系统采用的缓冲池技术是系统公用资源,由多个缓冲区组成,是通过采用软件的方法在内存中实现的。

2.答案:(错)计算机外部设备分为:高速设备和低速设备。低速设备是不可以共享使用的,因为在一段时间内不能由多个进程同时访问。

3.答案:(错)通道指令与一般机器指令有如下几点不同之处:①通道指令的寻址方式较一般机器指令简单。②通道指令的指令格式方式较一般机器指令简单。③通道指令的操作码较一般机器指令简单。

4.答案:(错)在硬件结构中只有数组多路通道支持多个通道程序并发执行。 5.答案:(错)共享设备允许多个作业在一段时间内同时使用设备。 6.答案:(错)为了保证每一次设备分配的顺利实施,系统中设置了DCB、COCB、CHCB、SDT等数据结构。但这并不能保证设备分配的安全性。要想保证分配不发生死锁,还需进行安全性测算。

7.答案:(错)通道在I/O程序执行的开始或结束时,必需要CPU进行一定的处理。只有在执行I/O程序期间,无需CPU干预。

8.答案:(错)前两种算法可用在设备分配中采用,而时间片轮转算法则不适合在设备O分配中。因为一般设备的I/O操作一经启动后,便一直运行下去直到完成,I/O操作期间不宜中断,更不宜切换给其他进程使用。

9.答案:(错)可以把独占设备作为系统的一种临界资源,用互斥的方法访问它。 10.错。因为操作系统中应用的缓冲技术是有其限定性的,一般是在内存中或通过硬件技术来实现的。基本上不通过外存来实现。

四、1.答:包括:①设备控制器与CPU的接口;②设备控制器与设备的接口;③输入输出逻辑(见下图所示)。

2.答:① 字节多路通道含有多个子通道。每个子通道连接一台低速设备,以轮流方式共享主通道。任一子通道交换完一个字节后就将主通道让给下一个子通道。

124

习题解答

② 数组选择通道可连接多台高速外设,具有较高的传输速率。它有一台分配型子通道,一段时间内只能执行一道通道程序,使一台设备独占通道以进行数据交换,直到交换完后才可让给其他的设备。

③ 数组多路通道含有多个非分配型子通道,每个子通道连接一台高速外设,以轮流方式共享主通道。任一子通道交换完若干字节后就将主通道让给下一个子通道。

3.答:共有四种I/O方式:

① 程序I/O方式,又称作“忙-等”方式。该方式执行一个循环程序,反复查询外设状态,如果外设“忙碌”则循环查询,直到查得外设状态为“闲置”时止。该方式适用于机内没有中断机构的场合。

② 中断控制I/O方式。该方式在进行I/O时,CPU向控制器发出I/O命令后,由控制器控制外设操作,CPU转其他任务的处理,即,CPU与外设并行工作。当外设完成I/O后向CPU发中断信号,CPU只需花费很少的时间进行I/O的善后处理,此前毋须进行干预。该方式可适于低速外设I/O,并可配合DMA和通道方式实现I/O。

③ DMA(直接内存访问)方式。该方式适于高速外设I/O,一次可以在外设与内存之间传输一个或多个数据块。传输完毕后才需CPU干预。

④ 通道方式。该方式中,系统预先要将I/O的过程实现为一段通道程序,置于内存的特定位置,而后启动通道。由通道负责执行通道程序对外设进行I/O控制,CPU转其他程序运行。I/O完成后通道向CPU发中断信号,CPU花很少时间作善后处理。

4.答:①CPU需要访问外存时,便发送一条访问命令给DMA的命令寄存器CR、一个内存地址码给DMA的内存地址寄存器MAR、本次要传送的字节数给DMA的数据计数器DC、外存地址给DMA的I/O控制逻辑中。

②启动DMA控制器,然后CPU转其他任务处理。

③DMA控制器负责控制数据在内存与外存之间传送。每传送一个字节就需挪用一个内存周期,按MAR从内存读出或写入内存一个字节,修改MAR和计数器DC。

③当DC修改为0,表示传送结束,由DMA向CPU发出中断请求。

5.答:令T是读外存数据送内存缓冲区时间,M是数据从缓冲区传送到用户区的时间,C是读内存用户区数据进行计算的时间。当进行第I次读外存数据送缓冲区时,系统可同时读出用户区中第(I-1)次数据进行计算。此两项操作并行进行且互不干扰,并与数据从缓冲区传送到用户区的操作串行进行,因此处理一块数据的时间大约为max(C,T)+M。

6.答:该方式又称缓冲对换方式。写入者花费时间T将数据写满一个缓冲区后再写另一个缓冲区;读出者花费时间M将一个缓冲区数据送到用户区后再传送另一个缓冲区数据,运算者读出用户区进行处理。由于将数据从缓冲区传送到用户区操作必须与读用户区数据进行处理串行进行,而且它们又可以与从外存传送数据填满缓冲区的操作并行。因此耗时大约为max(C+M,T)。考虑到M是内存中数据块的“搬家”耗时,非常短暂可以省略,因此近似地认为是:max(C,T)。

7.答:一般情况下,需要将多缓冲区形成一个环。环上设置两个指针:Nexti和Nextg。前者指出数据的存入位置,后者指出数据的提取位置。下图是由6个缓冲区组

125

本文来源:https://www.bwwdw.com/article/5rqa.html

Top