1. 程式人生 > >裝置管理I/O組成I/O軟體

裝置管理I/O組成I/O軟體

一、裝置獨立軟體
用於實現使用者程式與裝置驅動器的統一介面、裝置命名、裝置的保護以及裝置的分配與釋放等,同時為裝置管理和資料傳送提供必要的儲存空間。

二、I/O系統介面
塊裝置介面:
資料的存取和傳輸都是以資料塊為單位的裝置。基本特徵是傳輸速率較高、可定址。磁碟裝置的I/O常採用DMA方式。
流裝置介面:
資料的存取和傳輸是以字元為單位的裝置。如鍵盤、印表機等。基本特徵是傳輸速率較低、不可定址,常採用中斷驅動方式。

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

四、資訊交換方式
根據其控制的外圍裝置的不同型別,資訊交換方式也可分為以下三種類型:
(1)位元組多路通道:一個通道常通過多個子通道連線多個裝置控制器,多個裝置,通過非分配型子通道以位元組為單位交叉輪流使用主通道傳輸自己的資料。
(2)陣列選擇通道:針對高速裝置:分配型子通道,裝置利用子通道佔用通道後,一段時間內一直獨佔,直至裝置傳送完畢釋放。利用率低。
(3)陣列多路通道:含多個非分配型子通道。資料傳送則按陣列方式進行。

五、中斷向量表
為每種裝置配以相應的中斷處理程式,並把該程式的入口地址,放在中斷向量表的一個表項中,併為每一個裝置的中斷請求,規定一箇中斷號,它直接對應於中斷向量表的一個表項中。

六、I/O控制方式
(1)程式I/O方式
過程:
1、向控制器傳送一條I/O指令;啟動輸入裝置輸入資料;把狀態暫存器busy=1。
2、然後不斷測試標誌。為1:表示輸入機尚未輸完一個字,CPU繼續對該標誌測試;直到為0:資料已輸入控制器資料暫存器中。
3、CPU取控制器中的資料送入記憶體單元,完成一個字的I/O 。
缺點:
高速CPU空閒等待低速I/O裝置,致使CPU極大浪費。
在這裡插入圖片描述
(2)中斷驅動I/O方式
過程:
1、CPU向相應的裝置控制器發出一條I/O命令
2、然後立即返回繼續執行任務。
3、裝置控制器按照命令的要求去控制指定I/O裝置。
4、這時CPU與I/O裝置並行操作。
優缺點:
1、中斷方式比程式I/O方式更有效
2、但仍以字(節)為單位進行I/O,每當完成一個字(節),控制器便要請求一次中斷。
3、CPU雖然可與I/O並行,但效率不高,存在頻繁的中斷干擾。
在這裡插入圖片描述


(3)直接儲存器訪問DMA(位元組—塊)
過程:
1、CPU先向磁碟控制器傳送一條讀命令。該命令被送到命令暫存器CR中。
2、同時傳送資料讀入到記憶體的起始地址,該地址被送入MAR中;要讀資料的字數則送入資料計數器DC中;
3、將磁碟中的資料原地址直接送入DMA控制器的I/O控制邏輯上,按裝置狀態啟動磁頭到相應位置。
4、啟動DMA控制器控制邏輯開始進行資料傳送
DMA控制器讀入一個數據到資料暫存器DR中,然後傳到記憶體MAR地址中;
接著MAR+1,DC-1,判斷DC是否為0,如否,繼續,反之控制器發中斷請求,傳送完畢。
優缺點:
DMA適用於讀一個連續的資料塊;
在這裡插入圖片描述
(4)I/O通道控制方式(組織傳送的獨立)
通過執行通道程式,與裝置控制器共同實現對I/O裝置的控制。

通道指令一般包含下列資訊:
操作碼。規定指令所執行的操作。
記憶體地址。
計數。表示本指令所要操作的位元組數。
通道程式結束位。用以表示程式是否結束。
記錄結束標誌。表示該指令是否與下條指令有關。

七、裝置獨立性
使用者程式設計時所用的裝置名(邏輯上的)與實際物理裝置無關;