1. 程式人生 > >【OS】磁碟排程演算法

【OS】磁碟排程演算法

一、磁碟概述

磁碟儲存器是計算機系統中最重要的儲存裝置,其中存放了大量的檔案。

二、改善磁碟儲存器的效能的三個主要方面

1、採用一個好的排程演算法,減少尋道時間

2、提高磁碟的I/O速度

3、採取冗餘技術

三、磁碟的訪問時間主要分為以下三個部分

1、尋道時間

            Ts = m * n +s

2、旋轉延遲時間

3、傳輸時間

            Tt = b/(rN)

四、磁碟排程演算法分為:

1、先來先服務演算法

      按請求的先後順序,判斷訪問的先後順序。平均尋道距離大,現在用處比較少

2、最短定址優先

      每次先滿足和當前移動臂距離最近的請求,但無法保證平均尋道距離最短。

3、掃描演算法  ------>>>>用C語言實現掃描演算法

      又稱“電梯”排程演算法,可以防止“飢餓”

4、迴圈掃描演算法

     掃描演算法的優化,磁頭的方向不會變化。當磁頭移動到最外道時,立即返回最裡面的欲訪問磁軌

5、NStepSCAN和FSCAN

  (1)NStepSCAN用於防止“磁臂黏著”,也就是磁臂停住不動的情況。具體是將磁碟請求佇列分成若干個長度為N的子佇列

    (2)FSCAN是對NStepSCAN的簡化,可以理解為這裡的N = 2;

五、下面通過一個例項來講解前三個磁碟排程演算法

假如若干個等待訪問磁碟者一次要訪問磁軌為 25,90,30 ,86,43 ,72,50,45,81,

且移動臂在48號柱面上假設訪問一個磁軌需要3ms,求出尋道時間

一、

二、

 三、