中斷處理程式的作⽤: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速度,用來暫存從磁碟中讀出的一系列盤塊中的信息的方 法是磁碟高速緩存