《操作系統(tǒng)》課件 第7章設(shè)備管理_第1頁(yè)
《操作系統(tǒng)》課件 第7章設(shè)備管理_第2頁(yè)
《操作系統(tǒng)》課件 第7章設(shè)備管理_第3頁(yè)
《操作系統(tǒng)》課件 第7章設(shè)備管理_第4頁(yè)
《操作系統(tǒng)》課件 第7章設(shè)備管理_第5頁(yè)
已閱讀5頁(yè),還剩56頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第7章章 設(shè)備管理設(shè)備管理I/O設(shè)備管理概述設(shè)備管理概述 磁盤管理磁盤管理I/O控制方式控制方式 緩沖管理緩沖管理7.1 I/O 設(shè)備管理概述設(shè)備管理概述 I/O管理的功能管理的功能l監(jiān)視設(shè)備的狀態(tài)監(jiān)視設(shè)備的狀態(tài)l進(jìn)行設(shè)備分配進(jìn)行設(shè)備分配l完成完成I/O操作操作l緩沖管理緩沖管理I/O硬件組成硬件組成l主機(jī)主機(jī)I/O系統(tǒng)系統(tǒng)四級(jí)結(jié)構(gòu)四級(jí)結(jié)構(gòu)計(jì)算機(jī)I/O通道1I/O通道2控制器控制器控制器控制器設(shè)備l微型機(jī)微型機(jī)I/O系統(tǒng)系統(tǒng)單總線結(jié)構(gòu)單總線結(jié)構(gòu)圖形控制器橋/內(nèi)存控制器SCSI磁盤控制器擴(kuò)展總線接口 其它 控制器打印機(jī)磁盤PCI總線監(jiān)視器處理器高速緩存內(nèi)存磁盤IDE磁盤控制器磁盤磁盤擴(kuò)展總線并

2、行端口串行端口鍵盤I/O設(shè)備設(shè)備設(shè)備的類型設(shè)備的類型l塊設(shè)備如:磁盤、磁帶,塊大小512B32KB,通常為512B。塊設(shè)備的特點(diǎn)是速度高、隨機(jī)訪問、I/O采用DMA。l字符設(shè)備如:鍵盤、行式打印機(jī)。特點(diǎn)是速度低、不可尋址、I/O采用中斷驅(qū)動(dòng)。設(shè)備控制器設(shè)備控制器設(shè)備控制器或適配器設(shè)備控制器或適配器是I/O設(shè)備的電子部分,它是CPU與I/O設(shè)備之間的接口,它接收從CPU發(fā)來(lái)的命令,并控制I/O設(shè)備工作。通常一臺(tái)控制器可控制多臺(tái)同一類型的設(shè)備。在微機(jī)中,設(shè)備控制器設(shè)備控制器常做成印刷電路卡的形式,如I/O卡。設(shè)備控制器設(shè)備控制器的種類很多,需要不同的軟件來(lái)控制它,這樣的軟件就是設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)

3、程序。控制器的功能控制器的功能接收和識(shí)別CPU發(fā)來(lái)的命令數(shù)據(jù)交換了解設(shè)備的狀態(tài),報(bào)告給CPU地址識(shí)別設(shè)備控制器的組成設(shè)備控制器的組成數(shù)據(jù)寄存器控制/狀態(tài)寄存器I/O邏輯控制器與設(shè)備接口1控制器與設(shè)備接口2數(shù)據(jù)線地址線控制線CPU與控制器接口數(shù)據(jù)狀態(tài)控制數(shù)據(jù)狀態(tài)控制控制器與設(shè)備接口l控制器與控制器與CPU之間接口之間接口用于控制設(shè)備與總線之間交換數(shù)據(jù)。l控制器與設(shè)備之間接口控制器與設(shè)備之間接口用于根據(jù)CPU發(fā)來(lái)的命令,控制設(shè)備的動(dòng)作。lI/O邏輯邏輯用于實(shí)現(xiàn)對(duì)設(shè)備的控制。I/O邏輯對(duì)收到的地址進(jìn)行譯碼,在根據(jù)譯出的命令對(duì)設(shè)備進(jìn)行控制。設(shè)備通道設(shè)備通道l雖然有控制器可以對(duì)設(shè)備進(jìn)行控制,但當(dāng)外設(shè)很多

4、時(shí),CPU負(fù)擔(dān)過重,為此在CPU與控制器之間增加通道通道。l增加通道的目的增加通道的目的“是建立獨(dú)立的I/O操作,不僅使數(shù)據(jù)的傳送能獨(dú)立于CPU,而且有關(guān)I/O操作的組織、管理及結(jié)束也盡量獨(dú)立,以保證CPU有更多的時(shí)間去進(jìn)行數(shù)據(jù)處理。l通道是特殊的處理機(jī)通道是特殊的處理機(jī)它指令單一。沒有內(nèi)存。通道的類型通道的類型l數(shù)組選擇通道數(shù)組選擇通道連接磁盤等高速外設(shè)。以塊為傳送單位。通道隨與多個(gè)外設(shè)相連,但通常被一個(gè)設(shè)備專用,用完釋放后才讓給其他設(shè)備。l數(shù)組多路通道數(shù)組多路通道連接高速外設(shè)。如磁盤。綜合字節(jié)多路通道的”并行“和選擇通道的”高速“的優(yōu)點(diǎn)。通道利用一臺(tái)設(shè)備”讀寫定位“的時(shí)間,再與另一外設(shè)交換

