【正确答案】
C
【答案解析】本题其实是有争议的。问题其实就是SCAN算法和LOOK算法的区别。SCAN算法是要扫到头的,而LOOK算法是移动到最内/外磁道后,就改变方向。但很多时候教材只提到SCAN算法,而算法描述其实是LOOK算法。考生如果遇到这样的问题,建议这样处理:如果没有给出最内、最外磁道号,题目就默认是考查LOOK算法;给出最内、最外磁道号的,而又无特殊说明的,就默认考查SCAN算法。2012年的大纲解析中,对SCAN算法的解释是要扫到底才改变方向。解答如下:
寻道顺序为100、56、40、29、19、18、3、134、193、205、376、396,移动磁道数分别为44、16、11、10、1、15、131、59、12、171、20,总数为490。
注意:
1)对于SCAN算法,磁臂从磁盘的一端向另一端移动,同时当磁头移过每个柱面时,处理位于该柱面上的服务请求。当到达另一端时,磁头改变移动方向,处理继续。
2)C-SCAN调度是SCAN调度的变种,主要提供一个更为均匀的等待时间。与SCAN一样,C-SCAN将磁头从磁盘一端移到磁盘的另一端,随着移动不断地处理请求。不过,当磁头移到另一端时,它会马上返回到磁盘开始处,返回时并不处理请求。C-SCAN调度算法基本上将柱面当做一个环链,以将最后柱面和第一柱面相连。
3)LOOK调度,正如上所述,SCAN和C-SCAN位磁头在整个磁盘宽度内进行移动。事实上,这两个算法都不是这样实现的。通常,磁头只移动到一个方向上最远的请求为止,接着马上回头,而不是继续到磁盘的尽头。这种形式的SCAN和C-SCAN称为LOOK调度和C-LOOK调度,这是因为它们在朝一个方向移动时会看是否有请求。