計算機(jī)設(shè)備管理教學(xué)課件_第1頁
計算機(jī)設(shè)備管理教學(xué)課件_第2頁
計算機(jī)設(shè)備管理教學(xué)課件_第3頁
計算機(jī)設(shè)備管理教學(xué)課件_第4頁
計算機(jī)設(shè)備管理教學(xué)課件_第5頁
已閱讀5頁,還剩219頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第6章設(shè)備管理“設(shè)備”泛指計算機(jī)系統(tǒng)中的外部設(shè)備,即除主機(jī)以外的其他所有設(shè)備。在多道程序設(shè)計環(huán)境下,計算機(jī)系統(tǒng)允許多個用戶作業(yè)同時在內(nèi)存,它們的運(yùn)行勢必涉及到I/O設(shè)備。于是,對于設(shè)備本身,有一個如何有效利用的問題;對于設(shè)備和CPU,有一個如何發(fā)揮并行工作能力的問題;對于設(shè)備和用戶,有一個如何方便使用的問題。2022/12/21第6章設(shè)備管理“設(shè)備”泛指計算機(jī)系統(tǒng)中的外部設(shè)備,即除主設(shè)備管理的任務(wù)是完成用戶提出的I/O請求,為用戶分配I/O設(shè)備,提高CPU與I/O設(shè)備的利用率,提高I/O設(shè)備的速度,方便用戶使用I/O設(shè)備。2022/12/21設(shè)備管理的任務(wù)是完成用戶提出的I/O請求,為用戶分配I/O設(shè)6.1.1I/O系統(tǒng)的基本功能方便用戶使用I/O設(shè)備隱藏物理設(shè)備的細(xì)節(jié)與設(shè)備的無關(guān)性提高CPU和I/O設(shè)備的利用率提高CPU和I/O設(shè)備的利用率對I/O設(shè)備進(jìn)行控制為用戶的共享設(shè)備時提供方便確保對設(shè)備的正確共享錯誤處理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è)備獨立性軟件設(shè)備驅(qū)動程序中斷處理程序2022/12/216.1.2I/O系統(tǒng)的層次和結(jié)構(gòu)模型I/O層次結(jié)構(gòu)20222022/12/21I/O層次結(jié)構(gòu)

用戶層軟件設(shè)備獨立性軟件設(shè)備驅(qū)動程序中斷處理程序硬件實現(xiàn)與用戶交互的接口,產(chǎn)生I/O請求負(fù)責(zé)實現(xiàn)與設(shè)備驅(qū)動器的統(tǒng)一接口、設(shè)備命名,設(shè)備的保護(hù),設(shè)備的分配與釋放,緩沖等。與硬件直接相關(guān),負(fù)責(zé)具體實現(xiàn)系統(tǒng)對設(shè)備發(fā)出的操作指令,驅(qū)動I/O設(shè)備工作的驅(qū)動程序保護(hù)環(huán)境,轉(zhuǎn)入相應(yīng)處理程序,恢復(fù)現(xiàn)場等執(zhí)行I/O操作2022/12/212022/12/19I/O層次結(jié)構(gòu)

用戶層軟件設(shè)備獨立性軟件2022/12/21操作系統(tǒng)的I/O子系統(tǒng)通常由四個層次組成,每一層明確定義了與鄰近層次的接口。其合理的層次組織排列順序是(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ā)出磁盤I/O請求后,系統(tǒng)的處理流程是:用戶程序-系統(tǒng)調(diào)用處理程序-設(shè)備驅(qū)動程序-中斷處理程序。其中,計算數(shù)據(jù)所在磁盤的柱面號、磁頭號、扇區(qū)號的程序是(2011,2013)A、用戶程序B、系統(tǒng)調(diào)用處理程序C、設(shè)備驅(qū)動程序D、中斷處理程序2022/12/212022/12/19操作系統(tǒng)的I/O子系統(tǒng)通常由四個層次組成2022/12/21I/O層次視圖

用戶層軟件設(shè)備獨立性軟件設(shè)備驅(qū)動程序中斷處理程序硬件I/O系統(tǒng)接口RW/HW接口2022/12/212022/12/19I/O層次視圖

用戶層軟件設(shè)備獨立性軟件6.1.3I/O系統(tǒng)接口塊設(shè)備接口塊設(shè)備:數(shù)據(jù)的存取和傳輸都是以數(shù)據(jù)塊為單位的設(shè)備。特點:傳輸速率高,可尋址,DMA控制方式隱藏了磁盤的二維結(jié)構(gòu)將抽象命令映射為低層操作流設(shè)備接口字符設(shè)備。特點:傳輸速率低,不可尋址,中斷驅(qū)動方式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è)備的類型按使用特性分存儲設(shè)備:用以存儲信息的主要設(shè)備輸入輸出設(shè)備:輸入設(shè)備,輸出設(shè)備,交互式設(shè)備2022/12/216.2.1I/O設(shè)備1、I/O設(shè)備的類型2022/12/1I/O設(shè)備的分類按傳輸速率分低速設(shè)備:每秒幾個到數(shù)百字節(jié)。如鍵盤、鼠標(biāo)中速設(shè)備:每秒數(shù)千到數(shù)萬字節(jié)。如打印機(jī)高速設(shè)備:每秒數(shù)百K到數(shù)兆。如磁盤、磁帶2022/12/21I/O設(shè)備的分類按傳輸速率分2022/12/19按信息交換的單位分類塊設(shè)備

I/O傳輸?shù)膯挝皇菈K,如磁盤、磁帶。特征:速率高(幾兆)、可尋址(可隨機(jī)訪問任一塊)、DMA方式驅(qū)動。

字符設(shè)備:I/O傳輸?shù)膯挝皇亲止?jié),如打印機(jī)、modem等。特征:速率較低、不可尋址、中斷驅(qū)動。2022/12/21按信息交換的單位分類2022/12/19

