第七章设备管理习题7.3习题7.3.1、选择最合适的答案1.在下面的I/O控制方式中,需要CPU干预最少的方式是()。
(A)程序I/O方式(B)中断驱动I/O控制方式(C)直接存储器访问DMA控制方式(D)I/O通道控制方式2.某操作系统中,采用中断驱动I/O控制方式,设中断时,CPU用1ms来处理中断请求,其它时间CPU完全用来计算,若系统时钟中断频率为100H Z,则,CPU的利用率为()。
(A)60% (B)70%(C)80% (D)90%3.下列哪一条不是磁盘设备的特点()。
(A)传输速率较高,以数据块为传输单位(B)一段时间内只允许一个用户(进程)访问(C)I/O控制方式常采用DMA方式(D)可以寻址,随机地读/写任意数据块4.利用通道实现了()之间数据的快速传输。
(A)CPU和外设(B)内存和CPU(C)内存和外设(D)外设和外设5.假脱机技术中,对打印机的操作实际上是用对磁盘存储实现的,用以替代打印机的部分是指()。
(A)共享设备(B)独占设备(C)虚拟设备(D)物理设备6.设从磁盘将一块数据传送到缓冲区所用时间为80μs,将缓冲区中数据传送到用户区所用时间为40μs,CPU处理数据所用时间为30μs,则处理该数据,采用单缓冲传送某磁盘数据,系统所用总时间为()。
(A)120μs (B)110μs(C)150μs (D)70μs7.对于速率为9.6KB/s的数据通信来说,如果说设置一个具有8位的缓冲寄存器,则CPU中断时间和响应时间大约分别为()。
(A)0.8ms,0.8ms (B)8ms,1ms(C)0.8ms,0.1ms (D)0.1ms,0.1ms8.在调试程序时,可以先把所有输出送屏幕显示而不必正式输出到打印设备,其运用了()。
(A)SPOOLing技术(B)I/O重定向(C)共享技术(D)缓冲技术9.设备驱动程序是系统提供的一种通道程序,它专门用于在请求I/O的进程与设备控制器之间传输信息。
下面的选项中不是设备驱动程序功能的是()。
(A)检查用户I/O请求的合法性(B)及时响应由控制器或通道发来的中断请求(C)控制I/O设备的I/O操作(D)了解I/O设备的状态,传送有关参数,设置设备的工作方式10.下列关于通道、设备、设备控制器三者之间的关系叙述中正确的是()。
(A)设备控制器和通道可以分别控制设备(B)设备控制器控制通道和设备一起工作(C)通道控制设备控制器,设备控制器控制设备(D)设备控制器控制通道,通道控制设备7.3.2、选择所有正确的答案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-27.3.3、判断正误,简要说明理由1.操作系统采用缓冲技术的缓冲池主要是通过硬件来实现的。
2.低速设备一般被设置成共享设备。
3.通道指令和一般机器的指令没有什么不同。
4.数组选择通道和数组多路通道可以支持多个通道程序并发执行,而字节多路通道不支持多个通道程度并发执行。
5.共享设备允许多个作业同时使用设备,即每一时刻可有多个作业在使用该共享设备,因而提高了系统设备资源的利用率。
6.由于设备分配中设置了若干数据结构,所以在设备分配中不会发生死锁。
7.I/O通道控制方式中不需要任何CPU干预。
8.先来先服务算法、优先级高者优先算法、时间片轮转算法等是经常在设备分配中采用算法。
9.由于独占设备在一段时间内只允许一个进程使用,因此,多个并发进程无法访问这类设备。
10.操作系统中应用的缓冲技术,多数通过使用外存来实现。
7.3.4、简答题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. 设备中断处理程序通常需完成哪些工作?7.5 考研试题精选及解析1.假设磁盘有100个柱面,编号0—99。
在完成了柱面25的请求后,当前正在处理43柱面的请求。
磁盘请求的柱面按38、6、40、2、20、22、10的次序到达磁盘驱动器,寻道每移动一个柱面需10ms,计算以下算法的总寻道时间。
(1)FCFS (2)最短寻道优先(3)电梯调度(西北工业大学2001年驱动调度题)2. 一个软盘有40个柱面,寻道时移过每个柱面花6ms。
若不采用文件块紧密存放措施,则逻辑上相邻的块平均间隔13个柱面,若采用文件块紧密存放措施,则逻辑上相邻的块平均间隔2个柱面。
假定读写时找到柱面后平均旋转延迟时间为100ms,传输速率为每块25ms,则在此两种情况下传输一个100块的文件各需多长时间? 华南理工大2001驱动调度题)3. 假如有4个记录A、B、C、D,顺序存放在磁盘的某磁道上,该磁道划分为4块,每块存放一个记录。
现在要顺序处理这些记录,如果磁盘的转速为20ms转一周,处理程序每读出一个记录后花5ms时间进行处理。
试问:处理完这4个记录需多少时间? 为了缩短处理时间应进行优化分布,试问应如何安排这些记录?并计算处理的总时间。
(上交大1995驱动调度题)解:优化前顺序存放A、B、C、D,处理总时间=(5+5)+ (5×3+5+5) + (5×3+5+5) + (5×3+5+5)=85ms优化后存放次序A、C、B、D,处理总时间=(5+5)+ (5+5) + (5+5+5) + (5+5)=45ms4. I/0软件一般分为四个层次:用户层、与设备无关的软件层、设备驱动程序以及中断处理程序。
试说明以下各个工作是在哪一层完成的?(1)向设备寄存器写命令;(2)检查用户是否有权使用设备;(3)将二进制整数转化成ASCII码以便打印。
(北京大学2000设备管理)解:I/O软件层次如下(1)在设备驱动程序。
(2)与设备无关的软件层。
(3) 用户层。
5.一个SPOOLing系统由输入进程I、用户进程P、输出进程O、输入缓冲区、输出缓冲区组成。
进程I通过输入缓冲区为进程P输入数据,进程P的处理结果通过输出缓冲区交给进程O输出。
进程间数据交换以等长度的数据块为单位,这些数据块均储在同一个磁盘上,因此,SPOOLing系统的数据块通信原语保证始终满足:i+O≤max其中,max为磁盘容量(以该数据块为单位),i为磁盘上输入数据块总数,O为磁盘上输出数据总数。
该SPOOLing系统运行时:(1)只要有输入数据,进程I终究会将它放入输入缓冲区;(2)只要输入缓冲区有数据块,进程P终究会输入、处理并产生结果数据写到输出缓冲区;(3)只要输出缓冲区有数据块,进程O终究会输出它。
请说明该SPOOLing系统在什么情况下死锁,请说明如何修正约束条件避免死锁,同时仍允许输入数据块和输出数据块存储在同一个磁盘上。
(浙江大学2001设备管理)解:类似2对生产者---消费者问题(如图,进程I和进程P,进程P和进程O)。
生产者进程I输入时,当输入缓冲有盘空区,便可输入并通知进程P处理,否则等待。
消费者进程P判断有无数据,有则处理,然后,判断有否输出缓冲盘空区?有则进程P这时成生产者进程,输出结果数据且通知进程O处理,否则等待。
消费者进程O根据输出缓冲区情况,决定是否输出。
由于I/O缓冲区同在一个有界缓冲区内(如设共100个盘块),则进程I和进程O的同步很重要,题中给出约束条件为:i+O≤max,但它不能保证系统安全性,可能会死锁。
如进程I若连续输入了100块数据,从而,因缓冲区满而阻塞,此时,i=100,o=0。
当进程P工作,从输入缓冲读数据,处理后准备放入输出缓冲区时,却因o=0也被阻塞。
进而进程O当然也无法执行,产生死锁。
为此,可再增加一个约束条件:i<100。
确保任一时刻,至少有一个空闲输出缓冲区可用,从而确保进程P和进程O可继续工作。