第六章 輸入輸出系統 ( IO系統 )

這章的重點內容是外設管理
這章比較簡單,重點是思想與原理




6.1 I/O系統的功能、模型和接口

I/O系統管理的主要對象是I/O設備和相應的設備控制器。其最主要的任務是,完成用戶提出的I/O請求,提高I/O速率,以及提高設備的利用率,並能爲更高層的進程方便地使用這些設備提供手段。

在這裏插入圖片描述
設備驅動程序幫助計算機管理外設
設備驅動程序大部分已經集成到操作系統中

# 6.1.1 I/O系統的基本功能

# 1. 隱藏物理設備的細節
I/O設備的類型非常多,且彼此間在多方面都有差異,
諸如它們接收和產生數據的速度,傳輸方向、粒度、數據的表示	形式及可靠性等方面。
# 2. 與設備的無關性
用戶不僅可使用抽象的I/O命令使用設備,還可以使用邏輯設備名使用。
# 3. 提高處理機和I/O設備的利用率
在一般的系統中,許多I/O設備間是相互獨立的,能夠並行操作,在處理機與設備之間也能並行操作。
因此,I/O系統的第三個功能是要儘可能地讓處理機和I/O設備並行操作,以提高它們的利用率。

爲此,一方面要求處理機能快速響應用戶的I/O請求,使I/O設備儘快地運行起來;
另一方面也應儘量減少在每個I/O設備運行時處理機的干預時間。
# 4. 對I/O設備進行控制
對I/O設備進行控制是驅動程序的功能。
目前對I/O設備有四種控制方式:

① 採用輪詢的可編程I/O方式;
② 採用中斷的可編程I/O方式;
③ 直接存儲器訪問方式;
④ I/O通道方式。
# 5. 確保對設備的正確共享

從設備的共享屬性上,可將系統中的設備分爲如下兩類:

(1) 獨佔設備

進程應互斥地訪問這類設備,
即系統一旦把這類設備分配給了某進程後,便由該進程獨佔,直至用完釋放。
典型的獨佔設備有打印機、磁帶機等。系統在對獨佔設備進行分配時,還應考慮到分配的安全性。

(2) 共享設備

是指在一段時間內允許多個進程同時訪問的設備。
典型的共享設備是磁盤,當有多個進程需對磁盤執行讀、寫操作時,
可以交叉進行,不會影響到讀、寫的正確性。
# 6. 錯誤處理
大多數的設備都包括了較多的機械和電氣部分,運行時容易出現錯誤和故障。
從處理的角度,可將錯誤分爲臨時性錯誤和持久性錯誤。
對於臨時性錯誤,可通過重試操作來糾正,
只有在發生了持久性錯誤時,才需要向上層報告。

# 6.1.2 I/O系統的層次結構模型

# 1. I/O軟件的層次結構 ( 通常四個層次 )

在這裏插入圖片描述

# 2. I/O系統中各種模塊之間的層次視圖

在這裏插入圖片描述

爲了能更清晰地描述I/O系統中主要模塊之間的關係,我們進一步介紹I/O系統中各種I/O模塊之間的層次視圖。

(1)  I/O系統的上、下接口
(2)  I/O系統接口。
(3)  軟件/硬件(RW/HW)接口。個層次

# 6.1.3 I/O系統的接口

在I/O系統與高層之間的接口中,根據設備類型的不同,又進一步分爲若干個接口:塊設備接口、流設備接口和網絡接口。

# 1. 塊設備接口
(1) 塊設備。
(2) 隱藏了磁盤的二維結構。
(3) 將抽象命令映射爲低層操作
# 2. 流設備接口

流設備接口是流設備管理程序與高層之間的接口。該接口又稱爲字符設備接口,它反映了大部分字符設備的本質特徵,用於控制字符設備的輸入或輸出。

(1) 字符設備。
(2) get和put操作。
(3) in-control指令。
# 3. 網絡通信接口

在現代OS中,都提供了面向網絡的功能。但首先還需要通過某種方式把計算機連接到網絡上。同時操作系統也必須提供相應的網絡軟件和網絡通信接口,使計算機能通過網絡與網絡上的其它計算機進行通信或上網瀏覽。


6.2 I/O設備和設備控制器

6.3 中斷機構和中斷處理程序

6.4 設備驅動程序

6.5 與設備無關的I/O軟件

6.6 用戶層的I/O軟件

6.7 緩衝區管理

6.8 磁盤存儲器的性能和調度

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