第十一章 I/O管理和磁盘调度
复习题
11.1列出并简单定义执行I/O的三种技术。
·可编程I/O:处理器代表进程给I/O模块发送给一个I/O命令,该
进程进入忙等待,等待操作的完成,然后才可以继续执行。
·中断驱动I/O:处理器代表进程向I/O模块发送一个I/O命令,然
后继续执行后续指令,当I/O模块完成工作后,处理器被该模块中断。如果该进程不需要等待I/O完成,则后续指令可以仍是该进程中的指令,否则,该进程在这个中断上被挂起,处理器执行其他工作。 ·直接存储器访问(DMA):一个DMA模块控制主存和I/O模块之间的
数据交换。为传送一块数据,处理器给DMA模块发送请求,只有当整个数据块传送完成后,处理器才被中断。
11.2逻辑I/O和设备I/O有什么区别?
·逻辑I/O:逻辑I/O模块把设备当作一个逻辑资源来处理,它并不
关心实际控制设备的细节。逻辑I/O模块代表用户进程管理的一般I/O功能,允许它们根据设备标识符以及诸如打开、关闭、读、写之类的简单命令与设备打交道。
·设备I/O:请求的操作和数据(缓冲的数据、记录等)被转换成适
当的I/O指令序列、通道命令和控制器命令。可以使用缓冲技术,以提高使用率。
11.3面向块的设备和面向流的设备有什么区别?请举例说明。 面向块的设备将信息保存在块中,块的大小通常是固定的,传输过程中
一次传送一块。通常可以通过块号访问数据。磁盘和磁带都是面向块的设备。
面向流的设备以字节流的方式输入输出数据,其末使用块结构。终端、
打印机通信端口、鼠标和其他指示设备以及大多数非辅存的其他设备,都属于面向流的设备。
11.4为什么希望用双缓冲区而不是单缓冲区来提高I/O的性能?
双缓冲允许两个操作并行处理,而不是依次处理。典型的,在一个进
程往一个缓冲区中传送数据(从这个缓冲区中取数据)的同时,操作系统正在清空(或者填充)另一个缓冲区。
11.5在磁盘读或写时有哪些延迟因素? 寻道时间,旋转延迟,传送时间
11.6简单定义图11.7中描述的磁盘调度策略。
FIFO:按照先来先服务的顺序处理队列中的项目。
SSTF:选择使磁头臂从当前位置开始移动最少的磁盘I/O请求。
SCAN:磁头臂仅仅沿一个方向移动,并在途中满足所有未完成的请求,直到
它到达这个方向上最后一个磁道,或者在这个方向上没有其他请求为止。接着反转服务方向,沿相反方向扫描,同样按顺序完成所有请求。 C-SCAN:类似于SCAN,
11.7简单定义图7层RAID。 0:非冗余
1:被镜像;每个磁盘都有一个包含相同数据的镜像磁盘。 2:通过汉明码实现冗余;对每个数据磁盘中的相应都计算一个错误校正码,并且这个码位保存在多个奇偶校验磁盘中相应的文件。
3:交错位奇偶校验;类似于第二层,不同之处在于RAID3为所有数据磁盘中同一位置的位的集合计算一个简单的奇偶校验位,而不是错误校正码。 4:交错块分布奇偶校验;对每个数据磁盘中相应的条带计算一个逐位奇偶。 5:交错块分布奇偶校验;类似于第四层,但把奇偶校验条带分布在所有磁盘中。
6:交错块双重分布奇偶校验;两种不同的奇偶校验计算保存在不同磁盘的不同块中。
11.8典型的磁盘扇区大小是多少? 512比特
习题
11.1考虑一个程序访问一个I/O设备,并比较无缓冲的I/O和使用缓冲区的I/O。
说明使用缓冲区最多可以减少2倍的运行时间。
如果计算的时间正好等于它的I/O时间(它是最佳环境),操作者和外围设备同时运行。如果单独运行,只要花费他们的一半时间,设C是整个程序的计算时间,T为所要求总的I/O时间,因而寄存器最好的运行时间是 max(C,T),不需要寄存器的运行时间是C+T, 显然((C+T)/2)≤max(C,T)≤(C+T).
11.2把习题11.1的结论推广到访问n个设备的程序中。 最佳比是(n+1)﹕n
11.3使用与表11.2类似的方式,分析下列磁道请求:27,129,110,186,147,
41,10,64,120。假设磁头最初定位在磁道100处,并且沿着磁道号减小的方向移动。假设磁头沿着磁道增大的方向移动,请给出同样的分析。 FIFO SSTF SCAN C-SCAN 下一个被访问的磁道 横跨的磁道数 下一个被访问的磁道 110 横跨的磁道数 下一个被访问的磁道 64 横跨的磁道数 下一个被访问的磁道 64 横跨的磁道数 36 27 129 110 186 147 41 10 64 120 平均寻道长度 73 10 36 102 19 76 39 106 31 54 56 61.8 120 129 147 186 64 41 27 10 平均寻道长度 10 9 18 39 122 23 14 17 29.1 41 27 10 110 120 129 147 186 平均寻道长度 23 14 17 100 41 27 10 186 147 129 120 110 平均寻道长度 23 14 17 176 39 18 9 10 38 10 9 18 39 29.6 如果磁头沿着增大的方向,只有SCAN和C-SCAN的结果有变化
SCAN C-SCAN