操作系統-設備管理

設備分類

按數據交換的單位分類

  • 塊設備(Block Device):這種設備以塊爲單位組織數據和傳送數據,用於存儲信息,屬於有結構設備。
  • 磁盤是典型的塊設備,每個塊的大小爲512B~4KB,其基本特徵是:傳輸速率高,通常每秒幾兆位;可尋址,即可按地址隨機地訪問任意一塊;其輸入輸出方式是採用DMA方式
  • 字符設備(Character Device):指以單個字符爲單位來傳送數據的設備。這類設備一般用於數據的輸入輸出,如交互式終端(鍵盤)、打印機。
  • 字符設備的基本特徵是:傳輸速率低;不可尋址,即不能指定輸入時的源地址或輸出時的目標地址;輸入輸出方式採用中斷方式

按設備共享屬性分類

  • 獨佔設備:在一段時間內只允許一個用戶(進程)訪問的設備,如打印機。
  • 共享設備:在一段時間內允許多個進程訪問的設備,如磁盤
  • 虛擬設備:通過虛擬技術將一臺獨佔設備變換位若干臺邏輯設備,共若干個進程同時使用,通常將這種經過虛擬技術處理後的設備稱爲虛擬設備

按傳輸速率設備

  • 低速設備:指傳輸速率爲每秒鐘幾個字節到數百個字節的設別,如鍵盤,鼠標
  • 中速設備:傳輸速率在每秒數千字節到數萬字節的設備,如激光打印機
  • 高速設備:指傳輸速率在每秒數十萬字節到數兆字節的設備,如磁盤、光盤

設備管理

設備管理的任務

  • 記錄和監控設備狀態
  • 設備的分配和釋放
  • 管理緩衝區
  • 實現I/O設備的物理操作
  • 爲用戶提供設備使用的接口
  • 設備的訪問和控制
  • 輸入輸出緩衝和調度

緩衝技術

引入緩衝的原因

  • 緩衝技術可提高外設利用率,儘可能是外設處於忙狀態。緩衝技術根據實現方式分爲硬件緩衝和軟件緩衝硬件緩衝是利用專門的硬件寄存器作爲緩衝,而軟件緩衝則是通過操作系統來實現的。
  • 引入緩衝技術的主要原因:
    • 緩和CPU和I/O設備之間速度不匹配的矛盾
    • 減少對CPU的中斷頻率,放寬對中斷響應時間的限制
    • 提高CPU和I/O設備之間的並行性

緩衝的種類

  • 緩衝可分單緩衝、雙緩衝和循環緩衝
    在這裏插入圖片描述

假脫機

什麼是Spooling技術

  • 脫機輸入輸出技術:輸入數據時,在輸入外圍機的控制下,將紙帶上的數據或程序輸入到高速外存如磁盤上,然後從外存上送往內存;輸出時,由CPU直接高速地把數據從內存送到外存,再在輸出外圍機的控制下,將外存上的結果通過相應的輸出設備輸出。
  • Spooling是外圍設備聯機同時操作的縮寫,常簡稱爲Spooling技術或假脫機技術。利用該技術可使對外設的操作跟CPU對數據的處理同時進行。假脫機其實就是對上述的脫機輸入輸出工作的程序模擬。

Spooling系統的組成

  • Spooling系統主要有以下三部分組成:輸入井、輸出井和井管理程序;輸入緩衝區和輸出緩衝區;預輸入程序和緩輸出程序。 在這裏插入圖片描述

磁盤調度

先來先服務算法

  • 磁盤調度分爲移臂調度和旋轉調度兩類,並且是先進行移臂調度然後進行旋轉調度。
  • 先來先服務(FCFS)算法:根據進程請求訪問磁盤的先後次序進行調度。 在這裏插入圖片描述

最短尋道時間優先算法

  • 最短尋道時間優先算法:該算法選擇與當前磁頭所在的磁道距離最近的那個磁道作爲下一次要訪問的磁道,即使得每次尋道時間最短,但並不能保證平均尋道時間最短
    在這裏插入圖片描述

掃描算法

  • 掃描(SCAN)算法:不僅考慮下一個要訪問的磁道要離當前磁道距離最近,而且優先考慮磁頭當前的移動方向,當沿一個方向走到盡頭時,磁頭就換向移動。其運行規律類似電梯,因此亦稱電梯調度算法。
    *在這裏插入圖片描述

循環掃描算法

  • 循環掃描算法(CSCAN):在掃描算法的基礎上,規定磁頭只向一個方向移動,比如規定磁頭只從裏往外移動,移動到最外圈時再返回到最內圈磁道繼續往外掃描。亦稱單向掃描算法。
    在這裏插入圖片描述

旋轉調度算法

  • 一般選擇旋轉延遲時間最短的進程對磁盤的扇區進行訪問
    在這裏插入圖片描述
    在這裏插入圖片描述