一个低级错题
题目:设系统已完成对80#磁道的访问请求,正在为访问178#磁道的请求者服务,还有若干进程在等待服务,它们依次请求访问的磁道号队列为: 141,209,149,15,125,277,187,177,180,62,164,237,30,53,198,239,273,76,135,27
(1)(7分)采用N-step-CSCAN(N=8)磁盘调度算法时,写出磁道访问序列(用英文逗号隔开):__________________________。
(2)(3分)计算平均寻道长度ASL(保留两位小数):_________。
题目采用nstep-cscan(N步循环扫描算法)自己当时对这个算法理解太肤浅了,唉
循环扫描算法定义:CSCAN算法规定磁头单向移动,如果只是从里向外移动,当磁头移到最外的磁道并访问时,磁头立即返回到最里的欲访问磁道,即将最小磁道号紧接着最大磁道号循环,进行循环扫描。
解答:
N=8,每八个分一组
141,209,149,15,125,277,187,177
180,62,164,237,30,53,198,239
273,76,135,27
初始方向80→178从小到大
第一组应该继续往比178大的方向扫描:187,209,277,此时到达第一组最大值,再从需要扫描的最小的磁道开始15,125,141,149,177
此时第一组扫描完毕,最后方向是149→177,第二组一开始应该继续往比177更大的方向走:188,198,237,239,再从需要扫描的最小的磁道开始:30,53,62,164
此时第二组扫描完毕,最后方向是 62 →164,第三组一开始应该继续往比164更大的方向走:273,再从需要扫描的最小的磁道开始:27,76,135
ASL=[ (187-178) + (209-187) + ...... ]/20
最终答案:(1)187,209,277,15,125,141,149,177,180,198,237,239,30,53,62,164,273,27,76,135
(2)69.55