5、信息。l字節(jié)多路通道字節(jié)多路通道連接中、低速外設(shè)。如打印機(jī)、終端等。以字節(jié)為傳送單位。傳送時(shí),通道與多個(gè)外設(shè)交叉?zhèn)鬟f,當(dāng)一個(gè)外設(shè)交換一個(gè)字節(jié)后,立即騰出,將通道讓給另一個(gè)設(shè)備使用。主通道:A1B1C1A2B2C2控制器 A控制器 B控制器 C控制器 D控制器 N子通道A: A1A2A3子通道B: B1B2B3子通道C: C1C2C3子通道N: N1N2N3ABCDN設(shè)備通道的連接方式通道的連接方式計(jì)算機(jī)I/O通道1I/O通道2控制器控制器控制器控制器設(shè)備計(jì)算機(jī)I/O通道1I/O通道2設(shè)備設(shè)備設(shè)備設(shè)備控制器1控制器2l單通路單通路l多通路多通路設(shè)備與計(jì)算機(jī)之間有多條通道,增加靈活性。增強(qiáng)可靠性。

6、某通道、控制器壞,也不會(huì)影響數(shù)據(jù)交換。7.2 I/O控制方式控制方式 I/O數(shù)據(jù)控制方式的發(fā)展經(jīng)歷了四個(gè)階段l程序直接控制方式程序直接控制方式l中斷驅(qū)動(dòng)方式中斷驅(qū)動(dòng)方式lDMA控制方式控制方式l通道方式通道方式在I/O控制的整個(gè)發(fā)展過程中,始終貫穿著一條宗旨,盡量減少主機(jī)對(duì)I/O控制的干預(yù),把主機(jī)從繁雜的I/O控制事物中解脫出來(lái),以更多地去完成數(shù)據(jù)處理任務(wù)。程序直接控制方式程序直接控制方式忙忙等待方式等待方式缺點(diǎn)缺點(diǎn) lCPU與外設(shè)只能串行工作。lCPU在一段時(shí)間內(nèi)只能與一臺(tái)外設(shè)交換數(shù)據(jù)信息。l無(wú)法發(fā)現(xiàn)和處理由于設(shè)備和其它硬件所產(chǎn)生的錯(cuò)誤。發(fā)指令啟動(dòng)外設(shè)設(shè)備的標(biāo)志位=0等待進(jìn)行數(shù)據(jù)傳送CPU是

7、否接到啟動(dòng)命令準(zhǔn)備完畢標(biāo)志位置0等待CPU的下條指令外設(shè)是否做數(shù)據(jù)傳送準(zhǔn)備(a)(b)中斷驅(qū)動(dòng)方式中斷驅(qū)動(dòng)方式中斷方式缺點(diǎn)中斷方式缺點(diǎn)l中斷的次數(shù)過多。l 中斷次數(shù)的急劇增加會(huì)造成CPU無(wú)法及時(shí)響應(yīng)中斷,出現(xiàn)數(shù)據(jù)丟失現(xiàn)象。發(fā)指令啟動(dòng)外設(shè)將中斷位置1收到中斷信號(hào)嗎?中斷處理被中斷進(jìn)程繼續(xù)執(zhí)行CPU是否接到啟動(dòng)命令數(shù)據(jù)寄存器滿嗎?控制器發(fā)中斷信號(hào)外設(shè)是否將數(shù)據(jù)送到數(shù)據(jù)寄存器(a)(b)進(jìn)程調(diào)度程序調(diào)度其它進(jìn)程其它進(jìn)程執(zhí)行DMA控制方式控制方式中斷方式比程序I/O方式有效,但它是以字節(jié)為單位進(jìn)行的,每傳送一個(gè)字節(jié),控制器便向CPU請(qǐng)求一次中斷,如果將這種方式用于塊設(shè)備的I/O,顯然是低效的。例如要讀

8、1KB的數(shù)據(jù)塊,需要中斷1K次CPU。為了減少CPU對(duì)I/O的干預(yù),引入DMA方式。該方式的特點(diǎn)為:l數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊。l所傳送的數(shù)據(jù)是從設(shè)備直接送入內(nèi)存的。l僅在傳送一個(gè)或多個(gè)數(shù)據(jù)塊的開始或結(jié)束時(shí),才需CPU干預(yù),整塊數(shù)據(jù)的傳送是在控制器的控制下完成的。DMA控制器的組成控制器的組成增加兩類寄存器:l內(nèi)存地址寄存器MARl數(shù)據(jù)計(jì)數(shù)器DCPU控制器控制/狀態(tài)寄存器內(nèi)存地址寄存器忙/閑位中斷位開始中斷數(shù)據(jù)線信號(hào)線數(shù)據(jù)寄存器數(shù)據(jù)計(jì)數(shù)器內(nèi)存CountDMA工作過程工作過程存儲(chǔ)器地址增1數(shù)據(jù)計(jì)數(shù)器減1挪用存儲(chǔ)器周期傳送數(shù)據(jù)字開始設(shè)置MAR和DC的初值啟動(dòng)DMA傳送命令DC=0?是在繼續(xù)執(zhí)行用

