操作系统原理第七章设备管理有答案.docx
《操作系统原理第七章设备管理有答案.docx》由会员分享,可在线阅读,更多相关《操作系统原理第七章设备管理有答案.docx(16页珍藏版)》请在冰豆网上搜索。
![操作系统原理第七章设备管理有答案.docx](https://file1.bdocx.com/fileroot1/2023-2/4/f293fa1b-4cd7-4616-a3f0-f4c016eafc58/f293fa1b-4cd7-4616-a3f0-f4c016eafc581.gif)
操作系统原理第七章设备管理有答案
第七章设备管理
**习题
**、选择最合适的答案
1.在下面的I/O控制方式中,需要CPU干预最少的方式是()。
(A)程序I/O方式
(B)中断驱动I/O控制方式
(C)直接存储器访问DMA控制方式
(D)I/O通道控制方式
2.某操作系统中,采用中断驱动I/O控制方式,设中断时,CPU用1ms来处理中断请求,其它时间CPU完全用来计算,若系统时钟中断频率为100HZ,则,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μs
7.对于速率为9.6KB/s的数据通信来说,如果说设置一个具有8位的缓冲寄存器,则CPU中断时间和响应时间大约分别为()。
(A)0.8ms,0.8ms(B)8ms,1ms
(C)0.8ms,0.1ms(D)0.1ms,0.1ms
8.在调试程序时,可以先把所有输出送屏幕显示而不必正式输出到打印设备,其运用了()。
(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)设备控制器控制通道,通道控制设备
**、选择所有正确的答案
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.数组选择通道和数组多路通道可以支持多个通道程序并发执行,而字节多路通道不支持多个通道程度并发执行。
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.D2.D3.B4.C5.C6.C7.C8.B9.C10.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、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是数据从缓冲区传送到用户区的时间,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.答:
①输入输出井。
这是在磁盘上开辟两个大空间,一个是输入井,用来收容输入设备上的数据(模拟拖机输入的磁盘);另一个是输出井,用来收容用户进程的输出数据(模拟脱机输出的磁盘)。
②输入缓冲区和输出缓冲区。
这是内存中开辟的两个缓冲区,一个是输入缓冲区,暂存输入设备来的数据,以后再传送到输入井;另一个是输出缓冲区,暂存输出井送来的数据,以后传送到输出设备。
③输入进程和输出进程。
输入进程实现的是收容输入和提取输入。
在收容输入时,负责将输入设备的数据通过内存输入缓冲区转存到磁盘的输入井中;提取输入时,负责将磁盘输入井的数据送入内存用户区。
输出进程实现的是收容输出和提取输出,过程与输入过程相反。
④请求打印队列。
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运行环境。
③分析中断原因,转入相应的中断处理程序。
④进行中断处理。
⑤恢复被中断进程的现场。
**考研试题精选及解析
1.假设磁盘有100个柱面,编号0—99。
在完成了柱面25的请求后,当前正在处理43柱面的请求。
磁盘请求的柱面按38、6、40、2、20、22、10的次序到达磁盘驱动器,寻道每移动一个柱面需10ms,计算以下算法的总寻道时间。
(1)FCFS
(2)最短寻道优先(3)电梯调度(西北工业大学2001年驱动调度题)
解:
此类题应注意的移动方向,目前为由里到外(小到大)。
(1)FCFS
磁盘臂移动顺序为:
43—38—6—40—2--20--22—10
移动总数为141故总寻道时间为1410ms
(2)最短寻道优先
磁盘臂移动顺序为:
43—40—38—22—20—10—6--2
移动总数为29故总寻道时间为290ms
(3)电梯调度
磁盘臂移动顺序为:
43—40—38—22—20—10—6--2
移动总数为29故总寻道时间为290ms
2.一个软盘有40个柱面,寻道时移过每个柱面花6ms。
若不采用文件块紧密存放措施,则逻辑上相邻的块平均间隔13个柱面,若采用文件块紧密存放措施,则逻辑上相邻的块平均间隔2个柱面。
假定读写时找到柱面后平均旋转延迟时间为100ms,传输速率为每块25ms,则在此两种情况下传输一个100块的文件各需多长时间?
华南理工大2001驱动调度题)
解:
读第一块时平均移动20个柱面,需时20×6ms=120ms。
平均旋转延迟时间为100ms,传输速率为每块25ms,故读取第一块花时=120+100+25=245ms。
(1)不采用文件块紧密存放措施
从第二块起每块花时=13×6ms+100+25=203ms,故传输一个100块的文件需=245+99×203=20342ms=20.342s。
(2)采用文件块紧密存放措施
从第二块起每块花时=2×6ms+100+25=137ms,故传输一个100块的文件需=245+99×137=20342ms=13808ms=13.808s。
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)=45ms
4.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可继续工作。