五、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速度,用來暫存從磁盤中讀出的一系列盤塊中的信息的方 法是磁盤高速緩存
?