《操作系统》练习题及答案(9)

2019-08-31 17:26

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

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

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

(D)提高CPU和I/O设备之间的并行性 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.操作系统采用缓冲技术的缓冲池主要是通过硬件来实现的。

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

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

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

- 41 -

支持多个通道程度并发执行。

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. 设备中断处理程序通常需完成哪些工作?

习题解答

一、1.D 2.D 3.B 4.C 5.C 6.A 7.C 8.B 9.C 10.C 二、1.(ABD) 2.(ADE) 3.(ACD) 4.(BCD) 5.(BC) 6.(C) 7.(D) 8.(ABC)

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

? 硬件方法,适于应用在速度和安全性要求较高的重要场合,且费用很高; ? 软件方法,即在内存中开辟出专门的存储区来做缓冲区。 操作系统采用的缓冲池技术是系统公用资源,由多个缓冲区组成,是通过采用软件的方法在内存中实现的。

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

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

4.答案:(错)在硬件结构中只有数组多路通道支持多个通道程序并发执行。 5.答案:(错)共享设备允许多个作业在一段时间内同时使用设备。 6.答案:(错)为了保证每一次设备分配的顺利实施,系统中设置了DCB、COCB、

- 42 -

CHCB、SDT等数据结构。但这并不能保证设备分配的安全性。要想保证分配不发生死锁,还需进行安全性测算。

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

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

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

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

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

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

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

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是数据从缓冲区传送到用户区的时间,

- 43 -

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

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

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

当需要将环中的一个缓冲区数据输出时,①用P操作独占该环;②判断Nexti与Nextg是否重合,若是重合则表示环中数据已空,需要通过V操作释放该环,并阻塞等待。③若Nexti与Nextg没有重合,则从Nextg处取出一个缓冲区的数据,将Nextg顺序向后推一个位置,需要通过V操作释放该环。

8.答:①当需要输入数据时,调用GetBuf(emq)过程从空闲队列上摘下一个空缓冲区,作为收容输入工作缓冲区hin,输入的数据被装入hin中,装满hin后,调用PutBuf(inq,hin)过程将hin挂入输入队列inq中。

②当需要输出数据时,调用GetBuf(outq)过程从输出队列上摘下一个装满数据的缓冲区,作为提取输出工作缓冲区sout,将sout中的数据提取输出,sout的数据被提取完后,调用PutBuf(emq,sout)过程将sout挂入空闲队列中。

9.答:①安全分配是一种“摈弃请求和保持条件”的资源分配方式。在这种方式中,一个进程请求资源一旦获得(比如I/O请求时获得所需的设备),该进程就由运行状态变为阻塞状态,使它不可能再请求新的资源。相反,当该进程开始运行时(比如I/O完成后被唤醒),它已不占有资源。因此,这种分配摈弃了造成死锁的一个条件,分配是安全的。这种分配方式的缺点是进程推进速度慢,因为CPU与I/O是串行的。

②不安全的分配方式是指,进程在提出资源请求时(比如I/O请求)并不将它阻塞,而是允许它继续使用CPU,并提出第二次资源请求。这样,若第二次请求的资源已被其他进程占用使该进程被阻塞时,则该进程具备了“请求和保持”条件,可能产生死锁,因而说,这种分配是不安全的分配。

10.答:①设备独立性又称为设备无关性。它指的是应用程序在使用设备进行I/O时,使用的是逻辑设备,而系统在实际执行时使用的是物理设备,由操作系统负责逻辑设备与物理设备的映射。引入设备独立性可以使设备的分配具有极大的灵活性,并易于实现I/O重定向。

②系统为每个进程设置一张“逻辑设备表”(LUT)。当某进程用逻辑名来请求设备时,系统查阅“系统设备表”SDT,为它分配相应的可用物理设备。系统将这种用户逻辑设备与系统物理设备的映射,建立在该用户的LUT中,并将该物理设备的驱动程序入口地址填入LUT中。以后,该进程利用逻辑设备名请求I/O操作时,系统通过查找LUT即可找到物理设备及其驱动程序。

②SPOOLing技术实现了将独占设备虚拟为多台逻辑设备的功能。

11.答:①输入输出井。这是在磁盘上开辟两个大空间,一个是输入井,用来收容输入设备上的数据(模拟拖机输入的磁盘);另一个是输出井,用来收容用户进程的输出数据(模

- 44 -

拟脱机输出的磁盘)。

②输入缓冲区和输出缓冲区。这是内存中开辟的两个缓冲区,一个是输入缓冲区,暂存输入设备来的数据,以后再传送到输入井;另一个是输出缓冲区,暂存输出井送来的数据,以后传送到输出设备。

③输入进程和输出进程。输入进程实现的是收容输入和提取输入。在收容输入时,负责将输入设备的数据通过内存输入缓冲区转存到磁盘的输入井中;提取输入时,负责将磁盘输入井的数据送入内存用户区。输出进程实现的是收容输出和提取输出,过程与输入过程相反。

④请求打印队列。

12.答:这项工作由SPOOLing的输出进程来承担,主要做三件事: ①在输出井上请求一块缓冲区,将要打印的数据送入其中。 ②请求一张空白“用户请求打印表”,填入打印说明信息后挂入请求打印队列。 ③一旦打印机空闲,就从请求打印队列头部取下一个请求打印表,根据表中要求将输出井的数据读入内存缓冲区,由打印机输出。

13.答:设备驱动程序又称设备处理程序,主要特点有:

①将进程的I/O请求传送给设备控制器,并将设备控制器记录的设备状态、I/O完成情况反馈给进程。

②设备驱动程序与设备的紧密性相关,不同的设备应配置不同的设备驱动程序。 ③设备驱动程序与I/O控制方式紧密相关,四种控制方式应当各不相同。

④设备驱动程序与硬件紧密相关,部分程序必须用汇编语言编写。目前,驱动程序的基本操作都被固化到ROM中了。

14.答:设备驱动程序是请求I/O的进程与设备控制器之间的一个通信程序,主要功能有:

①将用户的要求转换为具体要求。

②检查用户的合法性,了解设备状态,根据要求传递参数,设置设备的工作方式。 ③向设备控制器发I/O命令启动设备,完成具体的I/O操作。

④及时响应外设的中断请求,根据中断类型调用相应的中断处理程序。 ⑤具有通道的控制系统,还要构造通道程序。

15.答:设备驱动程序在启动设备前做一些必要的预备工作,然后启动设备。即: ① 将抽象要求转换为具体要求。 ② 检查I/O请求的合法性。 ③ 读出设备状态并检查。 ④ 传递参数。 ⑤ 设置工作方式。 ⑥ 启动I/O设备。

16.答:当设备完成了I/O之后,设备控制器向CPU发送一个中断请求,CPU响应后即可转向中断处理程序。中断处理程序的工作可分为以下几步:

①唤醒等待该项I/O的进程。

②保护被中断进程的CPU运行环境。

③分析中断原因,转入相应的中断处理程序。 ④进行中断处理。

⑤恢复被中断进程的现场。

- 45 -


《操作系统》练习题及答案(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:30小冰熊(详案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: