我是靠谱客的博主 专注棒棒糖,最近开发中收集的这篇文章主要介绍操作系统(六)磁盘调度算法与优化操作系统(六)磁盘调度算法与优化,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

操作系统(六)磁盘调度算法与优化

一、磁盘调度算法

image-20230214185116979

时间指标

  • 寻找时间:在读/写数据前,将磁头移动到指定磁道需要的时间
  • 延迟时间:通过旋转盘面,将磁头定位到目标扇区所需的时间
  • 传输时间:从磁盘读出或者向磁盘写入需要的时间

image-20230214185703384

转速是硬件属性,操作系统是无法优化的

1、先来先服务(FCFS)

  • 根据请求到来的顺序依此进行服务

image-20230214185908633

优点:

  • 公平

缺点:

  • 如果又大量分散的磁道请求,则FCFS在性能上很差

2、最短寻找时间优先(SSTF)

  • 优先处理与当前磁头最近的磁道请求(贪心思想)

image-20230214190619216

优点:

  • 性能较好,平均寻道时间短

缺点:

  • 可能产生饥饿现象

3、扫描算法(SCAN)

  • 磁头只有扫描到最内侧磁道才会向外移动,只有扫描到最外侧磁道才会向内移动。像电梯一样,因此扫描算法也被称为电梯算法

image-20230214190930879

优点:

  • 性能较好,平均寻道时间较短
  • 不会产生饥饿现象

缺点:

  • 只有到达最内侧或者最外侧才可以改变磁头移动方向,有的时候会浪费时间
  • 对各个位置的相应频率不平均

4、Look算法

由于扫描算法中磁头只有移动到最内侧或者最外侧才能改变磁头方向,事实上有的时候最外侧已经没有请求了,这样就会造成时间的浪费。

Look算法就是用来解决这个问题的,如果在某个方向上已经没有了请求,那么磁头可以直接改变方向。

image-20230214191446255

5、循环扫描算法(C-SCAN)

SCAN算法中磁道的响应频率不平均,C-SCAN算法中规定磁头只有朝某个方向移动时才能响应磁道请求,而返回时直接快速移动到起始端而不响应任何请求。

image-20230214191710008

优点:

  • 各个位置的响应时间很平均

缺点:

  • 只有到达最内侧磁道或最外侧磁道才会改变方向

6、C-Look算法

image-20230214191908202

7、小结

image-20230214191929950

二、减少延迟时间

1、交替编号

  • 由于系统读取完一个扇区后需要一段时间的处理才能读取下一个扇区,因此在可以采取交替编号扇区的方式使系统读取连续的逻辑扇区所需要的延迟时间更小

image-20230214192514239

2、采用(柱面号,盘面号,扇区号)的地址结构

  • 在系统读取连续的多个扇区时,当此盘面的扇区读取完成后,系统会接着读取下一盘面的扇区信息,扇区之间的切换不需要移动磁头,因此可以缩短延迟时间

image-20230214192805262

3、错位命名

  • 同交替编号一样,如果所有扇面的编号相同,(以图示为例)则系统读取完上一个盘面的7号块后,需要时间处理才能读取下一盘面的0号块,会增加延迟时间

image-20230214193115856

4、小结

image-20230214193137525

最后

以上就是专注棒棒糖为你收集整理的操作系统(六)磁盘调度算法与优化操作系统(六)磁盘调度算法与优化的全部内容,希望文章能够帮你解决操作系统(六)磁盘调度算法与优化操作系统(六)磁盘调度算法与优化所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部