深圳大学2015年操作系统复习提纲-吴少滨整理 下载本文

? 缓和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,