赞
踩
磁盘属于共享型设备
提高系统效率
“寻找时间”是机械运动时间,通常在几十毫秒时间量级
设法减小寻找时间是提高磁盘传输效率的关键
驱动调度:系统采用一定的调度策略来决定各个请求访问磁盘者的执行次序
驱动调度先进行“移臂调度”,减少寻找时间,再进行“旋转调度”,减少延迟时间 。
移臂调度:
常用的移臂调度算法有:先来先服务调度算法、最短寻道时间优先调度算法、电梯调度算法
、单向扫描算法和双向扫描算法等。
先后次序进行调度
,并不考虑访问者所要求访问的物理位置缺点:
来回地移动
,使寻道时间比较长。先来先服务算法仅适合于磁盘I/O请求数目较少的场合
例如,现在读写磁头正在53号柱面上执行输入/输出操作,而访问者请求访问的柱面顺序为:98,183,37,122,14,124,65,67。
读写磁头总共移动了640个柱面的距离。
挑选与当前磁头所在的磁道距离最近,使每次寻道时间最短
的那个请求进行调度,而不管访问者到达的先后次序缺点:
“饥饿”现象
例如,现在读写磁头正在53号柱面上执行输入/输出操作,而访问者请求访问的柱面顺序为:98,183,37,122,14,124,65,67。
读写磁头总共的移动距离为236个柱面
立即带动读/写磁头快速返回到0号柱面
,返回时不为任何请求访问者服务
,返回0号柱面后再次进行扫描缺点:
存在一趟空扫描
,系统的效率并未得到大的提高读写磁头总共的移动距离为382个柱面
到达最后一个柱面时,调转方向从最后一个柱面向外扫描
,依次选择所遇到的请求访问者缺点:
必须从最外磁道扫描到最内磁道
,有可能存在部分空扫描
读写磁头总共的移动距离为382个柱面
优先考虑的是磁头当前的移动方向
。选择距离当前移动臂最近的
那个访问者进行调度,若沿移动臂的移动方向再无访问请求时,则改变移动臂的方向
再选择目的
“电梯调度”与“最短寻找时间优先”,都是以尽量减少移动臂移动时所花的时间为目标。
总是选择距离当前读/写磁头最近
的那个柱面的访问者,可能会导致某个进程发生“饥饿”现象
,移动臂来回改变移动方向频率高。选择距离当前读/写磁头最近
的那个柱面的访问者,仅当沿着移动臂的移动方向无等待访问者时,才改变移动臂的方向
,改变频率相对较慢。是一种简单、实用且高效的调度算法,能获得较好的寻道性能,又能防止“饥饿”现象
,实现时需要增加开销,除了要记住读写磁头的当前位置外,还必须记住移动臂的移动方向
被广泛应用于大、中、小型计算机和网络的磁盘调度旋转调度分析:
旋转调度
是指选择延迟时间最短的请求访问者执行的调度策略影响I/O操作时间的因素
记录在磁道上的排列方式会影响I/O操作的时间
例如,某系统,在对磁盘初始化时,把每个盘面分成8个扇区,有8个逻辑记录被存放在同一个磁道上供处理程序使用。
处理程序要求顺序处理这8个记录,每次请求从磁盘上读一个记录,然后对读出的记录要花5ms的时间进行处理,以后再读下一个记录进行处理,直至8个记录全部处理结束。假定磁盘的转速为20ms/周,现把这8个逻辑记录依次存放在磁道上
在不知道当前磁头位置的情况下,处理这8个记录所要花费的时间为:
8×(2.5+5)+10+7×15=175(ms)
如果把这8个逻辑记录在磁道上的位置重新安排一下,当读出一个记录并处理后,读/写磁头正好位于顺序处理的下一个记录位置,可立即读出该记录,不必花费等待延迟时间。于是,处理这8个记录所要花费的时间为:
10+8×(2.5+5)=70(ms)
记录的优化分布
有利于减少延迟时间,从而缩短了输入/输出操作的时间交替编号
,磁盘组中不同盘面错开命名
(原因:磁头都固定值一个磁臂上)Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。