资源描述
FCFS算法步骤图:输入目前磁道号now
磁头移动距离
sum=abs(now-array[0])
磁头移动总距离Sum+=abs(array[j]-array[i])
输出磁盘调度序列array[j]
现在位置变为目前位置j++
j<m
输出平均寻道长度
avg=sum/(m)
输入磁道号
求平均寻道长度
输出移动平均磁道数
按输入次序将磁道序列输出
开始
结束
SSTF算法步骤图:
求平均寻道长度
选择和目前磁道距离最近磁道进行扫描
移动到最小(大)号,改向外(内)移动扫描未扫描磁道
输出移动平均磁道数
输出排好序磁道序列
判定目前磁头在序列中位置
结束
开始
输入磁道号
使用冒泡法从小到大排序
输入目前磁道号
SCAN算法步骤图:
求平均寻道长度
选择移动臂移动方向,开始扫描
移动到最小(大)号,改向外(内)移动扫描未扫描磁道
输出移动平均磁道数
输出排好序磁道序列
开始
结束
输入磁道号
使用冒泡法从小到大排序
输入目前磁道号
判定目前磁头在序列中位置
CSCAN算法步骤图:
求平均寻道长度
扫描到最大号后,直接移动到最小号从内向外扫描未扫描磁道
输出移动平均磁道数
输出排好序磁道序列
判定目前磁头在序列中位置
要求移动臂单向反复从内向外扫描
开始
结束
输入磁道号
使用冒泡法从小到大排序
输入目前磁道号
SSTF:
将磁道号从小到大排序
输入目前磁道号now, 移动臂移动方向
array[m-1]<=now
磁头移动总距离sum=now-array[i]
输出磁盘调度序列array[j]
i>=0
(array[0]>=now
输出磁盘调度序列array[j]
i<m
磁头移动总距离sum=array[i]-now
确定目前磁道在已排序列中位置
switch(d)
case 0:移动臂向磁道号减小方向访问
case 1:移动臂向磁道号增加方向访问
访问
输出磁盘调度序列
输出磁盘调度序列
输出平均寻道长度avg=sum/(m)
SCAN
将磁道号从小到大排序
输入目前磁道号now
array[m-1]<=now
输出磁盘调度序列array[j]
现在位置变为目前位置now=array[i]
磁头移动总距离sum=now-array[i]
i>=0
输出磁盘调度序列array[j]
(array[0]>=now
磁头移动总距离sum=now-array[i]
现在位置变为目前位置now=array[i]
now=array[i]
i<m
确定目前磁道在已排序列中位置
now-array[l])<=(array[r]-now
先向磁道号减小方向访问,再向磁道号增加方向访问
输出磁盘调度序列
先向磁道号增加方向访问,再向磁道号减小方向访问
输出磁盘调度序列
输出平均寻道长度avg=sum/(m)
展开阅读全文