學習筆記(12):2020軟考軟件設計師--基礎知識實戰培訓視頻-操作系統--設備管理(一)...

立即學習:https://edu.csdn.net/course/play/7883/161192?utm_source=blogtoedu

3.4 設備管理

計算機系統的一個重要組成部分是I/O系統.

I/O系統包括:

  • 輸入\輸出設備(鼠標,鍵盤,音箱)
  • 存儲功能的設備(磁盤)
  • 設備控制器(顯卡,聲卡)

一.設備管理的概念

設備管理程序提供下述功能

  • 提供和進程管理系統的接口
  • 進行設備分配
  • 實現設備和設備之間\設備和CPU之間的並行操作
  • 進行緩衝區管理

二.I/O控制方式

(1) 程序I/O方式

(2) 中斷控制I/O方式

(3) 直接存儲器訪問(DMA)方式

(4) I/O通道控制方式

  • 字節多路通道
  • 選擇通道
  • 成組多路通道

三.緩衝管理

(1) 單緩衝

(2) 多緩衝

(3) 循環緩衝

(4) 緩衝池(Buffer Pool)

引入緩衝區的主要原因歸結爲以下幾點;

  • 緩和CPU和I/O設備間速度不匹配的矛盾.
  • 減少對CPU的中斷頻率,放寬對CPU中斷響應時間的限制
  • 提高CPU和I/O設備之間的並行性.

(1) 單緩衝(Single Buffer)

在單緩衝情況下,每當用戶進程發出一I/O請求時,OS便在主存中爲之分配一緩衝區.

在字符設備輸入時,緩衝區用於暫存用戶輸入的一行數據,在輸入期間,用戶進程被掛起以等待數據輸入完畢;在輸出時,用戶進程將一行數據輸入到緩衝區後,繼續執行處理.當用戶進程已有第二行數據輸出時,如果第一行數據尚未被提取完畢,則此時用戶進程應阻塞.

(2) 雙緩衝(Double Buffer)

爲了加快輸入和輸出速度,提高設備利用率,人們又引入了雙緩衝區機制,也稱爲緩衝對換(Buffer Swapping).在設備輸入時,先將數據送入第一緩衝區,裝滿後便轉向第二緩衝區.此時OS可以從第一緩衝區移出數據,並送入用戶進程.

(3) 循環緩衝區

循環緩衝有多個大小相同的緩衝區,緩衝區有三種類型:

  • 用於裝輸入數據的空緩衝區R
  • 已裝滿數據的緩衝區G
  • 計算進程正在使用的現行工作緩衝區C

(4) 緩衝池

對於既可輸入又可輸出的公用緩衝池,至少應含三種類型緩衝區:

  1. 空緩衝區;
  2. 裝滿輸入數據的緩衝區;
  3. 裝滿輸出數據的緩衝區;

四.設備的分配

1.設備分配原則

  • 靜態分配(一次性全分配,不會發生死鎖)
  • 動態分配(按需分配,分配不當可能造成死鎖)

2.設備分配策略

  • 先請求先分配
  • 優先級高者先分配
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章