SCAN和CSCAN算法

Kh*_*han 4 computer-science operating-system disk disk-io

我很难理解SCAN和CSCAN磁盘调度算法的工作.我理解FCFS,Closest Cylinder Next但是听说SCAN类似于电梯机制而感到困惑.我的书说,对于收到的订单:[10 22 20 2 40 6 38](当盘位于20时)SCAN在开始时移动服务[(20)20 22 38 40 10 6 2]; 这需要移动[0 2 16 2 30 4 4]个气缸,总共58个气缸.模式[(20)20 22 38 40 10 6 2]如何出现?

Am_*_*ful 7

让我们知道SCAN(Elevator)磁盘调度算法说的是什么: -

它向下扫描到最近的一端,然后当它到达底部时,它扫描起来为它没有下降的请求提供服务.如果请求在扫描完成后进入,则在进程恢复或向上移动之前不会对其进行维护.

因此,在您的情况下,磁盘的当前位置为20.因此,根据SCAN算法,它将扫描到最近的一端,并且在达到底部之后,它会扫描向上提供的请求.

订单是: -

|                                                     |


| * 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                     _______
Run Code Online (Sandbox Code Playgroud)

____

                   Fig :- Demonstration of SCAN algorithm  
Run Code Online (Sandbox Code Playgroud)

因此,根据给定的数据,订单将是 [(20) 20 22 38 40 10 6 2];


编辑: -

SCAN和CSCAN之间的唯一区别是在CSCAN中,

它开始向最近端扫描并一直工作到系统末端.一旦它撞到底部或顶部,它就会跳到另一端并向相同的方向移动,这与使用相同路径向后移动到上部的SCAN不同.

根据CSCAN,移动方向与底部相同,然后它将反转路径.

因此,根据给定的数据,订单将[(20) 20 22 38 40 2 6 10];注意最后三个磁盘位置的变化.

我希望很清楚.随意问一下疑惑.

  • 非常感谢...我无法用语言表达感激之情 (2认同)