您的当前位置:首页设备管理

设备管理

2022-02-28 来源:爱问旅游网
学习指导: 设备管理是操作系统中比较繁琐的内容,这首先由于设备种类繁多,I/O方式多样,设备驱动涉及比较复杂的专门处理程序。另外,设备I/O中断也是可能导致处理机切换的条件,这使本章内容与处理机分派程序(CPUdispatcher)具有密切联系。 在操作系统原理课程中,一般并不涉及具体设备的I/O驱动程序,这对透彻理解本章内容带来一定困难。如果可能,建议读者实际阅读一下UNIX系统第六版的设备管理程序,那些程序包括行式打印机等比较简单的外部设备。 本章的另外一个重要内容是缓冲技术,要认识缓冲池是有效的缓冲资源管理方法,块型设备缓冲与字符型设备缓冲在设置上的差别,利用buffering实现caching的技术。本质上来说,虚拟设备也是缓冲技术的一种应用。RAID技术是近年来普及的硬件冗余技术,主要解决硬件设备速度相对处理机速度增长过缓的矛盾。通过多硬件并行,可以提高硬件速度,同时提高可靠性。要认识RAID级别是相对独立定义的,level5是最常用的RAID级别。 习题解答: 1. 简略叙述I/O操作的演变过程:查询方式→中断方式→通道方式,并分析对于多道程序设计所带来的影响。 答:I/O操作最早为查询方式,将待传输的数据放入I/O寄存器并启动设备,然后反复测试设备状态寄存器直至完成。采用这种方式,处理机与设备之间是完全串行的。伴随设备中断处理机的能力,产生了中断I/O方式。CPU在启动设备后,可从事其它计算工作,设备与CPU并行,当设备I/O操作完成时,向CPU发送中断信号,处理机转去进行相应处理,然后可能再次启动设备传输。中断使多道程序设计成为可能:一方面中断使操作系统能够获得处理机控制权,另一方面通过I/O中断可以实现进程状态的转换。中断使处理机与设备之间的并行成为可能,但I/O操作通常以字节为单位,当设备很多时对处理机打扰很多,为此人们设计了专门处理I/O传输的处理机—通道。通道具有自己的指令系统,可以编写通道程序,一个通道程序可以控制完成许多I/O传输,只在通道程序结束时,才向处理机发生一次中断。 2. 通道与DMA之间有何共同点?有何差别? 答:通道与DMA都属于多数据I/O方式,二者差别在于:通道控制器具有自己的指令系统,一个通道程序可以控制完成任意复杂的I/O传输,而DMA并没有指令系统,一次只能完成一个数据块传输。 3. 下述设备的物理地址各是几维的?为什么在I/O操作之前通常使用一维地址? 一维地址与多维地址之间的对应关系是由硬件确定的,还是由操作系统确定的? (1) 磁盘组(2) 磁带(3) 光盘 答:(1) 磁盘组的物理地址是三维的;(2) 磁带的物理地址是一维的;(3) 光盘的物理地址是二维的。 为了屏蔽设备的具体特性,在I/O操作之前通常使用一维地址,一维地址与三维地址之间的对应关系通常由操作系统设计者来确定。 4.磁带机为何不适合用作共享型设备? 答:磁带机属于启停型设备,即使用时开启,不用时停止。用来记录信息的磁带一般很长,带上块号顺序编址,块的随机定位涉及磁带的机械运动,速度很慢,随机访问不连续的磁带块会造成较大的时间开销,这决定磁带属于顺序访问设备。顺序访问设备不适合用作共享型设备。 5.在下述三种类型通道中,哪种类型支持通道程序的并发执行? (1) 字节多路通道 (2) 数据选择通道 (3) 数组多路通道 答:(1) 字节多路通道(byte multiplexor channel):通道中含有许多非分配型子通道,每个子通道所连接的I/O设备以字节为单位,分时间地与通道交换数据,主要用于连接低速I/O设备,通道程序可以并发执行。 (2) 数组选择通道(block selector channel):其所连的I/O设备是以块为单位与通道交换数据。用于连接多台高速设备,但其中只有一个分配型子通道,在一段时间内只能执行一道通道程序。 (3) 数组多路通道(block multiplexor channel):所连外部设备以块为单位与通道交换数据. 用于连接多台高速设备,允许几个通道程序分时并行工作。 6.用户申请独占型设备为何不指定具体设备,而仅指定设备类别? 答:进程申请独占型设备资源时,应当指定所需设备的类别,而不是指定某一具体的设备编号,系统根据当前请求以及资源分配情况在相应类别的设备中选择一个空闲设备并将其分配给申请者,这称作设备无关性。这种分配方案具有如下两个优点: (1) 提高设备资源利用率,假设申请者指定具体设备,被指定的设备可能正被占用,因而无法得到,而其它同类设备可能空闲,造成资源浪费和进程不必要的等待;(2) 程序与设备无关,假设申请者指定具体设备,而被指定设备已坏或不联机,则需要修改程序。 7.为何不允许用户程序直接执行设备驱动指令? 答:(1)系统中的设备可能被多个进程所共享,例如磁盘就是这样的设备。如果允许用户程序直接执行设备驱动指令,那么就有可能损坏设备。(2)设备操作涉及很复杂的驱动过程,一般用户编写驱动程序是很大的负担,操作系统的目标是方便用户使用计算机系统,因而提供标准驱动程序。 8.何谓“磁道歧视”? 假设每个磁道各有一个磁头,是否还存在磁道歧视问题? 答:在最短查找时间优先(SSTF)等磁盘引臂调度算法中,磁头引臂可能长时间停留在磁盘的某些磁道局部,而不光顾另外一些磁道。例如,某一时刻外磁道请求不断,则内磁道请求可能长时间得不到满足,这种现象称为“磁道歧视”(track discrimination)。假若每个磁道各有一个磁头,则不存在磁道歧视问题。 9.处理机与通道之间是如何通讯的? 通道与处理机之间呢? 答:通道与处理机之间相对独立,通道程序的执行可与处理机的操作并行;因为一个系统中可能有多个通道,这些通道也可并行地执行相应的通道程序。通常,通道程序形成之后,处理机将通道程序的起始地址放到内存指定单元处,然后执行通道启动指令使通道开始工作。通道被启动之后由指定单元取来通道程序的起始地址,并放入通道地址字CAW中,由此依次地执行各条通道指令。当通道程序执行完毕,或执行到通道结束指令时,产生通道中断信号,该信号发给处理机,处理机响应中断后取出中断字,分析中断原因并进行相应的中断处理。 10. 说明下列术语之间的对应关系 (1) I/O设备(2) I/O驱动程序(3) I/O进程 答:一般来说,一个I/O驱动程序与多个同类设备相对应,一个I/O设备与一个I/O进程对应。 11. 什么叫缓冲(buffering)? 缓冲与缓存(caching)有何差别? 答:利用存储区缓解数据到达速度与离去速度不一致而采用的技术称为缓冲,此时同一数据只包含一个拷贝。例如,操作系统以缓冲方式实现设备的输入和输出操作主要是缓解处理机与设备之间速度不匹配的矛盾,从而提高资源利用率和系统效率。缓存是为提高数据访问速度而将部分数据由慢速设备预取到快速设备上的技术,此时同一数据存在多个拷贝。例如, 远程文件的一部分被取到本地。当然,在有些情况下,缓冲同时具有缓存的作用。例如UNIX系统对于块型设备的缓冲区,在使用时可保持与磁盘块之间的对应关系,既有缓冲的作用也有缓存的作用,通过预先读与延迟写技术,进一步提高了I/O效率。 12. 与为每个设备配置一个(或若干个)缓冲区相比,采用可为多个设备共用的缓冲池有何优点? 答:将一个缓冲区与一个固定的设备相联系,不同设备使用不同的缓冲区,这种缓冲区管理模式称为私用缓冲。私用缓冲利用率低,某一执行I/O传输的设备,其私用缓冲区可能不够,而另外未执行I/O操作的设备,其私用缓冲区被闲置导致浪费。 为提高缓冲区的利用率,通常不将缓冲区与某一个具体设备固定地联系在一起,而是将所有缓冲区集中起来加以管理,按需要动态分派给正在进行I/O传输的设备,系统中的共用缓冲区集合被称为缓冲池(buffer pool)。 13. 在系统中缓冲区空间总长度固定的前提下,一个缓冲区过大或过小各有何优点和缺点? 答:缓冲区过大会造成资源浪费(平均浪费半个缓冲区容量),但是能减少I/O传输次数;缓冲区过小则会因I/O传输次数增多而增加系统开销,另外缓冲区过小会引缓冲链指针过多而浪费缓冲空间。 14.假设要修改某一磁盘块上的一部分,而其它部分保持原内容不变,应当如何做? 答:首先将该磁盘块内容读入内存缓冲区,然后在内存中修改相关内容,最后将修改后的缓冲区完整地回写到磁盘中。 15. 某磁盘组共有200个柱面,由外至内依次编号为0,…,199。I/O请求以10,100,191,31,20,150,32的次序到达,假定引臂当前位于柱面98处,对FCFS,SSTF,SCAN,C-SCAN,LOOK,C-LOOK 引臂调度算法分别给出寻道示意图,并计算总移动量.对SCAN和LOOK算法,假定引臂当前移动方向由外向内。对LOOK算法假定回扫方向由内向外。 FCFS引臂调度算法寻道示意图 总移动量=(98-10)+(100-10)+(191-100)+(191-31)+(31-20)+(150-20)+(150-32)=88+90+91+160+9+130+118=686 SSTF引臂调度算法寻道示意图 总移动量=(100-98)+(150-100)+(191-150)+(191-32)+(32-31)+(31-20)+(20-10)=2+50+41+159+1+9+10=272 SCAN引臂调度算法寻道示意图 总移动量=(100-98)+(150-100)+(191-150)+(199-191)+(199-32)+(32-31)+(31-20)+(20-10)=2+50+41+8+167+1+9+10=288 LOOK引臂调度算法寻道示意图 总移动量=(100-98)+(150-100)+(191-150)+(191--32)+(32-31)+(31-20)+(20-10)=2+50+41+167+1+9+10==272 C-SCAN引臂调度算法寻道示意图 总移动量=(100-98)+(150-100)+(191-150)+(199-191)+(10-0)+(20-10)+(31-20)+(32-31)=2+50+41+8+10+10+9+1=131 C-LOOK引臂调度算法寻道示意图 总移动量=(100-98)+(150-100)+(191-150)+(20-10)+(31-20)+(32-31)=2+50+41+10+9+1=113 16. 假设没有输入井,可采用何种作业调度算法? 答:如果没有输入井,只能采用先到先服务(FCFS)作业调度算法。 17. 为什么提出RAID技术?RAID技术如何提高I/O性能? 答:这是因为硬件技术发展具有一定的不平衡性。处理机速度提高很快,通常以指数数量级别,大约每隔18个月速度提高一倍,而磁盘速度的提高相对极其缓慢。磁盘的速度瓶颈是磁头引臂的移动速度。解决问题的出路是并行部件和并行存取技术,多磁盘同时操作。 RAID是一个物理磁盘的集合,作为一个逻辑磁盘管理和使用。数据被分散存于多个物理磁盘上,校验等冗余信息用于提高信息存取的可靠性。 18. RAID level5是常用的RAID级别,分析其性能和实现代价。 答:将数据分条(stripping),并存于不同磁盘上,同时将检验位分散存于各个磁盘上,磁盘数量至少为三个。对于数量为N的磁盘阵列,有效存储容量为S′(N-1)/N,其中S为单盘容量。这个级别磁盘阵列利用率较高,任意一个磁盘发生故障,可根据其它N-1个磁盘进行恢复,可靠性高,访问速度快,是最常见的磁盘阵列组织形式。 19. 独占型设备利用率低的原因何在? 虚拟技术为何能提高独占型设备的利用率? 输入型和输出型虚拟设备各是如何实现的? 答:用户直接使用独占型设备的方式是在申请命令与释放命令之间进程将一直占用所申请到的独占型设备,这种设备使用方式有如下两个主要缺点:(1)由于独占型设备速度较慢,进程在执行使用命令时需要花费较长时间等待I/O传输完成,因而影响进程推进速度;(2)由于在各个使用命令之间可能夹杂着与该设备无关的操作(如计算、操作其它设备等),进程在占有该设备的期间内不一定一直使用该设备,因而降低了设备的利用率。为克服上述缺点,引入了虚拟设备。利用共享型设备实现的数量较多、速度较快的独占型设备称为虚拟设备。其基本思想是在独占型设备与内存进程之间加入一个共享型设备作为过渡,因为共享型设备速度很快,所以进程I/O传输所需等待时间较短,提高了进程推进速度。另外由于信息在独占型设备与共享型设备之间的传输是连续进行的,即独占型设备被占用期间一直被使用,因而提高了设备资源的利用率。 (1)输入型虚拟设备实现 对于输入型虚拟设备来说,信息的流向是由独占型设备到共享型设备,再由共享型设备到进程空间。假定用于输入的独占型设备为读卡机,用于实现虚拟设备的共享型设备是磁盘。 对于进程所发出的申请命令、使用命令及释放命令,系统所需完成的工作如下: 申请:分配一台虚拟设备(盘区),分配一台实设备(读卡机),将信息由实设备(读卡机)连续地传输到虚拟设备(盘区),释放实设备(读卡机)。 使用:将信息由虚拟设备(盘区)传输到进程空间。 释放:收回虚拟设备(盘区)。 (2)输出型虚拟设备实现 对于输出型虚拟设备来说,信息的流向是由进程空间到共享型设备,再由共享型设备到独占型设备. 假定用于输出的独占型设备为打印机,用于实现虚拟设备的共享型设备是磁盘. 对于进程所发出的申请命令、使用命令及释放命令,系统所需完成的工作如下: 申请:分配一台虚拟设备(盘区)。 使用:将信息由进程空间传输到虚拟设备(盘区)。 释放:分配一台实设备(打印机),信息全部由虚拟设备传输到实设备(打印机),收回实设备(打印机),收回虚拟设备(盘区域)。 20.什么是稳定存储器?为什么需要稳定存储器?如何实现稳定存储器? 答:不丢失信息的存储器称为稳定存储器。 在事务处理中,需要将日志(log)预先写到稳定存储器中,稳定存储器中的内容是不会被丢失的,它是恢复的前提条件。并不存在绝对稳定可靠的存储介质,我们只能在诸如磁盘等相对稳定可靠的存储介质上利用多副本冗余技术来构造稳定存储器。通常的做法是:在两种失效独立(failure independent)的存储介质上构建稳定存储器,稳定存储器的稳定性取决于这两种存储介质同时发生错误的概率,当这个概率为0时,稳定存储器才是真正稳定的。

因篇幅问题不能全部显示,请点此查看更多更全内容