1. 程式人生 > >作業系統原理之I/O裝置管理(第六章上半部分下)

作業系統原理之I/O裝置管理(第六章上半部分下)

五、I/O軟體原理

輸入輸出軟體的總體目標是將軟體組織成一種層次結構

  • 低層軟體用來遮蔽硬體的具體細節
  • 高層軟體則主要是為使用者提供一個簡潔、規範的介面

裝置管理的4個層次:

  • 使用者層軟體 -》向系統發出I/O請求,顯示I/O操作的結果,提供⽤戶與裝置的接⼝
  • 與裝置無關的軟體層-》完成裝置命名、裝置分配、裝置獨⽴性和緩衝管理等功能
  • 裝置驅動程式-》與硬體關係最密切,包括裝置服務程式和中斷處理程式
  • 中斷處理程式(底層)-》

 

裝置管理軟體的功能:

(1)實現I/O裝置的獨⽴性
(2)錯誤處理
(3)非同步傳輸
(4)緩衝管理
(5)裝置的分配和釋放
(6)實現I/O控制⽅式

中斷處理程式

  中斷處理程式的作⽤:I/O中斷處理程式的作⽤是將發出I/O請求⽽被阻塞的程序喚醒

裝置驅動程式:

 

 

 與硬體⽆關的I/O軟體:

與裝置⽆關的I/O軟體的功能如下:

(1)裝置命名

(2)裝置保護

(3)提供獨⽴於裝置的塊⼤⼩

(4)為塊裝置和字元裝置提供必要的緩衝技術

(5)塊裝置的儲存分配

(6)分配和釋放獨⽴裝置

(7)錯誤處理

六、 磁碟管理

  • 磁碟儲存器容量⼤,存取速度快,⽽且可以實現隨機存取,是存放⼤量程式和資料的理想裝置;
  • 磁碟管理的重要⽬標是提⾼磁碟空間利⽤率和磁碟訪問速度

磁碟結構:

  ⼀個物理記錄儲存在⼀個扇區上,磁碟儲存的物理記錄數⽬是由扇區數、磁軌數及 磁碟⾯數決定的。

 

 

 

 

 磁碟型別:

  • 固定頭磁碟 在每條磁軌上都有讀/寫磁頭                       
  • 活動頭磁碟 (移動頭):每⼀個盤⾯僅配有⼀個磁頭

 磁碟訪問時間:

 

 

 磁碟排程

  磁碟排程的一個重要目標是使磁碟的平均尋道時間最少

 磁碟排程演算法

  • 先來先服務 (First Come First Served, FCFS)
    • 最簡單的磁碟排程演算法 根據程序請求訪問磁碟的先後順序進⾏排程
    • 優點:公平、簡單,且每個程序的請求都能依次得到處理,不會出現某⼀ 程序的請求⻓期得不到滿⾜的情況
    • 缺點:平均尋道時間較⻓
    •  
  • 最短尋道時間優先 (Shortest Seek Time First, SSTF)
    • 該演算法選擇的程序:其要求訪問的磁軌與當前磁頭所在的磁軌距離最近, 以使每次的尋道時間最短。
    • 優點:每次的尋道時間最短,較之FCFS有更好的尋道效能
    • 缺點:可能導致某個程序發⽣“飢餓”現象
    •  
  • 掃描演算法 (SCAN)

    不僅考慮到要訪問的磁軌與當前磁軌的距離,更優先考慮磁頭當前的移動⽅向。

    優點:有較好的尋道效能,防⽌“飢餓”現象
    缺點:有時候程序請求被⼤⼤推遲

  • 迴圈掃描演算法 (CSCAN)

    在掃描演算法的基礎上,規定磁頭是單向移動的。將最⼩磁軌號緊接著最⼤磁軌號構成迴圈,進⾏迴圈掃描。

  • NStepSCAN和FSCAN排程演算法

    

 

 

    這兩種演算法可以避免磁臂粘著

  

 

 

 

計算題

假設磁碟有1000個磁軌,若磁碟請求是一些隨機請求,它們按照到達的次序分別處於 811、 348、153、968、407、580、233、679、801、121磁軌。當前磁頭在656號 磁軌上,並且讀寫磁頭正在向磁軌號增加的方向移動。

要求: 1.給出用FCFS演算法進行磁碟排程時滿足請求的次序,並計算出它們的平均尋道長度。

 

 2.給出用SSTF演算法進行磁碟排程時滿足請求的次序,並計算出它們的平均尋道長度。

 

 

假設磁碟有1000個磁軌,若磁碟請求是一些隨機請求,它們按照到達的次序分別處於150、 160、 184、90、58、55、39、38、18磁軌。當前磁頭100號磁軌上,並且讀寫磁頭正在向磁軌號增 加的方向移動。

要求: 1.給出用SCAN演算法進行磁碟排程時滿足請求的次序,並計算出它們的平均尋道長度。

 

 2.給出用CSCAN演算法進行磁碟排程時滿足請求的次序,並計算出它們的平均尋道長度。

 

 

提⾼磁碟I/O速度的⽅法

 

 為了提高磁碟I/O速度,用來暫存從磁碟中讀出的一系列盤塊中的資訊的方 法是磁碟快取記憶體

&n