磁道数400(号为0~399),用循环扫描算法(CSCAN)进行调度。完成对200号磁道的请求后,磁头向磁道号减小的方向移动,若还有7个请求,磁道号分别为300,120,110,0,160,210,399,则完成上述请求后磁头移动的距离是()
A. 599 B. 619 C. 788 D. 799
本题考查CSCAN算法,在SCAN算法的基础上规定磁头单向移动,返回时直接快速移动至起始端而不服务任何请求。因此访问磁盘的顺序应为200→160→120→110→0→399→300→210 移动的距离为40+40+10+110+399+99+90 = 788
选择C
要解决这个问题,需先理解循环扫描算...
用户登录可进行刷题及查看答案
要解决这个问题,需先理解循环扫描算法(CSCAN)的工作原理,再根据磁头当前位置和移动方向确定请求处理顺序,最后计算移动距离。以下是详细步骤:
1. CSCAN 算法原理
CSCAN 算法:磁头沿一个方向移动,处理该方向上的所有请求,到达边界后跳到另一边界,继续沿原方向移动,形成循环。
当前状态:磁头在 200 号磁道,向磁道号减小的方向移动。
2. 整理请求磁道号
待处理的 7 个请求磁道号为:300、120、110、0、160、210、399。 按 CSCAN 规则,分两步处理:
300、120、110、0、160、210、399
第一步:处理当前方向(减小)上的请求(磁道号 < 200)。
第二步:跳到最大磁道号后,继续沿原方向处理剩余请求(磁道号 > 200)。
3. 确定处理顺序
(1)处理减小方向的请求(磁道号 < 200)
将磁道号按从大到小排序(离 200 最近的先处理): 160 → 120 → 110 → 0 原因:磁头从 200 向减小方向移动,先处理较大的小磁道,再依次处理更小的。
160 → 120 → 110 → 0
(2)跳到最大磁道号后处理剩余请求(磁道号 > 200)
磁头到达最小磁道号 0 后,跳到最大磁道号 399,继续沿减小方向处理剩余磁道号,按从大到小排序: 399 → 300 → 210 原因:从 399 开始向减小方向移动,先处理较大的磁道号。
399 → 300 → 210
完整处理顺序:
200 → 160 → 120 → 110 → 0 → 399 → 300 → 210
4. 计算移动距离
步骤
起始磁道
目标磁道
移动距离
1
200
160
\(200-160=40\)
2
120
\(160-120=40\)
3
110
\(120-110=10\)
4
0
\(110-0=110\)
5
399
\(399-0=399\)
6
300
\(399-300=99\)
7
210
\(300-210=90\)
总移动距离:\(40 + 40 + 10 + 110 + 399 + 99 + 90 = 788\)
答案:C. 788
登录后提交答案