首页 > 试题广场 >

题目来源于王道论坛 假设计算机系统采用CSCAN(循环

[问答题]
题目来源于王道论坛

假设计算机系统采用CSCAN(循环扫描)磁盘调度策略,使用2KB的内存空间记录      16 384个磁盘块的空闲状态。

1)请说明在上述条件下如何进行磁盘块空闲状态的管理。

2)设某单面磁盘旋转速度为6000r/min,每个磁道有100个扇区,相邻磁道间的平均移动时间为1ms。若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向移动(如图B-5所示),磁道号请求队列为50,90,30,120,对请求队列中的每个磁道需读取1个随机分布的扇区,则读完这4个扇区点共需要多少时间?要求给出计算过程。

3)如果将磁盘替换为随机访问的Flash半导体存储器(如U盘、SSD等),是否有比CSCAN更高效的磁盘调度策略?若有,给出磁盘调度策略的名称并说明理由;若无,说明理由。



图B-5


推荐

1) 用位图表示磁盘的空闲状态。每位表示一个磁盘块的空闲状态,共需要16 384/32=512个字= 512×4个字节=2KB,正好可放在系统提供的内存中。

2)采用CSCAN调度算法,访问磁道的顺序和移动的磁道数见表B-7。

移动的磁道数为20+90+20+40=170,故总的移动磁道时间为170ms。

由于转速为6000r/min,则平均旋转延迟为5ms,总的旋转延迟时间=20ms。

由于转速为6000r/min,则读取一个磁道上一个扇区的平均读取时间为0.1ms,总的读取扇区的时间为0.4ms。

综上,读取上述磁道上所有扇区所花的总时间为190.4ms。

3)采用FCFS(先来先服务)调度策略更高效。因为Flash半导体存储器的物理结构不需要考虑寻道时间和旋转延迟,可直接按I/O请求的先后顺序服务。

被访问的下一个磁道号

移动距离(磁道数)

120

20

30

90

50

20

90

40

B-7


发表于 2018-09-03 20:24:33 回复(2)
对于本题中的第二问,读完这4个扇区总共需要的时间由三部分组成: 总寻道
时间+4个扇区总旋转延迟时间+4个扇区总传输时间。其中,总寻道时间=柱面总移动次数*
相邻磁道间的平均移动时间(已知为lm s); 对于总旋转延迟时间,由于是读取随机分布的
扇区,因此, 应该使用平均旋转延迟时间,读取1个随机分布的扇区的平均旋转延迟时间=
CO+转一圈所用时间) /2, 因此,总旋转延迟时间=读取1个的平均旋转延迟时间*4; 对于
总传输时间,总传输时间=1个扇区的传输时间*4, 1个扇区的传输时间=转一圈所用时间/
每个磁道的扇区数量。
参考答案:  
(1) 2KB = 2*1024*8bit = 1638 4bit。因此可以使用位图法进行磁盘块空闲状态管理,每
1 bit表示一个磁盘块是否空闲。
(2)根据CSCAN算法, 被访问的硌道号顺序为100、120、30、50、90, 因此,
寻道用去的总时间为: (20 + 90 + 20 + 40) * lms = 170ms;
每分钟6000转, 转一圈的时间为0.01 s, 一个扇区的读取时间为0.01/100== 0.0001 s,

一个扇区的平均旋转延迟时间为(0+0.01) /2 , 总共要随机读取四个扇区, 总共用去的
旋转延迟时间和传输时间为:C 0.01 *0.5 + 0.0001) *4 = 0.0204s = 20.4ms
所以;读完这4个扇区总共需要170ms + 20.4ms = 190.4ms。

(3)若将磁盘换为U盘等, 有比CSCAN更高效的磁盘调度策略。U盘的存储介质为
电可擦除只读存储器CEEPROM)的变种, 其寻址方式类似于内存的寻址方式, 不涉及到磁
盘的寻道、寻扇区等操作, 因此可采用先来先服务、优先级高者优先等算法。
发表于 2021-11-24 15:00:07 回复(2)