磁盘调度算法
为了减少对文件的访问时间,应采用一种最佳的磁盘调度算法,以使各进程对磁盘的平均访问时间最少。由于在访问磁盘时主要是寻道时间。因此,磁盘调度的目标是使磁盘的平均寻道时间最少。
1.先来先服务(FCFS)
算法原则: 根据进程请求访问磁盘的先后顺序进行调度。
优点: 公平简单每个进程都能依次得到处理,不会出现某一进程长时间得不到满足的情况。
缺点: 平均寻道时间会有点长,适用于磁盘I/O进程数目较少的场合。
假设磁头的初始位置是100号磁道,有多个进程先后陆续地请求访问55、58、39、18、90、160、150、38、184号磁道。
按照FCFS的规则,按照请求到达的顺序,磁头需要依次移动到55、58、39、18、90、160、150、38、184号磁道。
2.最短寻找时间优先(SSTF)
算法原则: SSTF算法会优先处理的磁道是与当前磁头最近的磁道。可以保证每次的寻道时间最短,但是并不能保证总的寻道时间最短。(其实就是贪心算法的思想,只是选择眼前最优,但是总体未必最优)。
优点: 性能较好,平均寻道时间短。
缺点: 可能产生“饥饿