9、戶程序的同時(shí),準(zhǔn)備又一次傳送請(qǐng)求中斷否當(dāng)CPU需要從磁盤讀數(shù)據(jù)時(shí),便向磁盤控制器DMA發(fā)命令,該命令送命令寄存器CR,將內(nèi)存地址送內(nèi)存地址寄存器MAR,本次要讀的字節(jié)數(shù)送數(shù)據(jù)寄存器DC。啟動(dòng)DMA后,CPU干其他的事情,數(shù)據(jù)傳送在DMA的控制下完成。通道方式通道方式lDMA方式比中斷方式、程序I/O方式以顯著地減少了CPU的干預(yù),即從字節(jié)為單位的干預(yù)減少到以數(shù)據(jù)塊為單位的干預(yù)。lI/O通道方式是DMA方式的發(fā)展,把以數(shù)據(jù)塊為單位的干預(yù),減少到對(duì)一組數(shù)據(jù)塊為單位的干預(yù)。l在DMA方式中,每發(fā)出一個(gè)I/O指令,能讀(寫)一個(gè)連續(xù)的數(shù)據(jù)塊,當(dāng)需要一次去讀多個(gè)離散的數(shù)據(jù)塊且將它們分別傳送到不同的內(nèi)存區(qū)

10、域時(shí),則需多條I/O指令和多次中斷,而通道只需一次即可完成。l通道有一系列通道指令構(gòu)成。通道指令的格式:操作碼規(guī)定了指令所要執(zhí)行的操作,如讀、寫等。計(jì)數(shù)表示本條指令要讀(寫)數(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ù)是最后一條記錄。通道指令示例:操作碼操作碼 P R 計(jì)數(shù)計(jì)數(shù) 內(nèi)存地址內(nèi)存地址write 0 0 250 1850write 0 1 60 2100write 1 1 280 7

11、90通道指令通道指令7.3 I/O系統(tǒng)系統(tǒng)lI/O系統(tǒng)層次結(jié)構(gòu)系統(tǒng)層次結(jié)構(gòu)設(shè)備分配考慮因素設(shè)備分配考慮因素l設(shè)備固有屬性設(shè)備固有屬性獨(dú)享設(shè)備共享設(shè)備虛擬設(shè)備l設(shè)備分配中的安全性設(shè)備分配中的安全性安全分配方式(單請(qǐng)求方式)不安全分配方式設(shè)備的獨(dú)立性設(shè)備的獨(dú)立性l設(shè)備獨(dú)立性設(shè)備獨(dú)立性也稱設(shè)備無(wú)關(guān)性指用戶程序獨(dú)立于具體物理設(shè)備。即用戶只需說(shuō)明使用哪類設(shè)備,如打印機(jī)或顯示器(邏輯設(shè)備名),無(wú)需指定某個(gè)具體設(shè)備(物理設(shè)備名)。操作系統(tǒng)統(tǒng)一合理地進(jìn)行設(shè)備分配。l設(shè)備獨(dú)立性的優(yōu)點(diǎn)設(shè)備獨(dú)立性的優(yōu)點(diǎn)設(shè)備分配時(shí)的靈活性易于實(shí)現(xiàn)I/O重定向l設(shè)備獨(dú)立性的實(shí)現(xiàn)設(shè)備獨(dú)立性的實(shí)現(xiàn)邏輯設(shè)備表邏輯設(shè)備表操作系統(tǒng)實(shí)現(xiàn)邏輯設(shè)備到

12、物理設(shè)備的轉(zhuǎn)換。邏輯設(shè)備表邏輯設(shè)備表(Logical Unit Table,LUT) 邏輯設(shè)備名 物理設(shè)備名 驅(qū)動(dòng)程序入口地址/dev/print 3 2056/dev/tty 5 1034LUT的設(shè)置:的設(shè)置:l整個(gè)系統(tǒng)一張(單用戶系統(tǒng))l一個(gè)用戶一張(多用戶系統(tǒng))設(shè)備分配用數(shù)據(jù)結(jié)構(gòu)設(shè)備分配用數(shù)據(jù)結(jié)構(gòu)設(shè)備等待隊(duì)列尾指針設(shè)備類型設(shè)備標(biāo)識(shí)COCT指針設(shè)備等待隊(duì)列首指針設(shè)備忙/閑標(biāo)記設(shè)備控制表控制器等待隊(duì)列尾指針控制器標(biāo)識(shí)CHCT指針控制器等待隊(duì)列首指針控制器忙/閑標(biāo)記控制器控制表通道等待隊(duì)列尾指針通道標(biāo)識(shí)通道等待隊(duì)列首指針通道忙/閑標(biāo)記通道控制表DCT指針設(shè)備類型獲得設(shè)備的進(jìn)程號(hào)設(shè)備標(biāo)識(shí)系統(tǒng)設(shè)備

