




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、13/24/2022 第第5 5章章 設(shè)備管理設(shè)備管理 設(shè)備管理是操作系統(tǒng)中最繁雜且與硬件關(guān)系最密切的部分。通過(guò)本章學(xué)習(xí),讀者應(yīng)該掌握以下內(nèi)容:v數(shù)據(jù)傳輸方式v中斷技術(shù)v緩沖技術(shù)v設(shè)備分配技術(shù)v設(shè)備獨(dú)立性v設(shè)備驅(qū)動(dòng)23/24/20225.1. I/O系統(tǒng) 5.2. I/O控制方式 5.3. 緩沖管理 5.4. I/O軟件 5.5. 設(shè)備分配 5.6. 磁盤(pán)存儲(chǔ)器的管理33/24/2022設(shè)備管理的目標(biāo)設(shè)備管理的目標(biāo)n 根據(jù)設(shè)備請(qǐng)求的情況,按照一定的算法,選擇和根據(jù)設(shè)備請(qǐng)求的情況,按照一定的算法,選擇和分配輸入輸出設(shè)備以便進(jìn)行數(shù)據(jù)傳輸操作;分配輸入輸出設(shè)備以便進(jìn)行數(shù)據(jù)傳輸操作;n 控制輸入輸入設(shè)
2、備和控制輸入輸入設(shè)備和CPU或內(nèi)存之間交換數(shù)據(jù),或內(nèi)存之間交換數(shù)據(jù),同時(shí)提高設(shè)備和設(shè)備之間、同時(shí)提高設(shè)備和設(shè)備之間、CPU和設(shè)備之間,以及和設(shè)備之間,以及進(jìn)程和進(jìn)程之間的并行操作度,以使操作系統(tǒng)獲得進(jìn)程和進(jìn)程之間的并行操作度,以使操作系統(tǒng)獲得最佳效率;最佳效率;n 為用戶(hù)提供一個(gè)友好的透明接口,把用戶(hù)和設(shè)備為用戶(hù)提供一個(gè)友好的透明接口,把用戶(hù)和設(shè)備硬件特性分開(kāi),使得用戶(hù)在編制應(yīng)用程序時(shí)不必涉硬件特性分開(kāi),使得用戶(hù)在編制應(yīng)用程序時(shí)不必涉及具體設(shè)備,系統(tǒng)按用戶(hù)要求控制設(shè)備工作。及具體設(shè)備,系統(tǒng)按用戶(hù)要求控制設(shè)備工作。43/24/2022設(shè)備管理功能設(shè)備管理功能設(shè)備分配與回收設(shè)備分配與回收緩沖管理緩
3、沖管理設(shè)備處理設(shè)備處理虛擬設(shè)備虛擬設(shè)備53/24/2022511 I/O設(shè)備設(shè)備 計(jì)算機(jī)系統(tǒng)的外圍設(shè)備包括:顯示器、鍵盤(pán)、紙帶閱讀器、紙帶穿孔機(jī)、打印機(jī)、磁帶、磁盤(pán)、光盤(pán)、激光打印機(jī)、繪圖儀、圖形數(shù)字化儀、鼠標(biāo)器、聲音輸入、聲音輸出設(shè)備以及辦公自動(dòng)化設(shè)備等等,種類(lèi)相當(dāng)繁多,可從不同的角度對(duì)它們進(jìn)行分類(lèi)。 5.1 I/O系統(tǒng)系統(tǒng)63/24/2022n系統(tǒng)設(shè)備:系統(tǒng)設(shè)備:在操作系統(tǒng)生成時(shí)已配置好的的標(biāo)準(zhǔn)設(shè)備。 如:鍵盤(pán)、顯示器、打印機(jī)、磁盤(pán)等。n 用戶(hù)設(shè)備:用戶(hù)設(shè)備:指系統(tǒng)設(shè)備之外的非標(biāo)準(zhǔn)設(shè)備,一般由用戶(hù)提供設(shè)備及其處理程序,并通過(guò)適當(dāng)?shù)氖侄伟阉鼈兗{入系統(tǒng)中,由系統(tǒng)實(shí)施管理。 如:網(wǎng)卡、調(diào)制解調(diào)器
4、、繪圖儀等。 1設(shè)備的從屬關(guān)系分類(lèi)設(shè)備的從屬關(guān)系分類(lèi)73/24/2022n塊設(shè)備:塊設(shè)備:指以數(shù)據(jù)塊為單位存儲(chǔ)和傳輸數(shù)據(jù)的設(shè)備 如磁盤(pán)、磁帶等。n字符設(shè)備:字符設(shè)備:指以單個(gè)字符為單位來(lái)傳送信息的設(shè)備。 如鍵盤(pán)、顯示器、打印機(jī)等。2設(shè)備中的信息交換單位方式分類(lèi)設(shè)備中的信息交換單位方式分類(lèi)83/24/2022n存儲(chǔ)設(shè)備:存儲(chǔ)設(shè)備:它是計(jì)算機(jī)用來(lái)存儲(chǔ)永久性信息的設(shè)備 如,磁帶、磁盤(pán)(軟盤(pán)、硬盤(pán))、光盤(pán)等。n輸入設(shè)備:輸入設(shè)備:將外部信息送給計(jì)算機(jī)的設(shè)備。 如,鍵盤(pán)、鼠標(biāo)、掃描儀、手寫(xiě)筆、數(shù)碼相機(jī)、麥克風(fēng)、游戲手柄等n輸出設(shè)備:輸出設(shè)備:將計(jì)算機(jī)加工后的信息傳送給外界的設(shè)備。 如,顯示器、打印機(jī)、投
5、影儀等。3按設(shè)備的使用特性分類(lèi)按設(shè)備的使用特性分類(lèi)93/24/2022n獨(dú)占設(shè)備獨(dú)占設(shè)備:這類(lèi)設(shè)備在用戶(hù)作業(yè)的整個(gè)運(yùn)行期間必須為此用戶(hù)所占有,即多個(gè)作業(yè)對(duì)某一外設(shè)的訪(fǎng)問(wèn)應(yīng)該是互斥的,一旦系統(tǒng)將這類(lèi)設(shè)備分配給某個(gè)作業(yè),便由該設(shè)備獨(dú)占,直至釋放該資源。 大多數(shù)低速I(mǎi)/O設(shè)備,如用戶(hù)終端、打印機(jī)等n共享設(shè)備共享設(shè)備:指在同一時(shí)間段內(nèi)可以同時(shí)讓幾個(gè)作業(yè)使用的設(shè)備,當(dāng)然,在某一時(shí)刻,該設(shè)備只能為一個(gè)作業(yè)服務(wù)。 適應(yīng)于高速設(shè)備,如磁盤(pán)n虛擬設(shè)備虛擬設(shè)備: :根據(jù)設(shè)備的使用性質(zhì)來(lái)決定一臺(tái)設(shè)備可以分給幾個(gè)進(jìn)程以提高該設(shè)備的使用率。 如虛擬打印機(jī)4按資源分配的角度分類(lèi)按資源分配的角度分類(lèi)103/24/2022n
6、 1、按(、按( )分類(lèi)可將設(shè)備分為塊設(shè)備和字符設(shè)備。)分類(lèi)可將設(shè)備分為塊設(shè)備和字符設(shè)備。 A.從屬關(guān)系從屬關(guān)系 B.操作特性操作特性 C.共享屬性共享屬性 D.信息交換單位信息交換單位 2、大多數(shù)低速設(shè)備都屬于(、大多數(shù)低速設(shè)備都屬于( ) 設(shè)備。設(shè)備。 A獨(dú)占獨(dú)占 B共享共享 C虛擬虛擬 DSpoolingn3、從資源分配的角度看,可以把設(shè)備分為獨(dú)占設(shè)從資源分配的角度看,可以把設(shè)備分為獨(dú)占設(shè)備、共享設(shè)備和備、共享設(shè)備和 虛擬設(shè)備虛擬設(shè)備 ,打印機(jī)屬于,打印機(jī)屬于_ 設(shè)備設(shè)備,而磁盤(pán)屬于而磁盤(pán)屬于_設(shè)備。設(shè)備。113/24/2022 5.1.2 設(shè)備控制器設(shè)備控制器1.設(shè)備控制器的概念設(shè)備控
7、制器的概念 設(shè)備控制器是CPU與外圍設(shè)備之間的接口,是一個(gè)可編址設(shè)備,每一個(gè)地址對(duì)應(yīng)一個(gè)設(shè)備。 它接收從CPU發(fā)來(lái)的命令,并去控制輸入輸出設(shè)備的工作,使CPU從繁雜的設(shè)備控制事務(wù)中解脫出來(lái),提高CPU的使用效率。123/24/20222.作用:作用:接收從CPU發(fā)來(lái)的命令,控制I/O設(shè)備工作3.功能:功能:n接收和識(shí)別命令接收和識(shí)別命令n數(shù)據(jù)交換數(shù)據(jù)交換n地址識(shí)別地址識(shí)別n標(biāo)識(shí)和報(bào)告設(shè)備的狀態(tài)標(biāo)識(shí)和報(bào)告設(shè)備的狀態(tài)n差錯(cuò)控制差錯(cuò)控制133/24/20224.設(shè)備控制器的組成設(shè)備控制器的組成n(1).設(shè)備控制器與處理機(jī)的接口n(2).設(shè)備控制器與設(shè)備的接口n(3).I/O邏輯143/24/2022
8、I/O系統(tǒng)的結(jié)構(gòu)CPU磁盤(pán)控制器磁盤(pán)控制器存儲(chǔ)器存儲(chǔ)器打印機(jī)打印機(jī)控制器控制器其他控制器其他控制器一、微型機(jī)I/O系統(tǒng) :總線(xiàn)結(jié)構(gòu)磁盤(pán)驅(qū)動(dòng)器磁盤(pán)驅(qū)動(dòng)器打印機(jī)打印機(jī)153/24/2022二、主機(jī)系統(tǒng)輸入輸出結(jié)構(gòu)當(dāng)主機(jī)所配置的輸入輸出設(shè)備較多時(shí),特別是配當(dāng)主機(jī)所配置的輸入輸出設(shè)備較多時(shí),特別是配有較多的高速外設(shè)時(shí),采用總線(xiàn)型輸入輸出系統(tǒng)結(jié)構(gòu)有較多的高速外設(shè)時(shí),采用總線(xiàn)型輸入輸出系統(tǒng)結(jié)構(gòu)會(huì)加重會(huì)加重CPUCPU與總線(xiàn)的負(fù)擔(dān)。與總線(xiàn)的負(fù)擔(dān)。 因此,在這樣的輸入輸出系統(tǒng)中不宜采用單總線(xiàn)因此,在這樣的輸入輸出系統(tǒng)中不宜采用單總線(xiàn)結(jié)構(gòu),而是增加一級(jí)輸入輸出通道,用來(lái)代替結(jié)構(gòu),而是增加一級(jí)輸入輸出通道,用來(lái)代
9、替CPUCPU與各與各設(shè)備控制器進(jìn)行通信,實(shí)現(xiàn)對(duì)控制器的控制。設(shè)備控制器進(jìn)行通信,實(shí)現(xiàn)對(duì)控制器的控制。163/24/2022 173/24/20225.1.3 I/O通道通道1、通道的引入、通道的引入 為了提高計(jì)算機(jī)系統(tǒng)的運(yùn)行效率,就要使為了提高計(jì)算機(jī)系統(tǒng)的運(yùn)行效率,就要使CPU擺脫繁忙的擺脫繁忙的I/O事務(wù),而配置專(zhuān)門(mén)處理事務(wù),而配置專(zhuān)門(mén)處理I/O事務(wù)的機(jī)構(gòu)事務(wù)的機(jī)構(gòu)通道。通道。 通道的引入是為了建立獨(dú)立的通道的引入是為了建立獨(dú)立的I/O操作。它不僅要求數(shù)據(jù)操作。它不僅要求數(shù)據(jù)傳送獨(dú)立于傳送獨(dú)立于CPU,而且要求,而且要求I/O操作的組織、管理、結(jié)束等操作的組織、管理、結(jié)束等也盡量獨(dú)立,以保
10、證也盡量獨(dú)立,以保證CPU有更多的時(shí)間從事計(jì)算。這樣就可有更多的時(shí)間從事計(jì)算。這樣就可以實(shí)現(xiàn)以實(shí)現(xiàn)CPU計(jì)算和計(jì)算和I/O操作的并行工作。操作的并行工作。183/24/2022思考題一思考題一n n 什么是通道?什么是通道? 通道有哪些類(lèi)型?通道有哪些類(lèi)型?193/24/20222、I/O通道概念通道概念 通道是一種硬件機(jī)構(gòu),又稱(chēng)通道是一種硬件機(jī)構(gòu),又稱(chēng)I/OI/O處理機(jī)。輸入輸處理機(jī)。輸入輸出通道是指專(zhuān)門(mén)負(fù)責(zé)輸入輸出工作的處理器。出通道是指專(zhuān)門(mén)負(fù)責(zé)輸入輸出工作的處理器。 它有自己的指令系統(tǒng)(包含數(shù)據(jù)傳送指令和設(shè)它有自己的指令系統(tǒng)(包含數(shù)據(jù)傳送指令和設(shè)備控制指令),獨(dú)立執(zhí)行自己的通道程序來(lái)實(shí)現(xiàn)
11、內(nèi)備控制指令),獨(dú)立執(zhí)行自己的通道程序來(lái)實(shí)現(xiàn)內(nèi)存與外設(shè)之間的數(shù)據(jù)傳輸,從而使系統(tǒng)獲得存與外設(shè)之間的數(shù)據(jù)傳輸,從而使系統(tǒng)獲得CPUCPU與與外設(shè)并行處理的能力。外設(shè)并行處理的能力。203/24/2022n3、通道的類(lèi)型、通道的類(lèi)型 根據(jù)信息交換方式的不同,可把通道分成字節(jié)多路通道、數(shù)組多路通道和選擇通道三種。(1)字節(jié)多路通道)字節(jié)多路通道 通常都含有許多非分配型子通道,其數(shù)量可以從幾十通常都含有許多非分配型子通道,其數(shù)量可以從幾十到數(shù)百個(gè),每一個(gè)子通道連接一臺(tái)輸入輸出設(shè)備,這些到數(shù)百個(gè),每一個(gè)子通道連接一臺(tái)輸入輸出設(shè)備,這些子通道按時(shí)間片輪轉(zhuǎn)方式共享主通道。子通道按時(shí)間片輪轉(zhuǎn)方式共享主通道。
12、字節(jié)多路通道字節(jié)多路通道連接低速或中速連接低速或中速設(shè)備時(shí),不會(huì)丟設(shè)備時(shí),不會(huì)丟失信息。失信息。213/24/2022n 選擇通道的數(shù)據(jù)傳送是按成批的方式進(jìn)行的,故傳送速率很高。(2)數(shù)據(jù)選擇通道)數(shù)據(jù)選擇通道選擇通道選擇通道n 它適用于連接高速它適用于連接高速I(mǎi)/O設(shè)備,如磁帶、磁盤(pán)等。設(shè)備,如磁帶、磁盤(pán)等。選擇通道只有一個(gè)分配型子通道,即這個(gè)子通道選擇通道只有一個(gè)分配型子通道,即這個(gè)子通道可以連接多臺(tái)設(shè)備,但每次只能把子通道分配給可以連接多臺(tái)設(shè)備,但每次只能把子通道分配給一臺(tái)設(shè)備使用。一旦分配給某臺(tái)設(shè)備,子通道就一臺(tái)設(shè)備使用。一旦分配給某臺(tái)設(shè)備,子通道就被它獨(dú)占,即使暫時(shí)出現(xiàn)空閑,也不允許
13、其他設(shè)被它獨(dú)占,即使暫時(shí)出現(xiàn)空閑,也不允許其他設(shè)備利用該子通道。直到它被釋放,再選擇另一臺(tái)備利用該子通道。直到它被釋放,再選擇另一臺(tái)設(shè)備為其服務(wù)。因此選擇通道的利用率是很低的。設(shè)備為其服務(wù)。因此選擇通道的利用率是很低的。223/24/2022n 這種通道綜合了字節(jié)多路通道分時(shí)并行工作和選擇通這種通道綜合了字節(jié)多路通道分時(shí)并行工作和選擇通道傳輸速率高的特點(diǎn)。道傳輸速率高的特點(diǎn)。n 它具有多個(gè)非分配型子通道,每個(gè)子通道連接一臺(tái)中、它具有多個(gè)非分配型子通道,每個(gè)子通道連接一臺(tái)中、高速高速I(mǎi)/O設(shè)備,如:磁帶、磁鼓、磁盤(pán)等,因而通道所連設(shè)備,如:磁帶、磁鼓、磁盤(pán)等,因而通道所連接的幾個(gè)設(shè)備可以并行工作
14、。接的幾個(gè)設(shè)備可以并行工作。 n 數(shù)組多路通道技術(shù)相當(dāng)于通道程序的多道程序設(shè)計(jì)技數(shù)組多路通道技術(shù)相當(dāng)于通道程序的多道程序設(shè)計(jì)技術(shù)。術(shù)。(3)數(shù)組多路通道)數(shù)組多路通道233/24/2022 CPU CPU字節(jié)多路通道字節(jié)多路通道 打印機(jī)打印機(jī)1 1 打印機(jī)打印機(jī)2 2 I/O I/O控制器控制器 I/OI/O控制器控制器 內(nèi)存內(nèi)存 選擇通道選擇通道 成組多路通道成組多路通道 磁盤(pán)磁盤(pán) I/OI/O控制控制器器 磁盤(pán)磁盤(pán) I/OI/O控制控制器器 I/O控控 制器制器 I/O I/O 控制器控制器 磁帶磁帶 磁帶磁帶 存在這三種通道的計(jì)算機(jī)系統(tǒng)的各硬件的連接關(guān)系如圖所示:243/24/2022思
15、考題二思考題二 設(shè)備管理中,什么是設(shè)備管理中,什么是“瓶頸瓶頸”現(xiàn)象?現(xiàn)象? 如何解決?如何解決?253/24/2022n 通道命令和通道程序通道命令和通道程序 通道有自己的指令系統(tǒng),為了與通道有自己的指令系統(tǒng),為了與CPU的指令的指令相區(qū)別,通道的指令被稱(chēng)為相區(qū)別,通道的指令被稱(chēng)為“通道命令字通道命令字”。通道。通道命令字條數(shù)不多,主要涉及控制、轉(zhuǎn)移、讀、寫(xiě)命令字條數(shù)不多,主要涉及控制、轉(zhuǎn)移、讀、寫(xiě)及查詢(xún)等功能。及查詢(xún)等功能。0 7 8 31 32 47 48 63 每條通道命令由四個(gè)字段組成:每條通道命令由四個(gè)字段組成: (1) 操作碼操作碼(07): 表示通道要執(zhí)行的命令;表示通道要執(zhí)行
16、的命令; (2) 數(shù)據(jù)主存始址:數(shù)據(jù)主存始址: 表示本命令要訪(fǎng)問(wèn)的主存數(shù)據(jù)區(qū)的表示本命令要訪(fǎng)問(wèn)的主存數(shù)據(jù)區(qū)的起始地址;起始地址; (3) 特征位特征位(3247, 只使用了只使用了 3236 位,位, 其余未用其余未用): 3739 位必須置位必須置 0,否則認(rèn)為通道命令錯(cuò)。,否則認(rèn)為通道命令錯(cuò)。 263/24/2022n 通道程序存放在內(nèi)存中,由通道程序存放在內(nèi)存中,由I/O指令啟動(dòng)執(zhí)行。指令啟動(dòng)執(zhí)行。用戶(hù)請(qǐng)求用戶(hù)請(qǐng)求I/O時(shí),時(shí),CPU對(duì)通道的通信是向通道發(fā)出對(duì)通道的通信是向通道發(fā)出查詢(xún)、啟動(dòng)和停止通道程序工作,而通道向查詢(xún)、啟動(dòng)和停止通道程序工作,而通道向CPU的的通信則采用中斷方式。其
17、執(zhí)行過(guò)程如圖所示。通信則采用中斷方式。其執(zhí)行過(guò)程如圖所示。273/24/2022用戶(hù)用戶(hù)I/OI/O請(qǐng)求請(qǐng)求 查詢(xún)?cè)O(shè)備忙查詢(xún)?cè)O(shè)備忙閑?閑? 調(diào)用通道程序調(diào)用通道程序 執(zhí)行通道程序執(zhí)行通道程序 I/OI/O操作完成,操作完成,發(fā)中斷請(qǐng)求發(fā)中斷請(qǐng)求 CPUCPU響應(yīng)中斷,進(jìn)行結(jié)束響應(yīng)中斷,進(jìn)行結(jié)束處理處理 以以I/OI/O指令啟動(dòng)通道指令啟動(dòng)通道 結(jié)束通道工作結(jié)束通道工作 進(jìn)入設(shè)備請(qǐng)求隊(duì)進(jìn)入設(shè)備請(qǐng)求隊(duì)列,等待列,等待 忙忙 不忙不忙 通道程序的執(zhí)行過(guò)程通道程序的執(zhí)行過(guò)程 283/24/2022n5、通道工作過(guò)程、通道工作過(guò)程 (1) 當(dāng)進(jìn)程有當(dāng)進(jìn)程有I/O請(qǐng)求時(shí),系統(tǒng)首先查詢(xún)?cè)O(shè)備狀請(qǐng)求時(shí),系統(tǒng)首先
18、查詢(xún)?cè)O(shè)備狀態(tài)。若忙,進(jìn)程進(jìn)入設(shè)備請(qǐng)求隊(duì)列等待;若閑,態(tài)。若忙,進(jìn)程進(jìn)入設(shè)備請(qǐng)求隊(duì)列等待;若閑,CPU發(fā)指令指明發(fā)指令指明I/O操作、設(shè)備號(hào)和對(duì)應(yīng)通道。操作、設(shè)備號(hào)和對(duì)應(yīng)通道。 (2) 對(duì)應(yīng)通道收到對(duì)應(yīng)通道收到CPU發(fā)來(lái)的啟動(dòng)指令后,讀發(fā)來(lái)的啟動(dòng)指令后,讀出內(nèi)存中的通道指令程序、設(shè)置對(duì)應(yīng)設(shè)備的控制狀出內(nèi)存中的通道指令程序、設(shè)置對(duì)應(yīng)設(shè)備的控制狀態(tài)寄存器的初值。態(tài)寄存器的初值。 (3) 設(shè)備按通道指令的求,把數(shù)據(jù)送往內(nèi)存指設(shè)備按通道指令的求,把數(shù)據(jù)送往內(nèi)存指定區(qū)域。定區(qū)域。 (4) 若傳送結(jié)束,若傳送結(jié)束,I/O控制器通過(guò)中斷請(qǐng)求線(xiàn)發(fā)控制器通過(guò)中斷請(qǐng)求線(xiàn)發(fā)中斷信號(hào)請(qǐng)求中斷信號(hào)請(qǐng)求CPU做中斷處理。做
19、中斷處理。 (5) 中斷處理結(jié)束后,中斷處理結(jié)束后,CPU返回到被中斷進(jìn)程返回到被中斷進(jìn)程處繼續(xù)執(zhí)行。處繼續(xù)執(zhí)行。 (6) 當(dāng)進(jìn)程調(diào)度程序選中這個(gè)已得到數(shù)據(jù)的進(jìn)當(dāng)進(jìn)程調(diào)度程序選中這個(gè)已得到數(shù)據(jù)的進(jìn)程后,才能進(jìn)行加工處理。程后,才能進(jìn)行加工處理。293/24/2022思考題三思考題三 n通道的作用是什么?通道的作用是什么? 通道是一個(gè)獨(dú)立于通道是一個(gè)獨(dú)立于CPU的專(zhuān)管輸入的專(zhuān)管輸入/輸出控制的處理輸出控制的處理器,它控制內(nèi)存與外部設(shè)備直接進(jìn)行數(shù)據(jù)交換。器,它控制內(nèi)存與外部設(shè)備直接進(jìn)行數(shù)據(jù)交換。 它有自己的通道指令,這些通道指令受它有自己的通道指令,這些通道指令受CPU啟動(dòng),啟動(dòng),并在操作結(jié)束時(shí)向
20、并在操作結(jié)束時(shí)向 CPU發(fā)中斷信號(hào)。發(fā)中斷信號(hào)。 通道方式進(jìn)一步減輕了通道方式進(jìn)一步減輕了CPU的工作負(fù)擔(dān),增加了計(jì)算的工作負(fù)擔(dān),增加了計(jì)算機(jī)系統(tǒng)的并行工作程度。機(jī)系統(tǒng)的并行工作程度。 303/24/20225.1.4 總線(xiàn)系統(tǒng)總線(xiàn)系統(tǒng)n1、總線(xiàn)基本概念、總線(xiàn)基本概念 在計(jì)算機(jī)系統(tǒng)內(nèi)各種子系統(tǒng),如在計(jì)算機(jī)系統(tǒng)內(nèi)各種子系統(tǒng),如CPU、內(nèi)存、內(nèi)存、I/O設(shè)備等之間,構(gòu)建公用的信號(hào)或數(shù)據(jù)傳輸通道設(shè)備等之間,構(gòu)建公用的信號(hào)或數(shù)據(jù)傳輸通道 這種可共享的傳輸通道稱(chēng)為總線(xiàn)。這種可共享的傳輸通道稱(chēng)為總線(xiàn)。313/24/2022n2、總線(xiàn)的分類(lèi)、總線(xiàn)的分類(lèi)323/24/2022n 當(dāng)用戶(hù)進(jìn)程通過(guò)系統(tǒng)調(diào)用提出當(dāng)用
21、戶(hù)進(jìn)程通過(guò)系統(tǒng)調(diào)用提出I/O請(qǐng)求時(shí),從請(qǐng)求時(shí),從系統(tǒng)響應(yīng)此請(qǐng)求開(kāi)始,至系統(tǒng)完成用戶(hù)要求的系統(tǒng)響應(yīng)此請(qǐng)求開(kāi)始,至系統(tǒng)完成用戶(hù)要求的I/O操作,并喚醒相應(yīng)的等待操作,并喚醒相應(yīng)的等待I/O完成的進(jìn)程為止,完成的進(jìn)程為止,這整個(gè)過(guò)程稱(chēng)為這整個(gè)過(guò)程稱(chēng)為I/O控制過(guò)程。控制過(guò)程。52 I/O控制方式控制方式333/24/2022nI/O控制過(guò)程包括以下步驟:控制過(guò)程包括以下步驟:n (1)響應(yīng))響應(yīng)I/O請(qǐng)求,為在具體物理設(shè)備上進(jìn)行請(qǐng)求,為在具體物理設(shè)備上進(jìn)行I/O操操作做準(zhǔn)備。包括將邏輯設(shè)備名轉(zhuǎn)換為物理設(shè)備名(設(shè)作做準(zhǔn)備。包括將邏輯設(shè)備名轉(zhuǎn)換為物理設(shè)備名(設(shè)備分配)、備分配)、I/O請(qǐng)求的合法性等。請(qǐng)
22、求的合法性等。n (2)設(shè)備驅(qū)動(dòng),控制設(shè)備完成)設(shè)備驅(qū)動(dòng),控制設(shè)備完成I/O操作,對(duì)每類(lèi)設(shè)操作,對(duì)每類(lèi)設(shè)備分別設(shè)置不同的設(shè)備驅(qū)動(dòng)程序。備分別設(shè)置不同的設(shè)備驅(qū)動(dòng)程序。n (3)中斷處理,)中斷處理,I/O操作完成之后,設(shè)備控制器向操作完成之后,設(shè)備控制器向CPU發(fā)送中斷信號(hào),發(fā)送中斷信號(hào),CPU響應(yīng)后轉(zhuǎn)向相應(yīng)的中斷處理響應(yīng)后轉(zhuǎn)向相應(yīng)的中斷處理程序進(jìn)行善后處理。程序進(jìn)行善后處理。343/24/2022nI/O操作的控制方式一般有四種:操作的控制方式一般有四種:u查詢(xún)方式查詢(xún)方式u中斷方式中斷方式u直接內(nèi)存存取方式直接內(nèi)存存取方式u通道方式通道方式 它們的主要差別在于處理器和外它們的主要差別在于處理
23、器和外設(shè)并行工作的方式和程度的不同。設(shè)并行工作的方式和程度的不同。353/24/2022n查詢(xún)方式是最簡(jiǎn)單的查詢(xún)方式是最簡(jiǎn)單的I/O控制方式??刂品绞?。n在設(shè)備控制器中有兩個(gè)寄存器,一個(gè)是在設(shè)備控制器中有兩個(gè)寄存器,一個(gè)是狀態(tài)寄存器狀態(tài)寄存器,由其中的一個(gè)狀態(tài)位的值反映設(shè)備的忙或閑;另一由其中的一個(gè)狀態(tài)位的值反映設(shè)備的忙或閑;另一個(gè)是個(gè)是數(shù)據(jù)緩沖寄存器數(shù)據(jù)緩沖寄存器。n當(dāng)設(shè)備啟動(dòng)時(shí),狀態(tài)寄存器的啟動(dòng)位為當(dāng)設(shè)備啟動(dòng)時(shí),狀態(tài)寄存器的啟動(dòng)位為1,此時(shí)外,此時(shí)外設(shè)把數(shù)據(jù)送往數(shù)據(jù)緩沖寄存器,并將狀態(tài)寄存器的設(shè)把數(shù)據(jù)送往數(shù)據(jù)緩沖寄存器,并將狀態(tài)寄存器的狀態(tài)位置狀態(tài)位置1。nCPU執(zhí)行完一條指令后就測(cè)試狀態(tài)
24、位,如果為執(zhí)行完一條指令后就測(cè)試狀態(tài)位,如果為1,就把數(shù)據(jù)寄存器中的數(shù)據(jù)取到內(nèi)存;若狀態(tài)位為就把數(shù)據(jù)寄存器中的數(shù)據(jù)取到內(nèi)存;若狀態(tài)位為0,則再測(cè)試,直到狀態(tài)寄存器的狀態(tài)位為則再測(cè)試,直到狀態(tài)寄存器的狀態(tài)位為1,然后再,然后再讀取數(shù)據(jù)。所以此種方式也讀取數(shù)據(jù)。所以此種方式也稱(chēng)稱(chēng)循環(huán)測(cè)試循環(huán)測(cè)試I/O方式方式521 查詢(xún)方式查詢(xún)方式363/24/2022就緒向設(shè)備控制器發(fā)讀命令讀設(shè)備控制器的狀態(tài)檢查狀態(tài)從設(shè)備控制器中讀入字向存儲(chǔ)器中寫(xiě)字傳送完成CPU-I/OCPU-內(nèi)存I/O - CPU出錯(cuò)I/O - CPU完成下條指令未完成未就緒373/24/2022n步驟:步驟:n (1) 當(dāng)用戶(hù)需要輸入數(shù)據(jù)
25、時(shí),由處理器向設(shè)備當(dāng)用戶(hù)需要輸入數(shù)據(jù)時(shí),由處理器向設(shè)備控制器發(fā)出一條輸入輸出指令,啟動(dòng)設(shè)備進(jìn)行輸入控制器發(fā)出一條輸入輸出指令,啟動(dòng)設(shè)備進(jìn)行輸入n (2) 當(dāng)用戶(hù)進(jìn)程需要向設(shè)備輸出數(shù)據(jù)時(shí),也必須當(dāng)用戶(hù)進(jìn)程需要向設(shè)備輸出數(shù)據(jù)時(shí),也必須同樣發(fā)出啟動(dòng)命令啟動(dòng)設(shè)備輸出,并等待輸出操作同樣發(fā)出啟動(dòng)命令啟動(dòng)設(shè)備輸出,并等待輸出操作完成。完成。n特點(diǎn):特點(diǎn): 工作過(guò)程簡(jiǎn)單,工作過(guò)程簡(jiǎn)單,CPU的利用率低。在要求不的利用率低。在要求不高的場(chǎng)合下常被采用,而且不能支持多道程序。程高的場(chǎng)合下常被采用,而且不能支持多道程序。程序直接控制方式適用于早期的無(wú)中斷的計(jì)算機(jī)系統(tǒng)。序直接控制方式適用于早期的無(wú)中斷的計(jì)算機(jī)系統(tǒng)。
26、383/24/2022n 查詢(xún)方式是主機(jī)向外設(shè)詢(xún)問(wèn),而引入中斷查詢(xún)方式是主機(jī)向外設(shè)詢(xún)問(wèn),而引入中斷后,每當(dāng)設(shè)備完成后,每當(dāng)設(shè)備完成I/O操作,它便以中斷請(qǐng)求方操作,它便以中斷請(qǐng)求方式主動(dòng)向式主動(dòng)向CPU匯報(bào)。匯報(bào)。n 因此,因此,CPU一旦啟動(dòng)一旦啟動(dòng)I/O設(shè)備后便可轉(zhuǎn)去處理設(shè)備后便可轉(zhuǎn)去處理其他程序,僅在接到其他程序,僅在接到I/O中斷信息請(qǐng)求時(shí)才花費(fèi)中斷信息請(qǐng)求時(shí)才花費(fèi)極少時(shí)間去處理。極少時(shí)間去處理。 522 中斷方式中斷方式393/24/2022n1、中斷概念、中斷概念 所謂中斷,是指處理機(jī)在執(zhí)行進(jìn)程的過(guò)程中所謂中斷,是指處理機(jī)在執(zhí)行進(jìn)程的過(guò)程中, 由由于某些事件的出現(xiàn)于某些事件的出現(xiàn),
27、 中止當(dāng)前進(jìn)程的運(yùn)行中止當(dāng)前進(jìn)程的運(yùn)行, 轉(zhuǎn)而去處轉(zhuǎn)而去處理出現(xiàn)的事件理出現(xiàn)的事件, 待處理完畢后返回原來(lái)被中斷處繼待處理完畢后返回原來(lái)被中斷處繼續(xù)執(zhí)行或調(diào)度其他進(jìn)程執(zhí)行。續(xù)執(zhí)行或調(diào)度其他進(jìn)程執(zhí)行。2、中斷源、中斷源 引起中斷的事件稱(chēng)為中斷源。引起中斷的事件稱(chēng)為中斷源。 (1)強(qiáng)迫性中斷源)強(qiáng)迫性中斷源 硬件故障、程序性錯(cuò)誤、外部事件、硬件故障、程序性錯(cuò)誤、外部事件、I/O中斷事件中斷事件(2)自愿性中斷源)自愿性中斷源403/24/2022n3、步驟、步驟 (1)進(jìn)程需要數(shù)據(jù)時(shí),將允許啟動(dòng)和允許中斷的)進(jìn)程需要數(shù)據(jù)時(shí),將允許啟動(dòng)和允許中斷的控制字寫(xiě)入設(shè)備控制狀態(tài)寄存器中,啟動(dòng)該設(shè)備進(jìn)控制字寫(xiě)
28、入設(shè)備控制狀態(tài)寄存器中,啟動(dòng)該設(shè)備進(jìn)行輸入操作。行輸入操作。 (2)該進(jìn)程放棄處理機(jī),等待輸入的完成。操作)該進(jìn)程放棄處理機(jī),等待輸入的完成。操作系統(tǒng)進(jìn)程調(diào)度程序調(diào)度其他就緒進(jìn)程占用處理機(jī)。系統(tǒng)進(jìn)程調(diào)度程序調(diào)度其他就緒進(jìn)程占用處理機(jī)。 (3)當(dāng)輸入完成時(shí),輸入設(shè)備通過(guò)中斷請(qǐng)求線(xiàn)向)當(dāng)輸入完成時(shí),輸入設(shè)備通過(guò)中斷請(qǐng)求線(xiàn)向CPU發(fā)出中斷請(qǐng)求信號(hào)。發(fā)出中斷請(qǐng)求信號(hào)。CPU在接收到中斷信號(hào)之在接收到中斷信號(hào)之后,轉(zhuǎn)向中斷處理程序。后,轉(zhuǎn)向中斷處理程序。 (4)中斷處理程序首先保護(hù)現(xiàn)場(chǎng),然后把輸入緩)中斷處理程序首先保護(hù)現(xiàn)場(chǎng),然后把輸入緩沖寄存器中的數(shù)據(jù)傳送到某一特定單元中去,同時(shí)沖寄存器中的數(shù)據(jù)傳送到
29、某一特定單元中去,同時(shí)將等待輸入完成的那個(gè)進(jìn)程喚醒,進(jìn)入就緒狀態(tài),將等待輸入完成的那個(gè)進(jìn)程喚醒,進(jìn)入就緒狀態(tài),最后恢復(fù)現(xiàn)場(chǎng),并返回到被中斷的進(jìn)程繼續(xù)執(zhí)行。最后恢復(fù)現(xiàn)場(chǎng),并返回到被中斷的進(jìn)程繼續(xù)執(zhí)行。 (5)在以后的某一時(shí)刻,操作系統(tǒng)進(jìn)程調(diào)度程序)在以后的某一時(shí)刻,操作系統(tǒng)進(jìn)程調(diào)度程序選中提出的請(qǐng)求并得到獲取數(shù)據(jù)的進(jìn)程,該進(jìn)程從選中提出的請(qǐng)求并得到獲取數(shù)據(jù)的進(jìn)程,該進(jìn)程從約定的內(nèi)存特定單元中取出數(shù)據(jù)繼續(xù)工作約定的內(nèi)存特定單元中取出數(shù)據(jù)繼續(xù)工作413/24/2022向設(shè)備控制器發(fā)讀命令讀設(shè)備控制器的狀態(tài)檢查狀態(tài)從設(shè)備控制器中讀入字向存儲(chǔ)器中寫(xiě)字傳送完成完成下條指令CPU-I/OCPU-內(nèi)存I/O
30、- CPU出錯(cuò)I/O - CPU未完成CPU做其他中斷423/24/2022n例如,打印機(jī)每打一行需要例如,打印機(jī)每打一行需要60ms,在查詢(xún)方式,在查詢(xún)方式中,大約有中,大約有59.99ms,CPU都處于循環(huán)等待中,都處于循環(huán)等待中,而以中斷方式處理的話(huà),而以中斷方式處理的話(huà),CPU僅花費(fèi)僅花費(fèi)0.1ms時(shí)間時(shí)間來(lái)處理來(lái)處理I/O設(shè)備發(fā)來(lái)的中斷,其余的設(shè)備發(fā)來(lái)的中斷,其余的59.99ms都都可以用來(lái)做別的事情。所以中斷方式比查詢(xún)方式可以用來(lái)做別的事情。所以中斷方式比查詢(xún)方式節(jié)省節(jié)省CPU的時(shí)間。的時(shí)間。433/24/2022n 中斷方式的方法是當(dāng)設(shè)備完成中斷方式的方法是當(dāng)設(shè)備完成I/O操作后
31、,主操作后,主動(dòng)向動(dòng)向CPU報(bào)告,報(bào)告,CPU只用少量時(shí)間處理只用少量時(shí)間處理I/O中斷,中斷,并將數(shù)據(jù)取回。并將數(shù)據(jù)取回。n 在多道程序中的環(huán)境下,一個(gè)程序或進(jìn)程啟在多道程序中的環(huán)境下,一個(gè)程序或進(jìn)程啟動(dòng)動(dòng)I/O設(shè)備并允許中斷后,不是自己主動(dòng)去執(zhí)行別設(shè)備并允許中斷后,不是自己主動(dòng)去執(zhí)行別的程序或繼續(xù)執(zhí)行主流程,而是應(yīng)當(dāng)把自己掛起,的程序或繼續(xù)執(zhí)行主流程,而是應(yīng)當(dāng)把自己掛起,控制權(quán)交還給進(jìn)程調(diào)度程序。在中斷處理程序中,控制權(quán)交還給進(jìn)程調(diào)度程序。在中斷處理程序中,完成指定的完成指定的I/O操作之后應(yīng)把等待此結(jié)果的進(jìn)程喚操作之后應(yīng)把等待此結(jié)果的進(jìn)程喚醒,而后由進(jìn)程調(diào)度程序在適當(dāng)時(shí)機(jī)把此進(jìn)程投醒,而
32、后由進(jìn)程調(diào)度程序在適當(dāng)時(shí)機(jī)把此進(jìn)程投入運(yùn)行。入運(yùn)行。443/24/2022l 某進(jìn)程某進(jìn)程 其他進(jìn)程其他進(jìn)程輸入中斷處理輸入中斷處理 中斷中斷 調(diào)度調(diào)度 調(diào)度調(diào)度喚醒喚醒l啟動(dòng)啟動(dòng)I/OI/O并允許并允許中斷中斷 阻塞等待阻塞等待 處理輸入的數(shù)據(jù)處理輸入的數(shù)據(jù) 保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng) 輸入處理輸入處理 喚醒等待進(jìn)程喚醒等待進(jìn)程 恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng) 多道多道程序程序下的下的中斷中斷處理處理方式方式453/24/2022n4、特點(diǎn)、特點(diǎn) 中斷控制方式比程序直接控制方式提高了中斷控制方式比程序直接控制方式提高了CPU的的利用率。每輸入輸出一個(gè)數(shù)據(jù)都會(huì)發(fā)生中斷,傳輸利用率。每輸入輸出一個(gè)數(shù)據(jù)都會(huì)發(fā)生中斷,傳輸
33、一組數(shù)據(jù)需要多次中斷,浪費(fèi)了一組數(shù)據(jù)需要多次中斷,浪費(fèi)了CPU的處理時(shí)間。的處理時(shí)間。中斷控制方式應(yīng)用于現(xiàn)代計(jì)算機(jī)系統(tǒng)中。中斷控制方式應(yīng)用于現(xiàn)代計(jì)算機(jī)系統(tǒng)中。463/24/2022n1、DMA控制方式的引入控制方式的引入 引入的原因:引入的原因:中斷處理方式提高了主機(jī)的利中斷處理方式提高了主機(jī)的利用率,但是每次中斷都要保存現(xiàn)場(chǎng)信息,恢復(fù)現(xiàn)用率,但是每次中斷都要保存現(xiàn)場(chǎng)信息,恢復(fù)現(xiàn)場(chǎng)等,仍占用場(chǎng)等,仍占用CPU時(shí)間。在傳送數(shù)據(jù)量大、速度時(shí)間。在傳送數(shù)據(jù)量大、速度高的情況下,中斷方式就不適應(yīng)了。高的情況下,中斷方式就不適應(yīng)了。 為了進(jìn)一步減少為了進(jìn)一步減少CPU對(duì)外設(shè)操作干預(yù)而引入對(duì)外設(shè)操作干預(yù)而
34、引入直接存儲(chǔ)器訪(fǎng)問(wèn)方式。直接存儲(chǔ)器訪(fǎng)問(wèn)方式。 523 直接內(nèi)存存取方式直接內(nèi)存存取方式473/24/20222、DMA控制方式控制方式n 是指對(duì)是指對(duì)I/O設(shè)備的控制由設(shè)備的控制由DMA控制器完成,在控制器完成,在DMA控制器的作用下,設(shè)備和主存之間可以成控制器的作用下,設(shè)備和主存之間可以成批地進(jìn)行數(shù)據(jù)交換,而不用批地進(jìn)行數(shù)據(jù)交換,而不用CPU的干涉。的干涉。 523 直接內(nèi)存存取方式直接內(nèi)存存取方式483/24/20223 3、DMADMA控制器的組成控制器的組成: : DMA控制器的組成控制器的組成命令命令控制器與設(shè)備接口控制器與設(shè)備接口主機(jī)主機(jī)控制器接口控制器接口內(nèi)存內(nèi)存CPU系統(tǒng)總線(xiàn)系
35、統(tǒng)總線(xiàn)I/O控制控制邏輯邏輯CRMARDCDRcount493/24/2022n4、DMA工作步驟工作步驟:u 當(dāng)進(jìn)程要求設(shè)備輸入一批數(shù)據(jù)時(shí),當(dāng)進(jìn)程要求設(shè)備輸入一批數(shù)據(jù)時(shí),CPU將設(shè)備存將設(shè)備存放輸入數(shù)據(jù)的內(nèi)存始址以及要傳送的字節(jié)數(shù)分別送入放輸入數(shù)據(jù)的內(nèi)存始址以及要傳送的字節(jié)數(shù)分別送入DMA控制器中的地址寄存器和傳送字節(jié)計(jì)數(shù)器;另外,控制器中的地址寄存器和傳送字節(jié)計(jì)數(shù)器;另外,還要將中斷位和啟動(dòng)位置為還要將中斷位和啟動(dòng)位置為1,以啟動(dòng)設(shè)備開(kāi)始進(jìn)行數(shù),以啟動(dòng)設(shè)備開(kāi)始進(jìn)行數(shù)據(jù)輸入并允許中斷。據(jù)輸入并允許中斷。u 發(fā)出數(shù)據(jù)要求的進(jìn)程進(jìn)入等待狀態(tài),進(jìn)程調(diào)度程發(fā)出數(shù)據(jù)要求的進(jìn)程進(jìn)入等待狀態(tài),進(jìn)程調(diào)度程序
36、調(diào)度其他進(jìn)程占據(jù)序調(diào)度其他進(jìn)程占據(jù)CPU。u 輸入設(shè)備不斷地挪用輸入設(shè)備不斷地挪用CPU工作周期,將數(shù)據(jù)寄存工作周期,將數(shù)據(jù)寄存器中的數(shù)據(jù)源源不斷地寫(xiě)入內(nèi)存,直到所要求的字節(jié)全器中的數(shù)據(jù)源源不斷地寫(xiě)入內(nèi)存,直到所要求的字節(jié)全部傳送完畢。部傳送完畢。u DMA控制器在傳送字節(jié)數(shù)完成時(shí),通過(guò)中斷請(qǐng)求控制器在傳送字節(jié)數(shù)完成時(shí),通過(guò)中斷請(qǐng)求線(xiàn)發(fā)出中斷信號(hào),線(xiàn)發(fā)出中斷信號(hào),CPU收到中斷信號(hào)后轉(zhuǎn)中斷處理程序,收到中斷信號(hào)后轉(zhuǎn)中斷處理程序,喚醒等待輸入完成的進(jìn)程,并返回被中斷的程序。喚醒等待輸入完成的進(jìn)程,并返回被中斷的程序。u 在以后的某個(gè)時(shí)刻,進(jìn)程調(diào)度程序選中提出請(qǐng)求輸在以后的某個(gè)時(shí)刻,進(jìn)程調(diào)度程序選
37、中提出請(qǐng)求輸入的進(jìn)程,該進(jìn)程從指定的內(nèi)存始址取出數(shù)據(jù)做進(jìn)一步入的進(jìn)程,該進(jìn)程從指定的內(nèi)存始址取出數(shù)據(jù)做進(jìn)一步處理。處理。503/24/2022CPU向控制器發(fā)出啟動(dòng)向控制器發(fā)出啟動(dòng)DMA通知和有關(guān)參數(shù)通知和有關(guān)參數(shù)控制器向內(nèi)存發(fā)出詢(xún)問(wèn)請(qǐng)求控制器向內(nèi)存發(fā)出詢(xún)問(wèn)請(qǐng)求訪(fǎng)問(wèn)內(nèi)存(讀、寫(xiě))訪(fǎng)問(wèn)內(nèi)存(讀、寫(xiě))計(jì)數(shù)器減計(jì)數(shù)器減1結(jié)束否結(jié)束否發(fā)中斷發(fā)中斷NYDMA的實(shí)現(xiàn)流程的實(shí)現(xiàn)流程513/24/2022n5、DMA方式方式特點(diǎn)特點(diǎn): (1) 數(shù)據(jù)傳送的基本單位是數(shù)據(jù)塊;數(shù)據(jù)傳送的基本單位是數(shù)據(jù)塊; (2) 所傳送的數(shù)據(jù)是從設(shè)備直接送入內(nèi)存,所傳送的數(shù)據(jù)是從設(shè)備直接送入內(nèi)存,或者相反;或者相反; (3) 僅在
38、傳送一個(gè)或多個(gè)數(shù)據(jù)塊的開(kāi)始和結(jié)僅在傳送一個(gè)或多個(gè)數(shù)據(jù)塊的開(kāi)始和結(jié)束時(shí),才需中斷束時(shí),才需中斷CPU,請(qǐng)求干預(yù),整塊數(shù)據(jù)的傳,請(qǐng)求干預(yù),整塊數(shù)據(jù)的傳送是在送是在DMA控制器控制下完成的??刂破骺刂葡峦瓿傻?。n 缺點(diǎn)缺點(diǎn): DMA方式只能完成簡(jiǎn)單的數(shù)據(jù)傳送、計(jì)數(shù)、內(nèi)方式只能完成簡(jiǎn)單的數(shù)據(jù)傳送、計(jì)數(shù)、內(nèi)存地址加存地址加1或減或減1等操作,不能滿(mǎn)足復(fù)雜的等操作,不能滿(mǎn)足復(fù)雜的I/O操操作要求。作要求。 523/24/20226、DMA方式與中斷的主要區(qū)別方式與中斷的主要區(qū)別n (1) 中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿(mǎn)后,發(fā)中斷方式是在數(shù)據(jù)緩沖寄存區(qū)滿(mǎn)后,發(fā)中斷請(qǐng)求,中斷請(qǐng)求,CPU進(jìn)行中斷處理;進(jìn)行中斷處
39、理; DMA方式則是在所要求傳送的數(shù)據(jù)塊全部傳方式則是在所要求傳送的數(shù)據(jù)塊全部傳送結(jié)束時(shí)要求送結(jié)束時(shí)要求CPU進(jìn)行中斷處理,大大減少了進(jìn)行中斷處理,大大減少了CPU進(jìn)行中斷處理的次數(shù)。進(jìn)行中斷處理的次數(shù)。n (2) 中斷方式的數(shù)據(jù)傳送是由中斷方式的數(shù)據(jù)傳送是由CPU控制完成控制完成的;的; DMA方式則是在方式則是在DMA控制器的控制下不經(jīng)過(guò)控制器的控制下不經(jīng)過(guò)CPU控制完成的。控制完成的。533/24/20225.2.4 I/O通道控制方式通道控制方式n1、概念、概念 通道控制方式是一種以主存為中心,是設(shè)備與通道控制方式是一種以主存為中心,是設(shè)備與主存直接交換數(shù)據(jù)的控制方式。主存直接交換數(shù)據(jù)
40、的控制方式。 CPU只需要發(fā)出啟動(dòng)指令,指出通道相應(yīng)的操只需要發(fā)出啟動(dòng)指令,指出通道相應(yīng)的操作和輸入輸出設(shè)備,該指令就可以啟動(dòng)通道并使該作和輸入輸出設(shè)備,該指令就可以啟動(dòng)通道并使該通道從主存中調(diào)出相應(yīng)的通道指令執(zhí)行,完成一組通道從主存中調(diào)出相應(yīng)的通道指令執(zhí)行,完成一組數(shù)據(jù)塊的輸入數(shù)據(jù)塊的輸入/輸出。輸出。 543/24/2022n2、通道控制方式步驟、通道控制方式步驟 (1)當(dāng)進(jìn)程要求設(shè)備輸入時(shí),)當(dāng)進(jìn)程要求設(shè)備輸入時(shí),CPU發(fā)指令指明發(fā)指令指明I/O操作、設(shè)備號(hào)和對(duì)應(yīng)通道。操作、設(shè)備號(hào)和對(duì)應(yīng)通道。 (2)對(duì)應(yīng)通道收到)對(duì)應(yīng)通道收到CPU發(fā)來(lái)的啟動(dòng)指令后,讀出發(fā)來(lái)的啟動(dòng)指令后,讀出內(nèi)存中的通道
41、指令程序、設(shè)置對(duì)應(yīng)設(shè)備的控制狀態(tài)內(nèi)存中的通道指令程序、設(shè)置對(duì)應(yīng)設(shè)備的控制狀態(tài)寄存器的初值。寄存器的初值。 (3)設(shè)備按通道指令的要求,把數(shù)據(jù)送往內(nèi)存指)設(shè)備按通道指令的要求,把數(shù)據(jù)送往內(nèi)存指定區(qū)域。定區(qū)域。 (4)若傳送結(jié)束,)若傳送結(jié)束,I/O控制器通過(guò)中斷請(qǐng)求線(xiàn)發(fā)控制器通過(guò)中斷請(qǐng)求線(xiàn)發(fā)中斷信號(hào)請(qǐng)求中斷信號(hào)請(qǐng)求CPU做中斷處理。做中斷處理。 (5)中斷處理結(jié)束后,)中斷處理結(jié)束后,CPU返回到被中斷進(jìn)程返回到被中斷進(jìn)程處繼續(xù)執(zhí)行。處繼續(xù)執(zhí)行。 (6)當(dāng)進(jìn)程調(diào)度程序選中這個(gè)已得到數(shù)據(jù)的進(jìn))當(dāng)進(jìn)程調(diào)度程序選中這個(gè)已得到數(shù)據(jù)的進(jìn)程后,才能進(jìn)行加工處理。程后,才能進(jìn)行加工處理。553/24/2022
42、n3、特點(diǎn)、特點(diǎn) 通道所需要的通道所需要的CPU干預(yù)更少,并可以實(shí)現(xiàn)干預(yù)更少,并可以實(shí)現(xiàn)CPU、通道和輸入輸出設(shè)備三者之間的并行操作,從而更通道和輸入輸出設(shè)備三者之間的并行操作,從而更有效地提高整個(gè)系統(tǒng)資源的利用率。有效地提高整個(gè)系統(tǒng)資源的利用率。 通道控制方式適用于現(xiàn)代計(jì)算機(jī)系統(tǒng)中的大量數(shù)通道控制方式適用于現(xiàn)代計(jì)算機(jī)系統(tǒng)中的大量數(shù)據(jù)交換。據(jù)交換。563/24/2022通道和通道和DMA控制器的區(qū)別控制器的區(qū)別 (1)一個(gè))一個(gè)DMA控制器只能連接同類(lèi)外設(shè),且如果是多臺(tái)控制器只能連接同類(lèi)外設(shè),且如果是多臺(tái)同類(lèi)外設(shè),則它們只能是以串行方式工作。同類(lèi)外設(shè),則它們只能是以串行方式工作。 一個(gè)通道可以
43、連接多個(gè)不同類(lèi)型的設(shè)備控制器,而一個(gè)一個(gè)通道可以連接多個(gè)不同類(lèi)型的設(shè)備控制器,而一個(gè)設(shè)備控制器又可以管理一臺(tái)或多臺(tái)外圍設(shè)備,這就構(gòu)成了典設(shè)備控制器又可以管理一臺(tái)或多臺(tái)外圍設(shè)備,這就構(gòu)成了典型的多級(jí)層次結(jié)構(gòu),眾多外設(shè)均可在通道控制下同時(shí)工作;型的多級(jí)層次結(jié)構(gòu),眾多外設(shè)均可在通道控制下同時(shí)工作; (2)DMA控制是借助硬件完成數(shù)據(jù)交換的,而通道是執(zhí)控制是借助硬件完成數(shù)據(jù)交換的,而通道是執(zhí)行通道程序完成數(shù)據(jù)的;行通道程序完成數(shù)據(jù)的; (3)DMA控制器需要控制器需要CPU對(duì)多個(gè)外設(shè)進(jìn)行初始化。對(duì)多個(gè)外設(shè)進(jìn)行初始化。CPU只需發(fā)一個(gè)只需發(fā)一個(gè)I/O指令啟動(dòng)通道,由通道自己完成外設(shè)的初始指令啟動(dòng)通道,由
44、通道自己完成外設(shè)的初始化?;?。573/24/2022n 綜上所述,在前三種綜上所述,在前三種I/O控制方式中,控制方式中,CPU直直接對(duì)設(shè)備控制器和接對(duì)設(shè)備控制器和I/O接口編程,可以簡(jiǎn)化接口接口編程,可以簡(jiǎn)化接口的設(shè)計(jì)。的設(shè)計(jì)。n 對(duì)于非對(duì)于非DMA傳送,需要傳送,需要CPU實(shí)際去完成數(shù)據(jù)實(shí)際去完成數(shù)據(jù)傳送。對(duì)于高速數(shù)據(jù)傳送可以使用傳送。對(duì)于高速數(shù)據(jù)傳送可以使用DMA,但還,但還是需要是需要CPU設(shè)置設(shè)備控制器,初始化設(shè)置設(shè)備控制器,初始化DMA操作操作和操作完畢去檢查端口傳送狀態(tài)。和操作完畢去檢查端口傳送狀態(tài)。n 而通道不同于而通道不同于DMA控制器,它能夠去取和執(zhí)控制器,它能夠去取和執(zhí)行
45、它自己的指令;行它自己的指令; 而且這些指令的功能已不僅而且這些指令的功能已不僅僅是數(shù)據(jù)傳送,還包括檢索、分支轉(zhuǎn)移,甚至一僅是數(shù)據(jù)傳送,還包括檢索、分支轉(zhuǎn)移,甚至一些簡(jiǎn)單的算術(shù)、邏輯運(yùn)算。些簡(jiǎn)單的算術(shù)、邏輯運(yùn)算。583/24/2022n 大、中型計(jì)算機(jī)系統(tǒng)普遍用通道方式去控制大、中型計(jì)算機(jī)系統(tǒng)普遍用通道方式去控制設(shè)備完成設(shè)備完成I/O操作,以提高操作,以提高CPU與外設(shè),外設(shè)與與外設(shè),外設(shè)與外設(shè)并行的程度。一些小型機(jī)和絕大多數(shù)微型機(jī)外設(shè)并行的程度。一些小型機(jī)和絕大多數(shù)微型機(jī)都是以都是以CPU直接控制設(shè)備接口和設(shè)備控制器以查直接控制設(shè)備接口和設(shè)備控制器以查詢(xún)、中斷或詢(xún)、中斷或DMA方式完成方式完
46、成I/O操作,以降低系統(tǒng)操作,以降低系統(tǒng)造價(jià)。造價(jià)。593/24/2022思考題四思考題四n n 綜上所述的綜上所述的4種種I/O控制方式,分別適合用控制方式,分別適合用于何種場(chǎng)合?于何種場(chǎng)合?603/24/2022課堂練習(xí)題課堂練習(xí)題n1、從下面關(guān)于設(shè)備屬性的論述中,選擇一條正確的描述。(從下面關(guān)于設(shè)備屬性的論述中,選擇一條正確的描述。( )nA字符設(shè)備的一個(gè)基本特征是可尋址的,即能指定輸入時(shí)字符設(shè)備的一個(gè)基本特征是可尋址的,即能指定輸入時(shí)的源地址和輸出時(shí)的目標(biāo)地址的源地址和輸出時(shí)的目標(biāo)地址nB共享設(shè)備必須是可尋址的和隨機(jī)訪(fǎng)問(wèn)的設(shè)備共享設(shè)備必須是可尋址的和隨機(jī)訪(fǎng)問(wèn)的設(shè)備nC共享設(shè)備是指在同一
47、時(shí)刻,允許多個(gè)進(jìn)程同時(shí)訪(fǎng)問(wèn)的設(shè)備共享設(shè)備是指在同一時(shí)刻,允許多個(gè)進(jìn)程同時(shí)訪(fǎng)問(wèn)的設(shè)備nD在分配共享設(shè)備和獨(dú)占設(shè)備時(shí),都可能引起進(jìn)程死鎖在分配共享設(shè)備和獨(dú)占設(shè)備時(shí),都可能引起進(jìn)程死鎖n2、(、( )在一般大型計(jì)算機(jī)系統(tǒng)中,主機(jī)對(duì)外圍設(shè)備的控制可通)在一般大型計(jì)算機(jī)系統(tǒng)中,主機(jī)對(duì)外圍設(shè)備的控制可通過(guò)通道、控制器和設(shè)備三個(gè)層次來(lái)實(shí)現(xiàn)。從下述敘述中選出一條過(guò)通道、控制器和設(shè)備三個(gè)層次來(lái)實(shí)現(xiàn)。從下述敘述中選出一條正確的敘述。正確的敘述。nA 控制器可控制通道,設(shè)備在通道控制下工作控制器可控制通道,設(shè)備在通道控制下工作nB 通道控制控制器,設(shè)備在控制器控制下工作通道控制控制器,設(shè)備在控制器控制下工作nC 通
48、道和控制器分別控制設(shè)備通道和控制器分別控制設(shè)備nD 控制器控制通道和設(shè)備的工作控制器控制通道和設(shè)備的工作613/24/2022n1、通過(guò)硬件和軟件的擴(kuò)充通過(guò)硬件和軟件的擴(kuò)充,把原來(lái)獨(dú)立的設(shè)備改造成能為若把原來(lái)獨(dú)立的設(shè)備改造成能為若干用戶(hù)共享的設(shè)備干用戶(hù)共享的設(shè)備,這種設(shè)備稱(chēng)為這種設(shè)備稱(chēng)為 ? 。n 2、引起中斷發(fā)生的事件稱(chēng)為、引起中斷發(fā)生的事件稱(chēng)為 ? 。n 3、如果、如果I/O設(shè)備與存儲(chǔ)設(shè)備進(jìn)行數(shù)據(jù)交換不經(jīng)過(guò)設(shè)備與存儲(chǔ)設(shè)備進(jìn)行數(shù)據(jù)交換不經(jīng)過(guò)CPU來(lái)完來(lái)完成,這種數(shù)據(jù)交換方式是成,這種數(shù)據(jù)交換方式是 ? 。n4、常用的、常用的I/O控制方式有程序控制方式有程序I/O方式、方式、 ? 、?、?
49、、?.n5、DMA是指允許是指允許 ? 和和 ? 之間直接交換數(shù)據(jù)的設(shè)之間直接交換數(shù)據(jù)的設(shè)備。在備。在DMA中必須設(shè)置地址寄存器,用于存放中必須設(shè)置地址寄存器,用于存放 ? ,還,還必須設(shè)置必須設(shè)置 ? 寄存器,用來(lái)暫存交換的數(shù)據(jù)。寄存器,用來(lái)暫存交換的數(shù)據(jù)。 n6、設(shè)備控制器是、設(shè)備控制器是 ? 和和 ? 之間的接口,它接受來(lái)自之間的接口,它接受來(lái)自 ? 的的I/O命令,并用于控制命令,并用于控制 ? 的工作。的工作。n 7、按從屬關(guān)系對(duì)、按從屬關(guān)系對(duì)I/O設(shè)備分類(lèi),可分為系統(tǒng)設(shè)備和設(shè)備分類(lèi),可分為系統(tǒng)設(shè)備和 ? 兩類(lèi)。兩類(lèi)。623/24/20225.3 緩沖管理緩沖管理n5.3.1 緩沖的
50、引入緩沖的引入 1、引入的原因、引入的原因 (1)緩和)緩和CPU與輸入輸出設(shè)備間速度不匹配與輸入輸出設(shè)備間速度不匹配的矛盾的矛盾 (2)減少對(duì))減少對(duì)CPU的中斷頻率,放寬對(duì)中斷響的中斷頻率,放寬對(duì)中斷響應(yīng)時(shí)間的限制。應(yīng)時(shí)間的限制。 (3)提高)提高CPU與輸入輸出設(shè)備間的并行性。與輸入輸出設(shè)備間的并行性。633/24/2022n2、緩沖技術(shù)的實(shí)現(xiàn)思想、緩沖技術(shù)的實(shí)現(xiàn)思想 建立一個(gè)緩沖區(qū),當(dāng)進(jìn)程要執(zhí)行讀寫(xiě)操作時(shí),建立一個(gè)緩沖區(qū),當(dāng)進(jìn)程要執(zhí)行讀寫(xiě)操作時(shí),首先向申請(qǐng)一塊內(nèi)存區(qū)域作為緩沖區(qū),然后,將要首先向申請(qǐng)一塊內(nèi)存區(qū)域作為緩沖區(qū),然后,將要傳送的數(shù)據(jù)高速送到緩沖區(qū)。傳送的數(shù)據(jù)高速送到緩沖區(qū)。
51、如果是讀操作,則根據(jù)進(jìn)程要求,把當(dāng)前需要如果是讀操作,則根據(jù)進(jìn)程要求,把當(dāng)前需要的邏輯記錄從緩沖區(qū)中選出并傳送給進(jìn)程。若為寫(xiě)的邏輯記錄從緩沖區(qū)中選出并傳送給進(jìn)程。若為寫(xiě)操作,則不斷把數(shù)據(jù)填到緩沖區(qū),直到它被填滿(mǎn)為操作,則不斷把數(shù)據(jù)填到緩沖區(qū),直到它被填滿(mǎn)為止。止。643/24/2022n3、實(shí)現(xiàn)緩沖的方法、實(shí)現(xiàn)緩沖的方法 (1) 硬件緩沖。硬件緩沖采用專(zhuān)用硬件緩沖器,硬件緩沖。硬件緩沖采用專(zhuān)用硬件緩沖器,一般由外設(shè)自帶的專(zhuān)用寄存器構(gòu)成。一般由外設(shè)自帶的專(zhuān)用寄存器構(gòu)成。 (2)軟件緩沖。在內(nèi)存中專(zhuān)門(mén)開(kāi)辟若干單元作為)軟件緩沖。在內(nèi)存中專(zhuān)門(mén)開(kāi)辟若干單元作為緩沖區(qū)為各種設(shè)備服務(wù)。緩沖區(qū)為各種設(shè)備服務(wù)
52、。653/24/20225.3.2 單緩沖和雙緩沖單緩沖和雙緩沖一、單緩沖一、單緩沖 單緩沖即是在發(fā)送者和接收者之間只有一個(gè)緩沖區(qū)單緩沖即是在發(fā)送者和接收者之間只有一個(gè)緩沖區(qū) 過(guò)程:過(guò)程:當(dāng)一個(gè)用戶(hù)進(jìn)程要求輸入數(shù)據(jù)時(shí),操作當(dāng)一個(gè)用戶(hù)進(jìn)程要求輸入數(shù)據(jù)時(shí),操作系統(tǒng)控制輸入設(shè)備將數(shù)據(jù)送往緩沖區(qū)存放,再送往系統(tǒng)控制輸入設(shè)備將數(shù)據(jù)送往緩沖區(qū)存放,再送往用戶(hù)進(jìn)程的數(shù)據(jù)存儲(chǔ)區(qū)。用戶(hù)進(jìn)程的數(shù)據(jù)存儲(chǔ)區(qū)。663/24/2022n特點(diǎn)特點(diǎn) 在主存中只有一個(gè)緩沖區(qū)。對(duì)于塊設(shè)備,該緩在主存中只有一個(gè)緩沖區(qū)。對(duì)于塊設(shè)備,該緩沖區(qū)可以存放一塊數(shù)據(jù),對(duì)于字符設(shè)備,該緩沖區(qū)沖區(qū)可以存放一塊數(shù)據(jù),對(duì)于字符設(shè)備,該緩沖區(qū)可以存放一
53、行數(shù)據(jù)。設(shè)備和處理器對(duì)緩沖區(qū)的操作可以存放一行數(shù)據(jù)。設(shè)備和處理器對(duì)緩沖區(qū)的操作是串行的,傳輸速度慢。在任一時(shí)刻,只能進(jìn)行單是串行的,傳輸速度慢。在任一時(shí)刻,只能進(jìn)行單向的數(shù)據(jù)傳輸,并且傳輸數(shù)據(jù)量較少。向的數(shù)據(jù)傳輸,并且傳輸數(shù)據(jù)量較少。 優(yōu)點(diǎn)是設(shè)計(jì)簡(jiǎn)單,容易實(shí)現(xiàn)優(yōu)點(diǎn)是設(shè)計(jì)簡(jiǎn)單,容易實(shí)現(xiàn) 缺點(diǎn)是發(fā)送者和接收者不能并行工作缺點(diǎn)是發(fā)送者和接收者不能并行工作673/24/2022n二、雙緩沖二、雙緩沖 雙緩沖可在發(fā)送者與接收者之間設(shè)兩個(gè)緩沖區(qū)雙緩沖可在發(fā)送者與接收者之間設(shè)兩個(gè)緩沖區(qū)緩沖區(qū)緩沖區(qū)1和緩沖區(qū)和緩沖區(qū)2。 過(guò)程:過(guò)程:發(fā)送者將數(shù)據(jù)送滿(mǎn)緩沖區(qū)發(fā)送者將數(shù)據(jù)送滿(mǎn)緩沖區(qū)1,接收者從緩,接收者從緩沖區(qū)沖
54、區(qū)1取數(shù)據(jù)時(shí),發(fā)送者則可將數(shù)據(jù)送入緩沖區(qū)取數(shù)據(jù)時(shí),發(fā)送者則可將數(shù)據(jù)送入緩沖區(qū)2,當(dāng)接收者將緩沖區(qū),當(dāng)接收者將緩沖區(qū)1取空后,又可到緩沖區(qū)取空后,又可到緩沖區(qū)2中中取數(shù)據(jù),這時(shí)發(fā)送者再將數(shù)據(jù)送入緩沖區(qū)取數(shù)據(jù),這時(shí)發(fā)送者再將數(shù)據(jù)送入緩沖區(qū)1。 于是,發(fā)送者和接收者交替使用兩個(gè)緩沖區(qū),于是,發(fā)送者和接收者交替使用兩個(gè)緩沖區(qū),達(dá)到了并行工作的目的。達(dá)到了并行工作的目的。683/24/2022n特點(diǎn)特點(diǎn) 在主存中設(shè)置兩個(gè)緩沖區(qū),完成數(shù)據(jù)的傳輸。兩在主存中設(shè)置兩個(gè)緩沖區(qū),完成數(shù)據(jù)的傳輸。兩個(gè)緩沖區(qū)可以交替使用,提高了處理器和輸入設(shè)備個(gè)緩沖區(qū)可以交替使用,提高了處理器和輸入設(shè)備的并行操作能力。的并行操作能力
55、。 在任一時(shí)刻,可以進(jìn)行雙向的數(shù)據(jù)傳輸。一個(gè)緩在任一時(shí)刻,可以進(jìn)行雙向的數(shù)據(jù)傳輸。一個(gè)緩沖區(qū)用于輸入,另一個(gè)用于輸出。沖區(qū)用于輸入,另一個(gè)用于輸出。 適用于輸入適用于輸入/輸出、生產(chǎn)者輸出、生產(chǎn)者/消費(fèi)者速度基本相匹消費(fèi)者速度基本相匹配的情況。配的情況。 當(dāng)傳輸數(shù)據(jù)量較大,或者兩者的速度相差較遠(yuǎn)時(shí)當(dāng)傳輸數(shù)據(jù)量較大,或者兩者的速度相差較遠(yuǎn)時(shí),雙緩沖區(qū)效率較低,還是不能解決兩者并行工作,雙緩沖區(qū)效率較低,還是不能解決兩者并行工作問(wèn)題。問(wèn)題。693/24/2022n三、循環(huán)緩沖三、循環(huán)緩沖 由于雙緩沖并不能真正解決實(shí)際系統(tǒng)中的并行操作,為了由于雙緩沖并不能真正解決實(shí)際系統(tǒng)中的并行操作,為了能夠進(jìn)一步
56、提高系統(tǒng)操作的并行程度,可以通過(guò)增加緩沖區(qū)能夠進(jìn)一步提高系統(tǒng)操作的并行程度,可以通過(guò)增加緩沖區(qū)的個(gè)數(shù),即實(shí)現(xiàn)多緩沖區(qū)方式。為了更好地控制和使用這些的個(gè)數(shù),即實(shí)現(xiàn)多緩沖區(qū)方式。為了更好地控制和使用這些緩沖區(qū),將多個(gè)緩沖區(qū)組成環(huán)形,稱(chēng)為循環(huán)緩沖技術(shù)。緩沖區(qū),將多個(gè)緩沖區(qū)組成環(huán)形,稱(chēng)為循環(huán)緩沖技術(shù)。 循環(huán)緩沖技術(shù)是在內(nèi)存中分配大小相等的存儲(chǔ)區(qū)作循環(huán)緩沖技術(shù)是在內(nèi)存中分配大小相等的存儲(chǔ)區(qū)作為緩沖區(qū),并將這些緩沖區(qū)連接起來(lái),每個(gè)緩沖區(qū)中有為緩沖區(qū),并將這些緩沖區(qū)連接起來(lái),每個(gè)緩沖區(qū)中有一個(gè)指向下一個(gè)緩沖區(qū)的指針,最后一個(gè)緩沖區(qū)的指針一個(gè)指向下一個(gè)緩沖區(qū)的指針,最后一個(gè)緩沖區(qū)的指針指向第一個(gè)緩沖區(qū)指向第一
57、個(gè)緩沖區(qū)703/24/2022 為了充分利用這些緩沖資源,使進(jìn)程的處理和為了充分利用這些緩沖資源,使進(jìn)程的處理和I/O設(shè)備的設(shè)備的工作具有較好的連續(xù)性,提高設(shè)備的利用率,將緩沖區(qū)分為工作具有較好的連續(xù)性,提高設(shè)備的利用率,將緩沖區(qū)分為以下兩種類(lèi)型:以下兩種類(lèi)型: (1) 空緩沖區(qū)。準(zhǔn)備接收輸入的數(shù)據(jù)??站彌_區(qū)。準(zhǔn)備接收輸入的數(shù)據(jù)。 (2) 滿(mǎn)緩沖區(qū)。用于存放可供使用的數(shù)據(jù)。滿(mǎn)緩沖區(qū)。用于存放可供使用的數(shù)據(jù)。過(guò)程:過(guò)程: 當(dāng)循環(huán)緩沖接收數(shù)據(jù)時(shí),將待傳送的數(shù)據(jù)送入當(dāng)循環(huán)緩沖接收數(shù)據(jù)時(shí),將待傳送的數(shù)據(jù)送入EMPTY指向指向的空緩沖區(qū),填滿(mǎn)后,讓的空緩沖區(qū),填滿(mǎn)后,讓EMPTY指向下一個(gè)空緩沖區(qū)。每次
58、申指向下一個(gè)空緩沖區(qū)。每次申請(qǐng)一個(gè)空緩沖區(qū)時(shí),需要判斷請(qǐng)一個(gè)空緩沖區(qū)時(shí),需要判斷EMPTY是否與是否與FULL相等。若相相等。若相等,表示系統(tǒng)中已沒(méi)有空緩沖區(qū),輸入進(jìn)程需要等待;否則,等,表示系統(tǒng)中已沒(méi)有空緩沖區(qū),輸入進(jìn)程需要等待;否則,可以繼續(xù)輸入??梢岳^續(xù)輸入。 若要從緩沖區(qū)取數(shù)據(jù)時(shí),直接到若要從緩沖區(qū)取數(shù)據(jù)時(shí),直接到FULL所指向的緩沖區(qū)中取所指向的緩沖區(qū)中取,然后讓?zhuān)缓笞孎ULL指向下一個(gè)滿(mǎn)緩沖區(qū)。同樣,每次指向下一個(gè)滿(mǎn)緩沖區(qū)。同樣,每次FULL指針移指針移動(dòng)時(shí),需要判斷動(dòng)時(shí),需要判斷FULL是否與是否與EMPTY相等。若相等,表示緩沖相等。若相等,表示緩沖區(qū)已無(wú)數(shù)據(jù)可取,等待緩沖區(qū)
59、滿(mǎn)后繼續(xù)操作。區(qū)已無(wú)數(shù)據(jù)可取,等待緩沖區(qū)滿(mǎn)后繼續(xù)操作。713/24/2022特點(diǎn)特點(diǎn): 在主存中設(shè)置多個(gè)緩沖區(qū)。讀和寫(xiě)可以并行處理,適用在主存中設(shè)置多個(gè)緩沖區(qū)。讀和寫(xiě)可以并行處理,適用于某種特定的輸入輸出進(jìn)程和計(jì)算進(jìn)程,如輸入于某種特定的輸入輸出進(jìn)程和計(jì)算進(jìn)程,如輸入/輸出、生輸出、生產(chǎn)者產(chǎn)者/消費(fèi)者速度不相匹配的情況。消費(fèi)者速度不相匹配的情況。 循環(huán)緩沖區(qū)屬于專(zhuān)用緩沖區(qū)。當(dāng)系統(tǒng)較大時(shí),使用多循環(huán)緩沖區(qū)屬于專(zhuān)用緩沖區(qū)。當(dāng)系統(tǒng)較大時(shí),使用多個(gè)這樣的緩沖區(qū)要消耗大量的主存空間,降低緩沖區(qū)的使用個(gè)這樣的緩沖區(qū)要消耗大量的主存空間,降低緩沖區(qū)的使用效率。效率。 兩個(gè)缺點(diǎn):兩個(gè)缺點(diǎn): (1)當(dāng)系統(tǒng)的資源
60、較多時(shí),就要占用大量的緩沖區(qū),增加)當(dāng)系統(tǒng)的資源較多時(shí),就要占用大量的緩沖區(qū),增加內(nèi)存開(kāi)銷(xiāo)。內(nèi)存開(kāi)銷(xiāo)。 (2)可能會(huì)出現(xiàn)某個(gè)設(shè)備的緩沖不夠用,而其他設(shè)備有)可能會(huì)出現(xiàn)某個(gè)設(shè)備的緩沖不夠用,而其他設(shè)備有多個(gè)空閑緩沖區(qū)的情況,導(dǎo)致循環(huán)緩沖的利用率不高。多個(gè)空閑緩沖區(qū)的情況,導(dǎo)致循環(huán)緩沖的利用率不高。723/24/2022n四、緩沖池四、緩沖池 上述的循環(huán)緩沖區(qū)僅適用于某特定的上述的循環(huán)緩沖區(qū)僅適用于某特定的I/O進(jìn)程和計(jì)算進(jìn)程,進(jìn)程和計(jì)算進(jìn)程,是專(zhuān)用緩沖結(jié)構(gòu),而不是針對(duì)整個(gè)系統(tǒng)的公用緩沖結(jié)構(gòu)。當(dāng)是專(zhuān)用緩沖結(jié)構(gòu),而不是針對(duì)整個(gè)系統(tǒng)的公用緩沖結(jié)構(gòu)。當(dāng)系統(tǒng)較大時(shí),會(huì)有很多這樣的緩沖結(jié)構(gòu),這不僅要消耗大量
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年美容師考試團(tuán)隊(duì)合作題目與答案
- 工程測(cè)試試題及答案
- 電氣系統(tǒng)與電子元件知識(shí)試題及答案
- 二手車(chē)評(píng)估師需要參與的市場(chǎng)競(jìng)爭(zhēng)分析試題及答案
- 食品檢驗(yàn)結(jié)果溝通技巧試題及答案
- 藥理學(xué)基礎(chǔ)概念的關(guān)鍵試題及答案
- 修剪技能面試題及答案
- 古代文學(xué)解讀考試試題及答案
- 河南省南陽(yáng)市鎮(zhèn)平縣2022-2023學(xué)年三年級(jí)下學(xué)期英語(yǔ)期中試卷(含答案)
- 專(zhuān)業(yè)解讀統(tǒng)計(jì)學(xué)考題及答案
- 裝卸作業(yè)安全培訓(xùn)課件
- 高考化學(xué)二輪復(fù)習(xí) 題組14 化學(xué)用語(yǔ)練習(xí)(含解析)-人教版高三化學(xué)試題
- 醫(yī)療器械-質(zhì)量安全關(guān)鍵崗位人員崗位說(shuō)明
- 瀝青路面設(shè)計(jì)與施工-瀝青路面施工
- 壓力機(jī)說(shuō)明書(shū)
- 長(zhǎng)江師范學(xué)院《C語(yǔ)言程序設(shè)計(jì)》2020-2021學(xué)年期末試卷B
- 發(fā)展?jié)h語(yǔ)-初級(jí)讀寫(xiě)-第一課-你好
- 義務(wù)教育階段抑制學(xué)生兩極分化的教育教學(xué)創(chuàng)新研究
- 疾病預(yù)測(cè)模型
- 九三學(xué)社 入 社 申 請(qǐng) 表
- 韓國(guó)《寄生蟲(chóng)》電影鑒賞解讀
評(píng)論
0/150
提交評(píng)論