一、I/O設備的類型
按設備的所屬關係可以將I/O設備分爲以下兩類。
1、系統設備
系統設備是在系統生成時已登記於系統中的標準設備,屬於系統的基本配置
2、用戶設備
用戶設備是在系統生成時示登記於系統中的非標準設備。(U盤,移動硬盤)
按設備的信息交換的單位可將I/O設備分爲以下兩類
1、字符設備
字符設備是以字符爲單位進行輸入和輸出的設備。
2、塊設備
塊設備的輸入和輸出是以數據塊爲單位的。(SCSI硬盤)
按設備的共享屬性可將I/O設備分爲以下三類
1、獨佔設備
所有的字符設備都是獨佔設備。獨佔設備是指一段時間內只允許一個用戶(進程)訪問的設備,即臨界資源。(打印機)
2、共享設備
塊設備都是共享設備。共享設備是指一段時間內允許多個進程同時訪問的設備。
3、虛擬設備
通過虛擬投備技術把一臺獨佔設備變換爲若干臺邏輯設備,供若干個用戶(進程)同時使用,以提高設備的利用率。
設備管理的任務的功能
設備管理是對計算機的輸入/輸出系統的管理,它是操作系統中最具有多樣性和複雜性的部分。其主要務如下所述
(1)選擇和分配I/O設備以便進行數據傳輸操作。
(2)控制I/O設備和CPU(或內存)之間交換數據。
(3)爲用戶提供一個友好的透明接口把用和設備硬件特性分開,使得用戶在編制應用程序時不必涉及具體設,由系統按用戶的要求來對設備的工作進行控制。另外,這個接口還爲新增加的用戶設備提供一個和系統核心相連接的入口,以便用戶開發新的設備管理程序。
(4)提高設備和設備之間、CPU和設備之間以及進程和進程之間的並行操作程度,以使操作系統獲得最佳效率
設備管理程序提供以下功能:
(1)提供和理進程管理系統的接口
(2)進行設備分配
(3)實現設備和設備、設備和CPU等之間的並行操作
(4)進行緩衝管理
(5)設備控制與驅動
設備控制器
設備控制器是CPU與I/O設備之間的接口,它接收從CPU發來的命令並去控制I/O設備工作。設備控制器是一個可編址設備,當它僅控制一個設備時,它只有一個惟一的設備地址當它控制多個設備時,則應具有多個設備地址,使每一個地址對應一個設備。
設備控制器的由三部分組成:
A、設備控制器與處理機的接口
B、設備控制器與設備的接口
C、I/O邏輯
圖見附件。
I/O通道
設置I/O通道的目的是使一些原來由CPU處理的I/O任務轉由通道來承擔,從而把CPU從繁雜的I/O任務中解脫出來。在設置了通道後,CPU只需向通道發送一條I/O指令。通道在收到該指令後,便從內存中取出本次要執行的通道程序,然後執行該通道程序,僅當通道完成了規定的I/O任務後,才向CPU發中斷信號。
通道有兩種基本類型:選擇通道和多路通道
單通路I/O系統圖見附件
多通路I/O系統圖見附件
設備驅動
設備驅動程序的主要任務,是接收上層軟件開發來的抽象要求,如read或write命令,再把它轉換爲具體要求,發送給設備控制器;此外,它也將由設備控制器發來的信號傳送給上層軟件,從而完成兩者間的相互通信。
設備驅動程序的處理過程:
(1)將抽象要求轉換爲具體要求
(2)檢查I/O請求的合法性
(3)讀出和檢查設備的狀態
(4)傳送必要的參數
(5)工作方式的設置
(6)啓動I/O設備
二、I/O控制方式
程序I/O方式(查詢方式)
圖見附件