操作系统--磁盘调度题目

【题目来源-2010 408 真题】
假设 计 算机系统采用CSCAN(循环扫描)磁盘调度策略 。使 用2KB的内存空间记录16384个磁盘的 空闲 状态 。

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

在这里插入图片描述
【解答】
(1)有题目可只一共有 16384 个盘块需要管理,因为盘块数量大,不适合采用空闲表和空闲链表法进行管理,所以采用位示图进行管理。

每一个盘块用一位来记录,则需要 16384 b,也就是 16384 / 8 = 2048B = 2KB,刚好可以用题目给出的 2KB 内存空间来记录。

(2)
首先介绍三个用于磁盘调度时间的公式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

计算整个过程的时间实际上是分开单独计算寻道时间,旋转延迟时间和读取数据时间。

寻道时间
题目可知采用循环扫描算法,所以寻道顺序是 100->120->30->50->90,一共跨越了 20+90+20+40 个磁道。

所以寻道时间 = 170*1ms=170ms
(此处没有给出磁臂启动时间则不计算)

旋转延迟时间
直接带入公式 = 1 2 ∗ 6000 转 / m i n = 5 m s \frac{1}{2*6000转/min}=5ms 26000/min1=5ms
这是计算的定位到一个扇区的平均旋转时间,现在我们分别要定位 4 个扇区
所以总旋转延迟 = 4*5=20ms

读取数据时间
这里的计算并不是直接代公式。

我们知道一个磁道读取一转需要的时间是 1 6000 转 / m i n = 0.01 s = 10 m s \frac{1}{6000转/min}=0.01s=10ms 6000/min1=0.01s=10ms
现在要求每个磁道只读取随机的一个扇区,题目已知一个磁道里有 100 个扇区,所以读取一个磁道一个扇区的时间 = 10 m s 100 = 0.1 m s \frac{10ms}{100}=0.1ms 10010ms=0.1ms

一共有4个磁道所以是 0.4 ms

所以总共的时间加起来是:170+20+0.4=190.4

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值