Linux 設備管理

一、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方式(查詢方式)

圖見附件

 

發佈了29 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章