我很难理解SCAN的工作原理和磁盘调度的CSCAN算法。我理解FCFS,紧随其后的是最近的柱面,但听说SCAN类似于电梯机制,并感到困惑。我的书上说,对于传入的订单:10 22 20 2 40 6 38在开始时移动的扫描服务( 20 ) 20 22 38 40 10 6 2;这需要移动0 2 16 2 30 4 4个柱面,总共58个柱面。模式( 20 ) 20 22 38 40 10 62是怎么来的?
发布于 2014-11-26 03:21:27
让我们知道SCAN(Elevator)磁盘调度算法是怎么说的:
,它向下扫描到最近的一端,然后当它到达底部时,它向上扫描,服务于它没有向下的请求。如果请求是在扫描之后传入的,则在进程返回或向上移动之前,将不会为其提供服务。
因此,在您的示例中,磁盘的当前位置是20。因此,根据扫描算法,它将向最近的末端扫描,并且在命中底部后,它将向上扫描,为备份请求提供服务。
次序如下:
| |
| * current position | * move back up to upside
|---> nearest disk is this one |
| so it'll move down and so on. |
| as it hit the bottom ___________
Fig :- Demonstration of SCAN algorithm 因此,根据给定的数据,顺序将是[(20) 20 22 38 40 10 6 2];
编辑:-
SCAN和CSCAN之间的唯一区别是在CSCAN中,
,它从最近的一端开始扫描,然后一直扫描到系统的最后。一旦到达底部或顶部,它就会跳到另一端,并沿着相同的方向移动,这与使用相同路径返回到上方的扫描不同。
根据CSCAN,移动的方向将是相同的,直到底部,然后它将颠倒路径。
因此,根据给定的数据,顺序将是[(20) 20 22 38 40 2 6 10];,请注意最后三个磁盘位置的变化。
我希望这是清楚的。请随时询问剩余的疑问。
https://stackoverflow.com/questions/27124654
复制相似问题