磁道访问时间、磁盘调度、例题

磁盘访问时间

(1) 寻道时间:与寻道距离成正比【会与磁盘调度结合,求出磁道数】

(2) 旋转延迟时间

(3) 传输时间

影响磁盘访问时间的主要参数是寻道时间。

磁盘调度

1、先来先服务(FCFS) 磁盘I/O执行顺序为磁盘I/O请求的先后顺序。 该算法的特点是公平性;在磁盘I/O负载较轻且每次读写多个连续扇区时,性能较好。

2、最短寻道时间优先SSTF(Short Seek Time First) 考虑磁盘I/O请求队列中各请求的磁头定位位置,选择从当前磁头位置出发,移动最少的磁盘I/O请求。该算法的目标是使每次磁头移动时间最少。 访问磁道与当前磁头所在位置最近,但不能保证平均寻道时间最短,但比FIFO算法有更好的性能。进程有可能“饿死”。

3、扫描(SCAN)算法: 电梯调度算法。选择在磁头前进方向上从当前位置移动最少的磁盘I/O请求执行,没有前进方向上的请求时才改变方向。该算法是对SSTF算法的改进,磁盘I/O较好,且没有进程会饿死。

4、循环扫描算法CSCAN(Circular SCAN): 在一个方向上使用扫描算法,当到达最外的磁道并访问后,磁头立即返回到最里的欲访问的磁道,即将最小磁道号紧接着最大磁道号构成循环。该算法可改进扫描算法对中间磁道的偏好。 实验表明,该算法在中负载或重负载时,磁盘I/O性能比扫描算法好。

例题1

假设计算机系统采用CSCAN调度策略.

1. 设某单面磁盘转速为每分钟6000转,每个磁道有100个扇区,相邻磁道间的平均移动时间为1ms。若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向移动,磁道号请求队列为50、90、30、120,对请求队列中的每个磁道需读取1个随机分布的扇区,则读完4个扇区总共需要多少时间?

2. 如果磁盘替换为随机访问的Flash存储器,是否有比CSCAN更高效的磁盘调度策略?说明理由。

答:读取数据的时间=磁头定位时间+平均旋转等待时间+读出一个扇区数据的时间。

平均旋转等待时间=60s/(6000×2)=5ms 读取一个扇区数据的时间=60s/(6000×100)=0.1ms

CSCAN算法,访问磁道的顺序为100  120  30  50  90 读取4个扇区数据总的磁头定位时间=1ms ×(20+90+60)=170ms

读取4个扇区的数据的总时间=170ms+(5+0.1)×4=190.4ms

例题2

假设每条磁道被分为8个扇区,每个扇区存放一个记录,处理程序顺序处理这8个记录L1,L2,…,L8。每次请求从磁盘上读一个记录,然后对读出的记录花1ms的时间进行处理,以后再读下一个记录进行处理。磁盘旋转一周花费16ms。若将这8个记录在一条磁道上进行优化分布,则全部处理完这8个记录至少需要            

A.31ms    B.32ms     C.33ms    D.34ms

答:C  转两圈之后L8正好读完,再加一毫秒对L8的处理正好33秒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值