資源簡介 The Best R&D Courses輸入輸出系統(tǒng) 6.1 I/O系統(tǒng)的功能、模型和接口 I/O系統(tǒng)管理的主要對象是I/O設(shè)備和相應(yīng)的設(shè)備控制器。其最主要的任務(wù)是,完成用戶提出的I/O請求,提高I/O速率,以及提高設(shè)備的利用率,并能為更高層的進程方便地使用這些設(shè)備提供手段。The Best R&D Courses輸入輸出系統(tǒng)6.1.1 I/O系統(tǒng)的基本功能 1. 隱藏物理設(shè)備的細節(jié) I/O設(shè)備的類型非常多,且彼此間在多方面都有差異,諸如它們接收和產(chǎn)生數(shù)據(jù)的速度,傳輸方向、粒度、數(shù)據(jù)的表示形式及可靠性等方面。The Best R&D Courses輸入輸出系統(tǒng) 2. 與設(shè)備的無關(guān)性 隱藏物理設(shè)備的細節(jié),在早期的OS中就已實現(xiàn),它可方便用戶對設(shè)備的使用。與設(shè)備的無關(guān)性是在較晚時才實現(xiàn)的,這是在隱藏物理設(shè)備細節(jié)的基礎(chǔ)上實現(xiàn)的。The Best R&D Courses輸入輸出系統(tǒng) 3. 提高處理機和I/O設(shè)備的利用率 在一般的系統(tǒng)中,許多I/O設(shè)備間是相互獨立的,能夠并行操作,在處理機與設(shè)備之間也能并行操作。因此,I/O系統(tǒng)的第三個功能是要盡可能地讓處理機和I/O設(shè)備并行操作,以提高它們的利用率。為此,一方面要求處理機能快速響應(yīng)用戶的I/O請求,使I/O設(shè)備盡快地運行起來;另一方面也應(yīng)盡量減少在每個I/O設(shè)備運行時處理機的干預(yù)時間。The Best R&D Courses輸入輸出系統(tǒng) 4. 對I/O設(shè)備進行控制 對I/O設(shè)備進行控制是驅(qū)動程序的功能。目前對I/O設(shè)備有四種控制方式:① 采用輪詢的可編程I/O方式;② 采用中斷的可編程I/O方式;③ 直接存儲器訪問方式;④ I/O通道方式。The Best R&D Courses輸入輸出系統(tǒng) 5. 確保對設(shè)備的正確共享 從設(shè)備的共享屬性上,可將系統(tǒng)中的設(shè)備分為如下兩類: (1) 獨占設(shè)備,進程應(yīng)互斥地訪問這類設(shè)備,即系統(tǒng)一旦把這類設(shè)備分配給了某進程后,便由該進程獨占,直至用完釋放。典型的獨占設(shè)備有打印機、磁帶機等。系統(tǒng)在對獨占設(shè)備進行分配時,還應(yīng)考慮到分配的安全性。 (2) 共享設(shè)備,是指在一段時間內(nèi)允許多個進程同時訪問的設(shè)備。典型的共享設(shè)備是磁盤,當(dāng)有多個進程需對磁盤執(zhí)行讀、寫操作時,可以交叉進行,不會影響到讀、寫的正確性。The Best R&D Courses輸入輸出系統(tǒng) 6. 錯誤處理 大多數(shù)的設(shè)備都包括了較多的機械和電氣部分,運行時容易出現(xiàn)錯誤和故障。從處理的角度,可將錯誤分為臨時性錯誤和持久性錯誤。對于臨時性錯誤,可通過重試操作來糾正,只有在發(fā)生了持久性錯誤時,才需要向上層報告。The Best R&D Courses輸入輸出系統(tǒng)6.1.2 I/O系統(tǒng)的層次結(jié)構(gòu)和模型 1. I/O軟件的層次結(jié)構(gòu) 通常把I/O 軟件組織成四個層次,如圖6-1所示。The Best R&D Courses輸入輸出系統(tǒng)圖6-1 I/O系統(tǒng)的層次結(jié)構(gòu)The Best R&D Courses輸入輸出系統(tǒng) 2. I/O系統(tǒng)中各種模塊之間的層次視圖 為了能更清晰地描述I/O系統(tǒng)中主要模塊之間的關(guān)系,我們進一步介紹I/O系統(tǒng)中各種I/O模塊之間的層次視圖。見圖6-2所示。 1) I/O系統(tǒng)的上、下接口 (1) I/O系統(tǒng)接口。 (2) 軟件/硬件(RW/HW)接口。The Best R&D Courses輸入輸出系統(tǒng)圖6-2 I/O系統(tǒng)中各種模塊之間的層次視圖The Best R&D Courses輸入輸出系統(tǒng) 6.2 I/O設(shè)備和設(shè)備控制器 I/O設(shè)備一般是由執(zhí)行I/O操作的機械部分和執(zhí)行控制I/O的電子部件組成。通常將這兩部分分開,執(zhí)行I/O操作的機械部分就是一般的I/O設(shè)備,而執(zhí)行控制I/O的電子部件則稱為設(shè)備控制器或適配器(adapter)。在微型機和小型機中的控制器常做成印刷電路卡形式,因而也常稱為控制卡、接口卡或網(wǎng)卡,可將它插入計算機的擴展槽中。在有的大、中型計算機系統(tǒng)中,還配置了I/O通道或I/O處理機。The Best R&D Courses輸入輸出系統(tǒng)6.2.1 I/O設(shè)備 1. I/O設(shè)備的類型 1) 按使用特性分類 2) 按傳輸速率分類The Best R&D Courses輸入輸出系統(tǒng) 2. 設(shè)備與控制器之間的接口 通常,設(shè)備并不是直接與CPU進行通信,而是與設(shè)備控制器通信,因此,在I/O設(shè)備中應(yīng)含有與設(shè)備控制器間的接口,在該接口中有三種類型的信號(見圖6-3所示),各對應(yīng)一條信號線。 (1) 數(shù)據(jù)信號線。 (2) 控制信號線。 (3) 狀態(tài)信號線。The Best R&D Courses輸入輸出系統(tǒng)圖6-3 設(shè)備與控制器間的接口The Best R&D Courses輸入輸出系統(tǒng)6.2.2 設(shè)備控制器 1. 設(shè)備控制器的基本功能 (1) 接收和識別命令。 (2) 數(shù)據(jù)交換。 (3) 標識和報告設(shè)備的狀態(tài)。 (4) 地址識別。 (5) 數(shù)據(jù)緩沖區(qū)。 (6) 差錯控制。The Best R&D Courses輸入輸出系統(tǒng) 2. 設(shè)備控制器的組成 由于設(shè)備控制器位于CPU與設(shè)備之間,它既要與CPU通信,又要與設(shè)備通信,還應(yīng)具有按照CPU所發(fā)來的命令去控制設(shè)備工作的功能,因此,現(xiàn)有的大多數(shù)控制器都是由以下三部分組成: (1) 設(shè)備控制器與處理機的接口。 (2) 設(shè)備控制器與設(shè)備的接口。 (3) I/O邏輯。The Best R&D Courses輸入輸出系統(tǒng)圖6-4 設(shè)備控制器的組成The Best R&D Courses輸入輸出系統(tǒng)6.2.3 內(nèi)存映像I/O 1. 利用特定的I/O指令 在早期的計算機中,包括大型計算機,為實現(xiàn)CPU和設(shè)備控制器之間的通信,為每個控制寄存器分配一個I/O端口,這是一個8位或16位的整數(shù),如圖6-5(a)所示。另外還設(shè)置了一些特定的I/O指令。The Best R&D Courses輸入輸出系統(tǒng) 2. 內(nèi)存映像I/O 在這種方式中,在編址上不再區(qū)分內(nèi)存單元地址和設(shè)備控制器中的寄存器地址,都采用k。當(dāng)k值處于0~n-1范圍時,被認為是內(nèi)存地址,若k大于等于n時,被認為是某個控制器的寄存器地址。The Best R&D Courses輸入輸出系統(tǒng)6.2.4 I/O通道 1. I/O通道設(shè)備的引入 雖然在CPU與I/O設(shè)備之間增加了設(shè)備控制器后,已能大大減少CPU對I/O的干預(yù),但當(dāng)主機所配置的外設(shè)很多時,CPU的負擔(dān)仍然很重。為此,在CPU和設(shè)備控制器之間又增設(shè)了I/O通道(I/OChannel)。The Best R&D Courses輸入輸出系統(tǒng) 2. 通道類型 1) 字節(jié)多路通道(Byte Multiplexor Channel) 這是一種按字節(jié)交叉方式工作的通道。它通常都含有許多非分配型子通道,其數(shù)量可從幾十到數(shù)百個,每一個子通道連接一臺I/O設(shè)備,并控制該設(shè)備的I/O操作。這些子通道按時間片輪轉(zhuǎn)方式共享主通道。The Best R&D Courses輸入輸出系統(tǒng) 2) 數(shù)組選擇通道(Block Selector Channel) 字節(jié)多路通道不適于連接高速設(shè)備,這推動了按數(shù)組方式進行數(shù)據(jù)傳送的數(shù)組選擇通道的形成。The Best R&D Courses輸入輸出系統(tǒng) 3) 數(shù)組多路通道(Block Multiplexor Channel) 數(shù)組選擇通道雖有很高的傳輸速率,但它卻每次只允許一個設(shè)備傳輸數(shù)據(jù)。數(shù)組多路通道是將數(shù)組選擇通道傳輸速率高和字節(jié)多路通道能使各子通道(設(shè)備)分時并行操作的優(yōu)點相結(jié)合而形成的一種新通道。The Best R&D Courses輸入輸出系統(tǒng) 6.3 中斷機構(gòu)和中斷處理程序 對于操作系統(tǒng)中的I/O系統(tǒng),本章采取從低層向高層的介紹方法,從本節(jié)開始首先介紹中斷處理程序。中斷在操作系統(tǒng)中有著特殊重要的地位,它是多道程序得以實現(xiàn)的基礎(chǔ),沒有中斷,就不可能實現(xiàn)多道程序,因為進程之間的切換是通過中斷來完成的。另一方面,中斷也是設(shè)備管理的基礎(chǔ),為了提高處理機的利用率和實現(xiàn)CPU與I/O設(shè)備并行執(zhí)行,也必需有中斷的支持。中斷處理程序是I/O系統(tǒng)中最低的一層,它是整個I/O系統(tǒng)的基礎(chǔ)The Best R&D Courses輸入輸出系統(tǒng)6.3.1 中斷簡介 1. 中斷和陷入 1) 中斷 2) 陷入The Best R&D Courses輸入輸出系統(tǒng) 2. 中斷向量表和中斷優(yōu)先級 1) 中斷向量表 2) 中斷優(yōu)先級The Best R&D Courses輸入輸出系統(tǒng) 3. 對多中斷源的處理方式 1) 屏蔽(禁止)中斷 2) 嵌套中斷The Best R&D Courses輸入輸出系統(tǒng)圖6-9 對多中斷的處理方式The Best R&D Courses輸入輸出系統(tǒng)6.3.2 中斷處理程序 當(dāng)一個進程請求I/O 操作時,該進程將被掛起,直到I/O設(shè)備完成I/O操作后,設(shè)備控制器便向CPU發(fā)送一個中斷請求,CPU響應(yīng)后便轉(zhuǎn)向中斷處理程序,中斷處理程序執(zhí)行相應(yīng)的處理,處理完后解除相應(yīng)進程的阻塞狀態(tài)。The Best R&D Courses輸入輸出系統(tǒng) 圖6-10 中斷現(xiàn)場保護示意圖The Best R&D Courses 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