13、表表項(xiàng)1表項(xiàng)i(a)(b)(c)(d)l設(shè)備控制表DCT (每個(gè)設(shè)備一張)l控制器控制表COCT (每個(gè)控制器一張)l通道控制表CHCT (每個(gè)通道一張)l系統(tǒng)設(shè)備表SDT (整個(gè)系統(tǒng)一張)設(shè)備分配程序設(shè)備分配程序單通路情況下的設(shè)備分配程序開始查SDT,找到DCTDCT.busy=1計(jì)算安全性安全嗎?由DCT找到COCTCOCT.busy=1由COCT找到CHCTCHCT.busy=1啟動(dòng)I/O設(shè)備進(jìn)行數(shù)據(jù)傳輸結(jié)束將進(jìn)程阻塞在等待該通道的等待隊(duì)列上將進(jìn)程阻塞在等待該控制器的等待隊(duì)列上將進(jìn)程阻塞在等待該設(shè)備的等待隊(duì)列上將進(jìn)程阻塞在等待該設(shè)備的等待隊(duì)列上是否是否是否否是SPOOLing技術(shù)技術(shù)Si

14、multanczus Periphernal Operations On -Line輸入緩沖區(qū)輸出緩沖區(qū)輸入進(jìn)程SPi輸出進(jìn)程SPo輸入井輸出井磁盤內(nèi)存輸入設(shè)備輸出設(shè)備SPOOLing的系統(tǒng)組成:的系統(tǒng)組成:輸入井和輸出井輸入緩沖區(qū)和輸出緩沖區(qū)輸入進(jìn)程SPi和輸出進(jìn)程SPo用用SPOOLing技術(shù)共享打印機(jī)技術(shù)共享打印機(jī)打印機(jī)是經(jīng)常要用的輸出設(shè)備,屬于獨(dú)享設(shè)備。利用SPOOLing 技術(shù),可將它改造為一臺(tái)供多用戶共享的設(shè)備,從而提高了設(shè)備的利用率。具體過程:l1用戶要求打印l2輸出進(jìn)程SPO在“輸出井”為之申請(qǐng)一空閑盤區(qū),并將要求打印的數(shù)據(jù)送入其中。l3SPO為用戶進(jìn)程申請(qǐng)“用戶請(qǐng)求打印表”,

15、將打印要求填入其中,并將該表掛到請(qǐng)求打印隊(duì)列上。l4打印機(jī)空閑時(shí), SPO從打印隊(duì)列上取出一張“請(qǐng)求打印表”將要打印數(shù)據(jù)從“輸出井”送到內(nèi)存“輸出緩沖區(qū)”,由打印機(jī)進(jìn)行打印。l5重復(fù)4。SPOOLing特點(diǎn):特點(diǎn):提高I/O速度將獨(dú)占設(shè)備改造為共享設(shè)備實(shí)現(xiàn)虛擬設(shè)備功能設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序l設(shè)備驅(qū)動(dòng)程序的功能:設(shè)備驅(qū)動(dòng)程序的功能:l向有關(guān)I/O設(shè)備的控制器(中的控制/狀態(tài)寄存器)發(fā)出控制命令,監(jiān)督它們的正確執(zhí)行,并進(jìn)行必要的錯(cuò)誤處理。l對(duì)等待各種設(shè)備、控制器和通道的進(jìn)程進(jìn)行排隊(duì)。l執(zhí)行比寄存器級(jí)別更高的一些特殊處理,如代碼轉(zhuǎn)換、退出處理等。l設(shè)備驅(qū)動(dòng)程序的特點(diǎn)設(shè)備驅(qū)動(dòng)程序的特點(diǎn)不同類型的設(shè)備

16、配置不同的驅(qū)動(dòng)程序。由于驅(qū)動(dòng)程序與硬件緊密相關(guān),常用匯編語(yǔ)言寫。驅(qū)動(dòng)程序的結(jié)構(gòu)與I/O設(shè)備的硬件特性緊密相關(guān)。中斷中斷l(xiāng)中斷中斷是指在計(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í)行的過程。l禁止中斷禁止中斷也被稱為關(guān)中斷。PSW的中斷允許位的被重新設(shè)置被稱為開中斷。中斷請(qǐng)求、關(guān)中斷和開中斷都是由硬件實(shí)現(xiàn)的。l中斷屏蔽。中斷屏蔽。通過在每一類中斷源設(shè)置一個(gè)中斷屏蔽觸發(fā)器,來(lái)屏蔽它們的中斷請(qǐng)求。l中斷的分類中斷的分類硬中斷l(xiāng)內(nèi)中斷l(xiāng)外中斷軟中斷中斷優(yōu)先級(jí)中斷