按設(shè)備共享屬性分類獨占型設(shè)備:在任一段時間內(nèi)最多有一個進(jìn)程占用它,字符設(shè)備及磁帶機(jī)屬獨占型設(shè)備。即臨界資源。共享型設(shè)備:多個進(jìn)程對它的訪問可以交叉進(jìn)行,除磁帶機(jī)外的塊設(shè)備屬共享設(shè)備虛擬設(shè)備:在一類設(shè)備上模擬另一類設(shè)備,常用共享設(shè)備模擬獨占設(shè)備,用高速設(shè)備模擬低速設(shè)備,被模擬的設(shè)備稱為虛擬設(shè)備2022/12/21按設(shè)備共享屬性分類2022/12/192、設(shè)備與控制器之間的接口通常,設(shè)備不是直接與CPU進(jìn)行通信,而是與設(shè)備控制器通信,因此在I/O設(shè)備中應(yīng)含有與設(shè)備控制器間的接口,在該接口中有三種類型的信號,各對應(yīng)一條信號線2022/12/212、設(shè)備與控制器之間的接口通常,設(shè)備不是直接與CPU進(jìn)行通信2、設(shè)備與控制器之間的接口數(shù)據(jù)信號線用于在設(shè)備和設(shè)備控制器之間傳送數(shù)據(jù)信號。控制信號線作為由設(shè)備控制器向I/O設(shè)備發(fā)送控制信號時的通路。狀態(tài)信號線用于傳送指示設(shè)備當(dāng)前狀態(tài)的信號。2022/12/212、設(shè)備與控制器之間的接口數(shù)據(jù)信號線2022/12/196.2.2設(shè)備控制器設(shè)備控制器主要負(fù)責(zé)控制一個或多個I/O設(shè)備,以實現(xiàn)I/O設(shè)備和計算機(jī)之間的數(shù)據(jù)交換。它是CPU與I/O設(shè)備之間的接口,接收從CPU發(fā)來的命令,并控制I/O設(shè)備工作,以使CPU從繁雜的設(shè)備控制事務(wù)中解脫出來。是一個可編址設(shè)備,每一個地址對應(yīng)一個設(shè)備。設(shè)備控制器可分為兩類,一類用于控制字符設(shè)備的控制器,另一類是用于控制塊設(shè)備的控制器。在微型機(jī)中的控制器,常做成印刷電路卡,因而也常稱為接口卡2022/12/216.2.2設(shè)備控制器設(shè)備控制器主要負(fù)責(zé)控制一個或多個I/O設(shè)設(shè)備控制器的基本功能接收和識別命令數(shù)據(jù)交換標(biāo)識和報告設(shè)備的狀態(tài)地址識別數(shù)據(jù)緩沖差錯控制2022/12/21設(shè)備控制器的基本功能接收和識別命令2022/12/19設(shè)備控制器的組成由于設(shè)備控制器位于CPU與設(shè)備之間,它既要與CPU通信,又要與設(shè)備通信,還應(yīng)具有按照CPU所發(fā)來的命令去控制設(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對I/O的干預(yù),但當(dāng)一個系統(tǒng)配置的設(shè)備較多時,I/O操作較為頻繁的情況下,CPU可能完全陷入I/O處理,這樣會大大地降低計算機(jī)系統(tǒng)的效率,解決的方法就是用到通道技術(shù)。

2022/12/21I/O通道 雖然在CPU與I/O設(shè)備之間增加了設(shè)備控制器后, 通道方式的目的使一些原來由CPU處理的I/O任務(wù)轉(zhuǎn)由通道來承擔(dān),從而使CPU徹底從I/O中解放出來。當(dāng)用戶發(fā)出I/O請求后,CPU就把該請求全部交由通道去完成。通道在整個I/O任務(wù)結(jié)束后,才發(fā)出中斷信號,請求CPU進(jìn)行善后處理。不僅數(shù)據(jù)傳輸獨立于CPU,而且I/O操作的組織管理也獨立于CPU。I/O通道的引入:2022/12/21I/O通道的引入:2022/12/19 為使中央處理機(jī)從繁忙的I/O處理中擺脫出來,現(xiàn)代大、中型計算機(jī)系統(tǒng)中設(shè)置了專門的處理I/O操作的處理機(jī),并把這種處理機(jī)稱為通道。通道在CPU的控制下獨立地執(zhí)行通道程序,對外部設(shè)備的I/O操作進(jìn)行控制,以實現(xiàn)內(nèi)存與外設(shè)之間成批的數(shù)據(jù)交換。 通道=I/O處理機(jī)

通道概念2022/12/21 為使中央處理機(jī)從繁忙的I/O處理中擺脫出來,現(xiàn)代大、中型

I/O通道與一般的處理機(jī)不同,主要表現(xiàn)在以下兩個方面:指令類型單一,這是由于通道硬件比較簡單,其所能執(zhí)行的命令,主要局限于與I/O操作有關(guān)的指令;通道沒有自己的內(nèi)存,通道所執(zhí)行的通道程序是放在主機(jī)的內(nèi)存中的,換言之,是通道與CPU共享內(nèi)存。2022/12/21I/O通道與一般的處理機(jī)不同,主要表現(xiàn)在以下兩個方面:2I/O通道I/O通道的分類字節(jié)多路通道數(shù)據(jù)選擇通道數(shù)組多路通道2022/12/21I/O通道2022/12/19通道的種類字節(jié)多路通道:字節(jié)多路通道是以字節(jié)為基本傳輸單位,通常含有許多非分配型子通道,其數(shù)量從幾十到數(shù)百個,每一個子通道連接一臺I/O設(shè)備,并控制該設(shè)備的I/O操作。這些子通道按時間片輪轉(zhuǎn)主式共享主通道。當(dāng)一個子通道控制的某臺外設(shè)交換了一個字節(jié)后,就轉(zhuǎn)向下一個子通道,以控制下一臺設(shè)備傳送一個字節(jié)。這就實現(xiàn)了子通道的循環(huán)輪轉(zhuǎn),以達(dá)到多路控制的目的,字節(jié)多路通道主要用來控制低速、并且以字節(jié)為基本傳送單位的設(shè)備。如打印機(jī)。2022/12/21通道的種類字節(jié)多路通道:2022/12/192022/12/212022/12/19數(shù)組選擇通道:字節(jié)多路通道不適于連接高速設(shè)備,這推動了按數(shù)組方式進(jìn)行數(shù)據(jù)傳送的數(shù)組選擇通道的形成。這種通道雖然可以連接多臺高速設(shè)備,但由于它只含有一個分配型子通道,在一段時間內(nèi)只能執(zhí)行一道通道程序,控制一臺設(shè)備進(jìn)行數(shù)據(jù)傳送,致使當(dāng)某臺設(shè)備占用了該通道后,便一直由它獨占,即使是它無數(shù)據(jù)傳送,通道被閑置,也不允許其它設(shè)備使用該通道,直至該設(shè)備傳送完畢釋放該通道。它的優(yōu)點是傳輸速度高,缺點是一次只能控制一臺設(shè)備進(jìn)行I/O操作,利用率低。它主要用來控制高速外設(shè)。如磁盤選擇通道2022/12/21數(shù)組選擇通道:選擇通道2022/12/19

數(shù)組多路通道:

這種通道是上述兩種通道的折中,可以分時的方式執(zhí)行多道程序,每道程序可傳送一組數(shù)據(jù)。因而這種通道既具有很高的數(shù)據(jù)傳輸速率,又能獲得令人滿意的通道利用率。也正因此,才使該通道能被廣泛地用于連接多臺高、中速的外圍設(shè)備,其數(shù)據(jù)傳送是按數(shù)組方式進(jìn)行的。

在一大型系統(tǒng)中可以同時存在這三種類型的通道以便控制各種不同類型的設(shè)備。2022/12/21數(shù)組多路通道:2022/12/19通道

I/O系統(tǒng)結(jié)構(gòu) 在大型計算機(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“瓶頸”問題

圖5-4單通路I/O系統(tǒng)2022/12/21“瓶頸”問題圖5-4單通路I/O系統(tǒng)2022/12/圖5-5多通路I/O系統(tǒng)解決“瓶頸”問題的最有效方法就是增加設(shè)備到主機(jī)間的通路而不增加通道

2022/12/21圖5-5多通路I/O系統(tǒng)解決“瓶頸”問題的最有效方法就練習(xí)通道是I/O處理機(jī),它用于實現(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ī),它用于實現(xiàn)______之間的信息傳輸練習(xí)硬盤屬于(

)

A、字符型設(shè)備

B、獨占型設(shè)備

C、塊設(shè)備

D、虛擬設(shè)備

所有的塊型設(shè)備都是共享設(shè)備。(

)打印機(jī)是一類典型的塊設(shè)備。()選擇通道主要用于連接低速設(shè)備.

()2022/12/21練習(xí)硬盤屬于(

)2022/12/196.3中斷機(jī)構(gòu)和中斷處理程序中斷的簡介中斷是由于某些事件的出現(xiàn),中止現(xiàn)行進(jìn)程的執(zhí)行,而轉(zhuǎn)去處理出現(xiàn)的事件,中斷事件處理完后,再繼續(xù)運(yùn)行被中止進(jìn)程的過程。在這里引起中斷的事件稱為中斷源。中斷事件通常由硬件發(fā)現(xiàn)中斷的處理對出現(xiàn)的事件進(jìn)行處理的程序稱為中斷處理程序。中斷處理程序是由操作系統(tǒng)處理的,屬于操作系統(tǒng)的組成部分2022/12/216.3中斷機(jī)構(gòu)和中斷處理程序中斷的簡介2022/12/19中斷的簡介2022/12/21中斷的簡介2022/12/19中斷的簡介

2022/12/21中斷的簡介2022/12/19中斷的處理中斷處理過程①測定是否有未響應(yīng)的中斷信號。②保護(hù)被中斷進(jìn)程的CPU環(huán)境。③轉(zhuǎn)入相應(yīng)的設(shè)備處理程序。④中斷處理。⑤恢復(fù)現(xiàn)場,退出中斷。2022/12/21中斷的處理中斷處理過程2022/12/19圖6-10中斷現(xiàn)場保護(hù)示意圖

2022/12/21圖6-10中斷現(xiàn)場保護(hù)示意圖2022/12/19圖6-11中斷處理流程2022/12/21圖6-11中斷處理流程2022/12/196.4設(shè)備驅(qū)動程序設(shè)備處理程序通常又稱為設(shè)備驅(qū)動程序,它是I/O進(jìn)程與設(shè)備控制器之間的通信程序,又由于它常以進(jìn)程的形式存在,所以簡稱之為設(shè)備驅(qū)動進(jìn)程主要任務(wù):接收上層軟件發(fā)來的抽象要求,把它轉(zhuǎn)換為具體要求后,發(fā)送給設(shè)備控制器,啟動設(shè)備去執(zhí)行。也將由設(shè)備控制器發(fā)來的信號傳送給上層軟件。通常,每一類設(shè)備配置一種驅(qū)動程序。2022/12/216.4設(shè)備驅(qū)動程序設(shè)備處理程序通常又稱為設(shè)備驅(qū)動程序,它是設(shè)備驅(qū)動程序的功能和特點設(shè)備驅(qū)動程序的功能一是接收設(shè)備獨立性軟件發(fā)來的命令和參數(shù),把抽象要求轉(zhuǎn)化為具體要求。二是檢查用戶I/O請求的合法性,了解I/O設(shè)備的狀態(tài),傳遞有關(guān)參數(shù),設(shè)置設(shè)備的工作方式。三是發(fā)出I/O命令,啟動分配到的I/O設(shè)備,完成指定的I/O操作。四是及時響應(yīng)由控制器或通道發(fā)來的中斷請求,并根據(jù)其中斷類型調(diào)用相應(yīng)的中斷處理程序進(jìn)行處理。2022/12/21設(shè)備驅(qū)動程序的功能和特點設(shè)備驅(qū)動程序的功能2022/12/設(shè)備驅(qū)動程序的功能和特點設(shè)備驅(qū)動程序的特點一是驅(qū)動程序主要是在請求I/O的進(jìn)程與設(shè)備控制器之間的一個通信程序。二是驅(qū)動程序與I/O設(shè)備的特性密切相關(guān)。三是驅(qū)動程序與I/O控制方式緊密相關(guān)。四是驅(qū)動程序與硬件緊密相關(guān),其部分被固化在ROM中。五是驅(qū)動程序應(yīng)允許可重入六是驅(qū)動程序不允許系統(tǒng)調(diào)用。2022/12/21設(shè)備驅(qū)動程序的功能和特點設(shè)備驅(qū)動程序的特點2022/12/1設(shè)備驅(qū)動程序的功能和特點設(shè)備處理的方式一是為每一類設(shè)備設(shè)置一個進(jìn)程,它專門執(zhí)行這類設(shè)備的I/O操作。二是在整個系統(tǒng)中設(shè)置一個I/O進(jìn)程,專門負(fù)責(zé)對系統(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ū)動程序的功能和特點設(shè)備處理的方式2022/12/19設(shè)備驅(qū)動程序的處理過程主要任務(wù):啟動指定設(shè)備將抽象要求轉(zhuǎn)化為具體要求檢查I/O請求的合法性讀出和檢查設(shè)備的狀態(tài)傳送必要的參數(shù)設(shè)置工作方式啟動I/O設(shè)備2022/12/21設(shè)備驅(qū)動程序的處理過程主要任務(wù):啟動指定設(shè)備2022/12/練習(xí)設(shè)備驅(qū)動程序與()密切相關(guān),如果計算機(jī)中配置有一個光盤,一個軟盤,一個硬盤,此時應(yīng)為它們配置()種外存設(shè)備驅(qū)動程序。如果系統(tǒng)中連接有四個相同的終端設(shè)備,此時應(yīng)為它們配置()個終端設(shè)備驅(qū)動程序2022/12/21練習(xí)設(shè)備驅(qū)動程序與()密切相關(guān),如果計算機(jī)中配置有一個6.4.3對I/O設(shè)備控制方式輪詢的可編程I/O方式I/O中斷方式DMA方式通道方式中斷DMA通道2022/12/216.4.3對I/O設(shè)備控制方式輪詢的可編程I/O方式中1程序I/O方式早期,I/O控制器是OS同硬件之間的接口p(147)。它有兩個寄存器:數(shù)據(jù)緩沖寄存器、控制/狀態(tài)寄存器。狀態(tài)控制寄存器有一個標(biāo)志忙/閑的標(biāo)志位busy。CPU外部設(shè)備控制邏輯電路控制寄存器I/O控制器數(shù)據(jù)寄存器2022/12/211程序I/O方式早期,I/O控制器是OS同硬件之間的接口p工作過程以輸入為例1、把busy置12、反復(fù)測試busy,為1表示輸入機(jī)尚未輸完一個字,處理機(jī)應(yīng)繼續(xù)對該標(biāo)志進(jìn)行測試,轉(zhuǎn)2,為0表示輸入機(jī)已將輸入數(shù)據(jù)送入控制器的數(shù)據(jù)寄存器中,轉(zhuǎn)33、把數(shù)據(jù)從數(shù)據(jù)緩沖區(qū)中讀走,并置busy為1。所謂“程序循環(huán)測試”的數(shù)據(jù)傳輸方式,就是指用戶進(jìn)程使用啟動設(shè)備后,不斷地執(zhí)行測試指令,去測試所啟動設(shè)備的狀態(tài)寄存器。只有在狀態(tài)寄存器出現(xiàn)了所需要的狀態(tài)后,才停止測試工作,完成輸入/輸出。忙----等待方式2022/12/21工作過程以輸入為例2022/12/19

在程序I/O方式中,由于CPU的高速性和I/O設(shè)備的低速性,致使CPU的絕大部分時間都處于等待I/O設(shè)備完成數(shù)據(jù)I/O的循環(huán)測試中,造成對CPU的極大浪費。在該方式中,CPU之所以要不斷地測試I/O設(shè)備的狀態(tài),就是因為在CPU中無中斷機(jī)構(gòu),使I/O設(shè)備無法向CPU報告它已完成了一個字符的輸入操作。2022/12/21在程序I/O方式中,由于CPU的高速2I/O中斷方式I/O控制器能發(fā)中斷。工作過程:1、發(fā)出啟動某設(shè)備的命令,本進(jìn)程(A)變?yōu)榈却隣顟B(tài),轉(zhuǎn)進(jìn)程調(diào)度,調(diào)度另一進(jìn)程B。2、輸入完成時,控制器發(fā)出中斷,中斷B,通過中斷進(jìn)入中斷處理程序。3、在中斷處理程序中把數(shù)據(jù)緩沖寄存器中的數(shù)取走,放入內(nèi)存特定位置M,喚醒等待進(jìn)程A,中斷返回到B的斷點繼續(xù)執(zhí)行。4、在以后的某個時刻OS調(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è)備輸入每個數(shù)據(jù)的過程中,由于無須CPU干預(yù),因而可使CPU與I/O設(shè)備并行工作。僅當(dāng)輸完一個數(shù)據(jù)時,才需CPU花費極短的時間去做些中斷處理??梢?,這樣可使CPU和I/O設(shè)備都處于忙碌狀態(tài),從而提高了整個系統(tǒng)的資源利用率及吞吐量。例如,從終端輸入一個字符的時間約為100ms,而將字符送入終端緩沖區(qū)的時間小于0.1ms。若采用程序I/O方式,CPU約有99.9ms的時間處于忙—等待中。采用中斷驅(qū)動方式后,CPU可利用這99.9ms的時間去做其它事情,而僅用0.1ms的時間來處理由控制器發(fā)來的中斷請求??梢?,中斷驅(qū)動方式可以成百倍地提高CPU的利用率。

2022/12/21在I/O設(shè)備輸入每個數(shù)據(jù)的過程中,由于無須CP分析同前相比,CPU利用率大大提高。缺點:每臺設(shè)備每輸入輸出一個字節(jié)的數(shù)據(jù)都有一次中斷。如果設(shè)備較多時,中斷次數(shù)會很多,使CPU的計算時間大大減少。為減少中斷對CPU造成的負(fù)擔(dān),可采用DMA方式和通道方式。2022/12/21分析同前相比,CPU利用率大大提高。2022/12/193直接存儲器訪問(DMA)方式直接存儲器存取控制方式的概念是指對I/O設(shè)備的控制由DMA控制器完成,在DMA控制器的作用下,設(shè)備和主存之間可以成批地進(jìn)行數(shù)據(jù)交換,而不用CPU的干涉。2022/12/213直接存儲器訪問(DMA)方式直接存儲器存取控制方式的概念5.2.3DMA方式直接存儲器存取控制方式的概念該方式的特點是:①數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊,即在CPU與I/O設(shè)備之間,每次傳送至少一個數(shù)據(jù)塊;②所傳送的數(shù)據(jù)是從設(shè)備直接送入內(nèi)存的,或者相反;③僅在傳送一個或多個數(shù)據(jù)塊的開始和結(jié)束時,才需CPU干預(yù),整塊數(shù)據(jù)的傳送是在控制器的控制下完成的??梢姡珼MA方式較之中斷驅(qū)動方式,又是成百倍地減少了CPU對I/O的干預(yù),進(jìn)一步提高了CPU與I/O設(shè)備的并行操作程度。

2022/12/215.2.3DMA方式直接存儲器存取控制方式的概念2022DMA方式 控制器功能更強(qiáng),除有中斷功能外,還有一個DMA控制機(jī)構(gòu)。在DMA控制器的控制下,設(shè)備同主存之間可成批交換數(shù)據(jù),不用CPU干預(yù)。DMA控制器組成:主機(jī)與DMA控制器的接口;DMA控制器與塊設(shè)備的接口;I/O控制邏輯2022/12/21DMA方式 控制器功能更強(qiáng),除有中斷功能外,還有一個DMA控DMA方式

DMA控制器組成:主機(jī)與DMA控制器的接口;DMA控制器與塊設(shè)備的接口;I/O控制邏輯為了實現(xiàn)在主機(jī)與控制器之間的成塊數(shù)據(jù)的直接交換,須在DMA控制器中設(shè)置如下四類寄存器:命令/狀態(tài)寄存器CR;內(nèi)存地址寄存器MAR;數(shù)據(jù)寄存器DR;數(shù)據(jù)計數(shù)器DC。2022/12/21DMA方式 DMA控制器組成:主機(jī)與DMA控制器的接口;DMDMA方式工作過程直接存儲器存取控制方式的步驟(P197)①當(dāng)進(jìn)程要求設(shè)備輸入一批數(shù)據(jù)時,CPU將設(shè)備存放輸入數(shù)據(jù)的內(nèi)存始址以及要傳送的字節(jié)數(shù)分別送入DMA控制器中的地址寄存器MAR和數(shù)據(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è)備不斷從磁盤中讀入一個字的數(shù)據(jù)并送入數(shù)據(jù)寄存器DR中,再挪用一個存儲器周期,將數(shù)據(jù)寄存器中的數(shù)據(jù)寫入內(nèi)存,MAR+1,DC-1,若DC不為0則繼續(xù)傳下一個字。④DMA控制器在傳送字節(jié)數(shù)完成時,通過中斷請求線發(fā)出中斷信號,CPU收到中斷信號后轉(zhuǎn)中斷處理程序,喚醒等待輸入完成的進(jìn)程,并返回被中斷的程序。⑤在以后的某個時刻,進(jìn)程調(diào)度程序選中提出請求輸入的進(jìn)程,該進(jìn)程從指定的內(nèi)存始址取出數(shù)據(jù)做進(jìn)一步處理。2022/12/21DMA方式工作過程直接存儲器存取控制方式的步驟(P197)3.DMA工作過程圖5-9DMA方式的工作流程

2022/12/213.DMA工作過程圖5-9DMA方式的工作流程20直接存儲器存取控制直接存儲器存取控制方式的特點I/O數(shù)據(jù)傳輸速度快,CPU負(fù)擔(dān)少。在DMA方式下,數(shù)據(jù)的傳送方向、存放數(shù)據(jù)的內(nèi)存始址及傳送數(shù)據(jù)的長度等都由CPU控制。每臺設(shè)備需要配一個DMA控制器。2022/12/21直接存儲器存取控制直接存儲器存取控制方式的特點2022/12DMA方式與中斷的主要區(qū)別中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿后,發(fā)中斷請求,CPU進(jìn)行中斷處理

DMA方式則是在所要求傳送的數(shù)據(jù)塊全部傳送結(jié)束時要求CPU進(jìn)行中斷處理大大減少了CPU進(jìn)行中斷處理的次數(shù)中斷方式的數(shù)據(jù)傳送是由CPU控制完成的而DMA方式則是在DMA控制器的控制下不經(jīng)過CPU控制完成的2022/12/21DMA方式與中斷的主要區(qū)別中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿后,發(fā)實現(xiàn)流程2022/12/21實現(xiàn)流程2022/12/194I/O通道控制方式

1.I/O通道控制方式的引入

雖然DMA方式比起中斷方式來,已經(jīng)顯著地減少了CPU的干預(yù),即已由以字(節(jié))為單位的干預(yù)減少到以數(shù)據(jù)塊為單位的干預(yù),但CPU每發(fā)出一條I/O指令,也只能去讀一個連續(xù)的數(shù)據(jù)塊,要是一次去讀多個數(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ù),即把對一個數(shù)據(jù)塊的讀(或?qū)?為單位的干預(yù),減少為對一組數(shù)據(jù)塊的讀(或?qū)?及有關(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ù)。

2022/12/215.2.4I/O通道控制方式1.I/O通道控制方式的2通道程序通道有它自己的指令系統(tǒng),用一系列通道指令構(gòu)成的程序叫通道程序。通道通過執(zhí)行通道程序,并與設(shè)備控制器共同實現(xiàn)對I/O設(shè)備的控制。通道只能執(zhí)行通道程序,不可能執(zhí)行用戶進(jìn)程。

2022/12/212通道程序通道有它自己的指令系統(tǒng),用一系列通道指令構(gòu)成通道有自己的指令系統(tǒng),它與一般的機(jī)器指令不同,在它的每條指令中都包含下列諸信息:操作碼;內(nèi)存地址;計數(shù);通道程序結(jié)束位P;記錄結(jié)束標(biāo)志R2022/12/21通道有自己的指令系統(tǒng),它與一般的機(jī)器指令不同,在它的每條指令操作PR計數(shù)內(nèi)存地址WRITE0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE112507202022/12/21操作PR計數(shù)內(nèi)存地址WRITE0080813WRITE0若干通道命令字構(gòu)成一個“通道程序”,它規(guī)定了設(shè)備應(yīng)該執(zhí)行的各種操作和順序。在CPU啟動通道后,由通道執(zhí)行通道程序,完成CPU所交給的I/O任務(wù)。通常,通道程序存放在通道自己的存儲部件里。當(dāng)通道中沒有存儲部件時,就存放在內(nèi)存儲器里。這時,為了使通道能取到通道程序去執(zhí)行,必須把存放通道程序的內(nèi)存起始地址告訴通道。存放這個起始地址的內(nèi)存固定單元,被稱為“通道地址字”。2022/12/21若干通道命令字構(gòu)成一個“通道程序”,它規(guī)定了設(shè)備應(yīng)該執(zhí)行的各通道的工作過程某進(jìn)程在運(yùn)行過程中,若提出了I/O請求,只需向通道I/O通道發(fā)一條I/O指令,以給出其所要執(zhí)行的通道程序的始址和要訪問的I/O設(shè)備;用戶進(jìn)程阻塞以等待I/O完成通道則通過執(zhí)行通道程序控制設(shè)備控制器,控制設(shè)備完成指定的I/O任務(wù)。發(fā)出中斷信號通知CPU通道程序已執(zhí)行完成。CPU響應(yīng)中斷,進(jìn)行善后處理并喚醒被阻塞的用戶進(jìn)程2022/12/21通道的工作過程某進(jìn)程在運(yùn)行過程中,若提出了I/O請求,只需向

通道是一種特殊的(),具有()能力。主機(jī)的CPU與通道可以并行工作,并通過()實現(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方式中,對于輸出設(shè)備,準(zhǔn)備就緒就是指1、輸出緩沖區(qū)已空2、輸出緩沖區(qū)已有數(shù)據(jù)

3、輸出設(shè)備已開始工作4、輸出設(shè)備已收到I/O指令不使用中斷機(jī)制的I/O控制方式是_____如果I/O設(shè)備與存儲設(shè)備進(jìn)行數(shù)據(jù)交換不經(jīng)過CPU來完成,這種數(shù)據(jù)交換方式是_____。A、程序查詢B、中斷方式C、DMA方式在中斷驅(qū)動方式中,CPU是以______為單位對I/O進(jìn)行干預(yù)的;DMA方式時,是以______為單位進(jìn)行干預(yù)的;I/O通道方式是以______為單位進(jìn)行干預(yù)的。2022/12/21在程序I/O方式中,對于輸出設(shè)備,準(zhǔn)備就緒就是指2022/6.5設(shè)備無關(guān)的I/O軟件設(shè)備獨立性概念(設(shè)備無關(guān)性)應(yīng)用程序中所使用的設(shè)備,不局限于使用某個具體的物理設(shè)備。應(yīng)用程序獨立于具體使用的物理設(shè)備。在應(yīng)用程序中,使用邏輯設(shè)備名稱來請求使用某類設(shè)備。系統(tǒng)在實際執(zhí)行時,必須使用物理設(shè)備名稱2022/12/216.5設(shè)備無關(guān)的I/O軟件設(shè)備獨立性概念(設(shè)備無關(guān)性)202設(shè)備獨立性設(shè)備獨立性好處(設(shè)備無關(guān)性)設(shè)備分配時的靈活性。如果一個系統(tǒng)中有若干臺相同的設(shè)備,用戶編程時不指定使用哪一個具體的設(shè)備,而僅說明要使用哪一類設(shè)備,系統(tǒng)根據(jù)當(dāng)前這一類設(shè)備的具體狀況給用戶分配一臺具體的設(shè)備。易于實現(xiàn)I/O重定向。用于I/O操作的設(shè)備可以更換(重定向),而不必改變應(yīng)用程序。例如有一程序要求輸入信息,可以從各種不同類型的輸入設(shè)備上給程序輸入數(shù)據(jù),則稱該程序是獨立于不同類型的輸入設(shè)備的。2022/12/21設(shè)備獨立性設(shè)備獨立性好處(設(shè)備無關(guān)性)2022/12/19設(shè)備獨立性邏輯設(shè)備名到物理設(shè)備名映射的實現(xiàn)邏輯設(shè)備表LUT將應(yīng)用程序中所使用的邏輯設(shè)備名映射為物理設(shè)備名。2022/12/21設(shè)備獨立性邏輯設(shè)備名到物理設(shè)備名映射的實現(xiàn)2022/12/1設(shè)備獨立性設(shè)備獨立性軟件驅(qū)動程序是一個與硬件緊密相關(guān)的軟件,為了實現(xiàn)設(shè)備獨立性,必須在其上設(shè)置一層軟件稱為設(shè)備獨立性軟件。其功能有執(zhí)行所有設(shè)備的公有操作這些公有操作包括:①設(shè)備驅(qū)動程序的統(tǒng)一接口,無論何種設(shè)備,它們向用戶所提供的接口應(yīng)該是相同的。例如,對各種設(shè)備的讀操作,在應(yīng)用程序中都使用read;而對各種設(shè)備的寫操作,也都使用write;并將邏輯設(shè)備名映射為物理設(shè)備名,進(jìn)一步可以找到相應(yīng)物理設(shè)備的驅(qū)動程序;對設(shè)備進(jìn)行保護(hù),禁止用戶直接訪問設(shè)備;②緩沖管理,即對字符設(shè)備和塊設(shè)備的緩沖區(qū)進(jìn)行有效的管理,以提高I/O的效率;③差錯控制。設(shè)備獨立性軟件只處理那些設(shè)備驅(qū)動程序無法處理的錯誤。④對獨立設(shè)備的分配與回收;⑤提供獨立于設(shè)備的邏輯塊。向用戶層(或文件層)軟件提供統(tǒng)一接口

2022/12/21設(shè)備獨立性設(shè)備獨立性軟件2022/12/19程序員利用系統(tǒng)調(diào)用打開I/O設(shè)備時,通常使用的設(shè)備標(biāo)識是(2009)A.邏輯設(shè)備名B.物理設(shè)備名C.主設(shè)備號D.從設(shè)備號本地用戶通過鍵盤登陸系統(tǒng)是,首先獲得鍵盤輸入信息的程序是()。(2010)A.命令解釋程序B.中斷處理程序 C.系統(tǒng)調(diào)用程序 D.用戶登錄程序2022/12/21程序員利用系統(tǒng)調(diào)用打開I/O設(shè)備時,通常使用的設(shè)備標(biāo)識是(26.5.3設(shè)

配在多道程序環(huán)境下,系統(tǒng)中的設(shè)備供所有進(jìn)程共享,為防止諸進(jìn)程對系統(tǒng)資源的無序競爭,特規(guī)定系統(tǒng)設(shè)備不允許用戶自行使用,必須由系統(tǒng)統(tǒng)一分配。每當(dāng)進(jìn)程向系統(tǒng)提出請求時,只要是可能和安全的,按一定策略分配為了實現(xiàn)獨占設(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)建一個進(jìn)程時,開辟一個進(jìn)程控制塊PCB,以便隨時記錄進(jìn)程的信息;在把一個作業(yè)提交給系統(tǒng)時,系統(tǒng)也是開辟一個作業(yè)控制塊JCB,以便隨時記錄作業(yè)的信息。為了管理系統(tǒng)中的外部設(shè)備,操作系統(tǒng)仍然采用這種老辦法:為每一臺設(shè)備開辟一個存儲區(qū),隨時記錄系統(tǒng)中每一個設(shè)備的基本信息,這個存儲區(qū)被稱為“設(shè)備控制表DCT(DeviceControlTable)”。2022/12/21設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)從前面所學(xué)內(nèi)容中我們知道,創(chuàng)建一個進(jìn)程時設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備控制表(DCT)系統(tǒng)為每個設(shè)備配置一張設(shè)備控制表,用于記錄設(shè)備的特性及I/O控制器連接的情況。

控制器控制表(COCT)每個控制器配置一張表,它反映控制器的使用情況等。

通道控制表(CHCT)為每個通道配置一張表,它反映通道的使用狀態(tài)。系統(tǒng)設(shè)備表(SDT)它記錄已被連接到系統(tǒng)中的所有物理設(shè)備的情況,每個物理設(shè)備占一個表目。整個系統(tǒng)配置一張。

2022/12/21設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備控制表(DCT)2022/12/1下圖左側(cè)的“DCT”,表示系統(tǒng)中所有外部設(shè)備的DCT的集合;中間是對其中的第i個設(shè)備的DCT放大,給出了DCT中可能有的一些表項。不難理解,隨著系統(tǒng)的不同,DCT中所含的內(nèi)容也不同。DCT2022/12/21下圖左側(cè)的“DCT”,表示系統(tǒng)中所有外部設(shè)備的DCT的集合;DCTDCT1DCTiDCTnDCTi圖:設(shè)備控制表及設(shè)備請求隊列忙/閑等待/不等待與設(shè)備連接的控制器表指針重復(fù)執(zhí)行次數(shù)(出錯時重新傳送的次數(shù))2022/12/21DCTDCT1DCTiDCTnDCTi圖:設(shè)備控制表及設(shè)備請DCT由于設(shè)備控制表DCT中存放的是一臺具體設(shè)備的有關(guān)信息,找到一個設(shè)備的DCT,就得到了該設(shè)備的特性、各種參數(shù)、使用情況等,所以DCT是設(shè)備管理中最重要的一種數(shù)據(jù)結(jié)構(gòu)。2022/12/21DCT由于設(shè)備控制表DCT中存放的是一臺具體設(shè)備的有關(guān)信息,控制器控制表和通道控制表2022/12/21控制器控制表和通道控制表2022/12/19為了管理設(shè)備,系統(tǒng)除了為每個設(shè)備設(shè)置DCT外,整個系統(tǒng)還要有一張所謂的“系統(tǒng)設(shè)備表(SDT—SystemDeviceTable)”。系統(tǒng)初啟時,每一個標(biāo)準(zhǔn)的以及用戶提供的外部設(shè)備,在該表中都有一個表目,表目內(nèi)容可以有該外部設(shè)備的標(biāo)識、所屬的類型以及它的設(shè)備控制表DCT的指針(即DCT所在的起始地址),如下圖所示。2022/12/21為了管理設(shè)備,系統(tǒng)除了為每個設(shè)備設(shè)置DCT外,整個系統(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è)備的固有屬性獨占性:在使用上具有排它性的設(shè)備。當(dāng)一個作業(yè)進(jìn)程在使用某種設(shè)備時,別的作業(yè)進(jìn)程就只能等到該進(jìn)程使用完畢后才能用,那么這種設(shè)備就是獨享設(shè)備。鍵盤輸入機(jī)、磁帶機(jī)和打印機(jī)等都是典型的獨享設(shè)備。獨占設(shè)備:采用獨享分配策略,即將一個設(shè)備分配給某進(jìn)程后,便由該進(jìn)程獨占,直至該進(jìn)程完成或釋放該設(shè)備。缺點:設(shè)備得不到充分利用,可能引起死鎖2022/12/21設(shè)備分配應(yīng)考慮的因素設(shè)備的固有屬性2022/12/19設(shè)備分配應(yīng)考慮的因素設(shè)備的固有屬性共享性:允許多個進(jìn)程共同時共享。軟硬盤、光盤等塊設(shè)備都是共享設(shè)備共享設(shè)備:同時分配給多個進(jìn)程使用,須注意對這些進(jìn)程訪問該設(shè)備的先后次序進(jìn)行合理調(diào)度。2022/12/21設(shè)備分配應(yīng)考慮的因素設(shè)備的固有屬性2022/12/19設(shè)備分配應(yīng)考慮的因素設(shè)備的固有屬性虛擬性:本身雖是獨占設(shè)備,但經(jīng)過某種技術(shù)處理,可以把它改造成虛擬設(shè)備。將一臺打印機(jī)虛擬成多臺打印機(jī)虛擬設(shè)備:一臺可虛擬設(shè)備是可共享的設(shè)備,可以將它同時分配給多個進(jìn)程使用,并對這些訪問該(物理設(shè)備)的先后次序進(jìn)行控制2022/12/21設(shè)備分配應(yīng)考慮的因素設(shè)備的固有屬性2022/12/19設(shè)備分配應(yīng)考慮的因素設(shè)備分配算法先來先服務(wù):當(dāng)有多個進(jìn)程對同一個設(shè)備提出I/O請求時,該算法根據(jù)諸進(jìn)程對某設(shè)備提出請求的先后次序,將這些進(jìn)程排成一個設(shè)備請求隊列,總是把設(shè)備首先分配給隊首進(jìn)程優(yōu)先級高者優(yōu)先:將優(yōu)先權(quán)高的進(jìn)程排在設(shè)備隊列前面,對于優(yōu)先級相同的I/O請求,則按先來先服務(wù)原則排隊2022/12/21設(shè)備分配應(yīng)考慮的因素設(shè)備分配算法2022/12/19設(shè)備分配應(yīng)考慮的因素設(shè)備分配的安全性安全分配方式:每當(dāng)進(jìn)程發(fā)出I/O請求后,便進(jìn)入阻塞狀態(tài),直到其I/O操作完成時才被喚醒。一旦獲得某種設(shè)備后便阻塞,使該進(jìn)程不可能再請求任何資源,在它運(yùn)行時又不保持任何資源。摒棄了“請求和保持”不安全分配方式:進(jìn)程在發(fā)出I/O請求后仍繼續(xù)運(yùn)行,需要時又發(fā)出第二個I/O請求、第三個。。僅當(dāng)進(jìn)程所請求的設(shè)備已被另一進(jìn)程占用時,請求進(jìn)程才進(jìn)入阻塞狀態(tài)??赡茉斐伤梨i。須進(jìn)行安全性計算.2022/12/21設(shè)備分配應(yīng)考慮的因素設(shè)備分配的安全性2022/12/19獨占設(shè)備的分配程序步驟:分配設(shè)備分配控制器分配通道只有在設(shè)備、控制器和通道三者都分配成功時,這次的設(shè)備分配才算成功。才可啟動該I/O設(shè)備進(jìn)行數(shù)據(jù)傳送。2022/12/21獨占設(shè)備的分配程序步驟:2022/12/19獨占設(shè)備的分配程序改進(jìn):基本分配程序的缺點:進(jìn)程是以物理設(shè)備名來提出I/O請求的;采用的是單通路的I/O系統(tǒng)結(jié)構(gòu),容易產(chǎn)生“瓶頸”現(xiàn)象改進(jìn)方法增加設(shè)備獨立性:進(jìn)程使用邏輯設(shè)備名請求I/O考慮多通路情況2022/12/21獨占設(shè)備的分配程序改進(jìn):2022/12/19設(shè)備獨立性邏輯設(shè)備名到物理設(shè)備名映射的實現(xiàn)邏輯設(shè)備表LUT

LUT設(shè)置可采用兩種方式:整個系統(tǒng)中只設(shè)置一張LUT為每個用戶設(shè)置一張LUT2022/12/21設(shè)備獨立性邏輯設(shè)備名到物理設(shè)備名映射的實現(xiàn)2022/12/1獨占設(shè)備的分配程序改進(jìn):2022/12/21獨占設(shè)備的分配程序改進(jìn):2022/12/196.6用戶層的I/O軟件大部分的I/O軟件都在操作系統(tǒng)內(nèi)部,但仍有一小部分在用戶層,包括與用戶程序鏈接在一起的庫函數(shù),以及完全運(yùn)行于內(nèi)核之外的一些程序。用戶層軟件必須通過一組系統(tǒng)調(diào)用來取得操作系統(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)用與庫函數(shù)2022/12/21系統(tǒng)調(diào)用與庫函數(shù)2022/12/196.6.2SPOOLing技術(shù)虛擬性是OS的四大特征之一??梢酝ㄟ^多道程序技術(shù)將一臺物理CPU虛擬為多臺邏輯CPU,從而允許多個用戶共享一臺主機(jī),那么通過SPOOLing技術(shù)便可將一臺物理I/O設(shè)備虛擬為多臺邏輯I/O設(shè)備虛擬為多臺邏輯I/O設(shè)備,同樣允許多個用戶共享一臺物理I/O設(shè)備。2022/12/216.6.2SPOOLing技術(shù)虛擬性是OS的四脫機(jī)輸入輸出方式(Off-LineI/O)這種脫機(jī)I/O方式的主要優(yōu)點如下:(1)減少了CPU的空閑時間。(2)提高I/O速度。2022/12/21脫機(jī)輸入輸出方式(Off-LineI/O)這種脫機(jī)I/O方SPOOLing系統(tǒng)SimultaneausPeriphernalOperationsOn-Line(外部設(shè)備同時聯(lián)機(jī)操作)。在單道批處理時期,用脫機(jī)I/O可以提高CPU利用率。多道出現(xiàn)后可以利用一道程序來模擬脫機(jī)I/O中的外圍機(jī),這樣可實現(xiàn)在主機(jī)控制下的脫機(jī)I/O功能。我們把這種在聯(lián)機(jī)情況下實現(xiàn)的同時外圍操作稱為SPOOLing,也稱為假脫機(jī)操作。2022/12/21SPOOLing系統(tǒng)SimultaneausPeripheSPOOLing系統(tǒng)通過spooling技術(shù)便可將一臺物理I/O設(shè)備虛擬為多臺邏輯I/O設(shè)備,允許多個用戶共享一臺物理I/O設(shè)備。2022/12/21SPOOLing系統(tǒng)通過spoolinSPOOLing系統(tǒng)的組成必須建立在具有多道程序功能的操作系統(tǒng)上,而且還應(yīng)有高速隨機(jī)外存的支持,通常是采用磁盤存儲技術(shù)。1、輸入井和輸出井:在磁盤上開辟的兩個大存儲空間2、輸入緩沖區(qū)和輸出緩沖區(qū):在內(nèi)存中開辟的兩個緩沖區(qū)3、輸入進(jìn)程和輸出進(jìn)程:用兩個進(jìn)程來模擬脫機(jī)I/O時的外圍控制機(jī)。4、井管理程序:用于控制作業(yè)與磁盤井之間的信息交換。2022/12/21SPOOLing系統(tǒng)的組成必須建立在具有多2022/12/212022/12/19SPOOLing系統(tǒng)的特點1、提高了I/O速度2、將獨占設(shè)備改造為共享設(shè)備3、實現(xiàn)了虛擬設(shè)備功能2022/12/21SPOOLing系統(tǒng)的特點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)程請求打印輸出時,SPOOLing系統(tǒng)同意為它打印輸出,但并不真正立即把打印機(jī)分配給該用戶進(jìn)程,而只為它做兩件事:①由輸出進(jìn)程在輸出井中為之申請一個空閑磁盤塊區(qū),并將要打印的數(shù)據(jù)送入其中;②輸出進(jìn)程再為用戶進(jìn)程申請一張空白的用戶請求打印表,并將用戶的打印要求填入其中,再將該表掛到請求打印隊列上。2022/12/21共享打印機(jī)共享打印機(jī)技術(shù)已被廣泛地用于多守護(hù)進(jìn)程共享打印機(jī)技術(shù)已被廣泛地用于多用戶系統(tǒng)和局域網(wǎng)絡(luò)中。當(dāng)用戶進(jìn)程請求打印輸出時,SPOOLing系統(tǒng)同意為它打印輸出,但并不真正立即把打印機(jī)分配給該用戶進(jìn)程,而只為它做兩件事:①由輸出進(jìn)程在輸出井中為之申請一個空閑磁盤塊區(qū),并將要打印的數(shù)據(jù)送入其中;②輸出進(jìn)程再為用戶進(jìn)程申請一張空白的用戶請求打印表,并將用戶的打印要求填入其中,再將該表掛到請求打印隊列上。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ù)是將一臺()虛擬為多臺()。2022/12/21練習(xí)1、在采用SPOOLing技術(shù)的系統(tǒng)中,用戶的打印數(shù)據(jù)首SPOOLing是對脫機(jī)I/O工作方式的模擬,SPOOLing系統(tǒng)中的輸入井是對脫機(jī)輸入中的_______進(jìn)行模擬。A內(nèi)存輸入緩沖區(qū)B磁盤C外圍控制機(jī)D輸入設(shè)備為實現(xiàn)設(shè)備分配,應(yīng)為每類設(shè)備配置一張______,在系統(tǒng)中配置一張______;為實現(xiàn)設(shè)備獨立性,系統(tǒng)中應(yīng)配置一張______。(1)設(shè)備控制表(2)邏輯設(shè)備表(3)系統(tǒng)設(shè)備表(4)設(shè)備分配表(5)設(shè)備開關(guān)表(6)I/O請求表實現(xiàn)SPOOLing系統(tǒng)時必須在磁盤上辟出稱為__________和__________的專門區(qū)域,以存放作業(yè)信息和作業(yè)執(zhí)行結(jié)果。

