作業系統之I/O管理:1、I/O控制器、I/O控制方式(程式直接控制方式、中斷驅動方式、DMA方式、通道控制方式)
阿新 • • 發佈:2020-10-15
1、I/O裝置的概念、分類
基礎知識
思維導圖
什麼是I/O裝置?
分類
![
I/O控制器
思維導圖
I/O控制器功能
I/O控制器的組成
記憶體映像I/O vs 暫存器獨立編址
I/O控制方式
1、程式直接控制方式
為解決上述方式中的缺點,產生了中斷驅動方式
2、中斷驅動方式
與程式直接控制相比,區別是:
1、在CPU發出讀/寫命令後,可將等待I/O的程序阻塞,先切換到別的程序執行2、I/O完成後,控制器會向CPU發出一箇中斷訊號,CPU檢測到中斷訊號後,會儲存當前程序的執行環境資訊,轉去執行中斷處理程式處理該中斷。
3、CPU從I/O控制器讀一個字的資料傳送到CPU暫存器,再寫入主存
問題:中斷處理過程中需要儲存、恢復程序的執行環境,這個過程是需要一定時間開銷的。可見,如果中斷髮生的頻率太高,也會降低系統性能;每個字在I/O裝置與記憶體之間的傳輸,都需要經過CPU。為此提出來DMA方式。
3、DMA方式(直接儲存器存取)
1、CPU到I/O的操作都交由DMA控制器完成,資料的傳輸不在經由CPU處理,CPU僅在傳送一個或多個數據塊的開始和結束時,才需要干預。
2、區別於中斷驅動方式,多加入一個DMA控制器用於資料傳輸。3、DMA控制器:
1、從DMA控制圖中可知,記憶體到I/O裝置的資料傳輸通過DMA就可以完成,該不需要CPU的干預,大大提高了CPU與I/O裝置間的並行效率
2、CPU只是負責發出對I/O裝置的請求以及接收當資料傳輸完成後的中斷
4、通道控制方式
通道控制方式區別於DMA方式:當CPU請求I/O裝置時,會先在記憶體的任務清單中新增任務,然後通道檢查記憶體中的任務清單,若有任務則由通道負責與I/O裝置的資料傳輸。所以每次可以進行一組資料塊的讀寫。