17、優(yōu)先級(jí)低優(yōu)先級(jí)高優(yōu)先級(jí)電源故障時(shí)鐘中斷配置文件處理機(jī)內(nèi)部中斷設(shè)備 n設(shè)備 1DPC/dispatchAPC3130272632線程優(yōu)先級(jí)0至31102928硬件中斷軟件中斷按中斷源的輕重緩急,OS對(duì)不同的中斷賦予了不同的優(yōu)先級(jí)。UNIX系統(tǒng)中,外中斷和陷入的優(yōu)先級(jí)共分為8級(jí)。Windows 2000中的中斷優(yōu)先級(jí)分為32級(jí) 所有線程都運(yùn)行在中斷優(yōu)先級(jí)0和1上所有的硬件中斷的優(yōu)先級(jí)都高于軟件中斷中斷處理過程中斷處理過程N(yùn)N+1用戶程序中斷服務(wù)子程序處理機(jī)狀態(tài)字 PSW程序計(jì)數(shù)器 PC寄存器 1寄存器 n中斷堆棧檢查CPU響應(yīng)中斷的條件是否滿足。如果CPU響應(yīng)中斷,則須關(guān)中斷,使CPU進(jìn)入不可再次

18、響應(yīng)中斷的狀態(tài)。保存被中斷進(jìn)程的現(xiàn)場(chǎng)。分析中斷原因。執(zhí)行中斷處理子程序。恢復(fù)被中斷進(jìn)程的現(xiàn)場(chǎng)。開中斷 。中斷現(xiàn)場(chǎng)保護(hù)示意圖 7.4 磁盤管理磁盤管理l速度是影響文件系統(tǒng)性能的主要因素l提高磁盤I/O速度的主要途徑:選擇性能好的磁盤采用好的磁盤調(diào)度算法設(shè)置磁盤高速緩沖區(qū)磁盤性能磁盤性能影響磁盤性能的因素:數(shù)據(jù)的結(jié)構(gòu)磁盤的類型磁盤訪問時(shí)間磁盤結(jié)構(gòu)和管理磁盤結(jié)構(gòu)和管理l一個(gè)磁盤含多個(gè)盤片。l每個(gè)盤片含兩面。l每面含若干個(gè)磁道。l每條磁道上存儲(chǔ)相同數(shù)目的二進(jìn)制位。l每條磁道又分成若干個(gè)扇區(qū),一個(gè)扇區(qū)相當(dāng)于一個(gè)盤塊。l盤片旋轉(zhuǎn),當(dāng)磁頭磁頭位于某個(gè)磁道、某個(gè)扇區(qū)下時(shí),就可將該扇區(qū)的內(nèi)容讀出或?qū)懭?。磁盤的格

19、式化磁盤的格式化(低級(jí)格式化)(低級(jí)格式化)例一個(gè)磁道分成300個(gè)固定大小的扇區(qū),每個(gè)扇區(qū)的容量為600個(gè)字節(jié),其中512個(gè)字節(jié)存放數(shù)據(jù),88個(gè)字節(jié)存放控制信息。磁盤的類型磁盤的類型l固定頭磁盤固定頭磁盤每條磁道上都有一個(gè)讀/寫磁頭(大容量磁盤)l移動(dòng)頭磁盤移動(dòng)頭磁盤每個(gè)盤面僅配一個(gè)讀/寫磁頭。即微機(jī)上用的硬盤(也叫溫切斯特硬盤)、軟盤。磁盤的訪問磁盤的訪問rNbTtsnmTstrsaTTTTl尋道時(shí)間尋道時(shí)間Ts:磁頭從當(dāng)前位置移動(dòng)到指定磁道上所經(jīng)歷的時(shí)間。 (s:啟動(dòng)磁盤時(shí)間、m:常數(shù)=0.3、n:磁道數(shù))Ts:隨尋道距離的增大而增大,約10msl旋轉(zhuǎn)延遲時(shí)間旋轉(zhuǎn)延遲時(shí)間Tr:磁頭找到指定

20、的扇區(qū)所經(jīng)歷的時(shí)間。硬盤Tr=3ms 軟盤100msl傳輸時(shí)間傳輸時(shí)間Tt:數(shù)據(jù)從磁盤讀出,或向磁盤寫入數(shù)據(jù)所經(jīng)歷的時(shí)間。 (r:磁盤旋轉(zhuǎn)速度 N:一條磁道上的字節(jié)數(shù) b:每次讀寫的字節(jié)數(shù))l磁盤訪問時(shí)間磁盤訪問時(shí)間 如何減少磁盤的訪問時(shí)間如何減少磁盤的訪問時(shí)間例2:磁盤的尋道時(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ì)磁盤的訪問時(shí)間。 (1)若數(shù)據(jù)順序組織:讀第一個(gè)磁道的時(shí)間讀第一個(gè)磁道的時(shí)間如下:Ts+Tr+Tt (讀320個(gè)扇區(qū)時(shí)間) =10ms+3ms +6ms = 1

21、9ms如果在讀其余的磁道讀其余的磁道時(shí),不需尋道,后面每個(gè)磁道的讀取時(shí)間時(shí)間是3+6=9ms,讀取整個(gè)文件總時(shí)間讀取整個(gè)文件總時(shí)間=19+7*9=82ms=0.082s(2)如果采用隨機(jī)訪問,也就是說(shuō),訪問隨機(jī)分布在磁盤上的扇區(qū)。對(duì)于每個(gè)扇區(qū)的訪問時(shí)間為: Ts+Tr+Tt (讀一個(gè)扇區(qū)時(shí)間) =10ms+3ms+0.01875ms= 13.01875ms,讀取整個(gè)文件總時(shí)間讀取整個(gè)文件總時(shí)間=2560*13.01875=33328ms=33.328s例1:設(shè)Ts+Tr=13ms,磁道的傳輸速度為1KB/s,要傳輸1K字節(jié),則Ta=13+1=14ms;要傳輸10K字節(jié),則Ta=13+10=23

