1、FCFS算法步骤图:输入目前磁道号now磁头移动距离sum=abs(now-array0)磁头移动总距离Sum+=abs(arrayj-arrayi)输出磁盘调度序列arrayj现在位置变为目前位置j+jm输出平均寻道长度avg=sum/(m)输入磁道号求平均寻道长度输出移动平均磁道数按输入次序将磁道序列输出开始结束 SSTF算法步骤图:求平均寻道长度选择和目前磁道距离最近磁道进行扫描移动到最小(大)号,改向外(内)移动扫描未扫描磁道输出移动平均磁道数输出排好序磁道序列判定目前磁头在序列中位置结束开始输入磁道号使用冒泡法从小到大排序输入目前磁道号 SCAN算法步骤图:求平均寻道长度选择移动臂移
2、动方向,开始扫描移动到最小(大)号,改向外(内)移动扫描未扫描磁道输出移动平均磁道数输出排好序磁道序列开始结束输入磁道号使用冒泡法从小到大排序输入目前磁道号判定目前磁头在序列中位置 CSCAN算法步骤图:求平均寻道长度扫描到最大号后,直接移动到最小号从内向外扫描未扫描磁道输出移动平均磁道数输出排好序磁道序列判定目前磁头在序列中位置要求移动臂单向反复从内向外扫描开始结束输入磁道号使用冒泡法从小到大排序输入目前磁道号SSTF:将磁道号从小到大排序输入目前磁道号now, 移动臂移动方向arraym-1=0(array0=now输出磁盘调度序列arrayjim磁头移动总距离sum=arrayi-now
3、确定目前磁道在已排序列中位置switch(d)case 0:移动臂向磁道号减小方向访问case 1:移动臂向磁道号增加方向访问访问输出磁盘调度序列输出磁盘调度序列输出平均寻道长度avg=sum/(m)SCAN将磁道号从小到大排序输入目前磁道号nowarraym-1=0输出磁盘调度序列arrayj(array0=now磁头移动总距离sum=now-arrayi现在位置变为目前位置now=arrayinow=arrayiim确定目前磁道在已排序列中位置now-arrayl)=(arrayr-now先向磁道号减小方向访问,再向磁道号增加方向访问输出磁盘调度序列先向磁道号增加方向访问,再向磁道号减小方向访问输出磁盘调度序列输出平均寻道长度avg=sum/(m)