问题 问答题

在某个系统的某个运行时刻,有以下磁盘访问的请求序列,如图4-5所示,假设磁头当前在15柱面,移臂方向从小到大。
请给出最短查找时间优先算法和电梯调度算法的柱面移动数,并分析为何通常情况下,操作系统并不采用效率更高的最短查找时间优先算法。

请求序列 柱面
1 15
2 20
3 9
4 16
5 24
6 13
7 29

图4-5 磁盘请求序列图

答案

参考答案:最短查找时间优先算法的访问序列为:1->4->6->3->2->5->7,总跨越:
1+3+4+11+4+5=28(个柱面)
电梯调度算法的访问序列为:1->4->2->5->7->6->3,总跨越:
1+4+4+5+16+4=34(个柱面)
分析两种算法可以发现,最短查找时间优先算法使得整个系统效率较电梯调度算法更高,但仔细分析发现,该算法可能会在某种情况下使得单个请求发生“饿死”现象。比如存在访问200柱面的请求时,该请求将很难在有限时间内得到满足,而电梯调度算法在单方向上是“最短查找时间优先”,而绝对的单向移动能保证某个请求的“响应及时”,避免“饿死”。

填空题
名词解释