22、ms結(jié)論結(jié)論1:適當(dāng)集中數(shù)據(jù)傳送,有利于提高傳輸速率。適當(dāng)集中數(shù)據(jù)傳送,有利于提高傳輸速率。結(jié)論結(jié)論2:減少磁盤訪問時(shí)間的途徑之二減少磁盤訪問時(shí)間的途徑之二:數(shù)據(jù)盡可能順序組織數(shù)據(jù)盡可能順序組織5545583391918219072160701501038112184146被訪問的下 移動(dòng)距離一個(gè)磁道號(hào) (磁道數(shù))平均尋道長(zhǎng)度:553FCFS調(diào)度算法90105832553391638118201501321601018424被訪問的下 移動(dòng)距離一個(gè)磁道號(hào) (磁道數(shù))平均尋道長(zhǎng)度:275SSTF調(diào)度算法從100#磁道開始從100#磁道開始磁盤調(diào)度算法磁盤調(diào)度算法FCFS:先來(lái)先服務(wù)優(yōu)點(diǎn):公平、簡(jiǎn)

23、單。缺點(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磁盤調(diào)度算法磁盤調(diào)度算法lSCAN算法:算法:對(duì)SSTF算法進(jìn)行改造,不僅考慮要訪問的磁道與當(dāng)前磁盤的距離,更優(yōu)先考慮磁頭的當(dāng)前移動(dòng)方向。因該算法中磁頭的移動(dòng)規(guī)律頗似電梯的運(yùn)行,故稱“電梯調(diào)度算法”。l循環(huán)掃描循環(huán)掃描CSCAN: 對(duì)SCAN進(jìn)行改造,解決進(jìn)程嚴(yán)重延遲現(xiàn)象。內(nèi)外內(nèi)外掃描算法掃描算法磁盤調(diào)度算法磁盤調(diào)度算法1505016010184249094583255339163811820被訪問的下 移動(dòng)距離一個(gè)磁道號(hào) (磁道數(shù))平均尋道長(zhǎng)度:278SCA

24、N調(diào)度算法15050160101842418166382039155165839032被訪問的下 移動(dòng)距離一個(gè)磁道號(hào) (磁道數(shù))平均尋道長(zhǎng)度:357CSCAN調(diào)度算法從100#磁道開始,向磁道號(hào)增加的方向從100#磁道開始,向磁道號(hào)增加的方向SCAN和和CSCAN磁盤調(diào)度算法磁盤調(diào)度算法lN-step-SCAN對(duì)于SSTF、SCAN、CSCAN均有可能出現(xiàn)磁頭在某處停留不動(dòng)的情況(如進(jìn)程對(duì)某道的訪問頻率高)稱為磁臂粘著現(xiàn)象。 N-step-SCAN算法將磁盤請(qǐng)求隊(duì)列分成若干個(gè)長(zhǎng)度為N的子隊(duì)列,用FCFS依此處理這些子隊(duì)列。在每個(gè)隊(duì)列中用SCAN。N越大(一個(gè)進(jìn)程一隊(duì))SCAN N越?。∟=1)

25、FCFSN-step-SCAN掃描算法掃描算法磁盤調(diào)度算法磁盤調(diào)度算法lFSCAN將 N-step-SCAN算法簡(jiǎn)單化為二個(gè)隊(duì)列: 一個(gè)隊(duì)列為:當(dāng)前請(qǐng)求磁盤一個(gè)隊(duì)列為:當(dāng)前請(qǐng)求磁盤I/O的進(jìn)程形成的進(jìn)程形成的隊(duì)列。由的隊(duì)列。由SCAN處理。處理。 另一個(gè)隊(duì)列為:新出現(xiàn)的請(qǐng)求磁盤另一個(gè)隊(duì)列為:新出現(xiàn)的請(qǐng)求磁盤I/O的進(jìn)的進(jìn)程形成的隊(duì)列,這樣一來(lái),新的請(qǐng)求下次掃程形成的隊(duì)列,這樣一來(lái),新的請(qǐng)求下次掃描時(shí)再處理。描時(shí)再處理。FSCAN掃描算法掃描算法獨(dú)立磁盤冗余陣列獨(dú)立磁盤冗余陣列l(wèi)廉價(jià)磁盤冗余陣列(廉價(jià)磁盤冗余陣列(Reduntant Array of Inexpensive Disks, RAI

26、D)1987年由美國(guó)加利福尼亞大學(xué)克萊分校提出,后得到廣泛應(yīng)用。lRAIDRAID技術(shù)有技術(shù)有7 7級(jí)級(jí),RAID 0RAID 6,不同的級(jí)別代表了不同的設(shè)計(jì)結(jié)構(gòu)。 廉價(jià)磁盤冗余陣列廉價(jià)磁盤冗余陣列RAID0條帶5條帶0條帶1條帶3條帶4條帶2條帶0條帶3條帶1條帶4條帶2條帶5文件數(shù)據(jù)物理磁盤0物理磁盤1物理磁盤2磁盤陣列管理軟件014567230145672301456723lRAID 0級(jí)級(jí)并行交叉存取并行交叉存取系統(tǒng)中有多臺(tái)磁盤驅(qū)動(dòng)器,每個(gè)磁盤被劃分成多個(gè)條帶。當(dāng)要讀取磁盤上的數(shù)據(jù)時(shí),采取并行傳輸方式,將各個(gè)磁盤條帶中的數(shù)據(jù)同時(shí)向內(nèi)存中傳輸,從而使傳輸時(shí)間大大減少傳輸時(shí)間大大減少。廉價(jià)

27、磁盤冗余陣列廉價(jià)磁盤冗余陣列RAID1條帶0條帶3條帶1條帶4條帶2條帶5物理磁盤0物理磁盤1物理磁盤2014567230145672301456723條帶0條帶3條帶1條帶4條帶2條帶5鏡像磁盤0鏡像磁盤1鏡像磁盤2014567230145672301456723lRAID 1級(jí)級(jí)磁盤鏡像磁盤鏡像具有磁盤鏡像功能,但磁盤利用率只有50%。廉價(jià)磁盤冗余陣列廉價(jià)磁盤冗余陣列RAID3條帶0條帶4條帶12條帶16條帶8條帶1條帶5條帶13條帶17條帶9條帶2條帶6條帶14條帶18條帶10物理磁盤0物理磁盤1物理磁盤2014523014523014523條帶3條帶7條帶15條帶19條帶11校驗(yàn)0-3

28、校驗(yàn)4-7校驗(yàn)12-15校驗(yàn)16-19校驗(yàn)8-11物理磁盤3校驗(yàn)磁盤014523014523lRAID 3級(jí)級(jí)冗余磁盤冗余磁盤具有并行傳輸功能的磁盤陣列。用一臺(tái)奇偶校驗(yàn)盤完成容錯(cuò)比RAID1,磁盤利用率高。常用于科學(xué)計(jì)算和圖像處理。)()()()()(01234iXiXiXiXiX假設(shè)磁盤驅(qū)動(dòng)器X1出現(xiàn)故障,給上面等式的兩邊都加上 ,則有)()()()()(02341iXiXiXiXiX)()(14iXiX校驗(yàn)數(shù)據(jù):廉價(jià)磁盤冗余陣列廉價(jià)磁盤冗余陣列RAID5條帶0條帶4條帶12校驗(yàn)16-19條帶8條帶1條帶5校驗(yàn)12-15條帶16條帶9條帶2條帶6條帶13條帶17校驗(yàn)8-11物理磁盤0物理磁盤

29、1物理磁盤2014523014523014523條帶3校驗(yàn)4-7條帶14條帶18條帶10校驗(yàn)0-3條帶7條帶15條帶19條帶11物理磁盤3物理磁盤4014523014523lRAID 5級(jí)級(jí)冗余條帶分散在所有磁盤中冗余條帶分散在所有磁盤中具有獨(dú)立傳送傳輸功能的磁盤陣列,每個(gè)驅(qū)動(dòng)器有自己獨(dú)立的數(shù)據(jù)通路,獨(dú)立地進(jìn)行讀、寫,且無(wú)專門的校驗(yàn)盤。常用于I/O較頻繁的事務(wù)處理。廉價(jià)磁盤冗余陣列廉價(jià)磁盤冗余陣列RAID6條帶0條帶4條帶12P(16-19)條帶8條帶1條帶5P(12-15)Q(16-19)條帶9條帶2條帶6Q(12-15)條帶16P(8-11)物理磁盤0物理磁盤1物理磁盤2014523014

30、523014523條帶3P(4-7)條帶13條帶17Q(8-11)P(0-3)Q(4-7)條帶14條帶18條帶10物理磁盤3物理磁盤4014523014523Q(0-3)條帶7條帶15條帶19條帶11物理磁盤5014523RAID 6級(jí)級(jí)兩種奇偶校驗(yàn)方法兩種奇偶校驗(yàn)方法采用了兩種不同的奇偶校驗(yàn)計(jì)算方法,并保存在兩個(gè)不同磁盤的不同塊中。這就使得即使有兩個(gè)包含用戶數(shù)據(jù)的磁盤出現(xiàn)故障,也可以重新生成數(shù)據(jù)。RAID的優(yōu)點(diǎn)的優(yōu)點(diǎn)可靠性高可靠性高除RAID0級(jí)外,其余各級(jí)均采用了容錯(cuò)技術(shù),當(dāng)陣列中某一磁盤損壞時(shí),并不會(huì)造成數(shù)據(jù)的丟失,因?yàn)樗葘?shí)現(xiàn)磁盤鏡像,有可實(shí)現(xiàn)磁盤雙工,還可實(shí)現(xiàn)其他的冗余方式,所以可以

