文章目錄
I/O系統是OS的重要組成部分,用於管理諸如打印機和掃描儀等I/O設備,以及用於存儲數據諸如磁盤驅動器等各種存儲設備。
I/O系統管理的主要對象是I/O設備和相應的設備控制器。
主要任務:完成用戶提出的I/O請求,提高I/O速率及設備的利用率。
一、I/O設備的概念和分類
I/O設備就是可以將數據輸入到計算機,也可以接受計算機輸出數據的外部設備。
二、I/O控制器
設備一般由機械部分和電子部分組成。這個電子部分就是I/O控制器,又稱設備控制器。
功能
組成
小結
三、I/O控制方式
用什麼來控制I/O設備數據的讀/寫
程序直接控制方式
中斷驅動方式
DMA方式
通道控制方式
小結
一個通道可以控制多個IO控制器,而一個IO控制器可以控制多個IO設備。
四、IO軟件的層次結構
用戶層軟件
設備獨立性軟件
與設備的硬件特性無關的功能的實現。
設備驅動程序
設備驅動程序一般以一個獨立進程的形式存在。
中斷處理程序
四.一、 I/O系統中各個模塊之間的層次結構
1.I/O系統的上下接口。包括I/O系統接口和軟件/硬件接口
I/O系統接口,它是I/O系統與上層系統之間的接口,向上層系統(文件系統,虛擬存儲器系統以及用戶進程等)提供對設備進行操作的抽象I/O命令。若根據設備類型的不同將接口細分,塊設備接口,流設備接口,網絡通信接口。
軟件/硬件接口,上面是中斷處理程序和不同設備的設備驅動程序,下面是各個設備的控制器。
在上下兩個接口之間則是I/O系統
2.I/O系統的分層。與前面的I/O軟件組織的層次結構相對應,I/O系統本身也可以分爲3個層次,即中斷處理程序,設備驅動程序,設備獨立性軟件。
五、IO核心子系統
5.1、假脫機技術
什麼是脫機技術?
什麼是假脫機技術?
當有數據從設備輸入到計算機時,輸入進程(軟件)會把輸入的數據先放到輸入緩衝區裏,之後再放到磁盤的輸入井當中;
數據從計算機輸入到設備,輸出進程會把要輸出的數據從磁盤的輸出井當中取出數據放到內存的輸出緩衝區中,之後輸出到設備。
共享打印機的實現(假脫機的應用)
小結
5.2 設備的分配與回收
小結
5.3 緩衝區管理
單緩衝區
雙緩衝區
循環緩衝區
緩衝池