2022/12/21SPOOLing是對脫機(jī)I/O工作方式的模擬,SPOOLin第6章設(shè)備管理“設(shè)備”泛指計算機(jī)系統(tǒng)中的外部設(shè)備,即除主機(jī)以外的其他所有設(shè)備。在多道程序設(shè)計環(huán)境下,計算機(jī)系統(tǒng)允許多個用戶作業(yè)同時在內(nèi)存,它們的運(yùn)行勢必涉及到I/O設(shè)備。于是,對于設(shè)備本身,有一個如何有效利用的問題;對于設(shè)備和CPU,有一個如何發(fā)揮并行工作能力的問題;對于設(shè)備和用戶,有一個如何方便使用的問題。2022/12/21第6章設(shè)備管理“設(shè)備”泛指計算機(jī)系統(tǒng)中的外部設(shè)備,即除主設(shè)備管理的任務(wù)是完成用戶提出的I/O請求,為用戶分配I/O設(shè)備,提高CPU與I/O設(shè)備的利用率,提高I/O設(shè)備的速度,方便用戶使用I/O設(shè)備。2022/12/21設(shè)備管理的任務(wù)是完成用戶提出的I/O請求,為用戶分配I/O設(shè)6.1.1I/O系統(tǒng)的基本功能方便用戶使用I/O設(shè)備隱藏物理設(shè)備的細(xì)節(jié)與設(shè)備的無關(guān)性提高CPU和I/O設(shè)備的利用率提高CPU和I/O設(shè)備的利用率對I/O設(shè)備進(jìn)行控制為用戶的共享設(shè)備時提供方便確保對設(shè)備的正確共享錯誤處理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è)備獨立性軟件設(shè)備驅(qū)動程序中斷處理程序2022/12/216.1.2I/O系統(tǒng)的層次和結(jié)構(gòu)模型I/O層次結(jié)構(gòu)20222022/12/21I/O層次結(jié)構(gòu)

