計算機系統的一個重要組成部分師I/O系統。
I/O系統包括:
- 輸入、輸出折百
- 存儲功能的設備
- 設備控制器
一、設備管理的概念
設備管理程序提供下述功能
- 提供和進程管理系統的接口
- 進行設備分配
- 實現設備和設備之間、設備和CPU之間的並行操作
- 進行緩衝區管理。
二、I/O控制方式
- 程序II/O方式
- 終端控制I/0方式
- 直接存儲器訪問(DMA)方式
- I/0通道控制方式:
字節多路通道;選擇通道;成組多路通道
三、緩存管理
- 單緩衝
- 多緩衝
- 循環緩衝
- 緩衝池(Buffer Pool)
引入 緩衝區的主要原因歸結爲以下幾點:
- 緩和CPU與I/O設備間速度不匹配的矛盾
- 減少對CPU的中斷頻率,放款對CPU中斷響應時間的限制
- 提高CPU和I/O設備之間的並行性。
單緩衝:
在單緩衝情況下,每當用戶進程發出一I/O請求時,OS便在主存中爲之分配一緩衝區。
在字符設備輸入時,緩衝區用於暫存用戶輸入的一行數據,在輸入期間,用戶進程被掛起以等待數據輸入完畢;在輸出時,用戶進程將一行數據輸入到緩衝區後,繼續執行處理。當用戶進程已經有第二行數據輸出時,如果第一行數據尚未被提取完畢,則此時用戶進程阻塞。
雙緩衝:
爲了加快輸入和輸出速度,提高設備利用率,人們又引入了雙緩衝區機智,也稱爲緩衝對換。在設備輸入時,先將數據送入第一緩衝區,裝滿後便裝滿後便轉向第二緩衝區。此時OS可以從第一緩衝區中移出數據,並送入用戶進程。
循環緩衝
循環緩衝有多個大小相同的緩衝區,緩衝區有三種類型:
- 用於裝輸入數據的空緩衝區R
- 已裝滿數據的緩衝區G
- 計算進程正在使用的現行工作緩衝區C
緩衝池
對於既可輸入又可輸出的公用緩衝區,至少應含有三種類型緩衝區:
- 空緩衝區;
- 裝滿輸入數據的緩衝區
- 裝滿輸出數據的緩衝區
四、設備的分配
設備分配原則:
- 靜態分配
- 動態分配(會發生死鎖)
設備分配策略
- 先請求先分配
- 優先級高者先分配