操作系统中磁盘调度算法详解
磁盘调度算法 (1)先来先服务 (2)最短寻道时间优先 (3)电梯算法 (4)单向扫描调度算法
(1) 磁盘调度 当多个访盘请求在等待时,采用一定的策略,对这些请求的服务顺序调整安排,旨在降低平均磁盘服务时 间,达到公平、高效。 公平:一个I/0请求在有限时间内满足 高效:减少设备机械运动所带来的时间浪费 (2)磁盘调度考虑的问题: 一次访盘时间 =寻道时间+旋转延迟时间+存取时间 -减少寻道时间 -减少延迟时间 (3)磁盘调度算法 先来先服务: :按访问请求到达的先后次序服务 优点:简单,公平; 缺点: 效率不高,相临两次请求可能会造成最内到 最外的柱面寻道,使磁头反复移动,增加了服务时间, 对机械也不利。 假设磁盘访问序列: 假设磁盘访问序列: 98,183, 37, 122, 14,124, 65,67 读写头起始位置: 53 访问顺序: (53),98, 183, 37, 122,14, 124,65, 67 安排磁头服务序列 计算磁头移动总距离(道数) 最短寻道时间优先: 优先选择距当前磁头最近的访 问请求进行服务,主要考虑寻道优先. 优点:改善了磁盘平均服务时间; 缺点:造成某些访问请求长期等待得不到服务 假设磁盘访问序列: 98, 183, 37, 122, 14, 124,65, 67 读写头起始位置: 53 访问顺序: (53) ,65, 67,37, 14, 98, 122,124,183 电梯算法: 克服了最短寻道优先的缺点,既考虑了距离,同时又考虑了方向。 具体做法: -当设备无访问请求时,磁头不动;当有访问请求时, 磁头按一个方向移动,在移动过程中对遇到的访问请求 进行服务,然后判断该方向上是否还有访问请求,如果 有则继续扫描;否则改变移动方向,并为经过的访问请 求服务,如此反复 假设磁盘访问序列: 98, 183, 37, 122,14,124,65, 67 读写头起始位置: 53 访问顺序(向大号移动) : (53) , 65, 67, 98, 122, 124,183,37, 14 总道数: 299 访问顺序(向小号移动) : (53) ,37, 14, 65,67, 98,122, 124, 183 总道数:208 单向扫描调度算法: 总是从0号磁道开始向里扫描 按照各自所要访问的磁道位置的次序去选择访问者 移动臂到达最后个一个磁道后,立即带动读写磁头 快速返回到0号磁道 返回时不为任何的等待访问者服务 返回后可再次进行扫描 假设磁盘访问序列: 98, 183, 37, 122, 14,124, 65, 67 读写头起始位置: 53 访问顺序: (53) ,65, 67, 98,122, 124, 183,(0) ,14, 37