用戶層軟件設(shè)備獨立性軟件設(shè)備驅(qū)動程序中斷處理程序硬件實現(xiàn)與用戶交互的接口,產(chǎn)生I/O請求負(fù)責(zé)實現(xiàn)與設(shè)備驅(qū)動器的統(tǒng)一接口、設(shè)備命名,設(shè)備的保護(hù),設(shè)備的分配與釋放,緩沖等。與硬件直接相關(guān),負(fù)責(zé)具體實現(xiàn)系統(tǒng)對設(shè)備發(fā)出的操作指令,驅(qū)動I/O設(shè)備工作的驅(qū)動程序保護(hù)環(huán)境,轉(zhuǎn)入相應(yīng)處理程序,恢復(fù)現(xiàn)場等執(zhí)行I/O操作2022/12/212022/12/19I/O層次結(jié)構(gòu)

用戶層軟件設(shè)備獨立性軟件2022/12/21操作系統(tǒng)的I/O子系統(tǒng)通常由四個層次組成,每一層明確定義了與鄰近層次的接口。其合理的層次組織排列順序是(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ā)出磁盤I/O請求后,系統(tǒng)的處理流程是:用戶程序-系統(tǒng)調(diào)用處理程序-設(shè)備驅(qū)動程序-中斷處理程序。其中,計算數(shù)據(jù)所在磁盤的柱面號、磁頭號、扇區(qū)號的程序是(2011,2013)A、用戶程序B、系統(tǒng)調(diào)用處理程序C、設(shè)備驅(qū)動程序D、中斷處理程序2022/12/212022/12/19操作系統(tǒng)的I/O子系統(tǒng)通常由四個層次組成2022/12/21I/O層次視圖

