操作系统课后答案第六章

                       **操作系统课后答案**

第六章 输入输出系统
1、试说明I/O系统的基本功能.
答:(1)隐藏物理设备的细节(2)与设备的无关性(3)提高处理机和I/O设备的利用率(4)对I/O设备进行控制(5)确保对设备的正确共享(6)错误处理
第一,二方面的功能是为了方便用户使用I/O设备;第三,四方面的功能是用于提高CPU和I/O设备的利用率;第五,六方面的功能是为用户在共享设备时提供方便,以保证系统能有条不紊的运行,当系统发生错误时能及时发现错误,甚至能自动修正错误
2、简要说明I/O软件的四个层次的基本功能
答:(1)用户层软件:实现与用户交互的接口,用户可直接调用该层所提供的,与I/O操作有关的库函数对设备进行操作(2)设备独立性软件:用于实现用户程序与设备驱动器的统一接口,设备命名,设备的保护以及设备的分配与释放等,同时为设备管理和数据传送提供必要的存储空间(3)设备驱动程序:用于具体实现系统对设备发出的操作指令,驱动I/O设备工作的驱动程序(4)中断处理程序:用于保存被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完毕再恢复被中断进程的现场后,返回到被中断的进程
3、I/O系统接口与软件/硬件(RW/HW)接口分别是什么接口?
答:I/O系统接口是I/O系统与上层系统之间的接口,向上层提供对设备进行操作的抽象I/O命令,以方便高层对设备的使用;软件/硬件(RW/HW)接口的上面是中断处理程序用于不同设备的设备驱动程序,它的下面是各种设备的控制器.
4、与设备无关性的基本含义是什么?为什么要设置该层?
答:(1)为了提供OS的可适应性和可扩展性,在现代OS中都毫无例外地实现了设备独立性,也称设备无关性(2)基本含义:应用程序独立于具体使用的物理设备,为了实现设备独立性而引入了逻辑设备和物理设备两概念.在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称.
优点:1.设备分屏时的灵活性2.易于实现I/O重定向(用于I/O操作的设备可用更换(即重定向)前不必改变应用程序
5、试说明设备控制器的组成.
答:设置控制器与处理机的接口;设备控制器与设备的接口;I/O逻辑
6、为了实现CPU与设备控制器间的通信,设备控制器用具备哪些功能?
答:基本功能:接收和识别命令;数据交换;标识和报告设备的状态;地址识别;数据缓冲;差错控制
7、什么是内存映像I/O?它是如何实现的?
答:(1)驱动程序将抽象I/O命令转换出的一系列具体的命令,参数等数据装入设备控制器的相应寄存器,由控制器来执行这些命令,具体实施对I/O的控制(2)方式:利用特定的I/O指令,内存映像I/O
8、为什么说中断是OS赖以生存的基础?
答:中断在操作系统中有着特殊重要的地位,它是多道程序得以实现的基础,没有中断,就不可能实现多道程序,因为进程之间的切换是通过中断来完成的.另外一方面,中断也是设备管理的基础,为了提高处理机的利用率和实现CPU和I/O设备并执行,也必需有中断支持.中断处理程序是I/O系统中最低的一层,是整个I/O系统中最低的一层
9、对多中断源的两种处理方式分别用于何种场合?
答:1)屏蔽(禁止)中断:当处理机正在处理一个中断时,将屏蔽掉所有的中断,直到处理机已处理完本次中断,再去检查是否有中断产生,所有中断按顺序处理. 优点:简单,但不能用于实时性要求较高的中断请求
2)嵌套中断:在设置了中断优先级的系统中,当同时有多个不同优先级的中断请求,CPU优先响应优先级最高的中断请求,高优先级的中断请求可抢占正在运行的低优先级的处理机
10、设备中断处理程序通常需完成哪些工作?
答:1.唤醒被阻塞的驱动进程2.保护被中断进程的CPU环境3.转入相应的设备处理程序4.中断处理5.恢复被中断进程的现场
11、简要说明中断处理程序对中断进行处理的几个步骤.
答:1.测定是否有未响应的中断信号2.保护被中断进程的CPU环境3.转入相应的设备处理程序4.中断处理5.恢复CPU的现场并退出中断
12、试说明设备驱动程序具有哪些特点.
答:(1)将接收到的抽象要求转为具体要求(2)检查用户I/O请求合法性,了解I/O设备状态,传递有关参数,设置设备工作方式(3)发出I/O命令,启动分配到的I/O设备,完成指定I/O操作(4)及时响应由控制器或通道发来的中断请求,根据中断类型调用相应中断处理程序处理(5)对于由通道的计算机,驱动程序还应根据用户I/O请求自动构成通道程序
13、设备驱动程序通常要完成哪些工作?
答:(1)将接收到的抽象要求转为具体要求(2)检查用户I/O请求合法性,了解I/O设备状态,传递有关参数,设置设备工作方式(3)发出I/O命令,启动分配到的I/O设备,完成指定I/O操作(4)及时响应由控制器或通道发来的中断请求,根据中断类型调用响应中断处理程序处理(5)对于由通道的计算机,驱动程序还应该根据用户I/O请求自动构成通道程序
14、简要说明设备驱动程序的处理过程可分为哪几步.
答:1)将抽象要求转换为其具体要求2)对服务请求进行校验3)检查设备的状态4)传递必要的参数
15、试说明推动I/O控制发展的主要因素是什么.
答:促使I/O控制不断发展的几个主要因素如下:a.尽量减少CPU对I/O控制的干预,把CPU从繁杂的I/O控制器中解脱处理,以便更多地去完成数据处理任务.b.缓和CPU的高速性和设备的低速性之间速度不匹配的矛盾,以提高CPU的利用率和系统的吞吐量.c.提高CPU和I/O设操作的并行程度,使CPU和I/O设备都处于忙碌状态,从而提高整个系统的资源利用率和系统吞吐量
16、有哪几种I/O控制方式?各适用于何种场合?
答:(1)I/O控制方式:程序I/O方式,中断驱动I/O控制方式,DMA I/O控制方式,I/O通道控制方式.(2)程序I/O适用于早期的计算机系统中,并且是无中断的计算机系统;中断驱动I/O控制方式是普通用于现代的计算机系统中,DMA I/O控制方式适用于I/O设备为块设备时在和主机进行数据交换的一种I/O控制方式;当I/O设备和主机进行数据交换是一组数据块时通常采用I/O通道控制方式,但此时要求系统必须配置相应的道路及通道控制器
17、试说明DMA的工作流程.
答:以从磁盘读入数据为例,说明DMA的工作流程。当CPU要从磁盘读入数据块时,先向磁盘控制器发送一条读命令。 该命令被送到命令寄存器CR中。同时还发送本次要读入数据的内存起始目标地址,送入内存地址寄存器MAR;本次要读数据的字节数送入数据计数器DC,将磁 盘中的源地址直接送DMA控制器的I/O 控制逻辑上。然后启动DMA 控制器传送数据,以后CPU 便处理其它任务。整个数据传送过程由DMA控制器控制。下图为DMA方式的工作流程图。
18、为何要引入与设备的无关性?如何实现设备的独立性?
答:现代操作系统为了提高系统的可适应性和可扩展性,都实现了设备独立性或设备无关性。基本含义是应用程序独立于具 体使用的物理设备,应用程序以逻辑设备名请求使用某类设备。实现了设备独立性功能可带来两方面的好处:(1)设备分配时的灵活性;(2)易于实现I/O 重定向。 为了实现设备的独立性,应引入逻辑设备和物理设备概念。在应用程序中,使用逻辑设备名请求使用某类设备;系统执行时 是使用物理设备名。鉴于驱动程序是与硬件或设备紧密相关的软件,必须在驱动程序之上设置一层设备独立性软件,执行所有设备的公有操作、完成逻辑设备名到物 理设备名的转换(为此应设置一张逻辑设备表)并向用户层(或文件层)软件提供统一接口,从而实现设备的独立性。
19、与设备的无关的软件中,包括了哪些公有操作的软件?
答:1、设备驱动程序的统一接口2、缓冲管理3、差错控制4、对独立设备的分配与回收5、独立于设备的逻辑数据块
20、在考虑到设备的独立性时,应如何分配独占设备?
答:(1)进程以逻辑设备名提出I/0请求。(2)根据逻辑设备表相应表项获得I/0请求的逻辑设备对应类型的物理设备在系统设备表中的指针。(3)从指针所指位置起顺序检索系统设备表,直到找到一个属于对应I/0请求所用类型、空闲可用且基于设备分配安全性算法验证为安全分配的设备的设备控制表,将对应设备分配给请求进程;如果未找到安全可用的空闲设备,则把请求进程的进程控制块挂到相应类型设备的等待队列上等待唤醒和分配。
(4)系统把设备分配给I/0请求进程后,再到该设备的设备控制表中找出与其相连接的控制器的控制器控制表,根据其状态字段判断该控制器是否忙碌,若忙则把请求进程的进程控制块挂到该控制器的等待队列上;否则将该控制器分配给进程。(5)系统把控制器分配给I/0请求进程后,再到该控制器的控制器控制表中找出与其相连接的通道的通道控制表,根据其状态字段判断该通道是否忙碌,若忙则把请求进程的进程控制块挂到该通道的等待队列上:否则将该通道分配给进程。(6)只有在设备、控制器和通道三者都分配成功时,这次的设备分配才算成功,然后便可启动设备进行数据传送。
21、何谓设备虚拟?实现设备虚拟时所依赖的关键技术是什么?
答:通过虚拟技术可将一台独占设备变换成若干台逻辑设备,供若干个用户(进程)同时使用,通常把这种经过虚拟技术处理后的设备称为虚拟设备.其实所依赖的关键数据是SPOOLING技术
22、在实现后台打印时,SPOOLing系统应为请求I/O的进程提供哪些服务?
答:1.由输出进程在输出并中为之申请一空闲盘块区,并将要打印的数据送入其中;2.输出进程再为用户进程申请一张空白的用户打印表,并将用户的打印要求填入其中,再将该表挂到请求打印队列上;3.一旦打印机空闲,输出进程便从请求打印队列的队首取出一张请求打印表,根据表中的要求将要打印的数据从输出并传送到内存缓冲区,再由打印机进行打印
23、假脱机系统向用户提供共享打印机的基本思想是什么?
答:对每个用户而言,系统并非即时执行其程序输出数据的真实打印操作,而只是即时将数据输出到缓冲区,这时的数据并未真正被打印,只是将用户感觉系统已为他打印;真正的打印操作,是在打印机空闲且该打印任务在等待队列中已排到队首时进行的;以上过程是对用户屏蔽的,用户是不可见的
24、引入缓冲的主要原因是什么?
答:缓和CPU与I/O设备之间速度不匹配的矛盾;减少对CPU的中断频率;放宽对中断响应时间的限制;解决数据力度不匹配的问题;提高CPU和I/O设备之间的并行性
25、在单缓冲情况下,为什么系统对一块数据的处理时间是max(C,T)+M?
答:在块设备输入时,假定从磁盘把一块数据输入到缓冲区的时间为T;操作系统将缓冲区数据传送给用户区的时间为M;而CPU对这一块数据进行计算的时间为C.在单缓冲情况下,由于设备的输入操作和CPU的处理操作可以并行,所以系统对每一整块数据的处理时间为max(C,T)+M
26、为什么在双缓冲情况下,系统对一块数据的处理时间为max(T,C)?
答:该方式又称缓冲兑换方式,在设备输入时,先将数据送入第一缓冲区,装满后使转向第二缓冲区,此时操作系统可以从第一缓冲区移出数据,并送入用户进程.接着由CPU对数据进行计算.在双缓冲区中,不仅设备的输入操作和CPU的处理操作可以并行,设备的输入操作和数据的传送操作也可以并行,因此耗时大约为max(C+M,T).考虑到M是内存中数据块的"搬家"耗时,非常短暂可以省略,因此近似地认为是:max(C,T)
27、试绘图说明把多缓冲用于输出时的情况.
28、试说明收容输入工作缓冲区和提取输出工作缓冲区的工作情况.
答: ① 收容输入工作缓冲区的工作情况为:在输入进程需要输入数据时,调用GetBuf(EmptyQueue)过程,从EmptyQueue队列的队首摘下一个 空缓冲区,作为收容输入工作缓冲区Hin。然后把数据输入其中,装满后再调用 PutBuf(InputQueue, Hin)过程,将该缓冲区挂在输入队列InputQueue的队尾。 ② 提取输出工作缓冲区的工作情况为:当要输出数据时,调用 GetBuf(OutputQueue)过程,从输出队列的队首取得一装满输出数据的缓冲区作为提 取输出工作缓冲区Sout。在数据提取完后,再调用PutBuf(f(EmptyQueue, Sout))过程,将该缓冲区挂到空缓冲队列EmptyQueue的队尾。
29、何谓安全分配方式和不安全分配方式?
答: ① 安全分配方式是指每当进程发出I/O 请求后,便进入阻塞状态,直到其I/O 操作完成时才被唤醒。在采用这种分配策略时,一旦进程已获得某种设备资源后便阻塞,使它不可能再请求任何资源,而在它运行时又不保持任何资源。这种分配方 式已经摒弃了造成死锁的“请求和保持”条件,分配是安全的。缺点是进程进展缓慢,CPU与I/O 设备串行工作。 ②不安全分配方式是指进程发出I/O 请求后仍继续执行,需要时又可发出第二个I/O 请求、第三个I/O 请求。仅当进程请求的设备已被另一个进程占有时,进程才进入阻塞状态。优点是一个进程可同时操作多个设备,进程推进迅速。缺点是分配不安全,可能具有“请 求和保持”条件,可能造成死锁。因此,在设备分配程序中需增加一个功能,用于对本次的设备分配是否会发生死锁进行安全性计算,仅当计算结果表明分配安全的 情况下才进行分配。
30、磁盘访问时间由哪几部分组成?每部分时间应如何计算?
答:磁盘访问由寻道时间Ts,旋转延迟时间Tr,传输时间T二部分组成
(1)Ts 是启动磁臂s与磁头移动n条磁道的时间和,即Ts=mxn+s.
(2)Tr是指定扇区移动到磁头下面所经历的时间,硬盘15000r/min时Tr为2ms;软盘300或600r/min时Tr为50~100ms.
(3)Tt是指数据从磁盘读出或向磁盘写入经历的时间,Tt的大小与每次读/写的字节数b和旋转速度有关,Tt=b/rN
31、目前常用的磁盘调度算法有哪几种?每种算法优先考虑的问题是什么?
答:目前常用的磁盘调度算法有FCFS,SSTF,SCAN(1)先来先服务算法优先考虑进程请求访问磁盘的先后次序;(2)最短寻道时间优先算法考虑要求访问的磁道与当前磁头所在磁道距离是否最近;(3)扫描算法考虑欲访问的磁道与当前磁道间的距离,更优先考虑磁头当前的移动方向。

  • 17
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值