zoukankan      html  css  js  c++  java
  • 磁盘调度算法笔记--(FCFS、SSTF、SCAN、CSCAN)

    为了减少对文件的访问时间,应采用一种最佳的磁盘调度算法。使各种进程对磁盘平均访问时间最小。由于在访问磁盘的事件中主要是寻道时间,因此,磁盘调度算法的目标是是磁盘的平均寻道时间最小。目前磁盘调度算法有以下几类:

    1.先来先服务(FCFS):根据进程请求访问磁盘的先后次序进行调度。

    假设磁头的初始位置是100号磁道,有多个进程先后陆续的请求访问55,58,39,18,90,160,150,38,184号磁道

    按照FCFS的规则,按照请求到达的顺序,磁头需要一次移动到55,58,39,90,160,150,38,184号磁道

     磁头总共移动的磁道个数为45+3+19+21+72+70+10+112+146=498

    平均寻道长度为498/9=55.3个磁道

    优点:公平,性能还可以

    缺点:如果有大量进程竞争使用磁盘,请求访问磁道很分散,则FCFS在性能上很差,寻道时间长。

    最短寻道时间优先(SSTF):其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短,但这种调度算法却不能保证平均寻道时间最短。

    假设磁头的初始位置是100号磁道,有多个进程先后陆续的请求访问55,58,39,18,90,160,150,38,184号磁道

    按照SSTF的规则,请求到达的 

           

    磁头总共移动了(100-18)+(184-18)=248个磁道

    平均寻道长度为248/9=27.5个磁道

    优点:性能较好,平均寻道时间短

    缺点:可能产生“饥饿”现象

    扫描算法(SCAN):当磁头正在由里向外移动时,SCAN算法所选择的下一个访问对象应是其欲访问的磁道,既在当前磁道之外,又是距离最近的。这样由里向外地访问,直至再无更外的磁道需要访问时,才将磁臂换向,由外向里移动。也叫电梯算法。

    磁头总共移动了(184-100)+(184-18)=250个磁道

    平均寻道长度为250/9=27.8个磁道

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

    缺点:1,只有到最边上的磁道才能改变磁头的移动方向。2.SCAN对于各个位置磁道响应频率不平均。

    循环扫描算法(CSCAN):为了减少SCAN算法造成的某些进程的请求被严重推迟,CSCAN算法规定磁头单向移动。

    磁头总共移动了(184-100)+(184-18)+(90-18)=322个磁道

    平均寻道长度为322/9=35.8个磁道

    优点:比起SCAN算法,对于各位置磁道的响应频率很平均。

    缺点:只有到边上才能改变磁头移动方向,比起SCAN算法来,平均寻道时间更长。

  • 相关阅读:
    Ubuntu 14.04 配置iptables防火墙
    转 微软Sysinternals Suite工具13年12月版下载
    转详解Zoosk千万用户实时通信背后的开源技术
    Where is Silverlight now?
    A glance at C# vNext
    silverlight 进行本地串口调用的一种可行的解决方法 之silverlight端代码
    silverlight 进行本地串口调用的一种可行的解决方法
    silverlight 中javascript 代码与托管代码的互调用 以及一些思考
    使用cglib动态创建javabean
    数据库同步核心代码
  • 原文地址:https://www.cnblogs.com/zhahu/p/12333689.html
Copyright © 2011-2022 走看看