用戶層軟件設(shè)備獨立性軟件設(shè)備驅(qū)動程序中斷處理程序硬件I/O系統(tǒng)接口RW/HW接口2022/12/212022/12/19I/O層次視圖

用戶層軟件設(shè)備獨立性軟件6.1.3I/O系統(tǒng)接口塊設(shè)備接口塊設(shè)備:數(shù)據(jù)的存取和傳輸都是以數(shù)據(jù)塊為單位的設(shè)備。特點:傳輸速率高,可尋址,DMA控制方式隱藏了磁盤的二維結(jié)構(gòu)將抽象命令映射為低層操作流設(shè)備接口字符設(shè)備。特點:傳輸速率低,不可尋址,中斷驅(qū)動方式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è)備的類型按使用特性分存儲設(shè)備:用以存儲信息的主要設(shè)備輸入輸出設(shè)備:輸入設(shè)備,輸出設(shè)備,交互式設(shè)備2022/12/216.2.1I/O設(shè)備1、I/O設(shè)備的類型2022/12/1I/O設(shè)備的分類按傳輸速率分低速設(shè)備:每秒幾個到數(shù)百字節(jié)。如鍵盤、鼠標(biāo)中速設(shè)備:每秒數(shù)千到數(shù)萬字節(jié)。如打印機(jī)高速設(shè)備:每秒數(shù)百K到數(shù)兆。如磁盤、磁帶2022/12/21I/O設(shè)備的分類按傳輸速率分2022/12/19按信息交換的單位分類塊設(shè)備

