1. 程式人生 > >輸入輸出系統 ——I/O系統

輸入輸出系統 ——I/O系統

需要用於輸入、輸出和儲存資訊的裝置;
需要相應的裝置控制器;
控制器與CPU連線的高速匯流排;
有的大中型計算機系統,配置I/O通道;

1. I/O系統的基本功能及模型
主要功能:
隱藏物理裝置細節,方便使用者
使用者使用抽象的I/O命令即可
實現裝置無關性,方便使用者
使用者可用抽象的邏輯裝置名來使用裝置,同時也提高了OS的可移植性和易適應性。
提高處理機和裝置的並行性,提高利用率:緩衝區管理
對I/O裝置進行控制:控制方式、裝置分配、裝置處理
確保對裝置正確共享:虛擬裝置及裝置獨立性等
錯誤處理

I/O軟體的分層
①使用者層軟體
實現與使用者互動的介面,使用者可直接呼叫在使用者層提供的、與I/O操作有關的庫函式,對裝置進行操作。
②裝置獨立軟體
用於實現使用者程式與裝置驅動器的統一介面、裝置命名、裝置的保護以及裝置的分配與釋放等,同時為裝置管理和資料傳送提供必要的儲存空間。
③裝置驅動程式
與硬體直接相關,用於具體實現系統對裝置發出的操作指令,驅動I/O裝置工作的驅動程式。
④中斷處理程式
用於儲存被中斷程序的CPU環境,轉入相應的中斷處理程式進行處理,處理完後再恢復被中斷程序的現場後,返回到被中斷程序。

在I/O系統與高層介面中,根據裝置型別的不同,又進一步分為若干個介面。主要包括:
塊裝置介面
流裝置介面
網路通訊介面

I/O系統的組成
需要用於輸入、輸出和儲存資訊的裝置;
需要相應的裝置控制器;
控制器與CPU連線的高速匯流排;
有的大中型計算機系統,配置I/O通道;

I/O裝置的型別繁多,從OS的觀點,按其重要的效能指標進行分類如下:

按傳輸速率分類:
低速、中速、高速(鍵盤、印表機、磁碟)
使用:儲存裝置、輸入輸出裝置
按資訊交換的單位分類:
塊裝置:有結構、速率高、可定址、DMA方式控制
字元裝置:無結構、速率低、不可定址、中斷方式控制

按裝置的共享屬性分類:
獨佔:印表機
共享:一個時刻上仍然是隻被一個程序佔用。可定址、可隨機訪問的色後備。磁碟。
虛擬:使一臺獨佔裝置變換為若干臺邏輯裝置,供給若干使用者“同時使用”。

與控制器的介面有三種類型的訊號
資料訊號線(進出資料轉換、緩衝後傳送)
控制訊號線(讀\寫\移動磁頭等控制)
狀態訊號線

陣列選擇通道
針對高速裝置:分配型子通道
裝置利用子通道佔用通道後,一段時間內一直獨佔,直至裝置傳送完畢釋放。
利用率低。
陣列多路通道
結合上述兩種方式。
含多個非分配型子通道。資料傳送則按陣列方式進行。

1.中斷簡介
⑴中斷和陷入
中斷:CPU對I/O裝置發來的中斷訊號的一種響應,中斷是由外部裝置引起的,又稱外中斷。
陷入:由CPU內部事件所引起的中斷,通常把這類中斷稱為內中斷或陷入(trap)。
中斷和陷入的主要區別:是訊號的來源。

⑵中斷向量表
中斷向量表:為每種裝置配以相應的中斷處理程式,並把該程式的入口地址,放在中斷向量表的一個表項中,併為每一個裝置的中斷請求,規定一箇中斷號,它直接對應於中斷向量表的一個表項中。
⑶對多中斷源的處理方式
①遮蔽(禁止)中斷
②巢狀中斷

中斷處理流程
測定是否有未響應的中斷訊號
保護被中斷程序的CPU環境
轉入相應的裝置處理程式
中斷處理
恢復CPU的現場


驅動程式處理過程
I/O裝置與控制器間的通訊轉換程式
瞭解抽象命令,瞭解控制器內部的暫存器結構
與硬體密切相關,每類裝置配備一種驅動程式
功能:接受解釋指令(有通道的系統,自動通道程式)、相關判斷、傳送裝置命令、響應中斷
特點,控制方式不同程式不同,部分固化進硬體,程式碼可重入。

 

CPU向相應的裝置控制器發出一條I/O命令
然後立即返回繼續執行任務。
裝置控制器按照命令的要求去控制指定I/O裝置。
這時CPU與I/O裝置並行操作。
I/O裝置輸入資料中,無需CPU干預,因而可使CPU與I/O裝置並行工作。從而提高了整個系統的資源利用率及吞吐量。
3)直接儲存器訪問DMA 方式
①該方式的特點是:
資料傳輸的基本單位是資料塊;
所傳送的資料是從裝置直接送入記憶體的,或者直接從記憶體進裝置;不需要CPU操作。
CPU干預進一步減少:僅在傳送一個或多個數據塊的開始和結束時,才需CPU干預,整塊資料的傳送是在控制器的控制下完成的。
可見DMA方式又是成百倍的減少了CPU對I/O的干預,進一步提高了CPU與I/O裝置的並行操作程度。

DMA控制器由三部分組成:
主機與DMA控制器的介面;
DMA控制器與塊裝置的介面;
I/O控制邏輯。