假定当前磁头出在第100到,等待服务的进程有8个,它们请求的磁盘先后顺序是90、70、159、21、1、15、120、145。采用最短寻道时间优先/扫描算法对其调度,填好以下表?
(从100号磁道开始,向磁道号增加方向访问) | |
被访问的下一个磁道号 | 移动距离(磁道数) |
总共所需寻道长度: | |
平均寻道长度: |
答:
最短寻道时间优先:
最短寻道时间优先算法(SSTF): 该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短,该算法可以得到比较好的吞吐...
从100开始,上面一堆数中,90离100最近,所以先写90,然后剩下的数中,70离90最近,这次写70,依次类推,得到下表:
(从100号磁道开始) | |
被访问的下一个磁道号 | 移动距离(磁道数) |
90 | 10 |
70 | 20 |
21 | 49 |
15 | 6 |
1 | 14 |
120 | 119 |
145 | 25 |
159 | 14 |
总共所需寻道长度:257 | |
平均寻道长度:32.125 |
扫描算法:
SCAN 算法又称电梯调度算法。SCAN算法是磁头前进方向上的最短查找时间优先算法,它排除了磁头在盘面局部位置上的往复移动,SCAN算法在很大程度上消除了SSTF算法的不公平性,但仍有利于对中间磁道的请求。
“电梯调度”算法是从移动臂当前位置开始沿着臂的移动方向去选择离当前移动臂最近的那个柱访问者,如果沿臂的移动方向无请求访问时,就改变臂的移动方向再选择。这好比乘电梯,如果电梯已向上运动到4层时,依次有3位乘客陈生、伍生、张生在等候乘电梯。他们的要求是:陈生在2层等待去10层;伍生在5层等待去底层;张生在8层等待15层。由于电梯目前运动方向是向上,所以电梯的形成是先把乘客张生从8层带到15层,然后电梯换成下行方向,把乘客伍生从5层带到底层,电梯最后再调换方向,把乘客陈生从2层送到10层。
从100号磁道开始,向磁道号增加方向访问,下一个就是120,接着是145,159,电梯上到顶层后,开始往下走,接着是90,70.....得到下表:
(从100号磁道开始,向磁道号增加方向访问) | |
被访问的下一个磁道号 | 移动距离(磁道数) |
120 | 20 |
145 | 25 |
159 | 14 |
90 | 69 |
70 | 20 |
21 | 49 |
15 | 6 |
1 | 14 |
总共所需寻道长度:217 | |
平均寻道长度:27.125 |
推荐您阅读更多有关于“”的文章