操作系统
2010-45
假设计算机系统采用 CSCAN(循环扫描)磁盘调度策略,使用 2KB 的内存空间记录 16384 个磁盘块的空闲状态。
1)请说明在上述条件下如何进行磁盘块空闲状态的管理。
2)设某单面磁盘旋转速度为 6000rpm,每个磁道有 100 个扇区,相邻磁道间的平均移动时间为 1ms。若在某时刻,磁头位于 100 号磁道处,并沿着磁道号增大的方向移动(见下图),磁道号请求队列为 50, 90, 30, 120,对请求队列中的每个磁道需读取 1 个随机分布的扇区,则读完这 4 个扇区共需要多少时间?要求给出计算过程。
3)如果将磁盘替换为随机访问的 Flash 半导体存储器(如 U 盘、SSD 等),是否有比 CSCAN 更高效的磁盘调度策略?若有,给出磁盘调度策略的名称并说明理由;若无,说明理由。

答案
(1)采用位图管理磁盘块空闲状态。每个位表示一个磁盘块的空闲状态(如1表示空闲,0表示占用)。16384个磁盘块需要16384位,即16384/8 = 2048字节 = 2KB,正好使用给定内存空间。
(2)总时间为190.4ms。
计算要点:
- CSCAN调度顺序为磁道120、30、50、90,移动磁道总数170,移动时间170ms。
- 平均旋转延迟5ms/磁道,4个磁道共20ms。
- 每个磁道读取一个扇区,平均读取时间0.1ms,共0.4ms。
三者相加得190.4ms。
(3)有更高效策略:FCFS(先来先服务)。
理由:Flash半导体存储器(如SSD)是随机访问设备,无寻道时间和旋转延迟,按请求顺序服务即可,FCFS更简单高效。