版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第五章設(shè)備管理5.1I/O系統(tǒng)5.2I/O控制方式5.3緩沖管理5.4設(shè)備分配5.5設(shè)備處理5.6磁盤存儲器管理第一頁,共八十一頁。5.1I/O系統(tǒng)5.1.1I/O設(shè)備1.I/O設(shè)備的類型1)按傳輸速率分類按傳輸速度的高低,可將I/O設(shè)備分為三類。第一類是低速設(shè)備,這是指其傳輸速率僅為每秒鐘幾個字節(jié)至數(shù)百個字節(jié)的一類設(shè)備。屬于低速設(shè)備的典型設(shè)備有鍵盤、鼠標(biāo)器、語音的輸入和輸出等設(shè)備。第二類是中速設(shè)備,這是指其傳輸速率在每秒鐘數(shù)千個字節(jié)至數(shù)萬個字節(jié)的一類設(shè)備。典型的中速設(shè)備有行式打印機(jī)、激光打印機(jī)等。第三類是高速設(shè)備,這是指其傳輸速率在數(shù)百千個字節(jié)至數(shù)十兆字節(jié)的一類設(shè)備。典型的高速設(shè)備有磁帶機(jī)、磁盤機(jī)、光盤機(jī)等。第二頁,共八十一頁。2)按信息交換的單位分類可將I/O設(shè)備分成兩類。第一類是塊設(shè)備(BlockDevice),這類設(shè)備用于存儲信息。由于信息的存取總是以數(shù)據(jù)塊為單位,故而得名。它屬于有結(jié)構(gòu)設(shè)備。典型的塊設(shè)備是磁盤,每個盤塊的大小為512B~4KB。磁盤設(shè)備的基本特征是其傳輸速率較高,通常每秒鐘為幾兆位;另一特征是可尋址,即對它可隨機(jī)地讀/寫任一塊;此外,磁盤設(shè)備的I/O常采用DMA方式。第二類是字符設(shè)備(CharacterDevice),用于數(shù)據(jù)的輸入和輸出。其基本單位是字符,故稱為字符設(shè)備。第三頁,共八十一頁。3)按設(shè)備的共享屬性分類這種分類方式可將I/O設(shè)備分為如下三類:獨占設(shè)備。(2)共享設(shè)備。(3)虛擬設(shè)備。第四頁,共八十一頁。2.設(shè)備與控制器之間的接口圖5-1設(shè)備與控制器間的接口第五頁,共八十一頁。5.1.2設(shè)備控制器1.設(shè)備控制器的基本功能接收和識別命令2)數(shù)據(jù)交換3)標(biāo)識和報告設(shè)備的狀態(tài)4)地址識別5)數(shù)據(jù)緩沖6)差錯控制第六頁,共八十一頁。2.設(shè)備控制器的組成圖5-2設(shè)備控制器的組成第七頁,共八十一頁。5.1.3I/O通道1.I/O通道(I/OChannel)設(shè)備的引入實際上,I/O通道是一種特殊的處理機(jī)。它具有執(zhí)行I/O指令的能力,并通過執(zhí)行通道(I/O)程序來控制I/O操作。但I(xiàn)/O通道又與一般的處理機(jī)不同,主要表現(xiàn)在以下兩個方面:一是其指令類型單一,這是由于通道硬件比較簡單,其所能執(zhí)行的命令,主要局限于與I/O操作有關(guān)的指令;再就是通道沒有自己的內(nèi)存,通道所執(zhí)行的通道程序是放在主機(jī)的內(nèi)存中的,換言之,是通道與CPU共享內(nèi)存。第八頁,共八十一頁。2.通道類型1)字節(jié)多路通道(ByteMultiplexorChannel)圖5-3字節(jié)多路通道的工作原理第九頁,共八十一頁。2)數(shù)組選擇通道(BlockSelectorChannel)字節(jié)多路通道不適于連接高速設(shè)備,這推動了按數(shù)組方式進(jìn)行數(shù)據(jù)傳送的數(shù)組選擇通道的形成。這種通道雖然可以連接多臺高速設(shè)備,但由于它只含有一個分配型子通道,在一段時間內(nèi)只能執(zhí)行一道通道程序,控制一臺設(shè)備進(jìn)行數(shù)據(jù)傳送,致使當(dāng)某臺設(shè)備占用了該通道后,便一直由它獨占,即使是它無數(shù)據(jù)傳送,通道被閑置,也不允許其它設(shè)備使用該通道,直至該設(shè)備傳送完畢釋放該通道??梢姡@種通道的利用率很低。第十頁,共八十一頁。3)數(shù)組多路通道(BlockMultiplexorChannel)數(shù)組選擇通道雖有很高的傳輸速率,但它卻每次只允許一個設(shè)備傳輸數(shù)據(jù)。數(shù)組多路通道是將數(shù)組選擇通道傳輸速率高和字節(jié)多路通道能使各子通道(設(shè)備)分時并行操作的優(yōu)點相結(jié)合而形成的一種新通道。它含有多個非分配型子通道,因而這種通道既具有很高的數(shù)據(jù)傳輸速率,又能獲得令人滿意的通道利用率。也正因此,才使該通道能被廣泛地用于連接多臺高、中速的外圍設(shè)備,其數(shù)據(jù)傳送是按數(shù)組方式進(jìn)行的。第十一頁,共八十一頁。3.“瓶頸”問題圖5-4單通路I/O系統(tǒng)第十二頁,共八十一頁。圖5-5多通路I/O系統(tǒng)第十三頁,共八十一頁。5.1.4總線系統(tǒng)圖5-6總線型I/O系統(tǒng)結(jié)構(gòu)第十四頁,共八十一頁。1.ISA和EISA總線1)ISA(IndustryStandardArchitecture)總線這是為了1984年推出的80286型微機(jī)而設(shè)計的總線結(jié)構(gòu)。其總線的帶寬為8位,最高傳輸速率為2Mb/s。之后不久又推出了16位的(EISA)總線,其最高傳輸速率為8Mb/s,后又升至16Mb/s,能連接12臺設(shè)備。2)EISA(ExtendedISA)總線到80年代末期,ISA總線已難于滿足帶寬和傳輸速率的要求,于是人們又開發(fā)出擴(kuò)展ISA(EISA)總線,其帶寬為32位,總線的傳輸速率高達(dá)32Mb/s,同樣可以連接12臺外部設(shè)備。第十五頁,共八十一頁。2.局部總線(LocalBus)VESA(VideoElectronicStandardAssociation)總線2)PCI(PeripheralComponentInterface)總線第十六頁,共八十一頁。5.2I/O控制方式5.2.1程序I/O方式在程序I/O方式中,由于CPU的高速性和I/O設(shè)備的低速性,致使CPU的絕大部分時間都處于等待I/O設(shè)備完成數(shù)據(jù)I/O的循環(huán)測試中,造成對CPU的極大浪費(fèi)。在該方式中,CPU之所以要不斷地測試I/O設(shè)備的狀態(tài),就是因為在CPU中無中斷機(jī)構(gòu),使I/O設(shè)備無法向CPU報告它已完成了一個字符的輸入操作。第十七頁,共八十一頁。圖5-7程序I/O和中斷驅(qū)動方式的流程第十八頁,共八十一頁。5.2.2中斷驅(qū)動I/O控制方式在I/O設(shè)備輸入每個數(shù)據(jù)的過程中,由于無須CPU干預(yù),因而可使CPU與I/O設(shè)備并行工作。僅當(dāng)輸完一個數(shù)據(jù)時,才需CPU花費(fèi)極短的時間去做些中斷處理??梢?,這樣可使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的利用率。第十九頁,共八十一頁。5.2.3直接存儲器訪問DMAI/O控制方式1.DMA(DirectMemoryAccess)控制方式的引入該方式的特點是:①數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊,即在CPU與I/O設(shè)備之間,每次傳送至少一個數(shù)據(jù)塊;②所傳送的數(shù)據(jù)是從設(shè)備直接送入內(nèi)存的,或者相反;③僅在傳送一個或多個數(shù)據(jù)塊的開始和結(jié)束時,才需CPU干預(yù),整塊數(shù)據(jù)的傳送是在控制器的控制下完成的。可見,DMA方式較之中斷驅(qū)動方式,又是成百倍地減少了CPU對I/O的干預(yù),進(jìn)一步提高了CPU與I/O設(shè)備的并行操作程度。第二十頁,共八十一頁。2.DMA控制器的組成圖5-8DMA控制器的組成第二十一頁,共八十一頁。為了實現(xiàn)在主機(jī)與控制器之間成塊數(shù)據(jù)的直接交換,必須在DMA控制器中設(shè)置如下四類寄存器:(1)命令/狀態(tài)寄存器CR。用于接收從CPU發(fā)來的I/O命令或有關(guān)控制信息,或設(shè)備的狀態(tài)。(2)內(nèi)存地址寄存器MAR。在輸入時,它存放把數(shù)據(jù)從設(shè)備傳送到內(nèi)存的起始目標(biāo)地址;在輸出時,它存放由內(nèi)存到設(shè)備的內(nèi)存源地址。(3)數(shù)據(jù)寄存器DR。用于暫存從設(shè)備到內(nèi)存,或從內(nèi)存到設(shè)備的數(shù)據(jù)。(4)數(shù)據(jù)計數(shù)器DC。存放本次CPU要讀或?qū)懙淖?節(jié))數(shù)。第二十二頁,共八十一頁。3.DMA工作過程圖5-9DMA方式的工作流程第二十三頁,共八十一頁。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ù)。第二十四頁,共八十一頁。2.通道程序操作碼。(2)內(nèi)存地址。(3)計數(shù)。(4)通道程序結(jié)束位P。(5)記錄結(jié)束標(biāo)志R。第二十五頁,共八十一頁。操作PR計數(shù)內(nèi)存地址WRITE0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE11250720第二十六頁,共八十一頁。5.3緩沖管理5.3.1緩沖的引入緩和CPU與I/O設(shè)備間速度不匹配的矛盾。(2)減少對CPU的中斷頻率,放寬對CPU中斷響應(yīng)時間的限制。(3)提高CPU和I/O設(shè)備之間的并行性。第二十七頁,共八十一頁。圖5-10利用緩沖寄存器實現(xiàn)緩沖第二十八頁,共八十一頁。5.3.2單緩沖和雙緩沖1.單緩沖(SingleBuffer)圖5-11單緩沖工作示意圖第二十九頁,共八十一頁。2.雙緩沖(DoubleBuffer)圖5-12雙緩沖工作示意圖第三十頁,共八十一頁。圖5-13雙機(jī)通信時緩沖區(qū)的設(shè)置第三十一頁,共八十一頁。5.3.3循環(huán)緩沖1.循環(huán)緩沖的組成圖5-14循環(huán)緩沖第三十二頁,共八十一頁。2.循環(huán)緩沖區(qū)的使用Getbuf過程。(2)Releasebuf過程。第三十三頁,共八十一頁。3.進(jìn)程同步Nexti指針追趕上Nextg指針。(2)Nextg指針追趕上Nexti指針。第三十四頁,共八十一頁。5.3.4緩沖池(BufferPool)1.緩沖池的組成
1.緩沖池的組成對于既可用于輸入又可用于輸出的公用緩沖池,其中至少應(yīng)含有以下三種類型的緩沖區(qū):①空(閑)緩沖區(qū);②裝滿輸入數(shù)據(jù)的緩沖區(qū);③裝滿輸出數(shù)據(jù)的緩沖區(qū)。為了管理上的方便,可將相同類型的緩沖區(qū)鏈成一個隊列,于是可形成以下三個隊列:(1)空緩沖隊列emq。(2)輸入隊列inq。(3)輸出隊列outq。第三十五頁,共八十一頁。2.Getbuf過程和Putbuf過程ProcedureGetbuf(type)beginWait(RS(type));Wait(MS(type));B(number)∶[KG-*3]=Takebuf(type);Signal(MS(type));endProcedurePutbuf(type,number)beginWait(MS(type));Addbuf(type,number);Signal(MS(type));Signal(RS(type));end第三十六頁,共八十一頁。3.緩沖區(qū)的工作方式圖5-15緩沖區(qū)的工作方式第三十七頁,共八十一頁。5.4設(shè)備分配5.4.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)1.設(shè)備控制表DCT圖5-16設(shè)備控制表第三十八頁,共八十一頁。2.控制器控制表、通道控制表和系統(tǒng)設(shè)備表圖5-17COCT、CHCT和SDT表第三十九頁,共八十一頁。5.4.2設(shè)備分配時應(yīng)考慮的因素1.設(shè)備的固有屬性獨享設(shè)備。
(2)共享設(shè)備。
(3)虛擬設(shè)備。第四十頁,共八十一頁。2.設(shè)備分配算法先來先服務(wù)。(2)優(yōu)先級高者優(yōu)先。第四十一頁,共八十一頁。3.設(shè)備分配中的安全性安全分配方式2)不安全分配方式第四十二頁,共八十一頁。5.4.3設(shè)備獨立性1.設(shè)備獨立性(DeviceIndependence)的概念為了提高OS的可適應(yīng)性和可擴(kuò)展性,在現(xiàn)代OS中都毫無例外地實現(xiàn)了設(shè)備獨立性,也稱為設(shè)備無關(guān)性。其基本含義是:應(yīng)用程序獨立于具體使用的物理設(shè)備。為了實現(xiàn)設(shè)備獨立性而引入了邏輯設(shè)備和物理設(shè)備這兩個概念。在應(yīng)用程序中,使用邏輯設(shè)備名稱來請求使用某類設(shè)備;而系統(tǒng)在實際執(zhí)行時,還必須使用物理設(shè)備名稱。因此,系統(tǒng)須具有將邏輯設(shè)備名稱轉(zhuǎn)換為某物理設(shè)備名稱的功能,這非常類似于存儲器管理中所介紹的邏輯地址和物理地址的概念。第四十三頁,共八十一頁。在實現(xiàn)了設(shè)備獨立性的功能后,可帶來以下兩方面的好處。1)設(shè)備分配時的靈活性2)易于實現(xiàn)I/O重定向第四十四頁,共八十一頁。2.設(shè)備獨立性軟件1)執(zhí)行所有設(shè)備的公有操作這些公有操作包括:①對獨立設(shè)備的分配與回收;②將邏輯設(shè)備名映射為物理設(shè)備名,進(jìn)一步可以找到相應(yīng)物理設(shè)備的驅(qū)動程序;③對設(shè)備進(jìn)行保護(hù),禁止用戶直接訪問設(shè)備;④緩沖管理,即對字符設(shè)備和塊設(shè)備的緩沖區(qū)進(jìn)行有效的管理,以提高I/O的效率;⑤差錯控制。由于在I/O操作中的絕大多數(shù)錯誤都與設(shè)備無關(guān),故主要由設(shè)備驅(qū)動程序處理,而設(shè)備獨立性軟件只處理那些設(shè)備驅(qū)動程序無法處理的錯誤。第四十五頁,共八十一頁。2)向用戶層(或文件層)軟件提供統(tǒng)一接口無論何種設(shè)備,它們向用戶所提供的接口應(yīng)該是相同的。例如,對各種設(shè)備的讀操作,在應(yīng)用程序中都使用read;而對各種設(shè)備的寫操作,也都使用write。第四十六頁,共八十一頁。3.邏輯設(shè)備名到物理設(shè)備名映射的實現(xiàn)邏輯設(shè)備表2)LUT的設(shè)置問題圖5-18邏輯設(shè)備表第四十七頁,共八十一頁。5.4.4獨占設(shè)備的分配程序1.基本的設(shè)備分配程序分配設(shè)備2)分配控制器3)分配通道第四十八頁,共八十一頁。2.設(shè)備分配程序的改進(jìn)增加設(shè)備的獨立性
2)考慮多通路情況第四十九頁,共八十一頁。5.4.5SPOOLing技術(shù)1.什么是SPOOLing為了緩和CPU的高速性與I/O設(shè)備低速性間的矛盾而引入了脫機(jī)輸入、脫機(jī)輸出技術(shù)。該技術(shù)是利用專門的外圍控制機(jī),將低速I/O設(shè)備上的數(shù)據(jù)傳送到高速磁盤上;或者相反。事實上,當(dāng)系統(tǒng)中引入了多道程序技術(shù)后,完全可以利用其中的一道程序,來模擬脫機(jī)輸入時的外圍控制機(jī)功能,把低速I/O設(shè)備上的數(shù)據(jù)傳送到高速磁盤上;再用另一道程序來模擬脫機(jī)輸出時外圍控制機(jī)的功能,把數(shù)據(jù)從磁盤傳送到低速輸出設(shè)備上。這樣,便可在主機(jī)的直接控制下,實現(xiàn)脫機(jī)輸入、輸出功能。此時的外圍操作與CPU對數(shù)據(jù)的處理同時進(jìn)行,我們把這種在聯(lián)機(jī)情況下實現(xiàn)的同時外圍操作稱為SPOOLing(SimultaneausPeriphernalOperatingOn-Line),或稱為假脫機(jī)操作。第五十頁,共八十一頁。2.SPOOLing系統(tǒng)的組成圖5-19SPOOLing系統(tǒng)的組成第五十一頁,共八十一頁。3.共享打印機(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)程申請一張空白的用戶請求打印表,并將用戶的打印要求填入其中,再將該表掛到請求打印隊列上。第五十二頁,共八十一頁。4.SPOOLing系統(tǒng)的特點提高了I/O的速度。(2)將獨占設(shè)備改造為共享設(shè)備。(3)實現(xiàn)了虛擬設(shè)備功能。第五十三頁,共八十一頁。5.5設(shè)備處理5.5.1設(shè)備驅(qū)動程序的功能和特點1.設(shè)備驅(qū)動程序的功能(1)接收由I/O進(jìn)程發(fā)來的命令和參數(shù),并將命令中的抽象要求轉(zhuǎn)換為具體要求,例如,將磁盤塊號轉(zhuǎn)換為磁盤的盤面、磁道號及扇區(qū)號。(2)檢查用戶I/O請求的合法性,了解I/O設(shè)備的狀態(tài),傳遞有關(guān)參數(shù),設(shè)置設(shè)備的工作方式。第五十四頁,共八十一頁。(3)發(fā)出I/O命令,如果設(shè)備空閑,便立即啟動I/O設(shè)備去完成指定的I/O操作;如果設(shè)備處于忙碌狀態(tài),則將請求者的請求塊掛在設(shè)備隊列上等待。(4)及時響應(yīng)由控制器或通道發(fā)來的中斷請求,并根據(jù)其中斷類型調(diào)用相應(yīng)的中斷處理程序進(jìn)行處理。(5)對于設(shè)置有通道的計算機(jī)系統(tǒng),驅(qū)動程序還應(yīng)能夠根據(jù)用戶的I/O請求,自動地構(gòu)成通道程序。第五十五頁,共八十一頁。2.設(shè)備處理方式(1)為每一類設(shè)備設(shè)置一個進(jìn)程,專門用于執(zhí)行這類設(shè)備的I/O操作.(2)在整個系統(tǒng)中設(shè)置一個I/O進(jìn)程,專門用于執(zhí)行系統(tǒng)中所有各類設(shè)備的I/O操作。(3)不設(shè)置專門的設(shè)備處理進(jìn)程,而只為各類設(shè)備設(shè)置相應(yīng)的設(shè)備處理程序(模塊),供用戶進(jìn)程或系統(tǒng)進(jìn)程調(diào)用。第五十六頁,共八十一頁。3.設(shè)備驅(qū)動程序的特點(1)驅(qū)動程序主要是指在請求I/O的進(jìn)程與設(shè)備控制器之間的一個通信和轉(zhuǎn)換程序。(2)驅(qū)動程序與設(shè)備控制器和I/O設(shè)備的硬件特性緊密相關(guān),因而對不同類型的設(shè)備應(yīng)配置不同的驅(qū)動程序。(3)驅(qū)動程序與I/O設(shè)備所采用的I/O控制方式緊密相關(guān)。(4)由于驅(qū)動程序與硬件緊密相關(guān),因而其中的一部分必須用匯編語言書寫。第五十七頁,共八十一頁。5.5.2設(shè)備驅(qū)動程序的處理過程將抽象要求轉(zhuǎn)換為具體要求2.檢查I/O請求的合法性3.讀出和檢查設(shè)備的狀態(tài)4.傳送必要的參數(shù)5.工作方式的設(shè)置6.啟動I/O設(shè)備第五十八頁,共八十一頁。圖5-20中斷現(xiàn)場保護(hù)示意圖第五十九頁,共八十一頁。圖5-21中斷處理流程第六十頁,共八十一頁。5.6磁盤存儲器管理5.6.1磁盤性能簡述1.數(shù)據(jù)的組織和格式圖5-22磁盤的格式化第六十一頁,共八十一頁。2.磁盤的類型1)固定頭磁盤這種磁盤在每條磁道上都有一讀/寫磁頭,所有的磁頭都被裝在一剛性磁臂中。通過這些磁頭可訪問所有各磁道,并進(jìn)行并行讀/寫,有效地提高了磁盤的I/O速度。這種結(jié)構(gòu)的磁盤主要用于大容量磁盤上。2)移動頭磁盤每一個盤面僅配有一個磁頭,也被裝入磁臂中。為能訪問該盤面上的所有磁道,該磁頭必須能移動以進(jìn)行尋道。可見,移動磁頭僅能以串行方式讀/寫,致使其I/O速度較慢;但由于其結(jié)構(gòu)簡單,故仍廣泛應(yīng)用于中小型磁盤設(shè)備中。第六十二頁,共八十一頁。3.磁盤訪問時間1)尋道時間Ts這是指把磁臂(磁頭)移動到指定磁道上所經(jīng)歷的時間。該時間是啟動磁臂的時間s與磁頭移動n條磁道所花費(fèi)的時間之和,即Ts=m×n+s其中,m是一常數(shù),與磁盤驅(qū)動器的速度有關(guān),對一般磁盤,m=0.2;對高速磁盤,m≤0.1,磁臂的啟動時間約為2ms。這樣,對一般的溫盤,其尋道時間將隨尋道距離的增加而增大,大體上是5~30ms。第六十三頁,共八十一頁。2)旋轉(zhuǎn)延遲時間Tτ這是指定扇區(qū)移動到磁頭下面所經(jīng)歷的時間。對于硬盤,典型的旋轉(zhuǎn)速度大多為5400r/min,每轉(zhuǎn)需時11.1ms,平均旋轉(zhuǎn)延遲時間Tτ為5.55ms;對于軟盤,其旋轉(zhuǎn)速度為300r/min或600r/min,這樣,平均Tτ為50~100ms。第六十四頁,共八十一頁。3)傳輸時間Tt這是指把數(shù)據(jù)從磁盤讀出或向磁盤寫入數(shù)據(jù)所經(jīng)歷的時間。Tt的大小與每次所讀/寫的字節(jié)數(shù)b和旋轉(zhuǎn)速度有關(guān):其中,r為磁盤每秒鐘的轉(zhuǎn)數(shù);N為一條磁道上的字節(jié)數(shù),當(dāng)一次讀/寫的字節(jié)數(shù)相當(dāng)于半條磁道上的字節(jié)數(shù)時,Tt與Tτ相同,因此,可將訪問時間Ta表示為:第六十五頁,共八十一頁。5.6.2磁盤調(diào)度1.先來先服務(wù)FCFS(First-Come,FirstServed)圖5-23FCFS調(diào)度算法第六十六頁,共八十一頁。2.最短尋道時間優(yōu)先SSTF(ShortestSeekTimeFirst)圖5-24SSTF調(diào)度算法第六十七頁,共八十一頁。3.掃描(SCAN)算法1)進(jìn)程“饑餓”現(xiàn)象SSTF算法雖然能獲得較好的尋道性能,但卻可能導(dǎo)致某個進(jìn)程發(fā)生“饑餓”(Starvation)現(xiàn)象。因為只要不斷有新進(jìn)程的請求到達(dá),且其所要訪問的磁道與磁頭當(dāng)前所在磁道的距離較近,這種新進(jìn)程的I/O請求必須優(yōu)先滿足。對SSTF算法略加修改后所形成的SCAN算法,即可防止老進(jìn)程出現(xiàn)“饑餓”現(xiàn)象。第六十八頁,共八十一頁。2)SCAN算法圖5-25SCAN調(diào)度算法示例第六十九頁,共八十一頁。4.循環(huán)掃描(CSCAN)算法圖5-26CSCAN調(diào)度算法示例第七十頁,共八十一頁。5.N-Step-SCAN和FSCAN調(diào)度算法1)N-Step-SCAN算法在SSTF、SCAN及CSCAN幾種調(diào)度算法中,都可能出現(xiàn)磁臂停留在某處不動的情況,例如,有一個或幾個進(jìn)程對某一磁道有較高的訪問頻率,即這個(些)進(jìn)程反復(fù)請求對某一磁道的I/O操作,從而壟斷了整個磁盤設(shè)備。我們把這一現(xiàn)象稱為“磁臂粘著”(Armstickiness)。在高密度磁盤上容易出現(xiàn)此情況。N步SCAN算法是將磁盤請求隊列分成若干個長度為N的子隊列,磁盤調(diào)度將按FCFS算法依次處理這些子隊列。而每處理一個隊列時又是按SCAN算法,對一個隊列處理完后,再處理其他隊列。當(dāng)正在處理某子隊列時,如果又出現(xiàn)新的磁盤I/O請求,便將新請求進(jìn)程放入其他隊列,這樣就可避免出現(xiàn)粘著現(xiàn)象。當(dāng)N值取得很大時,會使N步掃描法的性能接近于SCAN算法的性能;當(dāng)N=1時,N步SCAN算法便蛻化為FCFS算法。第七十一頁,共八十一頁。2)FSCAN算法FSCAN算法實質(zhì)上是N步SCAN算法的簡化,即FSCAN只將磁盤請求隊列分成兩個子隊列。一個是由當(dāng)前所有請求磁盤I/O的進(jìn)程形成的隊列,由磁盤調(diào)度按SCAN算法進(jìn)行處理。在掃描期間,將新出現(xiàn)的所有請求磁盤I/O的進(jìn)程,放入另一個等待處理的請求隊列。這樣,所有的新請求都將被推遲到下一次掃描時處理。第七十二頁,共八十一頁。5.6.3磁盤高速緩存(DiskCache)1.磁盤高速緩存的形式是指利用內(nèi)存中的存儲空間,來暫存從磁盤中讀出的一系列盤塊中的信息。因此,這里的高速緩存是一組在邏輯上屬于磁盤,而物理上是駐留在內(nèi)存中的盤塊。高速緩存在內(nèi)存中可分成兩種形式。第一種是在內(nèi)存中開辟一個單獨的存儲空間來作為磁盤高速緩存,其大小是固定的,不會受應(yīng)用程序多少的影響;第二種是把所有未利用的內(nèi)存空間變?yōu)橐粋€緩沖池,供請求分頁系統(tǒng)和磁盤I/O時(作為磁盤高速緩存)共享。此時高速緩存的大小,顯然不再是固定的。當(dāng)磁盤I/O的頻繁程度較高時,該緩沖池可能包含更多的內(nèi)存空間;而在應(yīng)用程序運(yùn)行得較多時,該緩沖池可能只剩下較少的內(nèi)存空間。第七十三頁,共八十一頁。2.數(shù)據(jù)交付方式系統(tǒng)可以采取兩種方式,將數(shù)據(jù)交付給請求進(jìn)程:(1)數(shù)據(jù)交付。這是直接將高速緩存中的數(shù)據(jù),傳送到請求者進(jìn)程的內(nèi)存工作區(qū)中。
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024收養(yǎng)協(xié)議書錦集:收養(yǎng)評估與干預(yù)服務(wù)手冊3篇
- 2024虛擬現(xiàn)實游戲內(nèi)容開發(fā)與分成合同
- 二零二五年度便利店商品溯源系統(tǒng)開發(fā)合同3篇
- 2024長期采購的合同
- 2025年度租賃車輛環(huán)保排放檢測及整改協(xié)議2篇
- 二零二五版房產(chǎn)抵押購銷與房地產(chǎn)稅務(wù)籌劃合同3篇
- 2025年度個人與房地產(chǎn)中介服務(wù)借款合同規(guī)范3篇
- 2025年幼兒園幼兒意外傷害保險合同3篇
- 2025年度存量房交易鑒證服務(wù)合同范本3篇
- 二零二五年度植物標(biāo)本制作與提供合同3篇
- 2025年蛇年春聯(lián)帶橫批-蛇年對聯(lián)大全新春對聯(lián)集錦
- 表B. 0 .11工程款支付報審表
- 警務(wù)航空無人機(jī)考試題庫及答案
- 空氣自動站儀器運(yùn)營維護(hù)項目操作說明以及簡單故障處理
- 新生兒窒息復(fù)蘇正壓通氣課件
- 2022年12月Python-一級等級考試真題(附答案-解析)
- 法律顧問投標(biāo)書
- 班主任培訓(xùn)簡報4篇(一)
- 成都市數(shù)學(xué)八年級上冊期末試卷含答案
- T-CHSA 020-2023 上頜骨缺損手術(shù)功能修復(fù)重建的專家共識
- 危重癥患者轉(zhuǎn)運(yùn)指南-課件
評論
0/150
提交評論