31、根據(jù)未損壞磁盤中的信息,來(lái)恢復(fù)已損壞的盤中的信息。磁盤磁盤I/O速度高速度高由于磁盤陣列可采取并行交叉存取方式,故可將磁盤I/O速度提高N-1倍。N為磁盤數(shù)目。性能性能/價(jià)格比高價(jià)格比高用RAID技術(shù)來(lái)實(shí)現(xiàn)大容量高速度存儲(chǔ)器時(shí),其體積與具有相同容量和速度的大型磁盤系統(tǒng)相比,只是后者的1/3,價(jià)格也是后者的1/3,且可靠性更高。即以犧牲1/N的容量為代價(jià),來(lái)?yè)Q取高可靠性。7.5緩沖管理緩沖管理緩沖的引入緩沖的引入緩和CPU與I/O設(shè)備間速度不匹配的矛盾減少對(duì)CPU的中斷頻率提高CPU和I/O設(shè)備之間的并行性協(xié)調(diào)傳輸數(shù)據(jù)大小不一致的設(shè)備緩沖是在通信問題中,為了使通信雙方的速度匹配緩沖是在通信問題中

32、,為了使通信雙方的速度匹配而引入的一個(gè)中間層次,這個(gè)層次的速度比通信雙而引入的一個(gè)中間層次,這個(gè)層次的速度比通信雙方中較慢的一方快,而與較快的一方更匹配方中較慢的一方快,而與較快的一方更匹配 。緩沖的設(shè)置緩沖的設(shè)置CACHEI/O設(shè)備或控制器內(nèi)部的純硬件緩沖區(qū)內(nèi)存開辟的緩沖區(qū)脫機(jī)I/O技術(shù)和SPOOLing技術(shù)內(nèi)存中的緩沖區(qū)內(nèi)存中的緩沖區(qū)單緩沖單緩沖l若沒有緩沖區(qū):從磁盤把一塊數(shù)據(jù)送入用戶區(qū),其所花費(fèi)的時(shí)間為T,CPU對(duì)數(shù)據(jù)進(jìn)行計(jì)算,其所花費(fèi)的時(shí)間為C,則系統(tǒng)對(duì)整塊數(shù)據(jù)的處理時(shí)間為T+C( T與與C串行串行 )l提供緩沖區(qū)從磁盤把一塊數(shù)據(jù)送入緩沖區(qū),其所花費(fèi)的時(shí)間為T,操作系統(tǒng)將緩沖區(qū)的數(shù)據(jù)送

