? 缓和CPU与I/O设备间速度不匹配的矛盾
? 减少对CPU的中断频率,放宽对中断响应时间的限制 ? 提高CPU与I/O设备之间的并行性
10.缓冲管理的方法:单缓冲、双缓冲、循环缓冲、缓冲池
11.I/O软件的设计目标和原则
? 与具体设备无关 ? 统一命名 ? 错误处理 ? 缓冲技术 ? 设备分配与释放 ? I/O控制方式
12.中断处理程序
? 唤醒被阻塞的驱动程序 ? 保护被中断进程CPU环境 ? 转入相应的设备处理程序 ? 中断处理
? 恢复被中断进程现场
13.设备分配:独享设备、共享设备、虚拟设备 分配方式:静态分配、动态分配
分配算法:先来先服务、优先级高者优先
安全分配方式:进程发出I/O申请后,即进入阻塞状态,直到I/O操作完成 优点:不会引起死锁 优点:进程执行较快
14.SPOOLING技术:脱机操作 特点:
? 提高I/O速度
? 将独占设备改造为共享设备(如打印机) ? 实现了虚拟设备功能
15.磁盘访问时间 (1)寻道时间Ts=m*n+s s:磁盘启动时间
m: 递进一个磁道时间(约0.2ms,高速<0.1ms) (2)旋转延迟时间Tr = 1/(2r)
对于硬盘,典型转速为90/s,Tr=5.55ms 对于软盘,典型转速为10/s,Tr=50ms (3)传输时间Tt = b/(rN)
r: 磁盘旋转速度
(将数据读出/写入磁盘经历的时间)
n: 当前磁道与指定磁道距离
(将磁头位移至指定扇区经历的时间)
(将磁头位移至指定磁道经历的时间)
缺点:进程执行缓慢
缺点:可能造成死锁(先进行安全性分析)
不安全分配方式:进程发出I/O申请后,继续运行;如果还需要I/O设备,再提出申请
N: 单磁道上的字节数 b: 读出/写入的字节数
磁盘访问时间Ta= Ts + Tr + Tt 16.磁盘调度算法
(1)先来先服务(FCFS)
依据进程请求访问磁盘的先后次序进行调度
优点:简单,每个请求都能依次得到处理 缺点:平均寻道距离较大
(2)最短寻道时间优先(SSTF) 依据访问磁道与当前磁道最近原则
优点:平均寻道时间较短
缺点:会导致某些进程发生“饥饿”现象,磁头有可能长期停留在同一磁道上(磁臂粘着) (3)扫描调度算法(SCAN)
优点:不会出现进程“饥饿”现象;平均访问寻道时间较短 缺点:与磁头近但在磁头运动反方向的磁道等待时间长
磁头有可能长期停留在同一磁道上(磁臂粘着)
(4)循环扫描调度算法(CSCAN)
到达最外磁道后,返回最小磁道开始SCAN算法
优点:
不会出现进程“饥饿”现象 平均访问寻道时间较短
最长等待时间较SCAN短(一半)
缺点: 磁头有可能长期停留在同一磁道上(磁臂粘着)
(5)FSCAN算法
? 将磁盘访问请求进程分成两个队列:当前申请队列和扫描期间申请队列 ? 用SCAN或CSCAN算法处理所有当前申请队列中进程对磁盘的访问请求 ? 将扫描期间申请队列中的进程,移入当前申请队列
(6)N-Step-SCAN算法
1. 将磁盘访问请求进程分成若干个长度为N的子队列 2. 依次按FCFS算法处理这些子队列
3. 每个子队列中的进程请求,则按SCAN或CSCAN算法进行调度处理 ? 当N=1,则算法退化为FCFS
? 当N=∞,则算法退化为SCAN或CSCAN 练习
假设一活动头磁盘有200个磁道,编号从0-199。当前磁头正在127道服务,并刚刚完成了92道的请求。现有如下访盘请求序列(磁道号):82,110,132,177,94,56,106,87,150。试给出采用扫描调度(SCAN)算法,磁头移动的顺序和移动总量(总磁道数)。
SCAN,方向向外 请求访问次序 1 2 3 4 5 6 7 8 9 平均寻道
CSCAN,方向向外 请求访问次序 1 2 3 4 5 6 7 8 9 平均寻道
最短寻道时间优先(SSTF)
请求访问次序 1 2 3 4 5 6 7 8 9 平均寻道
磁道号 82 110 132 117 94 56 106 87 150 真正访问次序 7 3 1 2 5 8 4 6 9 19.4磁道 移动距离(磁道数) 5 7 5 15 12 26 4 7 94 磁道号 82 110 132 117 94 56 106 87 150 真正访问次序 4 8 1 9 6 3 7 5 2 19.7磁道 移动距离(磁道数) 26 4 5 7 7 94 12 5 18 磁道号 82 110 132 117 94 56 106 87 150 真正访问次序 8 4 1 3 6 9 5 7 2 13磁道 移动距离(磁道数) 5 7 5 33 12 26 4 7 18 第5章课后习题答案
1. 假设一活动头磁盘有200个磁道,编号从0-199。当前磁头正在127道服务,并刚刚完成了92道的请求。现有如下访盘请求序列(磁道号):82,110,132,