1、裝置管理的任務和功能
裝置管理的任務
(1)按使用者需求提出的要求接入外部裝置,系統按一定演算法分配和管理控制,而使用者不必關心裝置的實際地址和控制指令;
(2)盡量提高輸入輸出裝置的利用率,例如發揮主機與外設以及外設與外設之間的真正並行工作能力。
裝置管理的功能
(1)分配裝置
(2)控制和實現真正的輸入輸出操作
(3)對輸入輸出緩衝區進行管理
(4)在一些較大系統中實現虛擬設備技術
2、外部裝置分類
(1)按系統和使用者分:系統裝置、使用者裝置
(2)按輸入輸出傳送方式分(UNIX或Linux作業系統):字元型裝置、塊裝置
(3)按資源特點分:獨享裝置、共用裝置、虛擬設備
(4)按裝置硬體物理特性分:順序存取裝置、直接存取裝置
(5)按裝置使用分:物理裝置、邏輯裝置、偽裝置
裝置I/O方式:詢問、通道、中斷
I/O裝置分配演算法:先來先服務(FCFS)、按優先順序進行分配
3、裝置管理技術
(1)I/O設定緩衝理由
解決資訊的到達率和離去率不一致的矛盾;
緩衝起中轉站的作用;
使得一次輸入的資訊能多次使用;
在通道或控制器內設定局部寄存器作為緩衝儲存空間,可暫存I/O資訊,以減少中斷CPU的次數。這種情形可進一步推廣,使得一次讀入的資訊可多次重複使用。
(2)虛擬設備的技術(SPOOLing)
SPOOLing,即外圍裝置聯機並行操作,它是關於慢速字元裝置如何與電腦主機交換資訊的一種技術,通常也叫做“假離線技術”。是一種預輸入、緩輸出和轉儲的管理技術.
SPOOLing系統的特點:
提高了I/O速度;
將獨享裝置改造為共用裝置(典型例子是印表機的“共用”);
實現了虛擬設備功能。
4、裝置處理常式編製內容
裝置驅動程式的功能
(1)將接收到的抽象要求轉換為具體要求;
(2)檢查使用者I/O請求的合法性,瞭解I/O裝置的狀態,傳遞有I/O關參數,設定裝置的工作方式;
(3)發出I/O命令,啟動分配到的I/O裝置,完成指定的I/O 操作;
(4)及時響應由控制器或通道發來的插斷要求,並根據其中斷類型調用相應的中斷處理常式進行處理;
(5)對於設定有通道的電腦系統,驅動程式還應能夠根據使用者的 I/O請求,自動地構成通道程式。
裝置驅動程式的特點
(1)驅動程式主要是在請求I/O的進程與裝置控制器之間的一個通訊程式。
(2)驅動程式與I/O裝置的特性緊密相關。
(3)驅動程式與I/O控制方式緊密相關。
(4)由於驅動程式與硬體緊密相關,因而其中的一部分程式用組合語言書寫,目前有很多驅動程式,其基本部分已經固化,放在ROM中。
裝置處理方式
(1)將抽象要求轉換為具體要求
(2)檢查I/O請求的合法性
(3)讀出和檢查裝置的狀態
(4)傳送必要的參數
(5)方式的設定和I/O裝置啟動