33、入用戶區(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并行并行 )用戶進(jìn)程輸出設(shè)備緩沖區(qū)操作系統(tǒng)(a)單緩沖雙緩沖雙緩沖用戶進(jìn)程輸出設(shè)備緩沖區(qū)1操作系統(tǒng)(b)雙緩沖緩沖區(qū)2l對(duì)于雙緩沖,先將數(shù)據(jù)輸入到第一個(gè)緩沖區(qū),l在向第二個(gè)緩沖區(qū)送數(shù)據(jù)的同時(shí),CPU對(duì)第一個(gè)緩沖區(qū)中數(shù)據(jù)進(jìn)行計(jì)算。l因此在有雙緩沖的情況下,系統(tǒng)處理一塊數(shù)據(jù)的時(shí)間為max(C,T)。 l如果CT,CPU就不必等待設(shè)備輸入。循環(huán)緩沖循環(huán)緩沖當(dāng)輸入、輸出的速度基本相匹配時(shí),可使用雙緩沖,但若兩者的速度相差甚遠(yuǎn)時(shí),雙緩沖的效果就不太理想,

34、因此可有多緩沖。典型的即生產(chǎn)者和消費(fèi)者問題。NextINextGNextICurrentNextG(b)消費(fèi)者調(diào)用GetBuf(a)循環(huán)緩沖緩沖池緩沖池以上的緩沖只能用于某一進(jìn)程,他們屬于專用緩沖。為了提高緩沖區(qū)的利用率,可采用公用緩沖池。三個(gè)緩沖區(qū)鏈組成的隊(duì)列:三個(gè)緩沖區(qū)鏈組成的隊(duì)列:l空緩沖區(qū)隊(duì)列emql輸入隊(duì)列inql輸出隊(duì)列outq緩沖池緩沖池hinhoutsoutsin用戶程序收容輸入提取輸出提取輸入收容輸出緩沖池四種工作緩沖區(qū):l用于收容輸入數(shù)據(jù)的工作緩沖區(qū)hinl用于提取輸入數(shù)據(jù)的工作緩沖區(qū)sinl用于收容輸出數(shù)據(jù)的工作緩沖區(qū)houtl用于提取輸出數(shù)據(jù)的工作緩沖區(qū)sout緩沖池管理的緩沖池管理的兩個(gè)過程兩個(gè)過程GetBuf和和PutBuf Procedure Putbuf(type,number) wait(MS(type); Addbuf(type,number);Signal(MS(type);Signal(RS(type);Procedure Getbuf(type) wait(RS(type); /同步信號(hào)燈同步信號(hào)燈wait(MS(type); /互斥信號(hào)燈互斥信號(hào)燈B(number)=Takebuf(type);/從隊(duì)列中摘取一緩沖區(qū)從隊(duì)列中摘取一緩沖區(qū)Signal(MS(type);l對(duì)三個(gè)隊(duì)列的操作是類似的,主要有兩個(gè)操作: l AddB

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論