文章目錄
- 設備管理概述
- 設備管理技術
- 磁盤調度
設備管理概述
設備管理是操作系統中最繁雜、與硬件關系緊密的部分。
設備可以按照數據組織、資源分配、數據傳輸率分類。
- 數據組織:分為塊設備(ex. 磁盤)、字符設備(ex. 打印機)。
- 資源分配:獨占設備(ex. 打印機)、共享設備(ex. 磁盤)、虛擬設備(假脫機技術使一臺變多臺)。
- 數據傳輸率:低速設備(ex. 鍵盤)、中速設備(ex. 打印機)、高速設備(ex. 磁盤機)。
設備管理的目標:提高設備利用率,為用戶提供方便統一的界面。
設備管理的任務:多進程競爭設備時,分配和管理各設備。具體的,記錄設備狀態、分配和釋放設備、管理緩沖區、實現物理I/O設備操作、提供用戶接口、設備訪問與控制。
設備管理技術
設備管理技術包括通道、DMA(直接內存存取)、緩沖和spooling技術(假脫機技術)。
- 通道技術:讓數據的傳輸獨立于CPU。
- DMA技術:實現數據在內存和I/O設備間的塊傳送,提高傳送效率。
- 緩沖技術:緩和CPU與I/O速讀不匹配的矛盾,讓外設盡可能處于忙狀態。
- spooling技術:使用一類物理設備模擬另一類物理設備,使獨占設備變成多臺虛擬設備。
spooling系統中包含程序和數據兩大塊。spooling系統記錄作業表(登記所有作業名、狀態、預輸入表位置),每個作業記錄各自的預輸入表(登記該作業各文件情況)。
作業通過輸入設備,被預輸入程序捕捉,將作業信息裝入輸入井。經過作業調度程序,某個作業進入可運行狀態,通過井管理程序,從輸入井獲取輸入信息,并執行作業。作業執行完畢后,通過井管理程序,將輸出結果放入輸出井。輸出井中的結果信息,經過緩輸出程序,傳送到輸出設備上。
磁盤調度
磁盤是很多盤片堆疊而成的,磁盤的調度主要分移臂調度和旋轉調度。
移臂調度確定移動臂在盤片縱向的位置,如圖中紅色箭頭方向所示。
由于磁盤訪問最耗時的是移臂尋道,有很多移臂調度算法,用于縮短平均尋道時間,包括先來先服務(FCFS),最短尋道時間優先(SSTF),掃描算法(SCAN),單向掃描算法(CSCAN)。這些算法都是用于決定移動臂的移動方向的。
- 先來先服務:哪個進程先提出請求,移動臂就先去對應的磁道。
- 最短尋道時間優先:先訪問離當前磁頭最近的磁道。
- 掃描算法:從內向外,再從外向內不斷掃描,也叫電梯調度算法。
- 單向掃描算法:磁頭只做單一方向的移動,到頭后立刻回到起點。
旋轉調度是移動臂定位后,確定不同進程訪問柱面的順序。
- 訪問不同編號扇區:先到達磁頭下方的扇區先做數據傳輸。
- 訪問不同磁道相同編號扇區:任意磁頭下的扇區先做數據傳輸。