版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6章設(shè)備管理“設(shè)備”泛指計(jì)算機(jī)系統(tǒng)中的外部設(shè)備,即除主機(jī)以外的其他所有設(shè)備。在多道程序設(shè)計(jì)環(huán)境下,計(jì)算機(jī)系統(tǒng)允許多個(gè)用戶作業(yè)同時(shí)在內(nèi)存,它們的運(yùn)行勢(shì)必涉及到I/O設(shè)備。于是,對(duì)于設(shè)備本身,有一個(gè)如何有效利用的問(wèn)題;對(duì)于設(shè)備和CPU,有一個(gè)如何發(fā)揮并行工作能力的問(wèn)題;對(duì)于設(shè)備和用戶,有一個(gè)如何方便使用的問(wèn)題。2022/12/21第6章設(shè)備管理“設(shè)備”泛指計(jì)算機(jī)系統(tǒng)中的外部設(shè)備,即除主設(shè)備管理的任務(wù)是完成用戶提出的I/O請(qǐng)求,為用戶分配I/O設(shè)備,提高CPU與I/O設(shè)備的利用率,提高I/O設(shè)備的速度,方便用戶使用I/O設(shè)備。2022/12/21設(shè)備管理的任務(wù)是完成用戶提出的I/O請(qǐng)求,為用戶分配I/O設(shè)6.1.1I/O系統(tǒng)的基本功能方便用戶使用I/O設(shè)備隱藏物理設(shè)備的細(xì)節(jié)與設(shè)備的無(wú)關(guān)性提高CPU和I/O設(shè)備的利用率提高CPU和I/O設(shè)備的利用率對(duì)I/O設(shè)備進(jìn)行控制為用戶的共享設(shè)備時(shí)提供方便確保對(duì)設(shè)備的正確共享錯(cuò)誤處理2022/12/216.1.1I/O系統(tǒng)的基本功能方便用戶使用I/O設(shè)備20226.1.2I/O系統(tǒng)的層次和結(jié)構(gòu)模型I/O層次結(jié)構(gòu)用戶層I/O軟件設(shè)備獨(dú)立性軟件設(shè)備驅(qū)動(dòng)程序中斷處理程序2022/12/216.1.2I/O系統(tǒng)的層次和結(jié)構(gòu)模型I/O層次結(jié)構(gòu)20222022/12/21I/O層次結(jié)構(gòu)
用戶層軟件設(shè)備獨(dú)立性軟件設(shè)備驅(qū)動(dòng)程序中斷處理程序硬件實(shí)現(xiàn)與用戶交互的接口,產(chǎn)生I/O請(qǐng)求負(fù)責(zé)實(shí)現(xiàn)與設(shè)備驅(qū)動(dòng)器的統(tǒng)一接口、設(shè)備命名,設(shè)備的保護(hù),設(shè)備的分配與釋放,緩沖等。與硬件直接相關(guān),負(fù)責(zé)具體實(shí)現(xiàn)系統(tǒng)對(duì)設(shè)備發(fā)出的操作指令,驅(qū)動(dòng)I/O設(shè)備工作的驅(qū)動(dòng)程序保護(hù)環(huán)境,轉(zhuǎn)入相應(yīng)處理程序,恢復(fù)現(xiàn)場(chǎng)等執(zhí)行I/O操作2022/12/212022/12/19I/O層次結(jié)構(gòu)
用戶層軟件設(shè)備獨(dú)立性軟件2022/12/21操作系統(tǒng)的I/O子系統(tǒng)通常由四個(gè)層次組成,每一層明確定義了與鄰近層次的接口。其合理的層次組織排列順序是(2012)A.用戶級(jí)I/O軟件、設(shè)備無(wú)關(guān)軟件、設(shè)備驅(qū)動(dòng)程序、中斷處理程序B、用戶級(jí)I/O軟件、設(shè)備無(wú)關(guān)軟件、中斷處理程序、設(shè)備驅(qū)動(dòng)程序C、用戶級(jí)I/O軟件、設(shè)備驅(qū)動(dòng)程序、設(shè)備無(wú)關(guān)軟件、中斷處理程序D、用戶級(jí)I/O軟件、中斷處理程序、設(shè)備無(wú)關(guān)軟件、設(shè)備驅(qū)動(dòng)程序用戶程序發(fā)出磁盤I/O請(qǐng)求后,系統(tǒng)的處理流程是:用戶程序-系統(tǒng)調(diào)用處理程序-設(shè)備驅(qū)動(dòng)程序-中斷處理程序。其中,計(jì)算數(shù)據(jù)所在磁盤的柱面號(hào)、磁頭號(hào)、扇區(qū)號(hào)的程序是(2011,2013)A、用戶程序B、系統(tǒng)調(diào)用處理程序C、設(shè)備驅(qū)動(dòng)程序D、中斷處理程序2022/12/212022/12/19操作系統(tǒng)的I/O子系統(tǒng)通常由四個(gè)層次組成2022/12/21I/O層次視圖
用戶層軟件設(shè)備獨(dú)立性軟件設(shè)備驅(qū)動(dòng)程序中斷處理程序硬件I/O系統(tǒng)接口RW/HW接口2022/12/212022/12/19I/O層次視圖
用戶層軟件設(shè)備獨(dú)立性軟件6.1.3I/O系統(tǒng)接口塊設(shè)備接口塊設(shè)備:數(shù)據(jù)的存取和傳輸都是以數(shù)據(jù)塊為單位的設(shè)備。特點(diǎn):傳輸速率高,可尋址,DMA控制方式隱藏了磁盤的二維結(jié)構(gòu)將抽象命令映射為低層操作流設(shè)備接口字符設(shè)備。特點(diǎn):傳輸速率低,不可尋址,中斷驅(qū)動(dòng)方式Get操作和put操作In-control指令網(wǎng)絡(luò)接口2022/12/216.1.3I/O系統(tǒng)接口塊設(shè)備接口2022/12/196.2I/O設(shè)備和設(shè)備控制器
I/O設(shè)備由執(zhí)行I/O操作的機(jī)械部分和執(zhí)行控制I/O的電子部件(設(shè)備控制器)組成。2022/12/216.2I/O設(shè)備和設(shè)備控制器2022/12/196.2.1I/O設(shè)備1、I/O設(shè)備的類型按使用特性分存儲(chǔ)設(shè)備:用以存儲(chǔ)信息的主要設(shè)備輸入輸出設(shè)備:輸入設(shè)備,輸出設(shè)備,交互式設(shè)備2022/12/216.2.1I/O設(shè)備1、I/O設(shè)備的類型2022/12/1I/O設(shè)備的分類按傳輸速率分低速設(shè)備:每秒幾個(gè)到數(shù)百字節(jié)。如鍵盤、鼠標(biāo)中速設(shè)備:每秒數(shù)千到數(shù)萬(wàn)字節(jié)。如打印機(jī)高速設(shè)備:每秒數(shù)百K到數(shù)兆。如磁盤、磁帶2022/12/21I/O設(shè)備的分類按傳輸速率分2022/12/19按信息交換的單位分類塊設(shè)備
:
I/O傳輸?shù)膯挝皇菈K,如磁盤、磁帶。特征:速率高(幾兆)、可尋址(可隨機(jī)訪問(wèn)任一塊)、DMA方式驅(qū)動(dòng)。
字符設(shè)備:I/O傳輸?shù)膯挝皇亲止?jié),如打印機(jī)、modem等。特征:速率較低、不可尋址、中斷驅(qū)動(dòng)。2022/12/21按信息交換的單位分類2022/12/19
按設(shè)備共享屬性分類獨(dú)占型設(shè)備:在任一段時(shí)間內(nèi)最多有一個(gè)進(jìn)程占用它,字符設(shè)備及磁帶機(jī)屬獨(dú)占型設(shè)備。即臨界資源。共享型設(shè)備:多個(gè)進(jìn)程對(duì)它的訪問(wèn)可以交叉進(jìn)行,除磁帶機(jī)外的塊設(shè)備屬共享設(shè)備虛擬設(shè)備:在一類設(shè)備上模擬另一類設(shè)備,常用共享設(shè)備模擬獨(dú)占設(shè)備,用高速設(shè)備模擬低速設(shè)備,被模擬的設(shè)備稱為虛擬設(shè)備2022/12/21按設(shè)備共享屬性分類2022/12/192、設(shè)備與控制器之間的接口通常,設(shè)備不是直接與CPU進(jìn)行通信,而是與設(shè)備控制器通信,因此在I/O設(shè)備中應(yīng)含有與設(shè)備控制器間的接口,在該接口中有三種類型的信號(hào),各對(duì)應(yīng)一條信號(hào)線2022/12/212、設(shè)備與控制器之間的接口通常,設(shè)備不是直接與CPU進(jìn)行通信2、設(shè)備與控制器之間的接口數(shù)據(jù)信號(hào)線用于在設(shè)備和設(shè)備控制器之間傳送數(shù)據(jù)信號(hào)??刂菩盘?hào)線作為由設(shè)備控制器向I/O設(shè)備發(fā)送控制信號(hào)時(shí)的通路。狀態(tài)信號(hào)線用于傳送指示設(shè)備當(dāng)前狀態(tài)的信號(hào)。2022/12/212、設(shè)備與控制器之間的接口數(shù)據(jù)信號(hào)線2022/12/196.2.2設(shè)備控制器設(shè)備控制器主要負(fù)責(zé)控制一個(gè)或多個(gè)I/O設(shè)備,以實(shí)現(xiàn)I/O設(shè)備和計(jì)算機(jī)之間的數(shù)據(jù)交換。它是CPU與I/O設(shè)備之間的接口,接收從CPU發(fā)來(lái)的命令,并控制I/O設(shè)備工作,以使CPU從繁雜的設(shè)備控制事務(wù)中解脫出來(lái)。是一個(gè)可編址設(shè)備,每一個(gè)地址對(duì)應(yīng)一個(gè)設(shè)備。設(shè)備控制器可分為兩類,一類用于控制字符設(shè)備的控制器,另一類是用于控制塊設(shè)備的控制器。在微型機(jī)中的控制器,常做成印刷電路卡,因而也常稱為接口卡2022/12/216.2.2設(shè)備控制器設(shè)備控制器主要負(fù)責(zé)控制一個(gè)或多個(gè)I/O設(shè)設(shè)備控制器的基本功能接收和識(shí)別命令數(shù)據(jù)交換標(biāo)識(shí)和報(bào)告設(shè)備的狀態(tài)地址識(shí)別數(shù)據(jù)緩沖差錯(cuò)控制2022/12/21設(shè)備控制器的基本功能接收和識(shí)別命令2022/12/19設(shè)備控制器的組成由于設(shè)備控制器位于CPU與設(shè)備之間,它既要與CPU通信,又要與設(shè)備通信,還應(yīng)具有按照CPU所發(fā)來(lái)的命令去控制設(shè)備的工作的功能,因此現(xiàn)有的大多數(shù)控制器都是由三部分組成設(shè)備控制器與處理機(jī)的接口設(shè)備控制器與設(shè)備的接口I/O邏輯2022/12/21設(shè)備控制器的組成由于設(shè)備控制器位于CPU與設(shè)備之間,它既要與設(shè)備控制器的組成2022/12/21設(shè)備控制器的組成2022/12/196.2.3內(nèi)存映像I/O2022/12/216.2.3內(nèi)存映像I/O2022/12/196.2.3內(nèi)存映像I/O2022/12/216.2.3內(nèi)存映像I/O2022/12/19I/O通道 雖然在CPU與I/O設(shè)備之間增加了設(shè)備控制器后,已能大大減少CPU對(duì)I/O的干預(yù),但當(dāng)一個(gè)系統(tǒng)配置的設(shè)備較多時(shí),I/O操作較為頻繁的情況下,CPU可能完全陷入I/O處理,這樣會(huì)大大地降低計(jì)算機(jī)系統(tǒng)的效率,解決的方法就是用到通道技術(shù)。
2022/12/21I/O通道 雖然在CPU與I/O設(shè)備之間增加了設(shè)備控制器后, 通道方式的目的使一些原來(lái)由CPU處理的I/O任務(wù)轉(zhuǎn)由通道來(lái)承擔(dān),從而使CPU徹底從I/O中解放出來(lái)。當(dāng)用戶發(fā)出I/O請(qǐng)求后,CPU就把該請(qǐng)求全部交由通道去完成。通道在整個(gè)I/O任務(wù)結(jié)束后,才發(fā)出中斷信號(hào),請(qǐng)求CPU進(jìn)行善后處理。不僅數(shù)據(jù)傳輸獨(dú)立于CPU,而且I/O操作的組織管理也獨(dú)立于CPU。I/O通道的引入:2022/12/21I/O通道的引入:2022/12/19 為使中央處理機(jī)從繁忙的I/O處理中擺脫出來(lái),現(xiàn)代大、中型計(jì)算機(jī)系統(tǒng)中設(shè)置了專門的處理I/O操作的處理機(jī),并把這種處理機(jī)稱為通道。通道在CPU的控制下獨(dú)立地執(zhí)行通道程序,對(duì)外部設(shè)備的I/O操作進(jìn)行控制,以實(shí)現(xiàn)內(nèi)存與外設(shè)之間成批的數(shù)據(jù)交換。 通道=I/O處理機(jī)
通道概念2022/12/21 為使中央處理機(jī)從繁忙的I/O處理中擺脫出來(lái),現(xiàn)代大、中型
I/O通道與一般的處理機(jī)不同,主要表現(xiàn)在以下兩個(gè)方面:指令類型單一,這是由于通道硬件比較簡(jiǎn)單,其所能執(zhí)行的命令,主要局限于與I/O操作有關(guān)的指令;通道沒(méi)有自己的內(nèi)存,通道所執(zhí)行的通道程序是放在主機(jī)的內(nèi)存中的,換言之,是通道與CPU共享內(nèi)存。2022/12/21I/O通道與一般的處理機(jī)不同,主要表現(xiàn)在以下兩個(gè)方面:2I/O通道I/O通道的分類字節(jié)多路通道數(shù)據(jù)選擇通道數(shù)組多路通道2022/12/21I/O通道2022/12/19通道的種類字節(jié)多路通道:字節(jié)多路通道是以字節(jié)為基本傳輸單位,通常含有許多非分配型子通道,其數(shù)量從幾十到數(shù)百個(gè),每一個(gè)子通道連接一臺(tái)I/O設(shè)備,并控制該設(shè)備的I/O操作。這些子通道按時(shí)間片輪轉(zhuǎn)主式共享主通道。當(dāng)一個(gè)子通道控制的某臺(tái)外設(shè)交換了一個(gè)字節(jié)后,就轉(zhuǎn)向下一個(gè)子通道,以控制下一臺(tái)設(shè)備傳送一個(gè)字節(jié)。這就實(shí)現(xiàn)了子通道的循環(huán)輪轉(zhuǎn),以達(dá)到多路控制的目的,字節(jié)多路通道主要用來(lái)控制低速、并且以字節(jié)為基本傳送單位的設(shè)備。如打印機(jī)。2022/12/21通道的種類字節(jié)多路通道:2022/12/192022/12/212022/12/19數(shù)組選擇通道:字節(jié)多路通道不適于連接高速設(shè)備,這推動(dòng)了按數(shù)組方式進(jìn)行數(shù)據(jù)傳送的數(shù)組選擇通道的形成。這種通道雖然可以連接多臺(tái)高速設(shè)備,但由于它只含有一個(gè)分配型子通道,在一段時(shí)間內(nèi)只能執(zhí)行一道通道程序,控制一臺(tái)設(shè)備進(jìn)行數(shù)據(jù)傳送,致使當(dāng)某臺(tái)設(shè)備占用了該通道后,便一直由它獨(dú)占,即使是它無(wú)數(shù)據(jù)傳送,通道被閑置,也不允許其它設(shè)備使用該通道,直至該設(shè)備傳送完畢釋放該通道。它的優(yōu)點(diǎn)是傳輸速度高,缺點(diǎn)是一次只能控制一臺(tái)設(shè)備進(jìn)行I/O操作,利用率低。它主要用來(lái)控制高速外設(shè)。如磁盤選擇通道2022/12/21數(shù)組選擇通道:選擇通道2022/12/19
數(shù)組多路通道:
這種通道是上述兩種通道的折中,可以分時(shí)的方式執(zhí)行多道程序,每道程序可傳送一組數(shù)據(jù)。因而這種通道既具有很高的數(shù)據(jù)傳輸速率,又能獲得令人滿意的通道利用率。也正因此,才使該通道能被廣泛地用于連接多臺(tái)高、中速的外圍設(shè)備,其數(shù)據(jù)傳送是按數(shù)組方式進(jìn)行的。
在一大型系統(tǒng)中可以同時(shí)存在這三種類型的通道以便控制各種不同類型的設(shè)備。2022/12/21數(shù)組多路通道:2022/12/19通道
I/O系統(tǒng)結(jié)構(gòu) 在大型計(jì)算機(jī)系統(tǒng)中較為典型的I/O系統(tǒng)結(jié)構(gòu)是主機(jī)、通道、控制器和外部設(shè)備。2022/12/21通道I/O系統(tǒng)結(jié)構(gòu)2022/12/19“瓶頸”問(wèn)題
圖5-4單通路I/O系統(tǒng)2022/12/21“瓶頸”問(wèn)題圖5-4單通路I/O系統(tǒng)2022/12/圖5-5多通路I/O系統(tǒng)解決“瓶頸”問(wèn)題的最有效方法就是增加設(shè)備到主機(jī)間的通路而不增加通道
2022/12/21圖5-5多通路I/O系統(tǒng)解決“瓶頸”問(wèn)題的最有效方法就練習(xí)通道是I/O處理機(jī),它用于實(shí)現(xiàn)______之間的信息傳輸;____用作連接大量的低速或中速設(shè)備;A、數(shù)據(jù)選擇通道B、字節(jié)多路通道C、數(shù)據(jù)多路通道按_____分類可將設(shè)備分為塊設(shè)備和字符設(shè)備。A、從屬關(guān)系B、操作特性C、共享屬性D、信息交換單位2022/12/21練習(xí)通道是I/O處理機(jī),它用于實(shí)現(xiàn)______之間的信息傳輸練習(xí)硬盤屬于(
)
A、字符型設(shè)備
B、獨(dú)占型設(shè)備
C、塊設(shè)備
D、虛擬設(shè)備
所有的塊型設(shè)備都是共享設(shè)備。(
)打印機(jī)是一類典型的塊設(shè)備。()選擇通道主要用于連接低速設(shè)備.
()2022/12/21練習(xí)硬盤屬于(
)2022/12/196.3中斷機(jī)構(gòu)和中斷處理程序中斷的簡(jiǎn)介中斷是由于某些事件的出現(xiàn),中止現(xiàn)行進(jìn)程的執(zhí)行,而轉(zhuǎn)去處理出現(xiàn)的事件,中斷事件處理完后,再繼續(xù)運(yùn)行被中止進(jìn)程的過(guò)程。在這里引起中斷的事件稱為中斷源。中斷事件通常由硬件發(fā)現(xiàn)中斷的處理對(duì)出現(xiàn)的事件進(jìn)行處理的程序稱為中斷處理程序。中斷處理程序是由操作系統(tǒng)處理的,屬于操作系統(tǒng)的組成部分2022/12/216.3中斷機(jī)構(gòu)和中斷處理程序中斷的簡(jiǎn)介2022/12/19中斷的簡(jiǎn)介2022/12/21中斷的簡(jiǎn)介2022/12/19中斷的簡(jiǎn)介
2022/12/21中斷的簡(jiǎn)介2022/12/19中斷的處理中斷處理過(guò)程①測(cè)定是否有未響應(yīng)的中斷信號(hào)。②保護(hù)被中斷進(jìn)程的CPU環(huán)境。③轉(zhuǎn)入相應(yīng)的設(shè)備處理程序。④中斷處理。⑤恢復(fù)現(xiàn)場(chǎng),退出中斷。2022/12/21中斷的處理中斷處理過(guò)程2022/12/19圖6-10中斷現(xiàn)場(chǎng)保護(hù)示意圖
2022/12/21圖6-10中斷現(xiàn)場(chǎng)保護(hù)示意圖2022/12/19圖6-11中斷處理流程2022/12/21圖6-11中斷處理流程2022/12/196.4設(shè)備驅(qū)動(dòng)程序設(shè)備處理程序通常又稱為設(shè)備驅(qū)動(dòng)程序,它是I/O進(jìn)程與設(shè)備控制器之間的通信程序,又由于它常以進(jìn)程的形式存在,所以簡(jiǎn)稱之為設(shè)備驅(qū)動(dòng)進(jìn)程主要任務(wù):接收上層軟件發(fā)來(lái)的抽象要求,把它轉(zhuǎn)換為具體要求后,發(fā)送給設(shè)備控制器,啟動(dòng)設(shè)備去執(zhí)行。也將由設(shè)備控制器發(fā)來(lái)的信號(hào)傳送給上層軟件。通常,每一類設(shè)備配置一種驅(qū)動(dòng)程序。2022/12/216.4設(shè)備驅(qū)動(dòng)程序設(shè)備處理程序通常又稱為設(shè)備驅(qū)動(dòng)程序,它是設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)設(shè)備驅(qū)動(dòng)程序的功能一是接收設(shè)備獨(dú)立性軟件發(fā)來(lái)的命令和參數(shù),把抽象要求轉(zhuǎn)化為具體要求。二是檢查用戶I/O請(qǐng)求的合法性,了解I/O設(shè)備的狀態(tài),傳遞有關(guān)參數(shù),設(shè)置設(shè)備的工作方式。三是發(fā)出I/O命令,啟動(dòng)分配到的I/O設(shè)備,完成指定的I/O操作。四是及時(shí)響應(yīng)由控制器或通道發(fā)來(lái)的中斷請(qǐng)求,并根據(jù)其中斷類型調(diào)用相應(yīng)的中斷處理程序進(jìn)行處理。2022/12/21設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)設(shè)備驅(qū)動(dòng)程序的功能2022/12/設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)設(shè)備驅(qū)動(dòng)程序的特點(diǎn)一是驅(qū)動(dòng)程序主要是在請(qǐng)求I/O的進(jìn)程與設(shè)備控制器之間的一個(gè)通信程序。二是驅(qū)動(dòng)程序與I/O設(shè)備的特性密切相關(guān)。三是驅(qū)動(dòng)程序與I/O控制方式緊密相關(guān)。四是驅(qū)動(dòng)程序與硬件緊密相關(guān),其部分被固化在ROM中。五是驅(qū)動(dòng)程序應(yīng)允許可重入六是驅(qū)動(dòng)程序不允許系統(tǒng)調(diào)用。2022/12/21設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)設(shè)備驅(qū)動(dòng)程序的特點(diǎn)2022/12/1設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)設(shè)備處理的方式一是為每一類設(shè)備設(shè)置一個(gè)進(jìn)程,它專門執(zhí)行這類設(shè)備的I/O操作。二是在整個(gè)系統(tǒng)中設(shè)置一個(gè)I/O進(jìn)程,專門負(fù)責(zé)對(duì)系統(tǒng)中所有各類設(shè)備的I/O操作。三是不設(shè)置專門的設(shè)備處理進(jìn)程,只為各類設(shè)備設(shè)置相應(yīng)的設(shè)備處理程序,供用戶進(jìn)程或系統(tǒng)進(jìn)程調(diào)用。2022/12/21設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)設(shè)備處理的方式2022/12/19設(shè)備驅(qū)動(dòng)程序的處理過(guò)程主要任務(wù):?jiǎn)?dòng)指定設(shè)備將抽象要求轉(zhuǎn)化為具體要求檢查I/O請(qǐng)求的合法性讀出和檢查設(shè)備的狀態(tài)傳送必要的參數(shù)設(shè)置工作方式啟動(dòng)I/O設(shè)備2022/12/21設(shè)備驅(qū)動(dòng)程序的處理過(guò)程主要任務(wù):?jiǎn)?dòng)指定設(shè)備2022/12/練習(xí)設(shè)備驅(qū)動(dòng)程序與()密切相關(guān),如果計(jì)算機(jī)中配置有一個(gè)光盤,一個(gè)軟盤,一個(gè)硬盤,此時(shí)應(yīng)為它們配置()種外存設(shè)備驅(qū)動(dòng)程序。如果系統(tǒng)中連接有四個(gè)相同的終端設(shè)備,此時(shí)應(yīng)為它們配置()個(gè)終端設(shè)備驅(qū)動(dòng)程序2022/12/21練習(xí)設(shè)備驅(qū)動(dòng)程序與()密切相關(guān),如果計(jì)算機(jī)中配置有一個(gè)6.4.3對(duì)I/O設(shè)備控制方式輪詢的可編程I/O方式I/O中斷方式DMA方式通道方式中斷DMA通道2022/12/216.4.3對(duì)I/O設(shè)備控制方式輪詢的可編程I/O方式中1程序I/O方式早期,I/O控制器是OS同硬件之間的接口p(147)。它有兩個(gè)寄存器:數(shù)據(jù)緩沖寄存器、控制/狀態(tài)寄存器。狀態(tài)控制寄存器有一個(gè)標(biāo)志忙/閑的標(biāo)志位busy。CPU外部設(shè)備控制邏輯電路控制寄存器I/O控制器數(shù)據(jù)寄存器2022/12/211程序I/O方式早期,I/O控制器是OS同硬件之間的接口p工作過(guò)程以輸入為例1、把busy置12、反復(fù)測(cè)試busy,為1表示輸入機(jī)尚未輸完一個(gè)字,處理機(jī)應(yīng)繼續(xù)對(duì)該標(biāo)志進(jìn)行測(cè)試,轉(zhuǎn)2,為0表示輸入機(jī)已將輸入數(shù)據(jù)送入控制器的數(shù)據(jù)寄存器中,轉(zhuǎn)33、把數(shù)據(jù)從數(shù)據(jù)緩沖區(qū)中讀走,并置busy為1。所謂“程序循環(huán)測(cè)試”的數(shù)據(jù)傳輸方式,就是指用戶進(jìn)程使用啟動(dòng)設(shè)備后,不斷地執(zhí)行測(cè)試指令,去測(cè)試所啟動(dòng)設(shè)備的狀態(tài)寄存器。只有在狀態(tài)寄存器出現(xiàn)了所需要的狀態(tài)后,才停止測(cè)試工作,完成輸入/輸出。忙----等待方式2022/12/21工作過(guò)程以輸入為例2022/12/19
在程序I/O方式中,由于CPU的高速性和I/O設(shè)備的低速性,致使CPU的絕大部分時(shí)間都處于等待I/O設(shè)備完成數(shù)據(jù)I/O的循環(huán)測(cè)試中,造成對(duì)CPU的極大浪費(fèi)。在該方式中,CPU之所以要不斷地測(cè)試I/O設(shè)備的狀態(tài),就是因?yàn)樵贑PU中無(wú)中斷機(jī)構(gòu),使I/O設(shè)備無(wú)法向CPU報(bào)告它已完成了一個(gè)字符的輸入操作。2022/12/21在程序I/O方式中,由于CPU的高速2I/O中斷方式I/O控制器能發(fā)中斷。工作過(guò)程:1、發(fā)出啟動(dòng)某設(shè)備的命令,本進(jìn)程(A)變?yōu)榈却隣顟B(tài),轉(zhuǎn)進(jìn)程調(diào)度,調(diào)度另一進(jìn)程B。2、輸入完成時(shí),控制器發(fā)出中斷,中斷B,通過(guò)中斷進(jìn)入中斷處理程序。3、在中斷處理程序中把數(shù)據(jù)緩沖寄存器中的數(shù)取走,放入內(nèi)存特定位置M,喚醒等待進(jìn)程A,中斷返回到B的斷點(diǎn)繼續(xù)執(zhí)行。4、在以后的某個(gè)時(shí)刻O(píng)S調(diào)度要求輸入的進(jìn)程A。A從M取數(shù)處理。
2022/12/212I/O中斷方式I/O控制器能發(fā)中斷。2022/12/192022/12/212022/12/19在I/O設(shè)備輸入每個(gè)數(shù)據(jù)的過(guò)程中,由于無(wú)須CPU干預(yù),因而可使CPU與I/O設(shè)備并行工作。僅當(dāng)輸完一個(gè)數(shù)據(jù)時(shí),才需CPU花費(fèi)極短的時(shí)間去做些中斷處理??梢?jiàn),這樣可使CPU和I/O設(shè)備都處于忙碌狀態(tài),從而提高了整個(gè)系統(tǒng)的資源利用率及吞吐量。例如,從終端輸入一個(gè)字符的時(shí)間約為100ms,而將字符送入終端緩沖區(qū)的時(shí)間小于0.1ms。若采用程序I/O方式,CPU約有99.9ms的時(shí)間處于忙—等待中。采用中斷驅(qū)動(dòng)方式后,CPU可利用這99.9ms的時(shí)間去做其它事情,而僅用0.1ms的時(shí)間來(lái)處理由控制器發(fā)來(lái)的中斷請(qǐng)求??梢?jiàn),中斷驅(qū)動(dòng)方式可以成百倍地提高CPU的利用率。
2022/12/21在I/O設(shè)備輸入每個(gè)數(shù)據(jù)的過(guò)程中,由于無(wú)須CP分析同前相比,CPU利用率大大提高。缺點(diǎn):每臺(tái)設(shè)備每輸入輸出一個(gè)字節(jié)的數(shù)據(jù)都有一次中斷。如果設(shè)備較多時(shí),中斷次數(shù)會(huì)很多,使CPU的計(jì)算時(shí)間大大減少。為減少中斷對(duì)CPU造成的負(fù)擔(dān),可采用DMA方式和通道方式。2022/12/21分析同前相比,CPU利用率大大提高。2022/12/193直接存儲(chǔ)器訪問(wèn)(DMA)方式直接存儲(chǔ)器存取控制方式的概念是指對(duì)I/O設(shè)備的控制由DMA控制器完成,在DMA控制器的作用下,設(shè)備和主存之間可以成批地進(jìn)行數(shù)據(jù)交換,而不用CPU的干涉。2022/12/213直接存儲(chǔ)器訪問(wèn)(DMA)方式直接存儲(chǔ)器存取控制方式的概念5.2.3DMA方式直接存儲(chǔ)器存取控制方式的概念該方式的特點(diǎn)是:①數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊,即在CPU與I/O設(shè)備之間,每次傳送至少一個(gè)數(shù)據(jù)塊;②所傳送的數(shù)據(jù)是從設(shè)備直接送入內(nèi)存的,或者相反;③僅在傳送一個(gè)或多個(gè)數(shù)據(jù)塊的開(kāi)始和結(jié)束時(shí),才需CPU干預(yù),整塊數(shù)據(jù)的傳送是在控制器的控制下完成的??梢?jiàn),DMA方式較之中斷驅(qū)動(dòng)方式,又是成百倍地減少了CPU對(duì)I/O的干預(yù),進(jìn)一步提高了CPU與I/O設(shè)備的并行操作程度。
2022/12/215.2.3DMA方式直接存儲(chǔ)器存取控制方式的概念2022DMA方式 控制器功能更強(qiáng),除有中斷功能外,還有一個(gè)DMA控制機(jī)構(gòu)。在DMA控制器的控制下,設(shè)備同主存之間可成批交換數(shù)據(jù),不用CPU干預(yù)。DMA控制器組成:主機(jī)與DMA控制器的接口;DMA控制器與塊設(shè)備的接口;I/O控制邏輯2022/12/21DMA方式 控制器功能更強(qiáng),除有中斷功能外,還有一個(gè)DMA控DMA方式
DMA控制器組成:主機(jī)與DMA控制器的接口;DMA控制器與塊設(shè)備的接口;I/O控制邏輯為了實(shí)現(xiàn)在主機(jī)與控制器之間的成塊數(shù)據(jù)的直接交換,須在DMA控制器中設(shè)置如下四類寄存器:命令/狀態(tài)寄存器CR;內(nèi)存地址寄存器MAR;數(shù)據(jù)寄存器DR;數(shù)據(jù)計(jì)數(shù)器DC。2022/12/21DMA方式 DMA控制器組成:主機(jī)與DMA控制器的接口;DMDMA方式工作過(guò)程直接存儲(chǔ)器存取控制方式的步驟(P197)①當(dāng)進(jìn)程要求設(shè)備輸入一批數(shù)據(jù)時(shí),CPU將設(shè)備存放輸入數(shù)據(jù)的內(nèi)存始址以及要傳送的字節(jié)數(shù)分別送入DMA控制器中的地址寄存器MAR和數(shù)據(jù)計(jì)數(shù)器DC;另外,還要將磁盤中的源地址直接送至DMA控制器的I/O控制邏輯上。②發(fā)出數(shù)據(jù)要求的進(jìn)程進(jìn)入等待狀態(tài),進(jìn)程調(diào)度程序調(diào)度其他進(jìn)程占據(jù)CPU。③輸入設(shè)備不斷從磁盤中讀入一個(gè)字的數(shù)據(jù)并送入數(shù)據(jù)寄存器DR中,再挪用一個(gè)存儲(chǔ)器周期,將數(shù)據(jù)寄存器中的數(shù)據(jù)寫(xiě)入內(nèi)存,MAR+1,DC-1,若DC不為0則繼續(xù)傳下一個(gè)字。④DMA控制器在傳送字節(jié)數(shù)完成時(shí),通過(guò)中斷請(qǐng)求線發(fā)出中斷信號(hào),CPU收到中斷信號(hào)后轉(zhuǎn)中斷處理程序,喚醒等待輸入完成的進(jìn)程,并返回被中斷的程序。⑤在以后的某個(gè)時(shí)刻,進(jìn)程調(diào)度程序選中提出請(qǐng)求輸入的進(jìn)程,該進(jìn)程從指定的內(nèi)存始址取出數(shù)據(jù)做進(jìn)一步處理。2022/12/21DMA方式工作過(guò)程直接存儲(chǔ)器存取控制方式的步驟(P197)3.DMA工作過(guò)程圖5-9DMA方式的工作流程
2022/12/213.DMA工作過(guò)程圖5-9DMA方式的工作流程20直接存儲(chǔ)器存取控制直接存儲(chǔ)器存取控制方式的特點(diǎn)I/O數(shù)據(jù)傳輸速度快,CPU負(fù)擔(dān)少。在DMA方式下,數(shù)據(jù)的傳送方向、存放數(shù)據(jù)的內(nèi)存始址及傳送數(shù)據(jù)的長(zhǎng)度等都由CPU控制。每臺(tái)設(shè)備需要配一個(gè)DMA控制器。2022/12/21直接存儲(chǔ)器存取控制直接存儲(chǔ)器存取控制方式的特點(diǎn)2022/12DMA方式與中斷的主要區(qū)別中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿后,發(fā)中斷請(qǐng)求,CPU進(jìn)行中斷處理
DMA方式則是在所要求傳送的數(shù)據(jù)塊全部傳送結(jié)束時(shí)要求CPU進(jìn)行中斷處理大大減少了CPU進(jìn)行中斷處理的次數(shù)中斷方式的數(shù)據(jù)傳送是由CPU控制完成的而DMA方式則是在DMA控制器的控制下不經(jīng)過(guò)CPU控制完成的2022/12/21DMA方式與中斷的主要區(qū)別中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿后,發(fā)實(shí)現(xiàn)流程2022/12/21實(shí)現(xiàn)流程2022/12/194I/O通道控制方式
1.I/O通道控制方式的引入
雖然DMA方式比起中斷方式來(lái),已經(jīng)顯著地減少了CPU的干預(yù),即已由以字(節(jié))為單位的干預(yù)減少到以數(shù)據(jù)塊為單位的干預(yù),但CPU每發(fā)出一條I/O指令,也只能去讀一個(gè)連續(xù)的數(shù)據(jù)塊,要是一次去讀多個(gè)數(shù)據(jù)塊且將它們分別傳送到不同的內(nèi)存區(qū)域,則須由CPU發(fā)出多條I/O指令,進(jìn)行多次中斷。
2022/12/214I/O通道控制方式1.I/O通道控制方式的引入5.2.4I/O通道控制方式
1.I/O通道控制方式的引入
I/O通道方式是DMA方式的發(fā)展,它可進(jìn)一步減少CPU的干預(yù),即把對(duì)一個(gè)數(shù)據(jù)塊的讀(或?qū)?為單位的干預(yù),減少為對(duì)一組數(shù)據(jù)塊的讀(或?qū)?及有關(guān)的控制和管理為單位的干預(yù)。同時(shí),又可實(shí)現(xiàn)CPU、通道和I/O設(shè)備三者的并行操作,從而更有效地提高整個(gè)系統(tǒng)的資源利用率。例如,當(dāng)CPU要完成一組相關(guān)的讀(或?qū)?操作及有關(guān)控制時(shí),只需向I/O通道發(fā)送一條I/O指令,以給出其所要執(zhí)行的通道程序的首址和要訪問(wèn)的I/O設(shè)備,通道接到該指令后,通過(guò)執(zhí)行通道程序便可完成CPU指定的I/O任務(wù)。
2022/12/215.2.4I/O通道控制方式1.I/O通道控制方式的2通道程序通道有它自己的指令系統(tǒng),用一系列通道指令構(gòu)成的程序叫通道程序。通道通過(guò)執(zhí)行通道程序,并與設(shè)備控制器共同實(shí)現(xiàn)對(duì)I/O設(shè)備的控制。通道只能執(zhí)行通道程序,不可能執(zhí)行用戶進(jìn)程。
2022/12/212通道程序通道有它自己的指令系統(tǒng),用一系列通道指令構(gòu)成通道有自己的指令系統(tǒng),它與一般的機(jī)器指令不同,在它的每條指令中都包含下列諸信息:操作碼;內(nèi)存地址;計(jì)數(shù);通道程序結(jié)束位P;記錄結(jié)束標(biāo)志R2022/12/21通道有自己的指令系統(tǒng),它與一般的機(jī)器指令不同,在它的每條指令操作PR計(jì)數(shù)內(nèi)存地址WRITE0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE112507202022/12/21操作PR計(jì)數(shù)內(nèi)存地址WRITE0080813WRITE0若干通道命令字構(gòu)成一個(gè)“通道程序”,它規(guī)定了設(shè)備應(yīng)該執(zhí)行的各種操作和順序。在CPU啟動(dòng)通道后,由通道執(zhí)行通道程序,完成CPU所交給的I/O任務(wù)。通常,通道程序存放在通道自己的存儲(chǔ)部件里。當(dāng)通道中沒(méi)有存儲(chǔ)部件時(shí),就存放在內(nèi)存儲(chǔ)器里。這時(shí),為了使通道能取到通道程序去執(zhí)行,必須把存放通道程序的內(nèi)存起始地址告訴通道。存放這個(gè)起始地址的內(nèi)存固定單元,被稱為“通道地址字”。2022/12/21若干通道命令字構(gòu)成一個(gè)“通道程序”,它規(guī)定了設(shè)備應(yīng)該執(zhí)行的各通道的工作過(guò)程某進(jìn)程在運(yùn)行過(guò)程中,若提出了I/O請(qǐng)求,只需向通道I/O通道發(fā)一條I/O指令,以給出其所要執(zhí)行的通道程序的始址和要訪問(wèn)的I/O設(shè)備;用戶進(jìn)程阻塞以等待I/O完成通道則通過(guò)執(zhí)行通道程序控制設(shè)備控制器,控制設(shè)備完成指定的I/O任務(wù)。發(fā)出中斷信號(hào)通知CPU通道程序已執(zhí)行完成。CPU響應(yīng)中斷,進(jìn)行善后處理并喚醒被阻塞的用戶進(jìn)程2022/12/21通道的工作過(guò)程某進(jìn)程在運(yùn)行過(guò)程中,若提出了I/O請(qǐng)求,只需向
通道是一種特殊的(),具有()能力。主機(jī)的CPU與通道可以并行工作,并通過(guò)()實(shí)現(xiàn)彼此之間的通信和同步。1、I/O設(shè)備2、設(shè)備控制器3、處理機(jī)4、I/O控制器1、執(zhí)行I/O指令集2、執(zhí)行CPU指令集
3、傳輸I/O命令4、運(yùn)行I/O進(jìn)程1、I/O指令2、I/O中斷3、I/O指令和I/O中斷4、操作員2022/12/21通道是一種特殊的(),具有()能力。主機(jī)的CPU與通道可以
在程序I/O方式中,對(duì)于輸出設(shè)備,準(zhǔn)備就緒就是指1、輸出緩沖區(qū)已空2、輸出緩沖區(qū)已有數(shù)據(jù)
3、輸出設(shè)備已開(kāi)始工作4、輸出設(shè)備已收到I/O指令不使用中斷機(jī)制的I/O控制方式是_____如果I/O設(shè)備與存儲(chǔ)設(shè)備進(jìn)行數(shù)據(jù)交換不經(jīng)過(guò)CPU來(lái)完成,這種數(shù)據(jù)交換方式是_____。A、程序查詢B、中斷方式C、DMA方式在中斷驅(qū)動(dòng)方式中,CPU是以______為單位對(duì)I/O進(jìn)行干預(yù)的;DMA方式時(shí),是以______為單位進(jìn)行干預(yù)的;I/O通道方式是以______為單位進(jìn)行干預(yù)的。2022/12/21在程序I/O方式中,對(duì)于輸出設(shè)備,準(zhǔn)備就緒就是指2022/6.5設(shè)備無(wú)關(guān)的I/O軟件設(shè)備獨(dú)立性概念(設(shè)備無(wú)關(guān)性)應(yīng)用程序中所使用的設(shè)備,不局限于使用某個(gè)具體的物理設(shè)備。應(yīng)用程序獨(dú)立于具體使用的物理設(shè)備。在應(yīng)用程序中,使用邏輯設(shè)備名稱來(lái)請(qǐng)求使用某類設(shè)備。系統(tǒng)在實(shí)際執(zhí)行時(shí),必須使用物理設(shè)備名稱2022/12/216.5設(shè)備無(wú)關(guān)的I/O軟件設(shè)備獨(dú)立性概念(設(shè)備無(wú)關(guān)性)202設(shè)備獨(dú)立性設(shè)備獨(dú)立性好處(設(shè)備無(wú)關(guān)性)設(shè)備分配時(shí)的靈活性。如果一個(gè)系統(tǒng)中有若干臺(tái)相同的設(shè)備,用戶編程時(shí)不指定使用哪一個(gè)具體的設(shè)備,而僅說(shuō)明要使用哪一類設(shè)備,系統(tǒng)根據(jù)當(dāng)前這一類設(shè)備的具體狀況給用戶分配一臺(tái)具體的設(shè)備。易于實(shí)現(xiàn)I/O重定向。用于I/O操作的設(shè)備可以更換(重定向),而不必改變應(yīng)用程序。例如有一程序要求輸入信息,可以從各種不同類型的輸入設(shè)備上給程序輸入數(shù)據(jù),則稱該程序是獨(dú)立于不同類型的輸入設(shè)備的。2022/12/21設(shè)備獨(dú)立性設(shè)備獨(dú)立性好處(設(shè)備無(wú)關(guān)性)2022/12/19設(shè)備獨(dú)立性邏輯設(shè)備名到物理設(shè)備名映射的實(shí)現(xiàn)邏輯設(shè)備表LUT將應(yīng)用程序中所使用的邏輯設(shè)備名映射為物理設(shè)備名。2022/12/21設(shè)備獨(dú)立性邏輯設(shè)備名到物理設(shè)備名映射的實(shí)現(xiàn)2022/12/1設(shè)備獨(dú)立性設(shè)備獨(dú)立性軟件驅(qū)動(dòng)程序是一個(gè)與硬件緊密相關(guān)的軟件,為了實(shí)現(xiàn)設(shè)備獨(dú)立性,必須在其上設(shè)置一層軟件稱為設(shè)備獨(dú)立性軟件。其功能有執(zhí)行所有設(shè)備的公有操作這些公有操作包括:①設(shè)備驅(qū)動(dòng)程序的統(tǒng)一接口,無(wú)論何種設(shè)備,它們向用戶所提供的接口應(yīng)該是相同的。例如,對(duì)各種設(shè)備的讀操作,在應(yīng)用程序中都使用read;而對(duì)各種設(shè)備的寫(xiě)操作,也都使用write;并將邏輯設(shè)備名映射為物理設(shè)備名,進(jìn)一步可以找到相應(yīng)物理設(shè)備的驅(qū)動(dòng)程序;對(duì)設(shè)備進(jìn)行保護(hù),禁止用戶直接訪問(wèn)設(shè)備;②緩沖管理,即對(duì)字符設(shè)備和塊設(shè)備的緩沖區(qū)進(jìn)行有效的管理,以提高I/O的效率;③差錯(cuò)控制。設(shè)備獨(dú)立性軟件只處理那些設(shè)備驅(qū)動(dòng)程序無(wú)法處理的錯(cuò)誤。④對(duì)獨(dú)立設(shè)備的分配與回收;⑤提供獨(dú)立于設(shè)備的邏輯塊。向用戶層(或文件層)軟件提供統(tǒng)一接口
2022/12/21設(shè)備獨(dú)立性設(shè)備獨(dú)立性軟件2022/12/19程序員利用系統(tǒng)調(diào)用打開(kāi)I/O設(shè)備時(shí),通常使用的設(shè)備標(biāo)識(shí)是(2009)A.邏輯設(shè)備名B.物理設(shè)備名C.主設(shè)備號(hào)D.從設(shè)備號(hào)本地用戶通過(guò)鍵盤登陸系統(tǒng)是,首先獲得鍵盤輸入信息的程序是()。(2010)A.命令解釋程序B.中斷處理程序 C.系統(tǒng)調(diào)用程序 D.用戶登錄程序2022/12/21程序員利用系統(tǒng)調(diào)用打開(kāi)I/O設(shè)備時(shí),通常使用的設(shè)備標(biāo)識(shí)是(26.5.3設(shè)
備
分
配在多道程序環(huán)境下,系統(tǒng)中的設(shè)備供所有進(jìn)程共享,為防止諸進(jìn)程對(duì)系統(tǒng)資源的無(wú)序競(jìng)爭(zhēng),特規(guī)定系統(tǒng)設(shè)備不允許用戶自行使用,必須由系統(tǒng)統(tǒng)一分配。每當(dāng)進(jìn)程向系統(tǒng)提出請(qǐng)求時(shí),只要是可能和安全的,按一定策略分配為了實(shí)現(xiàn)獨(dú)占設(shè)備分配,必須在系統(tǒng)中設(shè)置相應(yīng)的數(shù)據(jù)結(jié)構(gòu)2022/12/216.5.3設(shè)備分配在多道程序環(huán)境下,系統(tǒng)中的設(shè)備供所設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)從前面所學(xué)內(nèi)容中我們知道,創(chuàng)建一個(gè)進(jìn)程時(shí),開(kāi)辟一個(gè)進(jìn)程控制塊PCB,以便隨時(shí)記錄進(jìn)程的信息;在把一個(gè)作業(yè)提交給系統(tǒng)時(shí),系統(tǒng)也是開(kāi)辟一個(gè)作業(yè)控制塊JCB,以便隨時(shí)記錄作業(yè)的信息。為了管理系統(tǒng)中的外部設(shè)備,操作系統(tǒng)仍然采用這種老辦法:為每一臺(tái)設(shè)備開(kāi)辟一個(gè)存儲(chǔ)區(qū),隨時(shí)記錄系統(tǒng)中每一個(gè)設(shè)備的基本信息,這個(gè)存儲(chǔ)區(qū)被稱為“設(shè)備控制表DCT(DeviceControlTable)”。2022/12/21設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)從前面所學(xué)內(nèi)容中我們知道,創(chuàng)建一個(gè)進(jìn)程時(shí)設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備控制表(DCT)系統(tǒng)為每個(gè)設(shè)備配置一張?jiān)O(shè)備控制表,用于記錄設(shè)備的特性及I/O控制器連接的情況。
控制器控制表(COCT)每個(gè)控制器配置一張表,它反映控制器的使用情況等。
通道控制表(CHCT)為每個(gè)通道配置一張表,它反映通道的使用狀態(tài)。系統(tǒng)設(shè)備表(SDT)它記錄已被連接到系統(tǒng)中的所有物理設(shè)備的情況,每個(gè)物理設(shè)備占一個(gè)表目。整個(gè)系統(tǒng)配置一張。
2022/12/21設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備控制表(DCT)2022/12/1下圖左側(cè)的“DCT”,表示系統(tǒng)中所有外部設(shè)備的DCT的集合;中間是對(duì)其中的第i個(gè)設(shè)備的DCT放大,給出了DCT中可能有的一些表項(xiàng)。不難理解,隨著系統(tǒng)的不同,DCT中所含的內(nèi)容也不同。DCT2022/12/21下圖左側(cè)的“DCT”,表示系統(tǒng)中所有外部設(shè)備的DCT的集合;DCTDCT1DCTiDCTnDCTi圖:設(shè)備控制表及設(shè)備請(qǐng)求隊(duì)列忙/閑等待/不等待與設(shè)備連接的控制器表指針重復(fù)執(zhí)行次數(shù)(出錯(cuò)時(shí)重新傳送的次數(shù))2022/12/21DCTDCT1DCTiDCTnDCTi圖:設(shè)備控制表及設(shè)備請(qǐng)DCT由于設(shè)備控制表DCT中存放的是一臺(tái)具體設(shè)備的有關(guān)信息,找到一個(gè)設(shè)備的DCT,就得到了該設(shè)備的特性、各種參數(shù)、使用情況等,所以DCT是設(shè)備管理中最重要的一種數(shù)據(jù)結(jié)構(gòu)。2022/12/21DCT由于設(shè)備控制表DCT中存放的是一臺(tái)具體設(shè)備的有關(guān)信息,控制器控制表和通道控制表2022/12/21控制器控制表和通道控制表2022/12/19為了管理設(shè)備,系統(tǒng)除了為每個(gè)設(shè)備設(shè)置DCT外,整個(gè)系統(tǒng)還要有一張所謂的“系統(tǒng)設(shè)備表(SDT—SystemDeviceTable)”。系統(tǒng)初啟時(shí),每一個(gè)標(biāo)準(zhǔn)的以及用戶提供的外部設(shè)備,在該表中都有一個(gè)表目,表目?jī)?nèi)容可以有該外部設(shè)備的標(biāo)識(shí)、所屬的類型以及它的設(shè)備控制表DCT的指針(即DCT所在的起始地址),如下圖所示。2022/12/21為了管理設(shè)備,系統(tǒng)除了為每個(gè)設(shè)備設(shè)置DCT外,整個(gè)系統(tǒng)還要有2022/12/212022/12/19設(shè)備分配應(yīng)考慮的因素設(shè)備的固有屬性設(shè)備的分配算法設(shè)備分配的安全性2022/12/21設(shè)備分配應(yīng)考慮的因素設(shè)備的固有屬性2022/12/19設(shè)備分配應(yīng)考慮的因素設(shè)備的固有屬性獨(dú)占性:在使用上具有排它性的設(shè)備。當(dāng)一個(gè)作業(yè)進(jìn)程在使用某種設(shè)備時(shí),別的作業(yè)進(jìn)程就只能等到該進(jìn)程使用完畢后才能用,那么這種設(shè)備就是獨(dú)享設(shè)備。鍵盤輸入機(jī)、磁帶機(jī)和打印機(jī)等都是典型的獨(dú)享設(shè)備。獨(dú)占設(shè)備:采用獨(dú)享分配策略,即將一個(gè)設(shè)備分配給某進(jìn)程后,便由該進(jìn)程獨(dú)占,直至該進(jìn)程完成或釋放該設(shè)備。缺點(diǎn):設(shè)備得不到充分利用,可能引起死鎖2022/12/21設(shè)備分配應(yīng)考慮的因素設(shè)備的固有屬性2022/12/19設(shè)備分配應(yīng)考慮的因素設(shè)備的固有屬性共享性:允許多個(gè)進(jìn)程共同時(shí)共享。軟硬盤、光盤等塊設(shè)備都是共享設(shè)備共享設(shè)備:同時(shí)分配給多個(gè)進(jìn)程使用,須注意對(duì)這些進(jìn)程訪問(wèn)該設(shè)備的先后次序進(jìn)行合理調(diào)度。2022/12/21設(shè)備分配應(yīng)考慮的因素設(shè)備的固有屬性2022/12/19設(shè)備分配應(yīng)考慮的因素設(shè)備的固有屬性虛擬性:本身雖是獨(dú)占設(shè)備,但經(jīng)過(guò)某種技術(shù)處理,可以把它改造成虛擬設(shè)備。將一臺(tái)打印機(jī)虛擬成多臺(tái)打印機(jī)虛擬設(shè)備:一臺(tái)可虛擬設(shè)備是可共享的設(shè)備,可以將它同時(shí)分配給多個(gè)進(jìn)程使用,并對(duì)這些訪問(wèn)該(物理設(shè)備)的先后次序進(jìn)行控制2022/12/21設(shè)備分配應(yīng)考慮的因素設(shè)備的固有屬性2022/12/19設(shè)備分配應(yīng)考慮的因素設(shè)備分配算法先來(lái)先服務(wù):當(dāng)有多個(gè)進(jìn)程對(duì)同一個(gè)設(shè)備提出I/O請(qǐng)求時(shí),該算法根據(jù)諸進(jìn)程對(duì)某設(shè)備提出請(qǐng)求的先后次序,將這些進(jìn)程排成一個(gè)設(shè)備請(qǐng)求隊(duì)列,總是把設(shè)備首先分配給隊(duì)首進(jìn)程優(yōu)先級(jí)高者優(yōu)先:將優(yōu)先權(quán)高的進(jìn)程排在設(shè)備隊(duì)列前面,對(duì)于優(yōu)先級(jí)相同的I/O請(qǐng)求,則按先來(lái)先服務(wù)原則排隊(duì)2022/12/21設(shè)備分配應(yīng)考慮的因素設(shè)備分配算法2022/12/19設(shè)備分配應(yīng)考慮的因素設(shè)備分配的安全性安全分配方式:每當(dāng)進(jìn)程發(fā)出I/O請(qǐng)求后,便進(jìn)入阻塞狀態(tài),直到其I/O操作完成時(shí)才被喚醒。一旦獲得某種設(shè)備后便阻塞,使該進(jìn)程不可能再請(qǐng)求任何資源,在它運(yùn)行時(shí)又不保持任何資源。摒棄了“請(qǐng)求和保持”不安全分配方式:進(jìn)程在發(fā)出I/O請(qǐng)求后仍繼續(xù)運(yùn)行,需要時(shí)又發(fā)出第二個(gè)I/O請(qǐng)求、第三個(gè)。。僅當(dāng)進(jìn)程所請(qǐng)求的設(shè)備已被另一進(jìn)程占用時(shí),請(qǐng)求進(jìn)程才進(jìn)入阻塞狀態(tài)??赡茉斐伤梨i。須進(jìn)行安全性計(jì)算.2022/12/21設(shè)備分配應(yīng)考慮的因素設(shè)備分配的安全性2022/12/19獨(dú)占設(shè)備的分配程序步驟:分配設(shè)備分配控制器分配通道只有在設(shè)備、控制器和通道三者都分配成功時(shí),這次的設(shè)備分配才算成功。才可啟動(dòng)該I/O設(shè)備進(jìn)行數(shù)據(jù)傳送。2022/12/21獨(dú)占設(shè)備的分配程序步驟:2022/12/19獨(dú)占設(shè)備的分配程序改進(jìn):基本分配程序的缺點(diǎn):進(jìn)程是以物理設(shè)備名來(lái)提出I/O請(qǐng)求的;采用的是單通路的I/O系統(tǒng)結(jié)構(gòu),容易產(chǎn)生“瓶頸”現(xiàn)象改進(jìn)方法增加設(shè)備獨(dú)立性:進(jìn)程使用邏輯設(shè)備名請(qǐng)求I/O考慮多通路情況2022/12/21獨(dú)占設(shè)備的分配程序改進(jìn):2022/12/19設(shè)備獨(dú)立性邏輯設(shè)備名到物理設(shè)備名映射的實(shí)現(xiàn)邏輯設(shè)備表LUT
LUT設(shè)置可采用兩種方式:整個(gè)系統(tǒng)中只設(shè)置一張LUT為每個(gè)用戶設(shè)置一張LUT2022/12/21設(shè)備獨(dú)立性邏輯設(shè)備名到物理設(shè)備名映射的實(shí)現(xiàn)2022/12/1獨(dú)占設(shè)備的分配程序改進(jìn):2022/12/21獨(dú)占設(shè)備的分配程序改進(jìn):2022/12/196.6用戶層的I/O軟件大部分的I/O軟件都在操作系統(tǒng)內(nèi)部,但仍有一小部分在用戶層,包括與用戶程序鏈接在一起的庫(kù)函數(shù),以及完全運(yùn)行于內(nèi)核之外的一些程序。用戶層軟件必須通過(guò)一組系統(tǒng)調(diào)用來(lái)取得操作系統(tǒng)的服務(wù)。2022/12/216.6用戶層的I/O軟件大部分的I/O軟件都在操作系統(tǒng)內(nèi)部,6.6用戶層的I/O軟件2022/12/216.6用戶層的I/O軟件2022/12/19系統(tǒng)調(diào)用與庫(kù)函數(shù)2022/12/21系統(tǒng)調(diào)用與庫(kù)函數(shù)2022/12/196.6.2SPOOLing技術(shù)虛擬性是OS的四大特征之一??梢酝ㄟ^(guò)多道程序技術(shù)將一臺(tái)物理CPU虛擬為多臺(tái)邏輯CPU,從而允許多個(gè)用戶共享一臺(tái)主機(jī),那么通過(guò)SPOOLing技術(shù)便可將一臺(tái)物理I/O設(shè)備虛擬為多臺(tái)邏輯I/O設(shè)備虛擬為多臺(tái)邏輯I/O設(shè)備,同樣允許多個(gè)用戶共享一臺(tái)物理I/O設(shè)備。2022/12/216.6.2SPOOLing技術(shù)虛擬性是OS的四脫機(jī)輸入輸出方式(Off-LineI/O)這種脫機(jī)I/O方式的主要優(yōu)點(diǎn)如下:(1)減少了CPU的空閑時(shí)間。(2)提高I/O速度。2022/12/21脫機(jī)輸入輸出方式(Off-LineI/O)這種脫機(jī)I/O方SPOOLing系統(tǒng)SimultaneausPeriphernalOperationsOn-Line(外部設(shè)備同時(shí)聯(lián)機(jī)操作)。在單道批處理時(shí)期,用脫機(jī)I/O可以提高CPU利用率。多道出現(xiàn)后可以利用一道程序來(lái)模擬脫機(jī)I/O中的外圍機(jī),這樣可實(shí)現(xiàn)在主機(jī)控制下的脫機(jī)I/O功能。我們把這種在聯(lián)機(jī)情況下實(shí)現(xiàn)的同時(shí)外圍操作稱為SPOOLing,也稱為假脫機(jī)操作。2022/12/21SPOOLing系統(tǒng)SimultaneausPeripheSPOOLing系統(tǒng)通過(guò)spooling技術(shù)便可將一臺(tái)物理I/O設(shè)備虛擬為多臺(tái)邏輯I/O設(shè)備,允許多個(gè)用戶共享一臺(tái)物理I/O設(shè)備。2022/12/21SPOOLing系統(tǒng)通過(guò)spoolinSPOOLing系統(tǒng)的組成必須建立在具有多道程序功能的操作系統(tǒng)上,而且還應(yīng)有高速隨機(jī)外存的支持,通常是采用磁盤存儲(chǔ)技術(shù)。1、輸入井和輸出井:在磁盤上開(kāi)辟的兩個(gè)大存儲(chǔ)空間2、輸入緩沖區(qū)和輸出緩沖區(qū):在內(nèi)存中開(kāi)辟的兩個(gè)緩沖區(qū)3、輸入進(jìn)程和輸出進(jìn)程:用兩個(gè)進(jìn)程來(lái)模擬脫機(jī)I/O時(shí)的外圍控制機(jī)。4、井管理程序:用于控制作業(yè)與磁盤井之間的信息交換。2022/12/21SPOOLing系統(tǒng)的組成必須建立在具有多2022/12/212022/12/19SPOOLing系統(tǒng)的特點(diǎn)1、提高了I/O速度2、將獨(dú)占設(shè)備改造為共享設(shè)備3、實(shí)現(xiàn)了虛擬設(shè)備功能2022/12/21SPOOLing系統(tǒng)的特點(diǎn)1、提高了I/O速度2022/12共享打印機(jī)共享打印機(jī)技術(shù)已被廣泛地用于多用戶系統(tǒng)和局域網(wǎng)絡(luò)中。2022/12/21共享打印機(jī)共享打印機(jī)技術(shù)已被廣泛地用于多共享打印機(jī)共享打印機(jī)技術(shù)已被廣泛地用于多用戶系統(tǒng)和局域網(wǎng)絡(luò)中。當(dāng)用戶進(jìn)程請(qǐng)求打印輸出時(shí),SPOOLing系統(tǒng)同意為它打印輸出,但并不真正立即把打印機(jī)分配給該用戶進(jìn)程,而只為它做兩件事:①由輸出進(jìn)程在輸出井中為之申請(qǐng)一個(gè)空閑磁盤塊區(qū),并將要打印的數(shù)據(jù)送入其中;②輸出進(jìn)程再為用戶進(jìn)程申請(qǐng)一張空白的用戶請(qǐng)求打印表,并將用戶的打印要求填入其中,再將該表掛到請(qǐng)求打印隊(duì)列上。2022/12/21共享打印機(jī)共享打印機(jī)技術(shù)已被廣泛地用于多守護(hù)進(jìn)程共享打印機(jī)技術(shù)已被廣泛地用于多用戶系統(tǒng)和局域網(wǎng)絡(luò)中。當(dāng)用戶進(jìn)程請(qǐng)求打印輸出時(shí),SPOOLing系統(tǒng)同意為它打印輸出,但并不真正立即把打印機(jī)分配給該用戶進(jìn)程,而只為它做兩件事:①由輸出進(jìn)程在輸出井中為之申請(qǐng)一個(gè)空閑磁盤塊區(qū),并將要打印的數(shù)據(jù)送入其中;②輸出進(jìn)程再為用戶進(jìn)程申請(qǐng)一張空白的用戶請(qǐng)求打印表,并將用戶的打印要求填入其中,再將該表掛到請(qǐng)求打印隊(duì)列上。2022/12/21守護(hù)進(jìn)程共享打印機(jī)技術(shù)已被廣泛地用于多用練習(xí)1、在采用SPOOLing技術(shù)的系統(tǒng)中,用戶的打印數(shù)據(jù)首先被送到()A.打印機(jī)B.磁盤固定區(qū)域C.內(nèi)存固定區(qū)域D.終端2、SPOOLing技術(shù)是將一臺(tái)()虛擬為多臺(tái)()。2022/12/21練習(xí)1、在采用SPOOLing技術(shù)的系統(tǒng)中,用戶的打印數(shù)據(jù)首SPOOLing是對(duì)脫機(jī)I/O工作方式的模擬,SPOOLing系統(tǒng)中的輸入井是對(duì)脫機(jī)輸入中的_______進(jìn)行模擬。A內(nèi)存輸入緩沖區(qū)B磁盤C外圍控制機(jī)D輸入設(shè)備為實(shí)現(xiàn)設(shè)備分配,應(yīng)為每類設(shè)備配置一張______,在系統(tǒng)中配置一張______;為實(shí)現(xiàn)設(shè)備獨(dú)立性,系統(tǒng)中應(yīng)配置一張______。(1)設(shè)備控制表(2)邏輯設(shè)備表(3)系統(tǒng)設(shè)備表(4)設(shè)備分配表(5)設(shè)備開(kāi)關(guān)表(6)I/O請(qǐng)求表實(shí)現(xiàn)SPOOLing系統(tǒng)時(shí)必須在磁盤上辟出稱為_(kāi)_________和__________的專門區(qū)域,以存放作業(yè)信息和作業(yè)執(zhí)行結(jié)果。
2022/12/21SPOOLing是對(duì)脫機(jī)I/O工作方式的模擬,SPOOLin第6章設(shè)備管理“設(shè)備”泛指計(jì)算機(jī)系統(tǒng)中的外部設(shè)備,即除主機(jī)以外的其他所有設(shè)備。在多道程序設(shè)計(jì)環(huán)境下,計(jì)算機(jī)系統(tǒng)允許多個(gè)用戶作業(yè)同時(shí)在內(nèi)存,它們的運(yùn)行勢(shì)必涉及到I/O設(shè)備。于是,對(duì)于設(shè)備本身,有一個(gè)如何有效利用的問(wèn)題;對(duì)于設(shè)備和CPU,有一個(gè)如何發(fā)揮并行工作能力的問(wèn)題;對(duì)于設(shè)備和用戶,有一個(gè)如何方便使用的問(wèn)題。2022/12/21第6章設(shè)備管理“設(shè)備”泛指計(jì)算機(jī)系統(tǒng)中的外部設(shè)備,即除主設(shè)備管理的任務(wù)是完成用戶提出的I/O請(qǐng)求,為用戶分配I/O設(shè)備,提高CPU與I/O設(shè)備的利用率,提高I/O設(shè)備的速度,方便用戶使用I/O設(shè)備。2022/12/21設(shè)備管理的任務(wù)是完成用戶提出的I/O請(qǐng)求,為用戶分配I/O設(shè)6.1.1I/O系統(tǒng)的基本功能方便用戶使用I/O設(shè)備隱藏物理設(shè)備的細(xì)節(jié)與設(shè)備的無(wú)關(guān)性提高CPU和I/O設(shè)備的利用率提高CPU和I/O設(shè)備的利用率對(duì)I/O設(shè)備進(jìn)行控制為用戶的共享設(shè)備時(shí)提供方便確保對(duì)設(shè)備的正確共享錯(cuò)誤處理2022/12/216.1.1I/O系統(tǒng)的基本功能方便用戶使用I/O設(shè)備20226.1.2I/O系統(tǒng)的層次和結(jié)構(gòu)模型I/O層次結(jié)構(gòu)用戶層I/O軟件設(shè)備獨(dú)立性軟件設(shè)備驅(qū)動(dòng)程序中斷處理程序2022/12/216.1.2I/O系統(tǒng)的層次和結(jié)構(gòu)模型I/O層次結(jié)構(gòu)20222022/12/21I/O層次結(jié)構(gòu)
用戶層軟件設(shè)備獨(dú)立性軟件設(shè)備驅(qū)動(dòng)程序中斷處理程序硬件實(shí)現(xiàn)與用戶交互的接口,產(chǎn)生I/O請(qǐng)求負(fù)責(zé)實(shí)現(xiàn)與設(shè)備驅(qū)動(dòng)器的統(tǒng)一接口、設(shè)備命名,設(shè)備的保護(hù),設(shè)備的分配與釋放,緩沖等。與硬件直接相關(guān),負(fù)責(zé)具體實(shí)現(xiàn)系統(tǒng)對(duì)設(shè)備發(fā)出的操作指令,驅(qū)動(dòng)I/O設(shè)備工作的驅(qū)動(dòng)程序保護(hù)環(huán)境,轉(zhuǎn)入相應(yīng)處理程序,恢復(fù)現(xiàn)場(chǎng)等執(zhí)行I/O操作2022/12/212022/12/19I/O層次結(jié)構(gòu)
用戶層軟件設(shè)備獨(dú)立性軟件2022/12/21操作系統(tǒng)的I/O子系統(tǒng)通常由四個(gè)層次組成,每一層明確定義了與鄰近層次的接口。其合理的層次組織排列順序是(2012)A.用戶級(jí)I/O軟件、設(shè)備無(wú)關(guān)軟件、設(shè)備驅(qū)動(dòng)程序、中斷處理程序B、用戶級(jí)I/O軟件、設(shè)備無(wú)關(guān)軟件、中斷處理程序、設(shè)備驅(qū)動(dòng)程序C、用戶級(jí)I/O軟件、設(shè)備驅(qū)動(dòng)程序、設(shè)備無(wú)關(guān)軟件、中斷處理程序D、用戶級(jí)I/O軟件、中斷處理程序、設(shè)備無(wú)關(guān)軟件、設(shè)備驅(qū)動(dòng)程序用戶程序發(fā)出磁盤I/O請(qǐng)求后,系統(tǒng)的處理流程是:用戶程序-系統(tǒng)調(diào)用處理程序-設(shè)備驅(qū)動(dòng)程序-中斷處理程序。其中,計(jì)算數(shù)據(jù)所在磁盤的柱面號(hào)、磁頭號(hào)、扇區(qū)號(hào)的程序是(2011,2013)A、用戶程序B、系統(tǒng)調(diào)用處理程序C、設(shè)備驅(qū)動(dòng)程序D、中斷處理程序2022/12/212022/12/19操作系統(tǒng)的I/O子系統(tǒng)通常由四個(gè)層次組成2022/12/21I/O層次視圖
用戶層軟件設(shè)備獨(dú)立性軟件設(shè)備驅(qū)動(dòng)程序中斷處理程序硬件I/O系統(tǒng)接口RW/HW接口2022/12/212022/12/19I/O層次視圖
用戶層軟件設(shè)備獨(dú)立性軟件6.1.3I/O系統(tǒng)接口塊設(shè)備接口塊設(shè)備:數(shù)據(jù)的存取和傳輸都是以數(shù)據(jù)塊為單位的設(shè)備。特點(diǎn):傳輸速率高,可尋址,DMA控制方式隱藏了磁盤的二維結(jié)構(gòu)將抽象命令映射為低層操作流設(shè)備接口字符設(shè)備。特點(diǎn):傳輸速率低,不可尋址,中斷驅(qū)動(dòng)方式Get操作和put操作In-control指令網(wǎng)絡(luò)接口2022/12/216.1.3I/O系統(tǒng)接口塊設(shè)備接口2022/12/196.2I/O設(shè)備和設(shè)備控制器
I/O設(shè)備由執(zhí)行I/O操作的機(jī)械部分和執(zhí)行控制I/O的電子部件(設(shè)備控制器)組成。2022/12/216.2I/O設(shè)備和設(shè)備控制器2022/12/196.2.1I/O設(shè)備1、I/O設(shè)備的類型按使用特性分存儲(chǔ)設(shè)備:用以存儲(chǔ)信息的主要設(shè)備輸入輸出設(shè)備:輸入設(shè)備,輸出設(shè)備,交互式設(shè)備2022/12/216.2.1I/O設(shè)備1、I/O設(shè)備的類型2022/12/1I/O設(shè)備的分類按傳輸速率分低速設(shè)備:每秒幾個(gè)到數(shù)百字節(jié)。如鍵盤、鼠標(biāo)中速設(shè)備:每秒數(shù)千到數(shù)萬(wàn)字節(jié)。如打印機(jī)高速設(shè)備:每秒數(shù)百K到數(shù)兆。如磁盤、磁帶2022/12/21I/O設(shè)備的分類按傳輸速率分2022/12/19按信息交換的單位分類塊設(shè)備
:
I/O傳輸?shù)膯挝皇菈K,如磁盤、磁帶。特征:速率高(幾兆)、可尋址(可隨機(jī)訪問(wèn)任一塊)、DMA方式驅(qū)動(dòng)。
字符設(shè)備:I/O傳輸?shù)膯挝皇亲止?jié),如打印機(jī)、modem等。特征:速率較低、不可尋址、中斷驅(qū)動(dòng)。2022/12/21按信息交換的單位分類2022/12/19
按設(shè)備共享屬性分類獨(dú)占型設(shè)備:在任一段時(shí)間內(nèi)最多有一個(gè)進(jìn)程占用它,字符設(shè)備及磁帶機(jī)屬獨(dú)占型設(shè)備。即臨界資源。共享型設(shè)備:多個(gè)進(jìn)程對(duì)它的訪問(wèn)可以交叉進(jìn)行,除磁帶機(jī)外的塊設(shè)備屬共享設(shè)備虛擬設(shè)備:在一類設(shè)備上模擬另一類設(shè)備,常用共享設(shè)備模擬獨(dú)占設(shè)備,用高速設(shè)備模擬低速設(shè)備,被模擬的設(shè)備稱為虛擬設(shè)備2022/12/21按設(shè)備共享屬性分類2022/12/192、設(shè)備與控制器之間的接口通常,設(shè)備不是直接與CPU進(jìn)行通信,而是與設(shè)備控制器通信,因此在I/O設(shè)備中應(yīng)含有與設(shè)備控制器間的接口,在該接口中有三種類型的信號(hào),各對(duì)應(yīng)一條信號(hào)線2022/12/212、設(shè)備與控制器之間的接口通常,設(shè)備不是直接與CPU進(jìn)行通信2、設(shè)備與控制器之間的接口數(shù)據(jù)信號(hào)線用于在設(shè)備和設(shè)備控制器之間傳送數(shù)據(jù)信號(hào)??刂菩盘?hào)線作為由設(shè)備控制器向I/O設(shè)備發(fā)送控制信號(hào)時(shí)的通路。狀態(tài)信號(hào)線用于傳送指示設(shè)備當(dāng)前狀態(tài)的信號(hào)。2022/12/212、設(shè)備與控制器之間的接口數(shù)據(jù)信號(hào)線2022/12/196.2.2設(shè)備控制器設(shè)備控制器主要負(fù)責(zé)控制一個(gè)或多個(gè)I/O設(shè)備,以實(shí)現(xiàn)I/O設(shè)備和計(jì)算機(jī)之間的數(shù)據(jù)交換。它是CPU與I/O設(shè)備之間的接口,接收從CPU發(fā)來(lái)的命令,并控制I/O設(shè)備工作,以使CPU從繁雜的設(shè)備控制事務(wù)中解脫出來(lái)。是一個(gè)可編址設(shè)備,每一個(gè)地址對(duì)應(yīng)一個(gè)設(shè)備。設(shè)備控制器可分為兩類,一類用于控制字符設(shè)備的控制器,另一類是用于控制塊設(shè)備的控制器。在微型機(jī)中的控制器,常做成印刷電路卡,因而也常稱為接口卡2022/12/216.2.2設(shè)備控制器設(shè)備控制器主要負(fù)責(zé)控制一個(gè)或多個(gè)I/O設(shè)設(shè)備控制器的基本功能接收和識(shí)別命令數(shù)據(jù)交換標(biāo)識(shí)和報(bào)告設(shè)備的狀態(tài)地址識(shí)別數(shù)據(jù)緩沖差錯(cuò)控制2022/12/21設(shè)備控制器的基本功能接收和識(shí)別命令2022/12/19設(shè)備控制器的組成由于設(shè)備控制器位于CPU與設(shè)備之間,它既要與CPU通信,又要與設(shè)備通信,還應(yīng)具有按照CPU所發(fā)來(lái)的命令去控制設(shè)備的工作的功能,因此現(xiàn)有的大多數(shù)控制器都是由三部分組成設(shè)備控制器與處理機(jī)的接口設(shè)備控制器與設(shè)備的接口I/O邏輯2022/12/21設(shè)備控制器的組成由于設(shè)備控制器位于CPU與設(shè)備之間,它既要與設(shè)備控制器的組成2022/12/21設(shè)備控制器的組成2022/12/196.2.3內(nèi)存映像I/O2022/12/216.2.3內(nèi)存映像I/O2022/12/196.2.3內(nèi)存映像I/O2022/12/216.2.3內(nèi)存映像I/O2022/12/19I/O通道 雖然在CPU與I/O設(shè)備之間增加了設(shè)備控制器后,已能大大減少CPU對(duì)I/O的干預(yù),但當(dāng)一個(gè)系統(tǒng)配置的設(shè)備較多時(shí),I/O操作較為頻繁的情況下,CPU可能完全陷入I/O處理,這樣會(huì)大大地降低計(jì)算機(jī)系統(tǒng)的效率,解決的方法就是用到通道技術(shù)。
2022/12/21I/O通道 雖然在CPU與I/O設(shè)備之間增加了設(shè)備控制器后, 通道方式的目的使一些原來(lái)由CPU處理的I/O任務(wù)轉(zhuǎn)由通道來(lái)承擔(dān),從而使CPU徹底從I/O中解放出來(lái)。當(dāng)用戶發(fā)出I/O請(qǐng)求后,CPU就把該請(qǐng)求全部交由通道去完成。通道在整個(gè)I/O任務(wù)結(jié)束后,才發(fā)出中斷信號(hào),請(qǐng)求CPU進(jìn)行善后處理。不僅數(shù)據(jù)傳輸獨(dú)立于CPU,而且I/O操作的組織管理也獨(dú)立于CPU。I/O通道的引入:2022/12/21I/O通道的引入:2022/12/19 為使中央處理機(jī)從繁忙的I/O處理中擺脫出來(lái),現(xiàn)代大、中型計(jì)算機(jī)系統(tǒng)中設(shè)置了專門的處理I/O操作的處理機(jī),并把這種處理機(jī)稱為通道。通道在CPU的控制下獨(dú)立地執(zhí)行通道程序,對(duì)外部設(shè)備的I/O操作進(jìn)行控制,以實(shí)現(xiàn)內(nèi)存與外設(shè)之間成批的數(shù)據(jù)交換。 通道=I/O處理機(jī)
通道概念2022/12/21 為使中央處理機(jī)從繁忙的I/O處理中擺脫出來(lái),現(xiàn)代大、中型
I/O通道與一般的處理機(jī)不同,主要表現(xiàn)在以下兩個(gè)方面:指令類型單一,這是由于通道硬件比較簡(jiǎn)單,其所能執(zhí)行的命令,主要局限于與I/O操作有關(guān)的指令;通道沒(méi)有自己的內(nèi)存,通道所執(zhí)行的通道程序是放在主機(jī)的內(nèi)存中的,換言之,是通道與CPU共享內(nèi)存。2022/12/21I/O通道與一般的處理機(jī)不同,主要表現(xiàn)在以下兩個(gè)方面:2I/O通道I/O通道的分類字節(jié)多路通道數(shù)據(jù)選擇通道數(shù)組多路通道2022/12/21I/O通道2022/12/19通道的種類字節(jié)多路通道:字節(jié)多路通道是以字節(jié)為基本傳輸單位,通常含有許多非分配型子通道,其數(shù)量從幾十到數(shù)百個(gè),每一個(gè)子通道連接一臺(tái)I/O設(shè)備,并控制該設(shè)備的I/O操作。這些子通道按時(shí)間片輪轉(zhuǎn)主式共享主通道。當(dāng)一個(gè)子通道控制的某臺(tái)外設(shè)交換了一個(gè)字節(jié)后,就轉(zhuǎn)向下一個(gè)子通道,以控制下一臺(tái)設(shè)備傳送一個(gè)字節(jié)。這就實(shí)現(xiàn)了子通道的循環(huán)輪轉(zhuǎn),以達(dá)到多路控制的目的,字節(jié)多路通道主要用來(lái)控制低速、并且以字節(jié)為基本傳送單位的設(shè)備。如打印機(jī)。2022/12/21通道的種類字節(jié)多路通道:2022/12/192022/12/212022/12/19數(shù)組選擇通道:字節(jié)多路通道不適于連接高速設(shè)備,這推動(dòng)了按數(shù)組方式進(jìn)行數(shù)據(jù)傳送的數(shù)組選擇通道的形成。這種通道雖然可以連接多臺(tái)高速設(shè)備,但由于它只含有一個(gè)分配型子通道,在一段時(shí)間內(nèi)只能執(zhí)行一道通道程序,控制一臺(tái)設(shè)備進(jìn)行數(shù)據(jù)傳送,致使當(dāng)某臺(tái)設(shè)備占用了該通道后,便一直由它獨(dú)占,即使是它無(wú)數(shù)據(jù)傳送,通道被閑置,也不允許其它設(shè)備使用該通道,直至該設(shè)備傳送完畢釋放該通道。它的優(yōu)點(diǎn)是傳輸速度高,缺點(diǎn)是一次只能控制一臺(tái)設(shè)備進(jìn)行I/O操作,利用率低。它主要用來(lái)控制高速外設(shè)。如磁盤選擇通道2022/12/21數(shù)組選擇通道:選擇通道2022/12/19
數(shù)組多路通道:
這種通道是上述兩種通道的折中,可以分時(shí)的方式執(zhí)行多道程序,每道程序可傳送一組數(shù)據(jù)。因而這種通道既具有很高的數(shù)據(jù)傳輸速率,又能獲得令人滿意的通道利用率。也正因此,才使該通道能被廣泛地用于連接多臺(tái)高、中速的外圍設(shè)備,其數(shù)據(jù)傳送是按數(shù)組方式進(jìn)行的。
在一大型系統(tǒng)中可以同時(shí)存在這三種類型的通道以便控制各種不同類型的設(shè)備。2022/12/21數(shù)組多路通道:2022/12/19通道
I/O系統(tǒng)結(jié)構(gòu) 在大型計(jì)算機(jī)系統(tǒng)中較為典型的I/O系統(tǒng)結(jié)構(gòu)是主機(jī)、通道、控制器和外部設(shè)備。2022/12/21通道I/O系統(tǒng)結(jié)構(gòu)2022/12/19“瓶頸”問(wèn)題
圖5-4單通路I/O系統(tǒng)2022/12/21“瓶頸”問(wèn)題圖5-4單通路I/O系統(tǒng)2022/12/圖5-5多通路I/O系統(tǒng)解決“瓶頸”問(wèn)題的最有效方法就是增加設(shè)備到主機(jī)間的通路而不增加通道
2022/12/21圖5-5多通路I/O系統(tǒng)解決“瓶頸”問(wèn)題的最有效方法就練習(xí)通道是I/O處理機(jī),它用于實(shí)現(xiàn)______之間的信息傳輸;____用作連接大量的低速或中速設(shè)備;A、數(shù)據(jù)選擇通道B、字節(jié)多路通道C、數(shù)據(jù)多路通道按_____分類可將設(shè)備分為塊設(shè)備和字符設(shè)備。A、從屬關(guān)系B、操作特性C、共享屬性D、信息交換單位2022/12/21練習(xí)通道是I/O處理機(jī),它用于實(shí)現(xiàn)______之間的信息傳輸練習(xí)硬盤屬于(
)
A、字符型設(shè)備
B、獨(dú)占型設(shè)備
C、塊設(shè)備
D、虛擬設(shè)備
所有的塊型設(shè)備都是共享設(shè)備。(
)打印機(jī)是一類典型的塊設(shè)備。()選擇通道主要用于連接低速設(shè)備.
()2022/12/21練習(xí)硬盤屬于(
)2022/12/196.3中斷機(jī)構(gòu)和中斷處理程序中斷的簡(jiǎn)介中斷是由于某些事件的出現(xiàn),中止現(xiàn)行進(jìn)程的執(zhí)行,而轉(zhuǎn)去處理出現(xiàn)的事件,中斷事件處理完后,再繼續(xù)運(yùn)行被中止進(jìn)程的過(guò)程。在這里引起中斷的事件稱為中斷源。中斷事件通常由硬件發(fā)現(xiàn)中斷的處理對(duì)出現(xiàn)的事件進(jìn)行處理的程序稱為中斷處理程序。中斷處理程序是由操作系統(tǒng)處理的,屬于操作系統(tǒng)的組成部分2022/12/216.3中斷機(jī)構(gòu)和中斷處理程序中斷的簡(jiǎn)介2022/12/19中斷的簡(jiǎn)介2022/12/21中斷的簡(jiǎn)介2022/12/19中斷的簡(jiǎn)介
2022/12/21中斷的簡(jiǎn)介2022/12/19中斷的處理中斷處理過(guò)程①測(cè)定是否有未響應(yīng)的中斷信號(hào)。②保護(hù)被中斷進(jìn)程的CPU環(huán)境。③轉(zhuǎn)入相應(yīng)的設(shè)備處理程序。④中斷處理。⑤恢復(fù)現(xiàn)場(chǎng),退出中斷。2022/12/21中斷的處理中斷處理過(guò)程2022/12/19圖6-10中斷現(xiàn)場(chǎng)保護(hù)示意圖
2022/12/21圖6-10中斷現(xiàn)場(chǎng)保護(hù)示意圖2022/12/19圖6-11中斷處理流程2022/12/21圖6-11中斷處理流程2022/12/196.4設(shè)備驅(qū)動(dòng)程序設(shè)備處理程序通常又稱為設(shè)備驅(qū)動(dòng)程序,它是I/O進(jìn)程與設(shè)備控制器之間的通信程序,又由于它常以進(jìn)程的形式存在,所以簡(jiǎn)稱之為設(shè)備驅(qū)動(dòng)進(jìn)程主要任務(wù):接收上層軟件發(fā)來(lái)的抽象要求,把它轉(zhuǎn)換為具體要求后,發(fā)送給設(shè)備控制器,啟動(dòng)設(shè)備去執(zhí)行。也將由設(shè)備控制器發(fā)來(lái)的信號(hào)傳送給上層軟件。通常,每一類設(shè)備配置一種驅(qū)動(dòng)程序。2022/12/216.4設(shè)備驅(qū)動(dòng)程序設(shè)備處理程序通常又稱為設(shè)備驅(qū)動(dòng)程序,它是設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)設(shè)備驅(qū)動(dòng)程序的功能一是接收設(shè)備獨(dú)立性軟件發(fā)來(lái)的命令和參數(shù),把抽象要求轉(zhuǎn)化為具體要求。二是檢查用戶I/O請(qǐng)求的合法性,了解I/O設(shè)備的狀態(tài),傳遞有關(guān)參數(shù),設(shè)置設(shè)備的工作方式。三是發(fā)出I/O命令,啟動(dòng)分配到的I/O設(shè)備,完成指定的I/O操作。四是及時(shí)響應(yīng)由控制器或通道發(fā)來(lái)的中斷請(qǐng)求,并根據(jù)其中斷類型調(diào)用相應(yīng)的中斷處理程序進(jìn)行處理。2022/12/21設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)設(shè)備驅(qū)動(dòng)程序的功能2022/12/設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)設(shè)備驅(qū)動(dòng)程序的特點(diǎn)一是驅(qū)動(dòng)程序主要是在請(qǐng)求I/O的進(jìn)程與設(shè)備控制器之間的一個(gè)通信程序。二是驅(qū)動(dòng)程序與I/O設(shè)備的特性密切相關(guān)。三是驅(qū)動(dòng)程序與I/O控制方式緊密相關(guān)。四是驅(qū)動(dòng)程序與硬件緊密相關(guān),其部分被固化在ROM中。五是驅(qū)動(dòng)程序應(yīng)允許可重入六是驅(qū)動(dòng)程序不允許系統(tǒng)調(diào)用。2022/12/21設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)設(shè)備驅(qū)動(dòng)程序的特點(diǎn)2022/12/1設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)設(shè)備處理的方式一是為每一類設(shè)備設(shè)置一個(gè)進(jìn)程,它專門執(zhí)行這類設(shè)備的I/O操作。二是在整個(gè)系統(tǒng)中設(shè)置一個(gè)I/O進(jìn)程,專門負(fù)責(zé)對(duì)系統(tǒng)中所有各類設(shè)備的I/O操作。三是不設(shè)置專門的設(shè)備處理進(jìn)程,只為各類設(shè)備設(shè)置相應(yīng)的設(shè)備處理程序,供用戶進(jìn)程或系統(tǒng)進(jìn)程調(diào)用。2022/12/21設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)設(shè)備處理的方式2022/12/19設(shè)備驅(qū)動(dòng)程序的處理過(guò)程主要任務(wù):?jiǎn)?dòng)指定設(shè)備將抽象要求轉(zhuǎn)化為具體要求檢查I/O請(qǐng)求的合法性讀出和檢查設(shè)備的狀態(tài)傳送必要的參數(shù)設(shè)置工作方式啟動(dòng)I/O設(shè)備2022/12/21設(shè)備驅(qū)動(dòng)程序的處理過(guò)程主要任務(wù):?jiǎn)?dòng)指定設(shè)備2022/12/練習(xí)設(shè)備驅(qū)動(dòng)程序與()密切相關(guān),如果計(jì)算機(jī)中配置有一個(gè)光盤,一個(gè)軟盤,一個(gè)硬盤,此時(shí)應(yīng)為它們配置()種外存設(shè)備驅(qū)動(dòng)程序。如果系統(tǒng)中連接有四個(gè)相同的終端設(shè)備,此時(shí)應(yīng)為它們配置()個(gè)終端設(shè)備驅(qū)動(dòng)程序2022/12/21練習(xí)設(shè)備驅(qū)動(dòng)程序與()密切相關(guān),如果計(jì)算機(jī)中配置有一個(gè)6.4.3對(duì)I/O設(shè)備控制方式輪詢的可編程I/O方式I/O中斷方式DMA方式通道方式中斷DMA通道2022/12/216.4.3對(duì)I/O設(shè)備控制方式輪詢的可編程I/O方式中1程序I/O方式早期,I/O控制器是OS同硬件之間的接口p(147)。它有兩個(gè)寄存器:數(shù)據(jù)緩沖寄存器、控制/狀態(tài)寄存器。狀態(tài)控制寄存器有一個(gè)標(biāo)志忙/閑的標(biāo)志位busy。CPU外部設(shè)備控制邏輯電路控制寄存器I/O控制器數(shù)據(jù)寄存器2022/12/211程序I/O方式早期,I/O控制器是OS同硬件之間的接口p工作過(guò)程以輸入為例1、把busy置12、反復(fù)測(cè)試busy,為1表示輸入機(jī)尚未輸完一個(gè)字,處理機(jī)應(yīng)繼續(xù)對(duì)該標(biāo)志進(jìn)行測(cè)試,轉(zhuǎn)2,為0表示輸入機(jī)已將輸入數(shù)據(jù)送入控制器的數(shù)據(jù)寄存器中,轉(zhuǎn)33、把數(shù)據(jù)從數(shù)據(jù)緩沖區(qū)中讀走,并置busy為1。所謂“程序循環(huán)測(cè)試”的數(shù)據(jù)傳輸方式,就是指用戶進(jìn)程使用啟動(dòng)設(shè)備后,不斷地執(zhí)行測(cè)試指令,去測(cè)試所啟動(dòng)設(shè)備的狀態(tài)寄存器。只有在狀態(tài)寄存器出現(xiàn)了所需要的狀態(tài)后,才停止測(cè)試工作,完成輸入/輸出。忙----等待方式2022/12/21工作過(guò)程以輸入為例2022/12/19
在程序I/O方式中,由于CPU的高速性和I/O設(shè)備的低速性,致使CPU的絕大部分時(shí)間都處于等待I/O設(shè)備完成數(shù)據(jù)I/O的循環(huán)測(cè)試中,造成對(duì)CPU的極大浪費(fèi)。在該方式中,CPU之所以要不斷地測(cè)試I/O設(shè)備的狀態(tài),就是因?yàn)樵贑PU中無(wú)中斷機(jī)構(gòu),使I/O設(shè)備無(wú)法向CPU報(bào)告它已完成了一個(gè)字符的輸入操作。2022/12/21在程序I/O方式中,由于CPU的高速2I/O中斷方式I/O控制器能發(fā)中斷。工作過(guò)程:1、發(fā)出啟動(dòng)某設(shè)備的命令,本進(jìn)程(A)變?yōu)榈却隣顟B(tài),轉(zhuǎn)進(jìn)程調(diào)度,調(diào)度另一進(jìn)程B。2、輸入完成時(shí),控制器發(fā)出中斷,中斷B,通過(guò)中斷進(jìn)入中斷處理程序。3、在中斷處理程序中把數(shù)據(jù)緩沖寄存器中的數(shù)取走,放入內(nèi)存特定位置M,喚醒等待進(jìn)程A,中斷返回到B的斷點(diǎn)繼續(xù)執(zhí)行。4、在以后的某個(gè)時(shí)刻O(píng)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 測(cè)繪管理與法律法規(guī)-注冊(cè)測(cè)繪師《測(cè)繪管理與法律法規(guī)》名師預(yù)測(cè)卷1
- 課題申報(bào)參考:跨學(xué)科主題教學(xué)的價(jià)值、困境及出路研究
- 科技產(chǎn)品創(chuàng)新與安全生產(chǎn)的平衡
- 讀書(shū)助力職業(yè)發(fā)展-職場(chǎng)類書(shū)籍閱讀推廣方案
- 二零二四年幼兒早教中心品牌經(jīng)營(yíng)許可及資產(chǎn)轉(zhuǎn)讓合同3篇
- 2025年貨運(yùn)飛機(jī)保險(xiǎn)合同
- 救生員勞務(wù)合同
- 2025年人教版(2024)九年級(jí)歷史上冊(cè)月考試卷含答案
- 2025年湘教版高三歷史下冊(cè)階段測(cè)試試卷含答案
- 2025年湘教版選修3歷史上冊(cè)階段測(cè)試試卷含答案
- 中央2025年國(guó)務(wù)院發(fā)展研究中心有關(guān)直屬事業(yè)單位招聘19人筆試歷年參考題庫(kù)附帶答案詳解
- 2024年09月北京中信銀行北京分行社會(huì)招考(917)筆試歷年參考題庫(kù)附帶答案詳解
- 外呼合作協(xié)議
- 小學(xué)二年級(jí)100以內(nèi)進(jìn)退位加減法800道題
- 保險(xiǎn)公司2025年工作總結(jié)與2025年工作計(jì)劃
- 2024年公司領(lǐng)導(dǎo)在新年動(dòng)員會(huì)上的講話樣本(3篇)
- 眼科護(hù)理進(jìn)修專題匯報(bào)
- 介入手術(shù)室感染控制管理
- 2024北京初三(上)期末英語(yǔ)匯編:材料作文
- 2024年大型風(fēng)力發(fā)電項(xiàng)目EPC總承包合同
- GB/T 33629-2024風(fēng)能發(fā)電系統(tǒng)雷電防護(hù)
評(píng)論
0/150
提交評(píng)論