




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、12021-10-29第第6章章 設(shè)備管理設(shè)備管理n“設(shè)備設(shè)備”泛指計算機系統(tǒng)中的外部設(shè)備,即除泛指計算機系統(tǒng)中的外部設(shè)備,即除主機以外的其他所有設(shè)備。在多道程序設(shè)計環(huán)主機以外的其他所有設(shè)備。在多道程序設(shè)計環(huán)境下,計算機系統(tǒng)允許多個用戶作業(yè)同時在內(nèi)境下,計算機系統(tǒng)允許多個用戶作業(yè)同時在內(nèi)存,它們的運行勢必涉及到存,它們的運行勢必涉及到I/O設(shè)備。于是,設(shè)備。于是,對于設(shè)備本身,有一個如何有效利用的問題;對于設(shè)備本身,有一個如何有效利用的問題;對于設(shè)備和對于設(shè)備和CPU,有一個如何發(fā)揮并行工作能有一個如何發(fā)揮并行工作能力的問題;對于設(shè)備和用戶,有一個如何方便力的問題;對于設(shè)備和用戶,有一個如何方
2、便使用的問題。使用的問題。22021-10-29設(shè)備管理的任務(wù)設(shè)備管理的任務(wù)n是完成用戶提出的是完成用戶提出的I/O請求,為用戶分配請求,為用戶分配I/O設(shè)設(shè)備,提高備,提高CPU與與I/O設(shè)備的利用率,提高設(shè)備的利用率,提高I/O設(shè)備的速度,方便用戶使用設(shè)備的速度,方便用戶使用I/O設(shè)備。設(shè)備。 32021-10-296.1.1I/O6.1.1I/O系統(tǒng)的基本功能系統(tǒng)的基本功能n方便用戶使用方便用戶使用I/O設(shè)備設(shè)備u隱藏物理設(shè)備的細節(jié)隱藏物理設(shè)備的細節(jié)u與設(shè)備的無關(guān)性與設(shè)備的無關(guān)性n提高提高CPU和和I/O設(shè)備的利用率設(shè)備的利用率u提高提高CPU和和I/O設(shè)備的利用率設(shè)備的利用率u對對I/
3、O設(shè)備進行控制設(shè)備進行控制n為用戶的共享設(shè)備時提供方便為用戶的共享設(shè)備時提供方便u確保對設(shè)備的正確共享確保對設(shè)備的正確共享u錯誤處理錯誤處理42021-10-296.1.2 I/O6.1.2 I/O系統(tǒng)的層次和結(jié)構(gòu)模型系統(tǒng)的層次和結(jié)構(gòu)模型nI/OI/O層次結(jié)構(gòu)層次結(jié)構(gòu)u用戶層用戶層I/OI/O軟件軟件u設(shè)備獨立性軟件設(shè)備獨立性軟件u設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序u中斷處理程序中斷處理程序52021-10-292021-10-29I/OI/O層次結(jié)構(gòu)層次結(jié)構(gòu)n用戶層軟件用戶層軟件設(shè)備獨立性軟件設(shè)備獨立性軟件設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序中斷處理程序中斷處理程序硬件硬件實現(xiàn)與用戶交互的接實現(xiàn)與用戶交互的接口,
4、產(chǎn)生口,產(chǎn)生I/O請求請求負責(zé)實現(xiàn)與設(shè)備驅(qū)動器的統(tǒng)一接口負責(zé)實現(xiàn)與設(shè)備驅(qū)動器的統(tǒng)一接口、設(shè)備命名,設(shè)備的保護,設(shè)備的、設(shè)備命名,設(shè)備的保護,設(shè)備的分配與釋放,緩沖等。分配與釋放,緩沖等。與硬件直接相關(guān),負責(zé)具體實現(xiàn)系與硬件直接相關(guān),負責(zé)具體實現(xiàn)系統(tǒng)對設(shè)備發(fā)出的操作指令,驅(qū)動統(tǒng)對設(shè)備發(fā)出的操作指令,驅(qū)動I/O設(shè)備工作的驅(qū)動程序設(shè)備工作的驅(qū)動程序保護環(huán)境,轉(zhuǎn)入相應(yīng)處理保護環(huán)境,轉(zhuǎn)入相應(yīng)處理程序,恢復(fù)現(xiàn)場等程序,恢復(fù)現(xiàn)場等執(zhí)行執(zhí)行I/O操作操作62021-10-292021-10-29操作系統(tǒng)的操作系統(tǒng)的I/OI/O子系統(tǒng)通常由四個層次組成,每一層明確定義了與鄰近層次子系統(tǒng)通常由四個層次組成,每一層
5、明確定義了與鄰近層次的接口。其合理的層次組織排列順序是的接口。其合理的層次組織排列順序是(2012)(2012)A.用戶級I/O軟件、設(shè)備無關(guān)軟件、設(shè)備驅(qū)動程序、中斷處理程序B、用戶級I/O軟件、設(shè)備無關(guān)軟件、中斷處理程序、設(shè)備驅(qū)動程序C、用戶級I/O軟件、設(shè)備驅(qū)動程序、設(shè)備無關(guān)軟件、中斷處理程序D、用戶級I/O軟件、中斷處理程序、設(shè)備無關(guān)軟件、設(shè)備驅(qū)動程序用戶程序發(fā)出磁盤用戶程序發(fā)出磁盤I/OI/O請求后,系統(tǒng)的處理流程是:用戶程序請求后,系統(tǒng)的處理流程是:用戶程序- -系統(tǒng)調(diào)用處系統(tǒng)調(diào)用處理程序理程序- -設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序- -中斷處理程序。其中,計算數(shù)據(jù)所在磁盤的柱面中斷處理程序
6、。其中,計算數(shù)據(jù)所在磁盤的柱面號、磁頭號、扇區(qū)號的程序是(號、磁頭號、扇區(qū)號的程序是(2011,20132011,2013)A、用戶程序 B、系統(tǒng)調(diào)用處理程序C、設(shè)備驅(qū)動程序 D、中斷處理程序72021-10-292021-10-29I/OI/O層次視圖層次視圖n用戶層軟件用戶層軟件設(shè)備獨立性軟件設(shè)備獨立性軟件設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序中斷處理程序中斷處理程序硬件硬件I/O系統(tǒng)接口系統(tǒng)接口RW/HW接口接口82021-10-296.1.3 I/O6.1.3 I/O系統(tǒng)接口系統(tǒng)接口n塊設(shè)備接口塊設(shè)備接口u塊設(shè)備:數(shù)據(jù)的存取和傳輸都是以數(shù)據(jù)塊為單位塊設(shè)備:數(shù)據(jù)的存取和傳輸都是以數(shù)據(jù)塊為單位的設(shè)備。特
7、點:傳輸速率高,可尋址,的設(shè)備。特點:傳輸速率高,可尋址,DMADMA控制控制方式方式u隱藏了磁盤的二維結(jié)構(gòu)隱藏了磁盤的二維結(jié)構(gòu)u將抽象命令映射為低層操作將抽象命令映射為低層操作n流設(shè)備接口流設(shè)備接口u字符設(shè)備。特點:傳輸速率低,不可尋址,中斷字符設(shè)備。特點:傳輸速率低,不可尋址,中斷驅(qū)動方式驅(qū)動方式uGetGet操作和操作和putput操作操作uIn-controlIn-control指令指令n網(wǎng)絡(luò)接口網(wǎng)絡(luò)接口92021-10-296.2 I/O6.2 I/O設(shè)備和設(shè)備控制器設(shè)備和設(shè)備控制器 n I/O I/O設(shè)備由執(zhí)行設(shè)備由執(zhí)行I/OI/O操作的機械部分和操作的機械部分和執(zhí)行控制執(zhí)行控制I
8、/OI/O的電子部件(設(shè)備控制器)的電子部件(設(shè)備控制器)組成。組成。102021-10-296.2.1 I/O6.2.1 I/O設(shè)備設(shè)備1 1、I/OI/O設(shè)備的類型設(shè)備的類型按使用特性分按使用特性分n存儲設(shè)備:用以存儲信息的主要設(shè)備存儲設(shè)備:用以存儲信息的主要設(shè)備n輸入輸出設(shè)備:輸入設(shè)備輸入輸出設(shè)備:輸入設(shè)備, ,輸出設(shè)備輸出設(shè)備, ,交互式交互式設(shè)備設(shè)備112021-10-29I/OI/O設(shè)備的分類設(shè)備的分類按傳輸速率分按傳輸速率分n低速設(shè)備:每秒幾個到數(shù)百字節(jié)。如鍵盤、低速設(shè)備:每秒幾個到數(shù)百字節(jié)。如鍵盤、鼠標(biāo)鼠標(biāo)n中速設(shè)備:每秒數(shù)千到數(shù)萬字節(jié)。如打印機中速設(shè)備:每秒數(shù)千到數(shù)萬字節(jié)。如
9、打印機n高速設(shè)備:每秒數(shù)百高速設(shè)備:每秒數(shù)百K K到數(shù)兆。如磁盤、磁帶到數(shù)兆。如磁盤、磁帶122021-10-29按信息交換的單位分類按信息交換的單位分類n塊設(shè)備塊設(shè)備 : I/O傳輸?shù)膯挝皇菈K,如磁盤、磁傳輸?shù)膯挝皇菈K,如磁盤、磁帶。特征:速率高(幾兆)、可尋址(可隨帶。特征:速率高(幾兆)、可尋址(可隨機訪問任一塊)、機訪問任一塊)、DMA方式驅(qū)動。方式驅(qū)動。 n字符設(shè)備:字符設(shè)備:I/OI/O傳輸?shù)膯挝皇亲止?jié),如打印機、傳輸?shù)膯挝皇亲止?jié),如打印機、modemmodem等。特征:速率較低、不可尋址、中斷等。特征:速率較低、不可尋址、中斷驅(qū)動。驅(qū)動。132021-10-29 按設(shè)備共享屬性分
10、類按設(shè)備共享屬性分類n獨占型設(shè)備:在任一段時間內(nèi)最多有一個進程占用獨占型設(shè)備:在任一段時間內(nèi)最多有一個進程占用它,字符設(shè)備及磁帶機屬獨占型設(shè)備。即臨界資源。它,字符設(shè)備及磁帶機屬獨占型設(shè)備。即臨界資源。n共享型設(shè)備:多個進程對它的訪問可以交叉進行,共享型設(shè)備:多個進程對它的訪問可以交叉進行,除磁帶機外的塊設(shè)備屬共享設(shè)備除磁帶機外的塊設(shè)備屬共享設(shè)備n虛擬設(shè)備:虛擬設(shè)備:在一類設(shè)備上模擬另一類設(shè)備,常用共在一類設(shè)備上模擬另一類設(shè)備,常用共享設(shè)備模擬獨占設(shè)備,用高速設(shè)備模擬低速設(shè)備,享設(shè)備模擬獨占設(shè)備,用高速設(shè)備模擬低速設(shè)備,被模擬的設(shè)備稱為虛被模擬的設(shè)備稱為虛擬擬設(shè)備設(shè)備142021-10-292
11、、設(shè)備與控制器之間的接口n通常,設(shè)備不是直接與通常,設(shè)備不是直接與CPUCPU進行通信,而是與設(shè)備控制進行通信,而是與設(shè)備控制器通信,因此在器通信,因此在I/OI/O設(shè)備中應(yīng)含有與設(shè)備控制器間的接設(shè)備中應(yīng)含有與設(shè)備控制器間的接口,在該接口中有三種類型的信號,各對應(yīng)一條信號口,在該接口中有三種類型的信號,各對應(yīng)一條信號線線緩沖轉(zhuǎn)換器控制邏輯信號數(shù)據(jù)數(shù)據(jù)信號線狀態(tài)信號線控制信號線至設(shè)備控制器I/O設(shè)備152021-10-292、設(shè)備與控制器之間的接口n數(shù)據(jù)信號線數(shù)據(jù)信號線 用于在設(shè)備和設(shè)備控制器之間傳送數(shù)據(jù)信號。用于在設(shè)備和設(shè)備控制器之間傳送數(shù)據(jù)信號。n控制信號線控制信號線 作為由設(shè)備控制器向作為
12、由設(shè)備控制器向I/OI/O設(shè)備發(fā)送控制信號時的通路。設(shè)備發(fā)送控制信號時的通路。n狀態(tài)信號線狀態(tài)信號線 用于傳送指示設(shè)備當(dāng)前狀態(tài)的信號。用于傳送指示設(shè)備當(dāng)前狀態(tài)的信號。緩沖轉(zhuǎn)換器控制邏輯信號數(shù)據(jù)數(shù)據(jù)信號線狀態(tài)信號線控制信號線至設(shè)備控制器I/O設(shè)備162021-10-296.2.26.2.2設(shè)備控制器設(shè)備控制器n設(shè)備控制器主要負責(zé)控制一個或多個設(shè)備控制器主要負責(zé)控制一個或多個I/OI/O設(shè)備,設(shè)備,以實現(xiàn)以實現(xiàn)I/OI/O設(shè)備和計算機之間的數(shù)據(jù)交換。它設(shè)備和計算機之間的數(shù)據(jù)交換。它是是CPUCPU與與I/OI/O設(shè)備之間的接口設(shè)備之間的接口,接收從,接收從CPUCPU發(fā)來發(fā)來的命令,并控制的命令,
13、并控制I/OI/O設(shè)備工作,以使設(shè)備工作,以使CPUCPU從繁雜從繁雜的設(shè)備控制事務(wù)中解脫出來。的設(shè)備控制事務(wù)中解脫出來。n是一個可編址設(shè)備,每一個地址對應(yīng)一個設(shè)備。是一個可編址設(shè)備,每一個地址對應(yīng)一個設(shè)備。n設(shè)備控制器可分為兩類,一類用于控制字符設(shè)設(shè)備控制器可分為兩類,一類用于控制字符設(shè)備的控制器,另一類是用于控制塊設(shè)備的控制備的控制器,另一類是用于控制塊設(shè)備的控制器。器。n在微型機中的控制器,常做成印刷電路卡,因在微型機中的控制器,常做成印刷電路卡,因而也常稱為接口卡而也常稱為接口卡172021-10-29設(shè)備控制器的基本功能設(shè)備控制器的基本功能n接收和識別命令接收和識別命令n數(shù)據(jù)交換數(shù)據(jù)
14、交換n標(biāo)識和報告設(shè)備的狀態(tài)標(biāo)識和報告設(shè)備的狀態(tài)n地址識別地址識別n數(shù)據(jù)緩沖數(shù)據(jù)緩沖n差錯控制差錯控制182021-10-29設(shè)備控制器的組成設(shè)備控制器的組成n由于設(shè)備控制器位于由于設(shè)備控制器位于CPUCPU與設(shè)備之間,它既要與設(shè)備之間,它既要與與CPUCPU通信,又要與設(shè)備通信,還應(yīng)具有按照通信,又要與設(shè)備通信,還應(yīng)具有按照CPUCPU所發(fā)來的命令去控制設(shè)備的工作的功能,所發(fā)來的命令去控制設(shè)備的工作的功能,因此現(xiàn)有的大多數(shù)控制器都是由三部分組成因此現(xiàn)有的大多數(shù)控制器都是由三部分組成u設(shè)備控制器與處理機的接口設(shè)備控制器與處理機的接口u設(shè)備控制器與設(shè)備的接口設(shè)備控制器與設(shè)備的接口uI/OI/O邏輯
15、邏輯192021-10-29設(shè)備控制器的組成設(shè)備控制器的組成數(shù)據(jù)寄存器控制/狀態(tài)寄存器數(shù)據(jù)線I/O邏輯控制器與設(shè)備接口1控制器與設(shè)備接口i數(shù)據(jù)狀態(tài)控制數(shù)據(jù)狀態(tài)控制地址線控制線CPU與控制器接口控 制 器 與 設(shè) 備 接 口202021-10-296.2.36.2.3內(nèi)存映像內(nèi)存映像I/OI/O212021-10-296.2.36.2.3內(nèi)存映像內(nèi)存映像I/OI/O222021-10-29I/O通道通道雖然在CPU與I/O設(shè)備之間增加了設(shè)備控制器后,已能大大減少CPU對I/O的干預(yù),但當(dāng)一個系統(tǒng)配置的設(shè)備較多時,I/O操作較為頻繁的情況下,CPU可能完全陷入I/O處理,這樣會大大地降低計算機系統(tǒng)
16、的效率,解決的方法就是用到通道技術(shù)。 232021-10-29n通道方式的目的使一些原來由CPU處理的I/O任務(wù)轉(zhuǎn)由通道來承擔(dān),從而使CPU徹底從I/O中解放出來。當(dāng)用戶發(fā)出I/O請求后,CPU就把該請求全部交由通道去完成。通道在整個I/O任務(wù)結(jié)束后,才發(fā)出中斷信號,請求CPU進行善后處理。不僅數(shù)據(jù)傳輸獨立于CPU,而且I/O操作的組織管理也獨立于CPU。I/O通道的引入通道的引入:242021-10-29 為使中央處理機從繁忙的I/O處理中擺脫出來,現(xiàn)代大、中型計算機系統(tǒng)中設(shè)置了專門的處理I/O操作的處理機,并把這種處理機稱為通道。通道在CPU的控制下獨立地執(zhí)行通道程序,對外部設(shè)備的I/O操
17、作進行控制,以實現(xiàn)內(nèi)存與外設(shè)之間成批的數(shù)據(jù)交換。通道=I/O處理機 通道概念通道概念252021-10-29 I/O通道與一般的處理機不同,主要表現(xiàn)在以下兩個方面:n指令類型單一,這是由于通道硬件比較簡單, 其所能執(zhí)行的命令,主要局限于與I/O操作有關(guān)的指令; n通道沒有自己的內(nèi)存,通道所執(zhí)行的通道程序是放在主機的內(nèi)存中的, 換言之,是通道與CPU共享內(nèi)存。262021-10-29I/O通道通道nI/O通道的分類通道的分類 u字節(jié)多路通道字節(jié)多路通道u數(shù)據(jù)選擇通道數(shù)據(jù)選擇通道u數(shù)組多路通道數(shù)組多路通道272021-10-29通道的種類通道的種類n字節(jié)多路通道:字節(jié)多路通道:u字節(jié)多路通道是以字
18、節(jié)為基本傳輸單位,通常含有許多非分配型子通道,其數(shù)量從幾十到數(shù)百個,每一個子通道連接一臺I/O設(shè)備,并控制該設(shè)備的I/O操作。這些子通道按時間片輪轉(zhuǎn)主式共享主通道。u當(dāng)一個子通道控制的某臺外設(shè)交換了一個字節(jié)后,就轉(zhuǎn)向下一個子通道,以控制下一臺設(shè)備傳送一個字節(jié)。這就實現(xiàn)了子通道的循環(huán)輪轉(zhuǎn),以達到多路控制的目的,字節(jié)多路通道主要用來控制低速、并且以字節(jié)為基本傳送單位的設(shè)備。如打印機。282021-10-29控制器A控制器B控制器C控制器D控制器NA1A2A3子通道AB1B2B3子通道BC1C2C3子通道CN1N2N3子通道NA1B1C1 A2B2C2設(shè) 備292021-10-29n數(shù)組選擇通道:數(shù)
19、組選擇通道: 字節(jié)多路通道不適于連接高速設(shè)備,這推動了按數(shù)組方式進行數(shù)據(jù)傳送的數(shù)組選擇通道的形成。這種通道雖然可以連接多臺高速設(shè)備,但由于它只含有一個分配型子通道,在一段時間內(nèi)只能執(zhí)行一道通道程序, 控制一臺設(shè)備進行數(shù)據(jù)傳送, 致使當(dāng)某臺設(shè)備占用了該通道后,便一直由它獨占, 即使是它無數(shù)據(jù)傳送,通道被閑置, 也不允許其它設(shè)備使用該通道, 直至該設(shè)備傳送完畢釋放該通道。它的優(yōu)點是傳輸速度高,缺點是一次只能控制一臺設(shè)備進行I/O操作,利用率低。它主要用來控制高速外設(shè)。如磁盤選擇通道選擇通道302021-10-29 n數(shù)組多路通道:數(shù)組多路通道: 這種通道是上述兩種通道的折中,可以分時的方式執(zhí)行多道
20、程序,每道程序可傳送一組數(shù)據(jù)。因而這種通道既具有很高的數(shù)據(jù)傳輸速率,又能獲得令人滿意的通道利用率。也正因此,才使該通道能被廣泛地用于連接多臺高、中速的外圍設(shè)備,其數(shù)據(jù)傳送是按數(shù)組方式進行的。 在一大型系統(tǒng)中可以同時存在這三種類型的通在一大型系統(tǒng)中可以同時存在這三種類型的通道以便控制各種不同類型的設(shè)備。道以便控制各種不同類型的設(shè)備。312021-10-29 通道通道 I / OI / O 系 統(tǒng)系 統(tǒng)結(jié)構(gòu)結(jié)構(gòu)在大型計在大型計算機系統(tǒng)算機系統(tǒng)中較為典中較為典型 的型 的 I / OI / O系統(tǒng)結(jié)構(gòu)系統(tǒng)結(jié)構(gòu)是主機、是主機、通道、控通道、控制器和外制器和外部設(shè)備。部設(shè)備。322021-10-29“瓶
21、頸瓶頸”問題問題 圖 5-4 單通路I/O系統(tǒng) 設(shè)備1設(shè)備2設(shè)備3設(shè)備4設(shè)備5設(shè)備6設(shè)備7控制器1控制器2控制器3控制器4通道1通道2存儲器332021-10-29圖 5-5 多通路I/O系統(tǒng) I/O設(shè)備控制器1控制器2通道1通道2存儲器I/O設(shè)備I/O設(shè)備I/O設(shè)備解決“瓶頸”問題的最有效方法就是增加設(shè)備到主機間的通路而不增加通道 342021-10-29練習(xí)練習(xí)n通道是I/O處理機,它用于實現(xiàn)_之間的信息傳輸;n_用作連接大量的低速或中速設(shè)備;A、數(shù)據(jù)選擇通道 B、字節(jié)多路通道C、數(shù)據(jù)多路通道n按_分類可將設(shè)備分為塊設(shè)備和字符設(shè)備。A、從屬關(guān)系 B、操作特性C、共享屬性 D、信息交換單位3
22、52021-10-29練習(xí)練習(xí)n硬盤屬于( ) A、字符型設(shè)備 B、獨占型設(shè)備 C、塊設(shè)備 D、虛擬設(shè)備 n所有的塊型設(shè)備都是共享設(shè)備。( ) n打印機是一類典型的塊設(shè)備。()。()n選擇通道主要用于連接低速設(shè)備. ()()362021-10-296.3中斷機構(gòu)和中斷處理程序中斷機構(gòu)和中斷處理程序n中斷的簡介中斷的簡介 F中斷是由于某些事件的出現(xiàn),中止現(xiàn)行進程的執(zhí)行,而轉(zhuǎn)去處理出現(xiàn)的事件,中斷事件處理完后,再繼續(xù)運行被中止進程的過程。F在這里引起中斷的事件稱為中斷源。中斷事件通常由硬件發(fā)現(xiàn)n中斷的處理中斷的處理 F對出現(xiàn)的事件進行處理的程序稱為中斷處理程序。中斷處理程序是由操作系統(tǒng)處理的,屬于
23、操作系統(tǒng)的組成部分372021-10-29中斷的簡介中斷的簡介 382021-10-29中斷的簡介中斷的簡介 n 392021-10-29中斷的處理中斷的處理n中斷處理過程中斷處理過程u測定是否有未響應(yīng)的中斷信號。測定是否有未響應(yīng)的中斷信號。u保護被中斷進程的保護被中斷進程的CPU環(huán)境。環(huán)境。u轉(zhuǎn)入相應(yīng)的設(shè)備處理程序。轉(zhuǎn)入相應(yīng)的設(shè)備處理程序。u中斷處理。中斷處理。u恢復(fù)現(xiàn)場,退出中斷?;謴?fù)現(xiàn)場,退出中斷。 402021-10-29圖 6-10 中斷現(xiàn)場保護示意圖 PSW程序狀態(tài)字PC(N1)程序計數(shù)器R0Rn寄存器開始返回用戶程序中斷服務(wù)子例程PSWPC(N1)中斷棧TTM線指針YNN1R0R
24、n412021-10-29喚醒被阻塞的驅(qū)動程序進程對被中斷進程的CPU環(huán)境進行保護分析中斷原因,轉(zhuǎn)入相應(yīng)的中斷處理程序終端中斷處理程序打印機中斷處理程序磁盤中斷處理程序恢復(fù)被中斷進程的CPU現(xiàn)場返回被中斷的進程,繼續(xù)執(zhí)行中斷請求信號圖 6-11 中斷處理流程422021-10-296.4 設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序n設(shè)備處理程序通常又稱為設(shè)備驅(qū)動程序,它設(shè)備處理程序通常又稱為設(shè)備驅(qū)動程序,它是是I/O進程與設(shè)備控制器之間的通信程序,又進程與設(shè)備控制器之間的通信程序,又由于它常以進程的形式存在,所以簡稱之為由于它常以進程的形式存在,所以簡稱之為設(shè)備驅(qū)動進程設(shè)備驅(qū)動進程n主要任務(wù):接收上層軟件發(fā)來的
25、抽象要求,主要任務(wù):接收上層軟件發(fā)來的抽象要求,把它轉(zhuǎn)換為具體要求后,發(fā)送給設(shè)備控制器,把它轉(zhuǎn)換為具體要求后,發(fā)送給設(shè)備控制器,啟動設(shè)備去執(zhí)行。也將由設(shè)備控制器發(fā)來的啟動設(shè)備去執(zhí)行。也將由設(shè)備控制器發(fā)來的信號傳送給上層軟件。信號傳送給上層軟件。 n通常,每一類設(shè)備配置一種驅(qū)動程序。通常,每一類設(shè)備配置一種驅(qū)動程序。432021-10-29設(shè)備驅(qū)動程序的功能和特點設(shè)備驅(qū)動程序的功能和特點n設(shè)備驅(qū)動程序的功能設(shè)備驅(qū)動程序的功能 u一是接收設(shè)備獨立性軟件發(fā)來的命令和參數(shù),把一是接收設(shè)備獨立性軟件發(fā)來的命令和參數(shù),把抽象要求轉(zhuǎn)化為具體要求。抽象要求轉(zhuǎn)化為具體要求。u二是檢查用戶二是檢查用戶I/O請求的
26、合法性,了解請求的合法性,了解I/O設(shè)備的設(shè)備的狀態(tài),傳遞有關(guān)參數(shù),設(shè)置設(shè)備的工作方式。狀態(tài),傳遞有關(guān)參數(shù),設(shè)置設(shè)備的工作方式。u三是發(fā)出三是發(fā)出I/O 命令,啟動分配到的命令,啟動分配到的I/O設(shè)備,完成設(shè)備,完成指定的指定的I/O操作。操作。u四是及時響應(yīng)由控制器或通道發(fā)來的中斷請求,四是及時響應(yīng)由控制器或通道發(fā)來的中斷請求,并根據(jù)其中斷類型調(diào)用相應(yīng)的中斷處理程序進行并根據(jù)其中斷類型調(diào)用相應(yīng)的中斷處理程序進行處理。處理。442021-10-29設(shè)備驅(qū)動程序的功能和特點設(shè)備驅(qū)動程序的功能和特點n設(shè)備驅(qū)動程序的特點設(shè)備驅(qū)動程序的特點u一是驅(qū)動程序主要是在請求一是驅(qū)動程序主要是在請求I/O的進程
27、與設(shè)備控制的進程與設(shè)備控制器之間的一個通信程序。器之間的一個通信程序。u二是驅(qū)動程序與二是驅(qū)動程序與I/O設(shè)備的特性密切相關(guān)。設(shè)備的特性密切相關(guān)。u三是驅(qū)動程序與三是驅(qū)動程序與I/O控制方式緊密相關(guān)??刂品绞骄o密相關(guān)。u四是驅(qū)動程序與硬件緊密相關(guān),其部分被固化在四是驅(qū)動程序與硬件緊密相關(guān),其部分被固化在ROM 中。中。 u五是驅(qū)動程序應(yīng)允許可重入五是驅(qū)動程序應(yīng)允許可重入u六是驅(qū)動程序不允許系統(tǒng)調(diào)用。六是驅(qū)動程序不允許系統(tǒng)調(diào)用。452021-10-29設(shè)備驅(qū)動程序的功能和特點設(shè)備驅(qū)動程序的功能和特點n設(shè)備處理的方式設(shè)備處理的方式 u一是為每一類設(shè)備設(shè)置一個進程,它專門執(zhí)行這一是為每一類設(shè)備設(shè)置一
28、個進程,它專門執(zhí)行這類設(shè)備的類設(shè)備的I/O操作。操作。u二是在整個系統(tǒng)中設(shè)置一個二是在整個系統(tǒng)中設(shè)置一個I/O進程,專門負責(zé)對進程,專門負責(zé)對系統(tǒng)中所有各類設(shè)備的系統(tǒng)中所有各類設(shè)備的I/O操作。操作。u三是不設(shè)置專門的設(shè)備處理進程,只為各類設(shè)備三是不設(shè)置專門的設(shè)備處理進程,只為各類設(shè)備設(shè)置相應(yīng)的設(shè)備處理程序,供用戶進程或系統(tǒng)進設(shè)置相應(yīng)的設(shè)備處理程序,供用戶進程或系統(tǒng)進程調(diào)用。程調(diào)用。462021-10-29設(shè)備驅(qū)動程序的處理過程設(shè)備驅(qū)動程序的處理過程n主要任務(wù):啟動指定設(shè)備主要任務(wù):啟動指定設(shè)備n將抽象要求轉(zhuǎn)化為具體要求將抽象要求轉(zhuǎn)化為具體要求 n檢查檢查I/O請求的合法性請求的合法性 n讀出
29、和檢查設(shè)備的狀態(tài)讀出和檢查設(shè)備的狀態(tài) n傳送必要的參數(shù)傳送必要的參數(shù) n設(shè)置工作方式設(shè)置工作方式 n啟動啟動I/O 設(shè)備設(shè)備 472021-10-29練習(xí)練習(xí)n 設(shè)備驅(qū)動程序與()密切相關(guān),如果計算機中配置有一個光盤,一個軟盤,一個硬盤,此時應(yīng)為它們配置()種外存設(shè)備驅(qū)動程序。如果系統(tǒng)中連接有四個相同的終端設(shè)備,此時應(yīng)為它們配置()個終端設(shè)備驅(qū)動程序482021-10-296.4.3 對對I/O設(shè)備控制方式設(shè)備控制方式n輪詢的可編程輪詢的可編程I/OI/O方式方式 nI/OI/O中斷方式中斷方式 nDMADMA方式方式 n通道方式通道方式 中斷中斷DMA通道通道492021-10-291 1
30、程序程序I/OI/O方式方式早期,早期,I/OI/O控制器控制器是是OSOS同硬件之間的接口同硬件之間的接口p(147)p(147)。它有兩個寄存器:。它有兩個寄存器:數(shù)據(jù)緩沖寄存器數(shù)據(jù)緩沖寄存器、控制控制/ /狀態(tài)寄存器狀態(tài)寄存器。狀態(tài)控制寄存器有一個標(biāo)。狀態(tài)控制寄存器有一個標(biāo)志忙志忙/ /閑的標(biāo)志位閑的標(biāo)志位busybusy。CPU外部設(shè)備控控制制邏邏輯輯電電路路控制寄存器控制寄存器I/O控制器控制器數(shù)據(jù)寄存器數(shù)據(jù)寄存器502021-10-29工作過程工作過程以輸入為例以輸入為例1 1、 把把busybusy置置1 12 2、 反復(fù)測試反復(fù)測試busybusy,為,為1 1表示輸入機尚未輸
31、完一個字,表示輸入機尚未輸完一個字,處理機應(yīng)繼續(xù)對該標(biāo)志進行測試,轉(zhuǎn)處理機應(yīng)繼續(xù)對該標(biāo)志進行測試,轉(zhuǎn)2 2,為,為0 0表示輸表示輸入機已將輸入數(shù)據(jù)送入控制器的數(shù)據(jù)寄存器中,轉(zhuǎn)入機已將輸入數(shù)據(jù)送入控制器的數(shù)據(jù)寄存器中,轉(zhuǎn)3 33 3、 把數(shù)據(jù)從數(shù)據(jù)緩沖區(qū)中讀走,并置把數(shù)據(jù)從數(shù)據(jù)緩沖區(qū)中讀走,并置busybusy為為1 1。n所謂所謂“程序循環(huán)測試程序循環(huán)測試”的數(shù)據(jù)傳輸方式,就是指用的數(shù)據(jù)傳輸方式,就是指用戶進程使用啟動設(shè)備后,不斷地執(zhí)行測試指令,去戶進程使用啟動設(shè)備后,不斷地執(zhí)行測試指令,去測試所啟動設(shè)備的狀態(tài)寄存器。只有在狀態(tài)寄存器測試所啟動設(shè)備的狀態(tài)寄存器。只有在狀態(tài)寄存器出現(xiàn)了所需要的
32、狀態(tài)后,才停止測試工作,完成輸出現(xiàn)了所需要的狀態(tài)后,才停止測試工作,完成輸入入/輸出。輸出。忙忙-等待方式等待方式512021-10-29 在程序I/O方式中,由于CPU的高速性和I/O設(shè)備的低速性, 致使CPU的絕大部分時間都處于等待I/O設(shè)備完成數(shù)據(jù)I/O的循環(huán)測試中, 造成對CPU的極大浪費。在該方式中,CPU之所以要不斷地測試I/O設(shè)備的狀態(tài),就是因為在CPU中無中斷機構(gòu), 使I/O設(shè)備無法向CPU報告它已完成了一個字符的輸入操作。522021-10-292 I/O中斷方式中斷方式I/OI/O控制器能發(fā)中斷控制器能發(fā)中斷。工作過程:工作過程:1 1、發(fā)出啟動某設(shè)備的命令,本進程(、發(fā)出
33、啟動某設(shè)備的命令,本進程(A A)變?yōu)榈却優(yōu)榈却隣顟B(tài),轉(zhuǎn)進程調(diào)度,調(diào)度另一進程狀態(tài),轉(zhuǎn)進程調(diào)度,調(diào)度另一進程B B。2 2、輸入完成時,控制器發(fā)出中斷,中斷輸入完成時,控制器發(fā)出中斷,中斷B B,通過中通過中斷進入中斷處理程序。斷進入中斷處理程序。3 3、在中斷處理程序中把數(shù)據(jù)緩沖寄存器中的數(shù)取走,、在中斷處理程序中把數(shù)據(jù)緩沖寄存器中的數(shù)取走,放入內(nèi)存特定位置放入內(nèi)存特定位置M M,喚醒等待進程喚醒等待進程A A,中斷返回中斷返回到到B B的斷點繼續(xù)執(zhí)行。的斷點繼續(xù)執(zhí)行。4 4、在以后的某個時刻、在以后的某個時刻OSOS調(diào)度要求輸入的進程調(diào)度要求輸入的進程A A。A A從從M M取數(shù)處理。取
34、數(shù)處理。 532021-10-29542021-10-29 在I/O設(shè)備輸入每個數(shù)據(jù)的過程中,由于無須CPU干預(yù),因而可使CPU與I/O設(shè)備并行工作。僅當(dāng)輸完一個數(shù)據(jù)時,才需CPU花費極短的時間去做些中斷處理??梢?,這樣可使CPU和I/O設(shè)備都處于忙碌狀態(tài),從而提高了整個系統(tǒng)的資源利用率及吞吐量。例如,從終端輸入一個字符的時間約為100 ms, 而將字符送入終端緩沖區(qū)的時間小于 0.1 ms。 若采用程序I/O方式,CPU約有 99.9 ms的時間處于忙等待中。 采用中斷驅(qū)動方式后,CPU可利用這 99.9 ms的時間去做其它事情,而僅用 0.1 ms的時間來處理由控制器發(fā)來的中斷請求。 可見
35、,中斷驅(qū)動方式可以成百倍地提高CPU的利用率。 552021-10-29分析分析同前相比,同前相比,CPU利用率大大提高。利用率大大提高。缺點:每臺設(shè)備每輸入輸出一個字節(jié)的數(shù)據(jù)都缺點:每臺設(shè)備每輸入輸出一個字節(jié)的數(shù)據(jù)都有一次中斷。如果設(shè)備較多時,中斷次數(shù)會有一次中斷。如果設(shè)備較多時,中斷次數(shù)會很多,使很多,使CPU的計算時間大大減少。的計算時間大大減少。為減少中斷對為減少中斷對CPU造成的負擔(dān),可采用造成的負擔(dān),可采用DMA方方式和通道方式。式和通道方式。562021-10-293 直接存儲器訪問(直接存儲器訪問(DMA)方式方式n直接存儲器存取控制方式的概念直接存儲器存取控制方式的概念 u是
36、指對是指對I/O設(shè)備的控制由設(shè)備的控制由DMA控制器完成,在控制器完成,在DMA控制器的作用下,設(shè)備和主存之間可以控制器的作用下,設(shè)備和主存之間可以成批地進行數(shù)據(jù)交換,而不用成批地進行數(shù)據(jù)交換,而不用CPU的干涉。的干涉。 572021-10-295.2.3 DMA方式方式n直接存儲器存取控制方式的概念直接存儲器存取控制方式的概念 u該方式的特點是:u 數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊,即在CPU與I/O設(shè)備之間,每次傳送至少一個數(shù)據(jù)塊;u 所傳送的數(shù)據(jù)是從設(shè)備直接送入內(nèi)存的,或者相反;u 僅在傳送一個或多個數(shù)據(jù)塊的開始和結(jié)束時,才需CPU干預(yù),整塊數(shù)據(jù)的傳送是在控制器的控制下完成的。u可見,DMA
37、方式較之中斷驅(qū)動方式,又是成百倍地減少了CPU對I/O的干預(yù),進一步提高了CPU與I/O設(shè)備的并行操作程度。 582021-10-29DMA方式方式控制器功能更強,除有中斷功能外,還有一個控制器功能更強,除有中斷功能外,還有一個DMADMA控控制機構(gòu)。在制機構(gòu)。在DMADMA控制器的控制下,控制器的控制下,設(shè)備同主存之間可設(shè)備同主存之間可成批交換數(shù)據(jù),不用成批交換數(shù)據(jù),不用CPUCPU干預(yù)。干預(yù)。DMADMA控制器組成:主機與控制器組成:主機與DMADMA控制器的接口;控制器的接口;DMADMA控制器控制器與塊設(shè)備的接口;與塊設(shè)備的接口;I/OI/O控制邏輯控制邏輯DRMARDCCRI/O控制
38、邏輯主機控制器接口控制器與塊設(shè)備接口count內(nèi)存CPU命令系統(tǒng)總線DMA控制器592021-10-29DMA方式方式DMADMA控制器組成:主機與控制器組成:主機與DMADMA控制器的接口;控制器的接口;DMADMA控制控制器與塊設(shè)備的接口;器與塊設(shè)備的接口;I/OI/O控制邏輯控制邏輯為了實現(xiàn)在主機與控制器之間的成塊數(shù)據(jù)的直接交換,為了實現(xiàn)在主機與控制器之間的成塊數(shù)據(jù)的直接交換,須在須在DMADMA控制器中設(shè)置如下四類寄存器:控制器中設(shè)置如下四類寄存器:命令命令/ /狀態(tài)寄狀態(tài)寄存器存器CRCR;內(nèi)存地址寄存器;內(nèi)存地址寄存器MARMAR;數(shù)據(jù)寄存器;數(shù)據(jù)寄存器DRDR;數(shù)據(jù);數(shù)據(jù)計數(shù)器計
39、數(shù)器DCDC。DRMARDCCRI/O控制邏輯主機控制器接口控制器與塊設(shè)備接口count內(nèi)存CPU命令系統(tǒng)總線DMA控制器602021-10-29 DMA方式工作過程方式工作過程n直接存儲器存取控制方式的步驟直接存儲器存取控制方式的步驟(P197)u 當(dāng)進程要求設(shè)備輸入一批數(shù)據(jù)時,當(dāng)進程要求設(shè)備輸入一批數(shù)據(jù)時,CPU將設(shè)備存放輸入數(shù)據(jù)的將設(shè)備存放輸入數(shù)據(jù)的內(nèi)存始址以及要傳送的字節(jié)數(shù)分別送入內(nèi)存始址以及要傳送的字節(jié)數(shù)分別送入DMA控制器中的地址寄存控制器中的地址寄存器器MAR和數(shù)據(jù)計數(shù)器和數(shù)據(jù)計數(shù)器DC;另外,還要將磁盤中的源地址直接送至;另外,還要將磁盤中的源地址直接送至DMA控制器的控制器的
40、I/O控制邏輯上。控制邏輯上。u 發(fā)出數(shù)據(jù)要求的進程進入等待狀態(tài),進程調(diào)度程序調(diào)度其他進發(fā)出數(shù)據(jù)要求的進程進入等待狀態(tài),進程調(diào)度程序調(diào)度其他進程占據(jù)程占據(jù)CPU。u 輸入設(shè)備不斷從磁盤中讀入一個字的數(shù)據(jù)并送入數(shù)據(jù)寄存器輸入設(shè)備不斷從磁盤中讀入一個字的數(shù)據(jù)并送入數(shù)據(jù)寄存器DR中,再挪用一個存儲器周期,將數(shù)據(jù)寄存器中的數(shù)據(jù)寫入內(nèi)存,中,再挪用一個存儲器周期,將數(shù)據(jù)寄存器中的數(shù)據(jù)寫入內(nèi)存,MAR+1,DC-1,若,若DC不為不為0則繼續(xù)傳下一個字。則繼續(xù)傳下一個字。u DMA控制器在傳送字節(jié)數(shù)完成時,通過中斷請求線發(fā)出中斷信控制器在傳送字節(jié)數(shù)完成時,通過中斷請求線發(fā)出中斷信號,號,CPU收到中斷信號
41、后轉(zhuǎn)中斷處理程序,喚醒等待輸入完成的收到中斷信號后轉(zhuǎn)中斷處理程序,喚醒等待輸入完成的進程,并返回被中斷的程序。進程,并返回被中斷的程序。u 在以后的某個時刻,進程調(diào)度程序選中提出請求輸入的進程,在以后的某個時刻,進程調(diào)度程序選中提出請求輸入的進程,該進程從指定的內(nèi)存始址取出數(shù)據(jù)做進一步處理。該進程從指定的內(nèi)存始址取出數(shù)據(jù)做進一步處理。612021-10-293. DMA工作過程工作過程 圖 5-9 DMA方式的工作流程 設(shè)置 AR 和DC 初值啟動 DMA 傳送命令挪用存儲器周期傳送數(shù)據(jù)字存儲器地址增1字計數(shù)寄存器減1DC 0?請求中斷在繼續(xù)執(zhí)行用戶程序的同時,準備又一次傳送否是622021-
42、10-29直接存儲器存取控制直接存儲器存取控制n直接存儲器存取控制方式的特點直接存儲器存取控制方式的特點uI/O數(shù)據(jù)傳輸速度快,數(shù)據(jù)傳輸速度快,CPU負擔(dān)少。負擔(dān)少。u在在DMA方式下,數(shù)據(jù)的傳送方向、存放數(shù)據(jù)的內(nèi)方式下,數(shù)據(jù)的傳送方向、存放數(shù)據(jù)的內(nèi)存始址及傳送數(shù)據(jù)的長度等都由存始址及傳送數(shù)據(jù)的長度等都由CPU控制。每臺控制。每臺設(shè)備需要配一個設(shè)備需要配一個DMA控制器。控制器。 632021-10-29DMA方式與中斷的主要區(qū)別方式與中斷的主要區(qū)別n中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿后,發(fā)中斷中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿后,發(fā)中斷請求,請求,CPU進行中斷處理進行中斷處理 DMA方式則是在所要求傳
43、送的數(shù)據(jù)塊全部方式則是在所要求傳送的數(shù)據(jù)塊全部傳送結(jié)束時要求傳送結(jié)束時要求CPU進行中斷處理進行中斷處理 大大減少了大大減少了CPU進行中斷處理的次數(shù)進行中斷處理的次數(shù)n中斷方式的數(shù)據(jù)傳送是由中斷方式的數(shù)據(jù)傳送是由CPU控制完成的控制完成的 而而DMA方式則是在方式則是在DMA控制器的控制下不控制器的控制下不經(jīng)過經(jīng)過CPU控制完成的控制完成的642021-10-29實現(xiàn)流程實現(xiàn)流程向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)檢查狀態(tài)?從I/O控制器中讀入字向存儲器中寫字傳送完成?未就緒就緒出錯CPUI/OI/OCPUI/OCPUCPU 內(nèi)存下條指令完成未完向I/O控制器發(fā)讀命令讀I/O控制器的狀
44、態(tài)檢查狀態(tài)?從I/O控制器中讀字向內(nèi)存中寫字傳送完成?就緒出錯CPUI/OI/OCPUI/OCPUCPU 內(nèi)存下條指令完成未完中斷CPU做其它事向I/O控制器發(fā)布讀塊命令CPUDMACPU做其它事讀DMA控制器的狀態(tài)中斷DMACPU下條指令(a) 程序I/O方式(b) 中斷驅(qū)動方式(c) DMA方式652021-10-294 I/O4 I/O通道控制方式通道控制方式 1. I/O通道控制方式的引入通道控制方式的引入 雖然雖然DMA方式比起中斷方式來,已經(jīng)顯著地減少了方式比起中斷方式來,已經(jīng)顯著地減少了CPU的干預(yù),即已由以字的干預(yù),即已由以字(節(jié)節(jié))為單位的干預(yù)減少到以數(shù)據(jù)塊為單位的干預(yù)減少到
45、以數(shù)據(jù)塊為單位的干預(yù),但為單位的干預(yù),但CPU每發(fā)出一條每發(fā)出一條I/O指令,也只能去讀一指令,也只能去讀一個連續(xù)的數(shù)據(jù)塊,要是一次去讀多個數(shù)據(jù)塊且將它們分別傳個連續(xù)的數(shù)據(jù)塊,要是一次去讀多個數(shù)據(jù)塊且將它們分別傳送到不同的內(nèi)存區(qū)域,則須由送到不同的內(nèi)存區(qū)域,則須由CPU發(fā)出多條發(fā)出多條I/O指令,進行指令,進行多次中斷。多次中斷。 662021-10-295.2.4 I/O5.2.4 I/O通道控制方式通道控制方式 1. I/O通道控制方式的引入通道控制方式的引入 I/O通道方式是DMA方式的發(fā)展,它可進一步減少CPU的干預(yù),即把對一個數(shù)據(jù)塊的讀(或?qū)?為單位的干預(yù),減少為對一組數(shù)據(jù)塊的讀(或
46、寫)及有關(guān)的控制和管理為單位的干預(yù)。 同時,又可實現(xiàn)CPU、通道和I/O設(shè)備三者的并行操作,從而更有效地提高整個系統(tǒng)的資源利用率。例如,當(dāng)CPU要完成一組相關(guān)的讀(或?qū)?操作及有關(guān)控制時,只需向I/O通道發(fā)送一條I/O指令,以給出其所要執(zhí)行的通道程序的首址和要訪問的I/O設(shè)備,通道接到該指令后,通過執(zhí)行通道程序便可完成CPU指定的I/O任務(wù)。 672021-10-292 2 通道程序通道程序 通道有它自己的指令系統(tǒng),用一系列通道指通道有它自己的指令系統(tǒng),用一系列通道指令構(gòu)成的程序叫令構(gòu)成的程序叫通道程序通道程序。 通道通過執(zhí)行通道程序,并與設(shè)備控制器共通道通過執(zhí)行通道程序,并與設(shè)備控制器共同實
47、現(xiàn)對同實現(xiàn)對I/OI/O設(shè)備的控制。設(shè)備的控制。 通道只能執(zhí)行通道程序,不可能執(zhí)行用戶進通道只能執(zhí)行通道程序,不可能執(zhí)行用戶進程。程。682021-10-29n通道有自己的指令系統(tǒng),它與一般的機器通道有自己的指令系統(tǒng),它與一般的機器指令不同,在它的每條指令中都包含下列指令不同,在它的每條指令中都包含下列諸信息:操作碼;內(nèi)存地址;計數(shù);通道諸信息:操作碼;內(nèi)存地址;計數(shù);通道程序結(jié)束位程序結(jié)束位P;記錄結(jié)束標(biāo)志;記錄結(jié)束標(biāo)志R692021-10-29操作操作 PR計數(shù)計數(shù)內(nèi)存地址內(nèi)存地址WRITE 0080813WRITE001401034WRITE01605830WRITE013002000W
48、RITE002501850WRITE11250720702021-10-29n若干通道命令字構(gòu)成一個若干通道命令字構(gòu)成一個“通道程序通道程序”,它規(guī)定了,它規(guī)定了設(shè)備應(yīng)該執(zhí)行的各種操作和順序。在設(shè)備應(yīng)該執(zhí)行的各種操作和順序。在CPU啟動通道啟動通道后,由通道執(zhí)行通道程序,完成后,由通道執(zhí)行通道程序,完成CPU所交給的所交給的I/O任務(wù)。通常,通道程序存放在通道自己的存儲部件任務(wù)。通常,通道程序存放在通道自己的存儲部件里。當(dāng)通道中沒有存儲部件時,就存放在內(nèi)存儲器里。當(dāng)通道中沒有存儲部件時,就存放在內(nèi)存儲器里。這時,為了使通道能取到通道程序去執(zhí)行,必里。這時,為了使通道能取到通道程序去執(zhí)行,必須把
49、存放通道程序的內(nèi)存起始地址告訴通道。存放須把存放通道程序的內(nèi)存起始地址告訴通道。存放這個起始地址的內(nèi)存固定單元,被稱為這個起始地址的內(nèi)存固定單元,被稱為“通道地址通道地址字字”。712021-10-29通道的工作過程通道的工作過程n某進程在運行過程中,若提出了I/O請求,只需向通道I/O通道發(fā)一條I/O指令,以給出其所要執(zhí)行的通道程序的始址和要訪問的I/O設(shè)備;n用戶進程阻塞以等待I/O完成n通道則通過執(zhí)行通道程序控制設(shè)備控制器,控制設(shè)備完成指定的I/O任務(wù)。n發(fā)出中斷信號通知CPU通道程序已執(zhí)行完成。nCPU響應(yīng)中斷,進行善后處理并喚醒被阻塞的用戶進程722021-10-29 n通道是一種特
50、殊的(),具有()能力。主通道是一種特殊的(),具有()能力。主機的機的CPUCPU與通道可以并行工作,并通過()實與通道可以并行工作,并通過()實現(xiàn)彼此之間的通信和同步現(xiàn)彼此之間的通信和同步 。1、I/O設(shè)備設(shè)備 2、設(shè)備控制器、設(shè)備控制器 3、處理機、處理機 4、I/O控制器控制器1、執(zhí)行、執(zhí)行I/O指令集指令集 2、執(zhí)行、執(zhí)行CPU指令集指令集 3、傳輸、傳輸I/O命令命令 4、運行、運行I/O進程進程1、I/O指令指令 2、I/O中斷中斷 3、I/O指令和指令和I/O中斷中斷 4、操作員、操作員732021-10-29 n在程序在程序I/OI/O方式中,對于輸出設(shè)備,準備就緒方式中,對
51、于輸出設(shè)備,準備就緒就是指就是指1、輸出緩沖區(qū)已空、輸出緩沖區(qū)已空 2、輸出緩沖區(qū)已有數(shù)據(jù)、輸出緩沖區(qū)已有數(shù)據(jù) 3、輸出設(shè)備已開始工作、輸出設(shè)備已開始工作 4、輸出設(shè)備已收到、輸出設(shè)備已收到I/O指令指令n不使用中斷機制的不使用中斷機制的I/O控制方式是控制方式是_n如果如果I/O設(shè)備與存儲設(shè)備進行數(shù)據(jù)交換不經(jīng)過設(shè)備與存儲設(shè)備進行數(shù)據(jù)交換不經(jīng)過CPU來來完成,這種數(shù)據(jù)交換方式是完成,這種數(shù)據(jù)交換方式是_。A、程序查詢、程序查詢 B、中斷方式、中斷方式 C、DMA方式方式n在中斷驅(qū)動方式中,在中斷驅(qū)動方式中,CPU是以是以_為單位對為單位對I/O進行干預(yù)的;進行干預(yù)的;DMA方式時,是以方式時,
52、是以_為單位進為單位進行干預(yù)的;行干預(yù)的;I/O通道方式是以通道方式是以_為單位進行干為單位進行干預(yù)的。預(yù)的。742021-10-296.5設(shè)備無關(guān)的設(shè)備無關(guān)的I/O軟件軟件n設(shè)備獨立性概念(設(shè)備無關(guān)性)設(shè)備獨立性概念(設(shè)備無關(guān)性)u應(yīng)用程序中所使用的設(shè)備,不局限于使用某個具應(yīng)用程序中所使用的設(shè)備,不局限于使用某個具體的物理設(shè)備。體的物理設(shè)備。F應(yīng)用程序獨立于具體使用的物理設(shè)備。在應(yīng)用程序中,使用邏輯設(shè)備名稱來請求使用某類設(shè)備。系統(tǒng)在實際執(zhí)行時,必須使用物理設(shè)備名稱752021-10-29設(shè)備獨立性設(shè)備獨立性n設(shè)備獨立性好處(設(shè)備無關(guān)性)設(shè)備獨立性好處(設(shè)備無關(guān)性)u設(shè)備分配時的靈活性設(shè)備分配
53、時的靈活性。如果一個系統(tǒng)中有若干臺相同的。如果一個系統(tǒng)中有若干臺相同的設(shè)備,用戶編程時不指定使用哪一個具體的設(shè)備,而僅設(shè)備,用戶編程時不指定使用哪一個具體的設(shè)備,而僅說明要使用哪一類設(shè)備,系統(tǒng)根據(jù)當(dāng)前這一類設(shè)備的具說明要使用哪一類設(shè)備,系統(tǒng)根據(jù)當(dāng)前這一類設(shè)備的具體狀況給用戶分配一臺具體的設(shè)備。體狀況給用戶分配一臺具體的設(shè)備。u易于實現(xiàn)易于實現(xiàn)I/OI/O重定向重定向。用于。用于I/OI/O操作的設(shè)備可以更換(重操作的設(shè)備可以更換(重定向),而不必改變應(yīng)用程序。例如有一程序要求輸入定向),而不必改變應(yīng)用程序。例如有一程序要求輸入信息,可以從各種不同類型的輸入設(shè)備上給程序輸入數(shù)信息,可以從各種不同
54、類型的輸入設(shè)備上給程序輸入數(shù)據(jù),則稱該程序是獨立于不同類型的輸入設(shè)備的。據(jù),則稱該程序是獨立于不同類型的輸入設(shè)備的。762021-10-29設(shè)備獨立性設(shè)備獨立性n邏輯設(shè)備名到物理設(shè)備名映射的實現(xiàn)邏輯設(shè)備名到物理設(shè)備名映射的實現(xiàn)u邏輯設(shè)備表LUT 將應(yīng)用程序中所使用的邏輯設(shè)備名映射為物理設(shè)備名。邏輯設(shè)備名物理設(shè)備名驅(qū)動程序入口地址/dev/tty/dev/printer3510242046邏輯設(shè)備名/dev/tty/dev/printer系統(tǒng)設(shè)備表指針35(a)(b)772021-10-29設(shè)備獨立性設(shè)備獨立性n設(shè)備獨立性軟件設(shè)備獨立性軟件n驅(qū)動程序是一個與硬件緊密相關(guān)的軟件,為了實現(xiàn)設(shè)備獨立驅(qū)
55、動程序是一個與硬件緊密相關(guān)的軟件,為了實現(xiàn)設(shè)備獨立性,必須在其上設(shè)置一層軟件稱為設(shè)備獨立性軟件。其功能性,必須在其上設(shè)置一層軟件稱為設(shè)備獨立性軟件。其功能有有u執(zhí)行所有設(shè)備的公有操作 這些公有操作包括:設(shè)備驅(qū)動程序的統(tǒng)一接口,無論何種設(shè)備, 它們向用戶所提供的接口應(yīng)該是相同的。 例如, 對各種設(shè)備的讀操作,在應(yīng)用程序中都使用read; 而對各種設(shè)備的寫操作,也都使用write; 并將邏輯設(shè)備名映射為物理設(shè)備名,進一步可以找到相應(yīng)物理設(shè)備的驅(qū)動程序;對設(shè)備進行保護,禁止用戶直接訪問設(shè)備; 緩沖管理,即對字符設(shè)備和塊設(shè)備的緩沖區(qū)進行有效的管理, 以提高I/O的效率;差錯控制。設(shè)備獨立性軟件只處理那
56、些設(shè)備驅(qū)動程序無法處理的錯誤。對獨立設(shè)備的分配與回收; 提供獨立于設(shè)備的邏輯塊。u向用戶層(或文件層)軟件提供統(tǒng)一接口 782021-10-29n程序員利用系統(tǒng)調(diào)用打開程序員利用系統(tǒng)調(diào)用打開I/O設(shè)備時,通常使設(shè)備時,通常使用的設(shè)備標(biāo)識是(用的設(shè)備標(biāo)識是(2009) A.邏輯設(shè)備名邏輯設(shè)備名 B.物理設(shè)備名物理設(shè)備名 C.主設(shè)備號主設(shè)備號 D.從設(shè)備號從設(shè)備號n本地用戶通過鍵盤登陸系統(tǒng)是,首先獲得鍵本地用戶通過鍵盤登陸系統(tǒng)是,首先獲得鍵盤輸入信息的程序是盤輸入信息的程序是()。(。(2010) A. 命令解釋程序命令解釋程序 B. 中斷處理程序中斷處理程序 C. 系統(tǒng)調(diào)用程序系統(tǒng)調(diào)用程序D.
57、用戶登錄程序用戶登錄程序792021-10-296.5.3 6.5.3 設(shè)設(shè) 備備 分分 配配n在多道程序環(huán)境下,系統(tǒng)中的設(shè)備供所在多道程序環(huán)境下,系統(tǒng)中的設(shè)備供所有進程共享,為防止諸進程對系統(tǒng)資源有進程共享,為防止諸進程對系統(tǒng)資源的無序競爭,特規(guī)定系統(tǒng)設(shè)備不允許用的無序競爭,特規(guī)定系統(tǒng)設(shè)備不允許用戶自行使用,戶自行使用,必須由系統(tǒng)統(tǒng)一分配必須由系統(tǒng)統(tǒng)一分配。n每當(dāng)進程向系統(tǒng)提出請求時,只要是可每當(dāng)進程向系統(tǒng)提出請求時,只要是可能和安全的,按一定策略分配能和安全的,按一定策略分配n為了實現(xiàn)獨占設(shè)備分配,必須在系統(tǒng)中為了實現(xiàn)獨占設(shè)備分配,必須在系統(tǒng)中設(shè)置相應(yīng)的數(shù)據(jù)結(jié)構(gòu)設(shè)置相應(yīng)的數(shù)據(jù)結(jié)構(gòu)80202
58、1-10-29設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)n從前面所學(xué)內(nèi)容中我們知道,創(chuàng)建一個進程時,從前面所學(xué)內(nèi)容中我們知道,創(chuàng)建一個進程時,開辟一個進程控制塊開辟一個進程控制塊PCB,以便隨時記錄進程以便隨時記錄進程的信息;在把一個作業(yè)提交給系統(tǒng)時,系統(tǒng)也的信息;在把一個作業(yè)提交給系統(tǒng)時,系統(tǒng)也是開辟一個作業(yè)控制塊是開辟一個作業(yè)控制塊JCB,以便隨時記錄作以便隨時記錄作業(yè)的信息。為了管理系統(tǒng)中的外部設(shè)備,操作業(yè)的信息。為了管理系統(tǒng)中的外部設(shè)備,操作系統(tǒng)仍然采用這種老辦法:為每一臺設(shè)備開辟系統(tǒng)仍然采用這種老辦法:為每一臺設(shè)備開辟一個存儲區(qū),隨時記錄系統(tǒng)中每一個設(shè)備的基一個存儲區(qū),隨時記錄系統(tǒng)中每
59、一個設(shè)備的基本信息,這個存儲區(qū)被稱為本信息,這個存儲區(qū)被稱為“設(shè)備控制表設(shè)備控制表DCT(Device Control Table)”。812021-10-29設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu) n設(shè)備控制表(設(shè)備控制表(DCT)u系統(tǒng)為每個設(shè)備配置一張設(shè)備控制表,用于記錄設(shè)備系統(tǒng)為每個設(shè)備配置一張設(shè)備控制表,用于記錄設(shè)備的特性及的特性及I/O控制器連接的情況??刂破鬟B接的情況。 n控制器控制表(控制器控制表(COCT)u每個控制器配置一張表,它反映控制器的使用情況等。每個控制器配置一張表,它反映控制器的使用情況等。 n通道控制表(通道控制表(CHCT)u為每個通道配置一張表,它反映通道
60、的使用狀態(tài)。為每個通道配置一張表,它反映通道的使用狀態(tài)。 n系統(tǒng)設(shè)備表(系統(tǒng)設(shè)備表(SDT)u它記錄已被連接到系統(tǒng)中的所有物理設(shè)備的情況,每它記錄已被連接到系統(tǒng)中的所有物理設(shè)備的情況,每個物理設(shè)備占一個表目。整個系統(tǒng)配置一張。個物理設(shè)備占一個表目。整個系統(tǒng)配置一張。 822021-10-29n下圖左側(cè)的下圖左側(cè)的“DCT”,表示系統(tǒng)中所有,表示系統(tǒng)中所有外部設(shè)備的外部設(shè)備的DCT的集合;中間是對其中的集合;中間是對其中的第的第i個設(shè)備的個設(shè)備的DCT放大,給出了放大,給出了DCT中中可能有的一些表項。不難理解,可能有的一些表項。不難理解,隨著系隨著系統(tǒng)的不同,統(tǒng)的不同,DCT中所含的內(nèi)容也不同
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 轉(zhuǎn)位元標(biāo)記與微生物組研究-深度研究
- 圖論算法研究-深度研究
- 影視技術(shù)與文化融合-深度研究
- 甘肅建筑職業(yè)技術(shù)學(xué)院《電力系統(tǒng)分析(2)》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶城市管理職業(yè)學(xué)院《馬克思主義發(fā)展史》2023-2024學(xué)年第二學(xué)期期末試卷
- 濱州學(xué)院《英語I》2023-2024學(xué)年第二學(xué)期期末試卷
- 黑龍江交通職業(yè)技術(shù)學(xué)院《網(wǎng)絡(luò)空間安全工程倫理》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南人文科技學(xué)院《素描人物2》2023-2024學(xué)年第二學(xué)期期末試卷
- 南昌大學(xué)《VisualBasic程序設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州國際旅游服務(wù)合同樣本
- 現(xiàn)代文閱讀《有聲電影》答案詳細解析
- 銷售合同模板英文銷售合同模板
- 大學(xué)計算機基礎(chǔ)(Windows10+Office2016)PPT完整全套教學(xué)課件
- 精素材:描寫植物的好詞好句好段
- 【高中語文】《登岳陽樓》課件17張+統(tǒng)編版高中語文必修下冊
- 華師大版八年級數(shù)學(xué)下冊全冊教案
- 四下語文學(xué)情分析-2
- 家園合作培養(yǎng)幼兒勞動行為習(xí)慣的行動研究
- 中國的能源安全 課件
- 鄭州市某路雨水污水改造工程施工組織設(shè)計
- 對口升學(xué)計算機組裝試卷答案
評論
0/150
提交評論