




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6章設(shè)備管理●I/O設(shè)備管理概述
●磁盤(pán)管理●I/O控制方式
●緩沖管理本章要點(diǎn)6.1I/O設(shè)備管理概述I/O管理的功能監(jiān)視設(shè)備的狀態(tài)進(jìn)行設(shè)備分配完成I/O操作緩沖管理I/O硬件組成主機(jī)I/O系統(tǒng)——四級(jí)結(jié)構(gòu)微型機(jī)I/O系統(tǒng)——單總線結(jié)構(gòu)I/O設(shè)備設(shè)備的類(lèi)型塊設(shè)備—如:磁盤(pán)、磁帶,塊大小512B~32KB,通常為512B。塊設(shè)備的特點(diǎn)是速度高、隨機(jī)訪問(wèn)、I/O采用DMA(直接存取方式)。字符設(shè)備—如:鍵盤(pán)、行式打印機(jī)。特點(diǎn)是速度低、不可尋址、I/O采用中斷驅(qū)動(dòng)。設(shè)備控制器●設(shè)備控制器或適配器是I/O設(shè)備的電子部分,它是CPU與I/O設(shè)備之間的接口,它接收從CPU發(fā)來(lái)的命令,并控制I/O設(shè)備工作。通常一臺(tái)控制器可控制多臺(tái)同一類(lèi)型的設(shè)備?!裨谖C(jī)中,設(shè)備控制器常做成印刷電路卡的形式,如I/O卡。●設(shè)備控制器的種類(lèi)很多,需要不同的軟件來(lái)控制它,這樣的軟件就是設(shè)備驅(qū)動(dòng)程序?!窨刂破鞯墓δ芙邮蘸妥R(shí)別CPU發(fā)來(lái)的命令——控制寄存器數(shù)據(jù)交換——數(shù)據(jù)寄存器了解設(shè)備的狀態(tài),報(bào)告給CPU——狀態(tài)寄存器地址識(shí)別——地址譯碼器設(shè)備控制器是計(jì)算機(jī)中的一個(gè)實(shí)體,主要職責(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è)備工作,使處理機(jī)從繁雜的設(shè)備控制事務(wù)中解脫出來(lái)。設(shè)備控制器的組成控制器與CPU之間接口——用于控制設(shè)備與總線之間交換數(shù)據(jù)。控制器與設(shè)備之間接口——用于根據(jù)CPU發(fā)來(lái)的命令,控制設(shè)備的動(dòng)作。I/O邏輯——用于實(shí)現(xiàn)對(duì)設(shè)備的控制。I/O邏輯對(duì)收到的地址進(jìn)行譯碼,在根據(jù)譯出的命令對(duì)設(shè)備進(jìn)行控制。設(shè)備通道雖然有控制器可以對(duì)設(shè)備進(jìn)行控制,但當(dāng)外設(shè)很多時(shí),CPU負(fù)擔(dān)過(guò)重,為此在CPU與控制器之間增加通道。增加通道的目的“是建立獨(dú)立的I/O操作,不僅使數(shù)據(jù)的傳送能獨(dú)立于CPU,而且有關(guān)I/O操作的組織、管理及結(jié)束也盡量獨(dú)立,以保證CPU有更多的時(shí)間去進(jìn)行數(shù)據(jù)處理。通道是特殊的處理機(jī)它指令單一。沒(méi)有內(nèi)存。通道的類(lèi)型數(shù)組選擇通道連接磁盤(pán)等高速外設(shè)。以塊為傳送單位。通道隨與多個(gè)外設(shè)相連,但通常被一個(gè)設(shè)備專(zhuān)用,用完釋放后才讓給其他設(shè)備。數(shù)組多路通道連接高速外設(shè)。如磁盤(pán)。綜合字節(jié)多路通道的”并行“和選擇通道的”高速“的優(yōu)點(diǎn)。通道利用一臺(tái)設(shè)備”讀寫(xiě)定位“的時(shí)間,再與另一外設(shè)交換信息。字節(jié)多路通道連接中、低速外設(shè)。如打印機(jī)、終端等。以字節(jié)為傳送單位。傳送時(shí),通道與多個(gè)外設(shè)交叉?zhèn)鬟f,當(dāng)一個(gè)外設(shè)交換一個(gè)字節(jié)后,立即騰出,將通道讓給另一個(gè)設(shè)備使用。通道的連接方式單通路多通路設(shè)備與計(jì)算機(jī)之間有多條通道,增加靈活性。增強(qiáng)可靠性。某通道、控制器壞,也不會(huì)影響數(shù)據(jù)交換。6.2I/O控制方式●I/O數(shù)據(jù)控制方式的發(fā)展經(jīng)歷了四個(gè)階段程序直接控制方式中斷驅(qū)動(dòng)方式DMA控制方式通道方式●在I/O控制的整個(gè)發(fā)展過(guò)程中,始終貫穿著一條宗旨,盡量減少主機(jī)對(duì)I/O控制的干預(yù),把主機(jī)從繁雜的I/O控制事物中解脫出來(lái),以更多地去完成數(shù)據(jù)處理任務(wù)。程序直接控制方式
忙—等待方式缺點(diǎn)CPU與外設(shè)只能串行工作。CPU在一段時(shí)間內(nèi)只能與一臺(tái)外設(shè)交換數(shù)據(jù)信息。無(wú)法發(fā)現(xiàn)和處理由于設(shè)備和其它硬件所產(chǎn)生的錯(cuò)誤。中斷驅(qū)動(dòng)方式中斷方式缺點(diǎn)中斷的次數(shù)過(guò)多。中斷次數(shù)的急劇增加會(huì)造成CPU無(wú)法及時(shí)響應(yīng)中斷,出現(xiàn)數(shù)據(jù)丟失現(xiàn)象。DMA控制方式●中斷方式比程序I/O方式有效,但它是以字節(jié)為單位進(jìn)行的,每傳送一個(gè)字節(jié),控制器便向CPU請(qǐng)求一次中斷,如果將這種方式用于塊設(shè)備的I/O,顯然是低效的。例如要讀1KB的數(shù)據(jù)塊,需要中斷1K次CPU?!駷榱藴p少CPU對(duì)I/O的干預(yù),引入DMA方式。該方式的特點(diǎn)為:數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊。所傳送的數(shù)據(jù)是從設(shè)備直接送入內(nèi)存的。僅在傳送一個(gè)或多個(gè)數(shù)據(jù)塊的開(kāi)始或結(jié)束時(shí),才需CPU干預(yù),整塊數(shù)據(jù)的傳送是在控制器的控制下完成的。DMA控制器的組成增加兩類(lèi)寄存器:內(nèi)存地址寄存器MAR數(shù)據(jù)計(jì)數(shù)器DCDMA工作過(guò)程●當(dāng)CPU需要從磁盤(pán)讀數(shù)據(jù)時(shí),便向磁盤(pán)控制器DMA發(fā)命令,●該命令送命令寄存器CR,●將內(nèi)存地址送內(nèi)存地址寄存器MAR,●本次要讀的字節(jié)數(shù)送數(shù)據(jù)寄存器DC。●啟動(dòng)DMA后,CPU干其他的事情,數(shù)據(jù)傳送在DMA的控制下完成。通道方式DMA方式比中斷方式、程序I/O方式以顯著地減少了CPU的干預(yù),即從字節(jié)為單位的干預(yù)減少到以數(shù)據(jù)塊為單位的干預(yù)。I/O通道方式是DMA方式的發(fā)展,把以數(shù)據(jù)塊為單位的干預(yù),減少到對(duì)一組數(shù)據(jù)塊為單位的干預(yù)。在DMA方式中,每發(fā)出一個(gè)I/O指令,能讀(寫(xiě))一個(gè)連續(xù)的數(shù)據(jù)塊,當(dāng)需要一次去讀多個(gè)離散的數(shù)據(jù)塊且將它們分別傳送到不同的內(nèi)存區(qū)域時(shí),則需多條I/O指令和多次中斷,而通道只需一次即可完成。通道有一系列通道指令構(gòu)成。●通道指令的格式: ●操作碼——規(guī)定了指令所要執(zhí)行的操作,如讀、寫(xiě)等。 ●計(jì)數(shù)——表示本條指令要讀(寫(xiě))數(shù)據(jù)的字節(jié)數(shù)。 ●內(nèi)存地址——數(shù)據(jù)要送入的內(nèi)存地址或從內(nèi)存何處取出數(shù)據(jù)。 ●通道程序結(jié)束位P——表示通道程序是否結(jié)束。 P=1表示本條指令是通道程序的最后一條指令。 ●記錄結(jié)束位RR=0表示本條通道指令與下一條通道指令所處理的數(shù)據(jù)屬于一個(gè)記錄,R=1表示該指令處理的數(shù)據(jù)是最后一條記錄。通道指令下面示出了一個(gè)由六條通道指令所構(gòu)成的簡(jiǎn)單的通道程序。該程序的功能是將內(nèi)存中不同地址的數(shù)據(jù)寫(xiě)成多個(gè)記錄。其中,前三條指令是分別將813~892單元中的80個(gè)字符和1034~1173單元中的140個(gè)字符及5830~5889單元中的60個(gè)字符寫(xiě)成一個(gè)記錄;第4條指令是單獨(dú)寫(xiě)一個(gè)具有300個(gè)字符的記錄;第5、6條指令共寫(xiě)含500個(gè)字符的記錄。
6.3I/O系統(tǒng)I/O系統(tǒng)層次結(jié)構(gòu)設(shè)備分配考慮因素設(shè)備固有屬性獨(dú)占設(shè)備共享設(shè)備虛擬設(shè)備設(shè)備分配中的安全性安全分配方式(單請(qǐng)求方式)不安全分配方式設(shè)備的獨(dú)立性設(shè)備獨(dú)立性也稱(chēng)設(shè)備無(wú)關(guān)性指用戶程序獨(dú)立于具體物理設(shè)備。即用戶只需說(shuō)明使用哪類(lèi)設(shè)備,如打印機(jī)或顯示器(邏輯設(shè)備名),無(wú)需指定某個(gè)具體設(shè)備(物理設(shè)備名)。操作系統(tǒng)統(tǒng)一合理地進(jìn)行設(shè)備分配。設(shè)備獨(dú)立性的優(yōu)點(diǎn)設(shè)備分配時(shí)的靈活性易于實(shí)現(xiàn)I/O重定向設(shè)備獨(dú)立性的實(shí)現(xiàn)——邏輯設(shè)備表操作系統(tǒng)實(shí)現(xiàn)邏輯設(shè)備到物理設(shè)備的轉(zhuǎn)換。邏輯設(shè)備表(LogicalUnitTable,LUT)
邏輯設(shè)備表LUT的設(shè)置:
整個(gè)系統(tǒng)一張(單用戶系統(tǒng))一個(gè)用戶一張(多用戶系統(tǒng))設(shè)備分配用數(shù)據(jù)結(jié)構(gòu)設(shè)備控制表DCT(每個(gè)設(shè)備一張)控制器控制表COCT(每個(gè)控制器一張)通道控制表CHCT(每個(gè)通道一張)系統(tǒng)設(shè)備表SDT(整個(gè)系統(tǒng)一張)設(shè)備分配程序單通路情況下的設(shè)備分配程序SPOOLing技術(shù)——SimultanczusPeriphernalOperationsOn-LineSPOOLing的系統(tǒng)組成:輸入井和輸出井輸入緩沖區(qū)和輸出緩沖區(qū)輸入進(jìn)程SPi和輸出進(jìn)程SPo圖4脫機(jī)I/O示意圖
28磁帶回顧:脫機(jī)輸入/輸出(Off-LineI/O)技術(shù)輸入輸出機(jī)用SPOOLing技術(shù)共享打印機(jī)打印機(jī)是經(jīng)常要用的輸出設(shè)備,屬于獨(dú)占設(shè)備。利用SPOOLing技術(shù),可將它改造為一臺(tái)供多用戶共享的設(shè)備,從而提高了設(shè)備的利用率。具體過(guò)程:1>用戶要求打印2>輸出進(jìn)程SPO在“輸出井”為之申請(qǐng)一空閑盤(pán)區(qū),并將要求打印的數(shù)據(jù)送入其中。3>SPO為用戶進(jìn)程申請(qǐng)“用戶請(qǐng)求打印表”,將打印要求填入其中,并將該表掛到請(qǐng)求打印隊(duì)列上。4>打印機(jī)空閑時(shí),SPO從打印隊(duì)列上取出一張“請(qǐng)求打印表”將要打印數(shù)據(jù)從“輸出井”送到內(nèi)存“輸出緩沖區(qū)”,由打印機(jī)進(jìn)行打印。5>重復(fù)4。SPOOLing特點(diǎn):提高I/O速度;將獨(dú)占設(shè)備改造為共享設(shè)備實(shí)現(xiàn)虛擬設(shè)備功能舉例:打印機(jī)設(shè)備和可由打印機(jī)管理器管理的打印作業(yè)隊(duì)列。如:應(yīng)用程序直接向針式打印機(jī)輸出需要15分鐘,而像打印作業(yè)隊(duì)列輸出只需要1分鐘,此后用戶可以關(guān)閉應(yīng)用程序而轉(zhuǎn)入其他工作,在以后適當(dāng)?shù)臅r(shí)候由打印機(jī)管理器完成15分鐘的打印輸出而無(wú)須用戶干預(yù)。設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序的功能:向有關(guān)I/O設(shè)備的控制器(中的控制/狀態(tài)寄存器)發(fā)出控制命令,監(jiān)督它們的正確執(zhí)行,并進(jìn)行必要的錯(cuò)誤處理。對(duì)等待各種設(shè)備、控制器和通道的進(jìn)程進(jìn)行排隊(duì)。執(zhí)行比寄存器級(jí)別更高的一些特殊處理,如代碼轉(zhuǎn)換、退出處理等。設(shè)備驅(qū)動(dòng)程序的特點(diǎn)不同類(lèi)型的設(shè)備配置不同的驅(qū)動(dòng)程序。由于驅(qū)動(dòng)程序與硬件緊密相關(guān),常用匯編語(yǔ)言寫(xiě)。驅(qū)動(dòng)程序的結(jié)構(gòu)與I/O設(shè)備的硬件特性緊密相關(guān)。中斷中斷是指在計(jì)算機(jī)執(zhí)行期間,系統(tǒng)內(nèi)部發(fā)生任何非尋常和非預(yù)期的急需處理事件,使得CPU暫時(shí)中斷當(dāng)前正在執(zhí)行的程序,而轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序,待處理完畢后又返回原來(lái)被中斷處,繼續(xù)執(zhí)行或調(diào)度新的進(jìn)程執(zhí)行的過(guò)程。禁止中斷也被稱(chēng)為關(guān)中斷。PSW的中斷允許位的被重新設(shè)置被稱(chēng)為開(kāi)中斷。中斷請(qǐng)求、關(guān)中斷和開(kāi)中斷都是由硬件實(shí)現(xiàn)的。中斷的分類(lèi)硬中斷內(nèi)中斷外中斷軟中斷禁止中斷(中斷屏蔽方法)當(dāng)一個(gè)進(jìn)程正在使用處理機(jī)執(zhí)行它的臨界區(qū)代碼時(shí),要防止其他進(jìn)程再進(jìn)入其臨界區(qū)訪問(wèn)的最簡(jiǎn)單方法是禁止一切中斷發(fā)生,或稱(chēng)之為屏蔽中斷、關(guān)中斷。其典型模式為:…….關(guān)中斷;
臨界區(qū);
開(kāi)中斷;
中斷優(yōu)先級(jí)●按中斷源的輕重緩急,OS對(duì)不同的中斷賦予了不同的優(yōu)先級(jí)。UNIX系統(tǒng)中,外中斷和陷入的優(yōu)先級(jí)共分為8級(jí)。Windows2000中的中斷優(yōu)先級(jí)分為32級(jí)
●所有線程都運(yùn)行在中斷優(yōu)先級(jí)0和1上●所有的硬件中斷的優(yōu)先級(jí)都高于軟件中斷中斷處理過(guò)程●檢查CPU響應(yīng)中斷的條件是否滿足?!袢绻鸆PU響應(yīng)中斷,則須關(guān)中斷,使CPU進(jìn)入不可再次響應(yīng)中斷的狀態(tài)?!癖4姹恢袛噙M(jìn)程的現(xiàn)場(chǎng)?!穹治鲋袛嘣??!駡?zhí)行中斷處理子程序。●恢復(fù)被中斷進(jìn)程的現(xiàn)場(chǎng)。●開(kāi)中斷。中斷現(xiàn)場(chǎng)保護(hù)示意圖
6.4磁盤(pán)管理速度是影響文件系統(tǒng)性能的主要因素提高磁盤(pán)I/O速度的主要途徑:
選擇性能好的磁盤(pán)
采用好的磁盤(pán)調(diào)度算法
設(shè)置磁盤(pán)高速緩沖區(qū)磁盤(pán)性能影響磁盤(pán)性能的因素:數(shù)據(jù)的結(jié)構(gòu)磁盤(pán)的類(lèi)型磁盤(pán)訪問(wèn)時(shí)間磁盤(pán)結(jié)構(gòu)和管理一個(gè)磁盤(pán)含多個(gè)盤(pán)片。每個(gè)盤(pán)片含兩面。每面含若干個(gè)磁道。每條磁道上存儲(chǔ)相同數(shù)目的二進(jìn)制位。每條磁道又分成若干個(gè)扇區(qū),一個(gè)扇區(qū)相當(dāng)于一個(gè)盤(pán)塊。盤(pán)片旋轉(zhuǎn),當(dāng)磁頭位于某個(gè)磁道、某個(gè)扇區(qū)下時(shí),就可將該扇區(qū)的內(nèi)容讀出或?qū)懭?。磁盤(pán)的格式化(低級(jí)格式化)例一個(gè)磁道分成30個(gè)固定大小的扇區(qū),每個(gè)扇區(qū)的容量為600個(gè)字節(jié),其中512個(gè)字節(jié)存放數(shù)據(jù),88個(gè)字節(jié)存放控制信息。磁盤(pán)的類(lèi)型固定頭磁盤(pán)每條磁道上都有一個(gè)讀/寫(xiě)磁頭(大容量磁盤(pán))移動(dòng)頭磁盤(pán)每個(gè)盤(pán)面僅配一個(gè)讀/寫(xiě)磁頭。即微機(jī)上用的硬盤(pán)(也叫溫切斯特硬盤(pán))、軟盤(pán)。磁盤(pán)的訪問(wèn)尋道時(shí)間Ts:磁頭從當(dāng)前位置移動(dòng)到指定磁道上所經(jīng)歷的時(shí)間。
(s:啟動(dòng)磁盤(pán)時(shí)間、m:常數(shù)=0.3、n:磁道數(shù)) Ts:隨尋道距離的增大而增大,約10ms旋轉(zhuǎn)延遲時(shí)間Tr:磁頭找到指定的扇區(qū)所經(jīng)歷的時(shí)間。 硬盤(pán)Tr=3ms軟盤(pán)100ms傳輸時(shí)間Tt:數(shù)據(jù)從磁盤(pán)讀出,或向磁盤(pán)寫(xiě)入數(shù)據(jù)所經(jīng)歷的時(shí)間。
(r:磁盤(pán)旋轉(zhuǎn)速度N:一條磁道上的字節(jié)數(shù)b:每次讀寫(xiě)的字節(jié)數(shù))磁盤(pán)訪問(wèn)時(shí)間
如何減少磁盤(pán)的訪問(wèn)時(shí)間例2:磁盤(pán)的尋道時(shí)間為10ms,旋轉(zhuǎn)時(shí)間為10000r/min,每個(gè)磁道有320個(gè)扇區(qū),每個(gè)扇區(qū)512個(gè)字節(jié),假設(shè)讀取一個(gè)包含2560個(gè)扇區(qū)的文件,文件的大小是1.3MB現(xiàn)在估計(jì)磁盤(pán)的訪問(wèn)時(shí)間。
(1)若數(shù)據(jù)順序組織:讀第一個(gè)磁道的時(shí)間如下:Ts+Tr+Tt(讀320個(gè)扇區(qū)時(shí)間)=10ms+3ms+6ms
=19ms如果在讀其余的磁道時(shí),不需尋道,后面每個(gè)磁道的讀取時(shí)間是3+6=9ms,讀取整個(gè)文件總時(shí)間=19+7*9=82ms=0.082s(2)如果采用隨機(jī)訪問(wèn),也就是說(shuō),訪問(wèn)隨機(jī)分布在磁盤(pán)上的扇區(qū)。對(duì)于每個(gè)扇區(qū)的訪問(wèn)時(shí)間為:
Ts+Tr+Tt(讀一個(gè)扇區(qū)時(shí)間)=10ms+3ms+0.01875ms=13.01875ms,讀取整個(gè)文件總時(shí)間=2560*13.01875=33328ms=33.328s結(jié)論1:適當(dāng)集中數(shù)據(jù)傳送,有利于提高傳輸速率。結(jié)論2:減少磁盤(pán)訪問(wèn)時(shí)間的途徑之二:數(shù)據(jù)盡可能順序組織磁盤(pán)調(diào)度算法——FCFS:先來(lái)先服務(wù)優(yōu)點(diǎn):公平、簡(jiǎn)單。缺點(diǎn):未對(duì)尋道進(jìn)行優(yōu)化,平均尋道時(shí)間較長(zhǎng)。SSTF先滿足尋道時(shí)間短的進(jìn)程。優(yōu)點(diǎn):對(duì)尋道優(yōu)化缺點(diǎn):“饑餓”現(xiàn)象發(fā)生FCFS和SSTF磁盤(pán)調(diào)度算法——SCAN算法:
對(duì)SSTF算法進(jìn)行改造,不僅考慮要訪問(wèn)的磁道與當(dāng)前磁盤(pán)的距離,更優(yōu)先考慮磁頭的當(dāng)前移動(dòng)方向。因該算法中磁頭的移動(dòng)規(guī)律頗似電梯的運(yùn)行,故稱(chēng)“電梯調(diào)度算法”。循環(huán)掃描CSCAN:
對(duì)SCAN進(jìn)行改造,解決進(jìn)程嚴(yán)重延遲現(xiàn)象。內(nèi)外內(nèi)外掃描算法磁盤(pán)調(diào)度算法——SCAN和CSCAN7.5緩沖管理 緩沖的引入緩和CPU與I/O設(shè)備間速度不匹配的矛盾減少對(duì)CPU的中斷頻率提高CPU和I/O設(shè)備之間的并行性協(xié)調(diào)傳輸數(shù)據(jù)大小不一致的設(shè)備緩沖是在通信問(wèn)題中,為了使通信雙方的速度匹配而引入的一個(gè)中間層次,這個(gè)層次的速度比通信雙方中較慢的一方快,而與較快的一方更匹配。緩沖的定義緩沖的設(shè)置CACHEI/O設(shè)備或控制器內(nèi)部的純硬件緩沖區(qū)內(nèi)存開(kāi)辟的緩沖區(qū)脫機(jī)I/O技術(shù)和SPOOLing技術(shù)本節(jié)重點(diǎn)研究的內(nèi)容——內(nèi)存中的緩沖區(qū)單緩沖若沒(méi)有緩沖區(qū):從磁盤(pán)把一塊數(shù)據(jù)送入用戶區(qū),其所花費(fèi)的時(shí)間為T(mén),CPU對(duì)數(shù)據(jù)進(jìn)行計(jì)算,其所花費(fèi)的時(shí)間為C,則系統(tǒng)對(duì)整塊數(shù)據(jù)的處理時(shí)間為T(mén)+C(T與C串行)提供緩沖區(qū)從磁盤(pán)把一塊數(shù)據(jù)送入緩沖區(qū),其所花費(fèi)的時(shí)間為T(mén),操作系統(tǒng)將緩沖區(qū)的數(shù)據(jù)送入用戶區(qū),花費(fèi)的時(shí)間為M,CPU對(duì)數(shù)據(jù)進(jìn)行計(jì)算,其所花費(fèi)的時(shí)間為C,則系統(tǒng)對(duì)整塊數(shù)據(jù)的處理時(shí)間為max(C,T)+M(通常M遠(yuǎn)小于T或C)
(T與C并行)問(wèn)題:通常T>C,CPU等待雙緩沖對(duì)于雙緩沖,先將數(shù)據(jù)輸入到第一個(gè)緩沖區(qū),在向第二個(gè)緩沖區(qū)送數(shù)據(jù)的同時(shí),CPU對(duì)第一個(gè)緩沖區(qū)中數(shù)據(jù)進(jìn)行計(jì)算。因此在有雙緩沖的情況下,系統(tǒng)處理一塊數(shù)據(jù)的時(shí)間為max(C,T)。如果C<T,塊設(shè)備連續(xù)地輸入,CPU有短時(shí)間的等待;
如果C>T,CPU就不必等待設(shè)備輸入。問(wèn)題:T>>C,CPU仍等待循環(huán)緩沖
當(dāng)輸入、輸出的速度基本相匹配時(shí),可使用雙緩沖,但若兩者的速度相差甚遠(yuǎn)時(shí),雙緩沖的效果就不太理想,因此可有多緩沖。典型的即生產(chǎn)者和消費(fèi)者問(wèn)題。緩沖池以上的緩沖只能用于某一進(jìn)程,他們屬于專(zhuān)用緩沖。為了提高緩沖區(qū)的利用率,可采用公用緩沖池。三個(gè)緩沖區(qū)鏈組成的隊(duì)列:空緩沖區(qū)隊(duì)列emq輸入隊(duì)列inq輸出隊(duì)列outq緩沖池四種工作緩沖區(qū):用于收容輸入數(shù)據(jù)的工作緩沖區(qū)hin用于提取輸入數(shù)據(jù)的工作緩沖區(qū)sin用于收容輸出數(shù)據(jù)的工作緩沖區(qū)hout用于提取輸出數(shù)據(jù)的工作緩沖區(qū)sout緩沖池管理的兩個(gè)過(guò)程GetBuf和PutBuf
ProcedurePutbuf(type,number){ wait(MS(type)); Addbuf(type,number); Signal(MS(type)); Signal(RS(type));}ProcedureGetbuf(type){ wait(RS(type));
//同步信號(hào)燈 wait(MS(type));
//互斥信號(hào)燈B(number)=Takebuf(type);
//從隊(duì)列中摘取一緩沖區(qū) Signal(MS(type));}對(duì)三個(gè)隊(duì)列的操作是類(lèi)似的,主要有兩個(gè)操作:
AddBuf(Type,number):將由number指向的緩沖區(qū)掛在某個(gè)隊(duì)列TypeTakeBuf(Type):從Type指示的某個(gè)隊(duì)列上,摘下一個(gè)緩沖區(qū)。實(shí)現(xiàn)互斥和同步,系統(tǒng)設(shè)置兩個(gè)過(guò)程:GetBuf和PutBuf。
緩沖池管理的工作方式收容輸入:輸入進(jìn)程需要輸入數(shù)據(jù)時(shí),調(diào)用GetBuf(emq)從emq隊(duì)列摘下一空緩沖區(qū),作為收容輸入工作緩沖區(qū)hin。把數(shù)據(jù)輸入其中,之后調(diào)用PutBuf(inq,hin),將緩沖區(qū)掛在輸入隊(duì)列inq上。提取輸入:計(jì)算進(jìn)程需要輸入數(shù)據(jù)時(shí),調(diào)用
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南省職業(yè)學(xué)校數(shù)學(xué)試卷
- 河南禹州中招數(shù)學(xué)試卷
- 濟(jì)南初三一模數(shù)學(xué)試卷
- 健康管理師課件下載
- 2025年中國(guó)刮泥機(jī)行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及投資規(guī)劃建議報(bào)告
- 中國(guó)木材保護(hù)工業(yè)行業(yè)市場(chǎng)發(fā)展監(jiān)測(cè)及投資潛力預(yù)測(cè)報(bào)告
- 1,4二氧六環(huán)項(xiàng)目可行性研究報(bào)告
- 健康知識(shí)課件下載
- 2021-2026年中國(guó)面粉加工市場(chǎng)調(diào)查研究及行業(yè)投資潛力預(yù)測(cè)報(bào)告
- 奇瑞汽車(chē)戰(zhàn)略發(fā)展研究報(bào)告
- 南昌市2025屆高三摸底測(cè)試(零模)數(shù)學(xué)試卷(含答案)
- GB/T 44099-2024學(xué)生基本運(yùn)動(dòng)能力測(cè)評(píng)規(guī)范
- 流媒體服務(wù)的興起與電影產(chǎn)業(yè)的轉(zhuǎn)型
- 幼兒園美術(shù)案例分析與措施
- 高斯小學(xué)奧數(shù)二年級(jí)(上)第05講 圖形規(guī)律進(jìn)階
- MOOC 化工過(guò)程與控制仿真實(shí)習(xí)-北京化工大學(xué) 中國(guó)大學(xué)慕課答案
- 《保溫保冷技術(shù)》
- 新版人教版七年級(jí)全冊(cè)英語(yǔ)單詞表(含音標(biāo))可打印
- 2024-2026胡潤(rùn)財(cái)富報(bào)告
- 呼叫中心投標(biāo)技術(shù)方案樣本
- 人教版六年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)分層作業(yè)設(shè)計(jì)含答案
評(píng)論
0/150
提交評(píng)論