I/O傳輸?shù)膯挝皇菈K,如磁盤、磁帶。特征:速率高(幾兆)、可尋址(可隨機(jī)訪問任一塊)、DMA方式驅(qū)動。

字符設(shè)備:I/O傳輸?shù)膯挝皇亲止?jié),如打印機(jī)、modem等。特征:速率較低、不可尋址、中斷驅(qū)動。2022/12/21按信息交換的單位分類2022/12/19

按設(shè)備共享屬性分類獨占型設(shè)備:在任一段時間內(nèi)最多有一個進(jìn)程占用它,字符設(shè)備及磁帶機(jī)屬獨占型設(shè)備。即臨界資源。共享型設(shè)備:多個進(jìn)程對它的訪問可以交叉進(jìn)行,除磁帶機(jī)外的塊設(shè)備屬共享設(shè)備虛擬設(shè)備:在一類設(shè)備上模擬另一類設(shè)備,常用共享設(shè)備模擬獨占設(shè)備,用高速設(shè)備模擬低速設(shè)備,被模擬的設(shè)備稱為虛擬設(shè)備2022/12/21按設(shè)備共享屬性分類2022/12/192、設(shè)備與控制器之間的接口通常,設(shè)備不是直接與CPU進(jìn)行通信,而是與設(shè)備控制器通信,因此在I/O設(shè)備中應(yīng)含有與設(shè)備控制器間的接口,在該接口中有三種類型的信號,各對應(yīng)一條信號線2022/12/212、設(shè)備與控制器之間的接口通常,設(shè)備不是直接與CPU進(jìn)行通信2、設(shè)備與控制器之間的接口數(shù)據(jù)信號線用于在設(shè)備和設(shè)備控制器之間傳送數(shù)據(jù)信號??刂菩盘柧€作為由設(shè)備控制器向I/O設(shè)備發(fā)送控制信號時的通路。狀態(tài)信號線用于傳送指示設(shè)備當(dāng)前狀態(tài)的信號。2022/12/212、設(shè)備與控制器之間的接口數(shù)據(jù)信號線2022/12/196.2.2設(shè)備控制器設(shè)備控制器主要負(fù)責(zé)控制一個或多個I/O設(shè)備,以實現(xiàn)I/O設(shè)備和計算機(jī)之間的數(shù)據(jù)交換。它是CPU與I/O設(shè)備之間的接口,接收從CPU發(fā)來的命令,并控制I/O設(shè)備工作,以使CPU從繁雜的設(shè)備控制事務(wù)中解脫出來。是一個可編址設(shè)備,每一個地址對應(yīng)一個設(shè)備。設(shè)備控制器可分為兩類,一類用于控制字符設(shè)備的控制器,另一類是用于控制塊設(shè)備的控制器。在微型機(jī)中的控制器,常做成印刷電路卡,因而也常稱為接口卡2022/12/216.2.2設(shè)備控制器設(shè)備控制器主要負(fù)責(zé)控制一個或多個I/O設(shè)設(shè)備控制器的基本功能接收和識別命令數(shù)據(jù)交換標(biāo)識和報告設(shè)備的狀態(tài)地址識別數(shù)據(jù)緩沖差錯控制2022/12/21設(shè)備控制器的基本功能接收和識別命令2022/12/19設(shè)備控制器的組成由于設(shè)備控制器位于CPU與設(shè)備之間,它既要與CPU通信,又要與設(shè)備通信,還應(yīng)具有按照CPU所發(fā)來的命令去控制設(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對I/O的干預(yù),但當(dāng)一個系統(tǒng)配置的設(shè)備較多時,I/O操作較為頻繁的情況下,CPU可能完全陷入I/O處理,這樣會大大地降低計算機(jī)系統(tǒng)的效率,解決的方法就是用到通道技術(shù)。

2022/12/21I/O通道 雖然在CPU與I/O設(shè)備之間增加了設(shè)備控制器后, 通道方式的目的使一些原來由CPU處理的I/O任務(wù)轉(zhuǎn)由通道來承擔(dān),從而使CPU徹底從I/O中解放出來。當(dāng)用戶發(fā)出I/O請求后,CPU就把該請求全部交由通道去完成。通道在整個I/O任務(wù)結(jié)束后,才發(fā)出中斷信號,請求CPU進(jìn)行善后處理。不僅數(shù)據(jù)傳輸獨立于CPU,而且I/O操作的組織管理也獨立于CPU。I/O通道的引入:2022/12/21I/O通道的引入:2022/12/19 為使中央處理機(jī)從繁忙的I/O處理中擺脫出來,現(xiàn)代大、中型計算機(jī)系統(tǒng)中設(shè)置了專門的處理I/O操作的處理機(jī),并把這種處理機(jī)稱為通道。通道在CPU的控制下獨立地執(zhí)行通道程序,對外部設(shè)備的I/O操作進(jìn)行控制,以實現(xiàn)內(nèi)存與外設(shè)之間成批的數(shù)據(jù)交換。 通道=I/O處理機(jī)

通道概念2022/12/21 為使中央處理機(jī)從繁忙的I/O處理中擺脫出來,現(xiàn)代大、中型

I/O通道與一般的處理機(jī)不同,主要表現(xiàn)在以下兩個方面:指令類型單一,這是由于通道硬件比較簡單,其所能執(zhí)行的命令,主要局限于與I/O操作有關(guān)的指令;通道沒有自己的內(nèi)存,通道所執(zhí)行的通道程序是放在主機(jī)的內(nèi)存中的,換言之,是通道與CPU共享內(nèi)存。2022/12/21I/O通道與一般的處理機(jī)不同,主要表現(xiàn)在以下兩個方面:2I/O通道I/O通道的分類字節(jié)多路通道數(shù)據(jù)選擇通道數(shù)組多路通道2022/12/21I/O通道2022/12/19通道的種類字節(jié)多路通道:字節(jié)多路通道是以字節(jié)為基本傳輸單位,通常含有許多非分配型子通道,其數(shù)量從幾十到數(shù)百個,每一個子通道連接一臺I/O設(shè)備,并控制該設(shè)備的I/O操作。這些子通道按時間片輪轉(zhuǎn)主式共享主通道。當(dāng)一個子通道控制的某臺外設(shè)交換了一個字節(jié)后,就轉(zhuǎn)向下一個子通道,以控制下一臺設(shè)備傳送一個字節(jié)。這就實現(xiàn)了子通道的循環(huán)輪轉(zhuǎn),以達(dá)到多路控制的目的,字節(jié)多路通道主要用來控制低速、并且以字節(jié)為基本傳送單位的設(shè)備。如打印機(jī)。2022/12/21通道的種類字節(jié)多路通道:2022/12/192022/12/212022/12/19數(shù)組選擇通道:字節(jié)多路通道不適于連接高速設(shè)備,這推動了按數(shù)組方式進(jìn)行數(shù)據(jù)傳送的數(shù)組選擇通道的形成。這種通道雖然可以連接多臺高速設(shè)備,但由于它只含有一個分配型子通道,在一段時間內(nèi)只能執(zhí)行一道通道程序,控制一臺設(shè)備進(jìn)行數(shù)據(jù)傳送,致使當(dāng)某臺設(shè)備占用了該通道后,便一直由它獨占,即使是它無數(shù)據(jù)傳送,通道被閑置,也不允許其它設(shè)備使用該通道,直至該設(shè)備傳送完畢釋放該通道。它的優(yōu)點是傳輸速度高,缺點是一次只能控制一臺設(shè)備進(jìn)行I/O操作,利用率低。它主要用來控制高速外設(shè)。如磁盤選擇通道2022/12/21數(shù)組選擇通道:選擇通道2022/12/19

數(shù)組多路通道:

這種通道是上述兩種通道的折中,可以分時的方式執(zhí)行多道程序,每道程序可傳送一組數(shù)據(jù)。因而這種通道既具有很高的數(shù)據(jù)傳輸速率,又能獲得令人滿意的通道利用率。也正因此,才使該通道能被廣泛地用于連接多臺高、中速的外圍設(shè)備,其數(shù)據(jù)傳送是按數(shù)組方式進(jìn)行的。

在一大型系統(tǒng)中可以同時存在這三種類型的通道以便控制各種不同類型的設(shè)備。2022/12/21數(shù)組多路通道:2022/12/19通道

I/O系統(tǒng)結(jié)構(gòu) 在大型計算機(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“瓶頸”問題

圖5-4單通路I/O系統(tǒng)2022/12/21“瓶頸”問題圖5-4單通路I/O系統(tǒng)2022/12/圖5-5多通路I/O系統(tǒng)解決“瓶頸”問題的最有效方法就是增加設(shè)備到主機(jī)間的通路而不增加通道

2022/12/21圖5-5多通路I/O系統(tǒng)解決“瓶頸”問題的最有效方法就練習(xí)通道是I/O處理機(jī),它用于實現(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ī),它用于實現(xiàn)______之間的信息傳輸練習(xí)硬盤屬于(

)

A、字符型設(shè)備

B、獨占型設(shè)備

C、塊設(shè)備

D、虛擬設(shè)備

所有的塊型設(shè)備都是共享設(shè)備。(

)打印機(jī)是一類典型的塊設(shè)備。()選擇通道主要用于連接低速設(shè)備.

()2022/12/21練習(xí)硬盤屬于(

)2022/12/196.3中斷機(jī)構(gòu)和中斷處理程序中斷的簡介中斷是由于某些事件的出現(xiàn),中止現(xiàn)行進(jìn)程的執(zhí)行,而轉(zhuǎn)去處理出現(xiàn)的事件,中斷事件處理完后,再繼續(xù)運(yùn)行被中止進(jìn)程的過程。在這里引起中斷的事件稱為中斷源。中斷事件通常由硬件發(fā)現(xiàn)中斷的處理對出現(xiàn)的事件進(jìn)行處理的程序稱為中斷處理程序。中斷處理程序是由操作系統(tǒng)處理的,屬于操作系統(tǒng)的組成部分2022/12/216.3中斷機(jī)構(gòu)和中斷處理程序中斷的簡介2022/12/19中斷的簡介2022/12/21中斷的簡介2022/12/19中斷的簡介

2022/12/21中斷的簡介2022/12/19中斷的處理中斷處理過程①測定是否有未響應(yīng)的中斷信號。②保護(hù)被中斷進(jìn)程的CPU環(huán)境。③轉(zhuǎn)入相應(yīng)的設(shè)備處理程序。④中斷處理。⑤恢復(fù)現(xiàn)場,退出中斷。2022/12/21中斷的處理中斷處理過程2022/12/19圖6-10中斷現(xiàn)場保護(hù)示意圖

2022/12/21圖6-10中斷現(xiàn)場保護(hù)示意圖2022/12/19圖6-11中斷處理流程2022/12/21圖6-11中斷處理流程2022/12/196.4設(shè)備驅(qū)動程序設(shè)備處理程序通常又稱為設(shè)備驅(qū)動程序,它是I/O進(jìn)程與設(shè)備控制器之間的通信程序,又由于它常以進(jìn)程的形式存在,所以簡稱之為設(shè)備驅(qū)動進(jìn)程主要任務(wù):接收上層軟件發(fā)來的抽象要求,把它轉(zhuǎn)換為具體要求后,發(fā)送給設(shè)備控制器,啟動設(shè)備去執(zhí)行。也將由設(shè)備控制器發(fā)來的信號傳送給上層軟件。通常,每一類設(shè)備配置一種驅(qū)動程序。2022/12/216.4設(shè)備驅(qū)動程序設(shè)備處理程序通常又稱為設(shè)備驅(qū)動程序,它是設(shè)備驅(qū)動程序的功能和特點設(shè)備驅(qū)動程序的功能一是接收設(shè)備獨立性軟件發(fā)來的命令和參數(shù),把抽象要求轉(zhuǎn)化為具體要求。二是檢查用戶I/O請求的合法性,了解I/O設(shè)備的狀態(tài),傳遞有關(guān)參數(shù),設(shè)置設(shè)備的工作方式。三是發(fā)出I/O命令,啟動分配到的I/O設(shè)備,完成指定的I/O操作。四是及時響應(yīng)由控制器或通道發(fā)來的中斷請求,并根據(jù)其中斷類型調(diào)用相應(yīng)的中斷處理程序進(jìn)行處理。2022/12/21設(shè)備驅(qū)動程序的功能和特點設(shè)備驅(qū)動程序的功能2022/12/設(shè)備驅(qū)動程序的功能和特點設(shè)備驅(qū)動程序的特點一是驅(qū)動程序主要是在請求I/O的進(jìn)程與設(shè)備控制器之間的一個通信程序。二是驅(qū)動程序與I/O設(shè)備的特性密切相關(guān)。三是驅(qū)動程序與I/O控制方式緊密相關(guān)。四是驅(qū)動程序與硬件緊密相關(guān),其部分被固化在ROM中。五是驅(qū)動程序應(yīng)允許可重入六是驅(qū)動程序不允許系統(tǒng)調(diào)用。2022/12/21設(shè)備驅(qū)動程序的功能和特點設(shè)備驅(qū)動程序的特點2022/12/1設(shè)備驅(qū)動程序的功能和特點設(shè)備處理的方式一是為每一類設(shè)備設(shè)置一個進(jìn)程,它專門執(zhí)行這類設(shè)備的I/O操作。二是在整個系統(tǒng)中設(shè)置一個I/O進(jìn)程,專門負(fù)責(zé)對系統(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ū)動程序的功能和特點設(shè)備處理的方式2022/12/19設(shè)備驅(qū)動程序的處理過程主要任務(wù):啟動指定設(shè)備將抽象要求轉(zhuǎn)化為具體要求檢查I/O請求的合法性讀出和檢查設(shè)備的狀態(tài)傳送必要的參數(shù)設(shè)置工作方式啟動I/O設(shè)備2022/12/21設(shè)備驅(qū)動程序的處理過程主要任務(wù):啟動指定設(shè)備2022/12/練習(xí)設(shè)備驅(qū)動程序與()密切相關(guān),如果計算機(jī)中配置有一個光盤,一個軟盤,一個硬盤,此時應(yīng)為它們配置()種外存設(shè)備驅(qū)動程序。如果系統(tǒng)中連接有四個相同的終端設(shè)備,此時應(yīng)為它們配置()個終端設(shè)備驅(qū)動程序2022/12/21練習(xí)設(shè)備驅(qū)動程序與()密切相關(guān),如果計算機(jī)中配置有一個6.4.3對I/O設(shè)備控制方式輪詢的可編程I/O方式I/O中斷方式DMA方式通道方式中斷DMA通道2022/12/216.4.3對I/O設(shè)備控制方式輪詢的可編程I/O方式中1程序I/O方式早期,I/O控制器是OS同硬件之間的接口p(147)。它有兩個寄存器:數(shù)據(jù)緩沖寄存器、控制/狀態(tài)寄存器。狀態(tài)控制寄存器有一個標(biāo)志忙/閑的標(biāo)志位busy。CPU外部設(shè)備控制邏輯電路控制寄存器I/O控制器數(shù)據(jù)寄存器2022/12/211程序I/O方式早期,I/O控制器是OS同硬件之間的接口p工作過程以輸入為例1、把busy置12、反復(fù)測試busy,為1表示輸入機(jī)尚未輸完一個字,處理機(jī)應(yīng)繼續(xù)對該標(biāo)志進(jìn)行測試,轉(zhuǎn)2,為0表示輸入機(jī)已將輸入數(shù)據(jù)送入控制器的數(shù)據(jù)寄存器中,轉(zhuǎn)33、把數(shù)據(jù)從數(shù)據(jù)緩沖區(qū)中讀走,并置busy為1。所謂“程序循環(huán)測試”的數(shù)據(jù)傳輸方式,就是指用戶進(jìn)程使用啟動設(shè)備后,不斷地執(zhí)行測試指令,去測試所啟動設(shè)備的狀態(tài)寄存器。只有在狀態(tài)寄存器出現(xiàn)了所需要的狀態(tài)后,才停止測試工作,完成輸入/輸出。忙----等待方式2022/12/21工作過程以輸入為例2022/12/19

在程序I/O方式中,由于CPU的高速性和I/O設(shè)備的低速性,致使CPU的絕大部分時間都處于等待I/O設(shè)備完成數(shù)據(jù)I/O的循環(huán)測試中,造成對CPU的極大浪費。在該方式中,CPU之所以要不斷地測試I/O設(shè)備的狀態(tài),就是因為在CPU中無中斷機(jī)構(gòu),使I/O設(shè)備無法向CPU報告它已完成了一個字符的輸入操作。2022/12/21在程序I/O方式中,由于CPU的高速2I/O中斷方式I/O控制器能發(fā)中斷。工作過程:1、發(fā)出啟動某設(shè)備的命令,本進(jìn)程(A)變?yōu)榈却隣顟B(tài),轉(zhuǎn)進(jìn)程調(diào)度,調(diào)度另一進(jìn)程B。2、輸入完成時,控制器發(fā)出中斷,中斷B,通過中斷進(jìn)入中斷處理程序。3、在中斷處理程序中把數(shù)據(jù)緩沖寄存器中的數(shù)取走,放入內(nèi)存特定位置M,喚醒等待進(jìn)程A,中斷返回到B的斷點繼續(xù)執(zhí)行。4、在以后的某個時刻O

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論