复习
11.1列出并简单定义执行I/O的三种技术。
程序控制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 面向块的设备和面向刘的设备有何区别?各举一些例子
面向块的设备将信息保存在块中,块的大小通常是固定的,传送过程中一次传送一块。通常可以通过块号访问数据。磁盘和USB智能卡都是面向块的设备。(大多是辅存设备)
面向流的设备以字节流的方式输入/输出数据,它没有块结构。终端、打印机、通信端口、鼠标和其他指示设备以及其他大多数非辅存设备,都是属于面向流设备。
11.4为什么希望用双缓冲而非单缓冲来提高I/O的性能?
对于面向块的传送,我们可以粗略地估计执行时间为max[C,T]。因此,若C<= T,则有可能使面向块的设备全速运行;另一方面,若C>T,则双缓冲能确保该进程不需要等待I/O。
11.5在磁盘读或写时有哪些延迟因素?
寻道时间、旋转延迟、存取时间、传输时间
11.6简单定义图11.7中描述的磁盘调整策略
先进先出(FIFO):按顺序处理队列中的项目。
最短服务时间优先(SSTF):选择使磁头臂从当前位置开始移动最少的磁盘I/O请求。
SCAN(电梯算法):要求磁头臂仅沿一个方向移动,并在途中满足所有未完成的请求,直到它到达这个方向上的最后一个磁道。
C-SCAN(循环扫描):把扫描限定在一个方向上。因此,当访问到沿某个方向的最后一个磁道时,磁头臂返回到磁盘相反方向末端的磁道。
11.7简单定义7个RAID级别
RAID 0:条带化、非冗余
RAID 1:镜像、被镜像
RAID 2:并行访问、通过汉明码实现冗余
RAID 3:并行访问、交错位奇偶校验
RAID 4:独立访问、交错块奇偶校验
RAID 5:独立访问、交错块分布奇偶校验
RAID 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如果一个程序要访问n个设备,请概括总结出习题11.1的结论。
最佳比是(n+1)/ n
11.3 a. 使用类似表11.2的方式,分析下列磁道请求序列:27,129,110,186,147,41,10,64,120。假设磁头最初定位在磁道100处,并且沿着磁道号减小的方向移动。
FIFO | SSTF | SCAN | C-SCAN |
---|---|---|---|
下一个被访问的道数;横跨的磁间的磁道 | 下一个被访问的道数;横跨的磁间的磁道 | 下一个被访问的道数;横跨的磁间的磁道 | 下一个被访问的道数;横跨的磁间的磁道 |
27;73 | 110;10 | 64;36 | 64;36 |
129;102 | 120:10 | 41;23 | 41;23 |
110;19 | 129;9 | 27;14 | 27;14 |
186;76 | 147:18 | 10;17 | 10;17 |
147;39 | 186;39 | 110;100 | 186;176 |
41;106 | 64;122 | 120;10 | 147;39 |
10;31 | 41;23 | 129;9 | 129;18 |
64,54 | 27;14 | 147;18 | 120;9 |
120;56 | 10;17 | 186;39 | 110;10 |
平均寻到长度:61.8 | 平均寻到长度:29.1 | 平均寻到长度:29.6 | 平均寻到长度:38 |
b.假如磁头沿着磁道号增大的方向移动,请给出同样的分析。
SCAN | C-SCAN |
---|---|
下一个被访问的道数;横跨的磁间的磁道 | 下一个被访问的道数;横跨的磁间的磁道 |
110;10 | 110;10 |
120;10 | 120;10 |
129;9 | 129;9 |
147;18 | 147;18 |
186;39 | 186;39 |
64;122 | 10;176 |
41;23 | 27;17 |
27;14 | 41;14 |
10;17 | 64;23 |
平均寻道长度:29.1 | 平均寻道长度:35.1 |