2024年5月31日发(作者:)
精品文档
第十一章 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:磁头臂仅仅沿一个方向移动,并在途中满足所有未完成的请求,直到
。
1
欢迎下载
精品文档
它到达这个方向上最后一个磁道,或者在这个方向上没有其他请求为止。
接着反转服务方向,沿相反方向扫描,同样按顺序完成所有请求。
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
。
2
欢迎下载
发布评论