第五章設(shè)備管理_第1頁
第五章設(shè)備管理_第2頁
第五章設(shè)備管理_第3頁
第五章設(shè)備管理_第4頁
第五章設(shè)備管理_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy5.1 I/O硬件原理硬件原理5.2 I/O軟件原理軟件原理5.3 緩沖技術(shù)緩沖技術(shù)5.4 驅(qū)動(dòng)調(diào)度技術(shù)驅(qū)動(dòng)調(diào)度技術(shù)5.5 設(shè)備分配設(shè)備分配5.6 虛擬設(shè)備虛擬設(shè)備第五章 設(shè)備管理廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy計(jì)算機(jī)的外部設(shè)備分為兩類:存儲(chǔ)型設(shè)備、I/O型設(shè)備n設(shè)備管理要克服設(shè)備和CPU速度不匹配所引起的問題n設(shè)備管理的主要功能n設(shè)備中斷處理n設(shè)備的分配和去配n設(shè)備驅(qū)動(dòng)調(diào)度n緩沖區(qū)管理n虛擬設(shè)備及其實(shí)現(xiàn)n系統(tǒng)將所有設(shè)備都定義為文件廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn5.1.1 I/O系統(tǒng)系統(tǒng)n5.1.2 I/

2、O控制方式控制方式 n5.1.3 設(shè)備控制器設(shè)備控制器5.1 I/O5.1 I/O硬件原理硬件原理廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyynI/O設(shè)備及其接口線路、控制部件、通道和管理軟件稱為I/O系統(tǒng)。nI/O操作指的是計(jì)算機(jī)的主存和外圍設(shè)備的介質(zhì)之間的信息傳送操作。5.1.1 I/O系統(tǒng)系統(tǒng)廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy處理器內(nèi)存I/O設(shè)備I/O設(shè)備I/O設(shè)備I/O設(shè)備I/O設(shè)備廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy處理器內(nèi)存I/O設(shè)備I/O設(shè)備I/O設(shè)備I/O設(shè)備I/O設(shè)備控制器控制器控制器廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy處理器

3、內(nèi)存I/O設(shè)備I/O設(shè)備I/O設(shè)備I/O設(shè)備I/O設(shè)備通道通道通道廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy處理器內(nèi)存I/O設(shè)備I/O設(shè)備I/O設(shè)備I/O設(shè)備I/O設(shè)備通道控制器通道控制器控制器控制器廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn按照按照I/O特性特性,I/O可分為:可分為:n輸入型設(shè)備輸入型設(shè)備n輸出型設(shè)備輸出型設(shè)備n存儲(chǔ)型設(shè)備存儲(chǔ)型設(shè)備n順序存取存儲(chǔ)設(shè)備順序存取存儲(chǔ)設(shè)備n直接存取存儲(chǔ)設(shè)備直接存取存儲(chǔ)設(shè)備n按照按照I/O信息交換的單位可分為:信息交換的單位可分為:n字符設(shè)備字符設(shè)備n輸入型設(shè)備和輸出型設(shè)備一般為字符設(shè)備,與內(nèi)存進(jìn)輸入型設(shè)備和輸出型設(shè)備一般為字符設(shè)

4、備,與內(nèi)存進(jìn)行信息交換的單位是字節(jié)行信息交換的單位是字節(jié)n塊設(shè)備塊設(shè)備n存儲(chǔ)型設(shè)備一般為塊設(shè)備存儲(chǔ)型設(shè)備一般為塊設(shè)備I/OI/O設(shè)備類型設(shè)備類型廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn按照按照I/OI/O控制器功能的強(qiáng)弱,以及和控制器功能的強(qiáng)弱,以及和CPUCPU之間聯(lián)系方之間聯(lián)系方式的不同,對(duì)式的不同,對(duì)I/OI/O設(shè)備的控制方式分類:設(shè)備的控制方式分類:n輪詢方式輪詢方式n中斷方式中斷方式nDMADMA方式方式n通道方式通道方式n主要差別:中央處理器和設(shè)備并行工作的方式和程主要差別:中央處理器和設(shè)備并行工作的方式和程度不同。度不同。5.1.2 I/O控制方式控制方式廣州商學(xué)院計(jì)

5、算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy1 、輪詢方式、輪詢方式n又稱程序直接控制方式,使用查詢指又稱程序直接控制方式,使用查詢指令測(cè)試設(shè)備控制器的忙閑標(biāo)志位,確令測(cè)試設(shè)備控制器的忙閑標(biāo)志位,確定主存和設(shè)備是否能交換數(shù)據(jù)定主存和設(shè)備是否能交換數(shù)據(jù)n如正運(yùn)行的程序需從設(shè)備讀入一批數(shù)如正運(yùn)行的程序需從設(shè)備讀入一批數(shù)據(jù),則該程序設(shè)置交換字節(jié)數(shù)和數(shù)據(jù)據(jù),則該程序設(shè)置交換字節(jié)數(shù)和數(shù)據(jù)讀入主存的起始地址,然后向設(shè)備發(fā)讀入主存的起始地址,然后向設(shè)備發(fā)出查詢指令,設(shè)備控制器便把狀態(tài)返出查詢指令,設(shè)備控制器便把狀態(tài)返回給回給CPU。n如果如果I/O操作忙或未就緒,則重復(fù)測(cè)試操作忙或未就緒,則重復(fù)測(cè)試過程,繼續(xù)查詢

6、過程,繼續(xù)查詢n否則開始數(shù)據(jù)傳送,否則開始數(shù)據(jù)傳送,CPU從從I/O接口(接口(控制器寄存器)讀取一個(gè)字,再用存控制器寄存器)讀取一個(gè)字,再用存儲(chǔ)指令保存到主存儲(chǔ)指令保存到主存n如果傳送尚未結(jié)束,再次向設(shè)備發(fā)出如果傳送尚未結(jié)束,再次向設(shè)備發(fā)出查詢指令,直到全部數(shù)據(jù)傳送完成查詢指令,直到全部數(shù)據(jù)傳送完成否開始讀外設(shè)狀態(tài) 就緒傳送一個(gè)字到內(nèi)存修改計(jì)數(shù)值是是否設(shè)置計(jì)數(shù)值完成完成結(jié)束I/O廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy2 中斷方式中斷方式現(xiàn)代計(jì)算機(jī)系統(tǒng)中,都毫無例外地引入了中斷機(jī)構(gòu),致使現(xiàn)代計(jì)算機(jī)系統(tǒng)中,都毫無例外地引入了中斷機(jī)構(gòu),致使對(duì)對(duì)I/OI/O設(shè)備的控制,廣泛采用中斷方式,

7、即當(dāng)某進(jìn)程要啟動(dòng)設(shè)備的控制,廣泛采用中斷方式,即當(dāng)某進(jìn)程要啟動(dòng)某個(gè)某個(gè)I/OI/O設(shè)備工作時(shí),便由設(shè)備工作時(shí),便由CPUCPU向相應(yīng)的設(shè)備控制器發(fā)出一向相應(yīng)的設(shè)備控制器發(fā)出一條條I/OI/O命令,然后立即返回繼續(xù)執(zhí)行原來的任務(wù)。設(shè)備控制命令,然后立即返回繼續(xù)執(zhí)行原來的任務(wù)。設(shè)備控制器于是按照該命令的要求去控制指定器于是按照該命令的要求去控制指定I/OI/O設(shè)備。此時(shí),設(shè)備。此時(shí),CPUCPU與與I/OI/O設(shè)備并行操作。例如,在輸入時(shí),當(dāng)設(shè)備控制器收到設(shè)備并行操作。例如,在輸入時(shí),當(dāng)設(shè)備控制器收到CPUCPU發(fā)來的讀命令后,便去控制相應(yīng)的輸入設(shè)備讀數(shù)據(jù)。一發(fā)來的讀命令后,便去控制相應(yīng)的輸入設(shè)備

8、讀數(shù)據(jù)。一旦數(shù)據(jù)進(jìn)入數(shù)據(jù)寄存器,控制器便通過控制線向旦數(shù)據(jù)進(jìn)入數(shù)據(jù)寄存器,控制器便通過控制線向CPUCPU發(fā)送一發(fā)送一中斷信號(hào),由中斷信號(hào),由CPUCPU檢查輸入過程中是否出錯(cuò),若無錯(cuò),便向檢查輸入過程中是否出錯(cuò),若無錯(cuò),便向控制器發(fā)送取走數(shù)據(jù)的信號(hào),然后再通過控制器及數(shù)據(jù)線控制器發(fā)送取走數(shù)據(jù)的信號(hào),然后再通過控制器及數(shù)據(jù)線將數(shù)據(jù)寫入內(nèi)存指定單元中。將數(shù)據(jù)寫入內(nèi)存指定單元中。廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy在在I/OI/O設(shè)備輸入每個(gè)數(shù)據(jù)的過程中,由于無需設(shè)備輸入每個(gè)數(shù)據(jù)的過程中,由于無需CPUCPU干預(yù),干預(yù),因而可使因而可使CPUCPU與與I/OI/O設(shè)備并行工作。僅當(dāng)輸

9、完一個(gè)數(shù)據(jù)時(shí),才設(shè)備并行工作。僅當(dāng)輸完一個(gè)數(shù)據(jù)時(shí),才需需CPUCPU花費(fèi)極短的時(shí)間去做些中斷處理。可見,這樣可使花費(fèi)極短的時(shí)間去做些中斷處理??梢?,這樣可使CPUCPU和和I/OI/O設(shè)備都處于忙碌狀態(tài),從而提高了整個(gè)系統(tǒng)的資源利設(shè)備都處于忙碌狀態(tài),從而提高了整個(gè)系統(tǒng)的資源利用率及吞吐量。例如,從終端輸入一個(gè)字符的時(shí)間約為用率及吞吐量。例如,從終端輸入一個(gè)字符的時(shí)間約為100 100 msms,而將字符送入終端緩沖區(qū)的時(shí)間小于,而將字符送入終端緩沖區(qū)的時(shí)間小于0.1 ms0.1 ms。若采用查。若采用查詢?cè)僆/OI/O方式,方式,CPUCPU約有約有99.9 ms99.9 ms的時(shí)間處于忙的時(shí)

10、間處于忙等待的過程中。等待的過程中。但采用中斷驅(qū)動(dòng)方式后,但采用中斷驅(qū)動(dòng)方式后,CPUCPU可利用這可利用這99.9 ms99.9 ms的時(shí)間去做其的時(shí)間去做其它的事情,而僅用它的事情,而僅用0.1 ms0.1 ms的時(shí)間來處理由控制器發(fā)來的中斷的時(shí)間來處理由控制器發(fā)來的中斷請(qǐng)求??梢姡袛囹?qū)動(dòng)方式可以成百倍地提高請(qǐng)求??梢?,中斷驅(qū)動(dòng)方式可以成百倍地提高CPUCPU的利用率。的利用率。 廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy雖然中斷驅(qū)動(dòng)雖然中斷驅(qū)動(dòng)I/OI/O比程序比程序I/OI/O方式更有效,但須注意,它仍是以方式更有效,但須注意,它仍是以字字( (節(jié)節(jié)) )為單位進(jìn)行為單位進(jìn)行

11、I/OI/O的,每當(dāng)完成一個(gè)字的,每當(dāng)完成一個(gè)字( (節(jié)節(jié)) )的的I/OI/O時(shí),控制時(shí),控制器便要向器便要向CPUCPU請(qǐng)求一次中斷。換言之,采用中斷驅(qū)動(dòng)請(qǐng)求一次中斷。換言之,采用中斷驅(qū)動(dòng)I/OI/O方式時(shí)方式時(shí)的的CPUCPU是以字是以字( (節(jié)節(jié)) )為單位進(jìn)行干預(yù)的。如果將這種方式用于塊設(shè)為單位進(jìn)行干預(yù)的。如果將這種方式用于塊設(shè)備的備的I/OI/O,顯然是極其低效的。例如,為了從磁盤中讀出,顯然是極其低效的。例如,為了從磁盤中讀出1 KB1 KB的的數(shù)據(jù)塊,需要中斷數(shù)據(jù)塊,需要中斷CPU 1KCPU 1K次。如果次。如果I/OI/O設(shè)備能直接與主存交換數(shù)設(shè)備能直接與主存交換數(shù)據(jù)而不占

12、用據(jù)而不占用CPU,CPUCPU,CPU的利用率還可提高的利用率還可提高, ,這就出現(xiàn)了直接存儲(chǔ)器這就出現(xiàn)了直接存儲(chǔ)器存取存取DMADMA方式。方式。該方式的特點(diǎn)是:該方式的特點(diǎn)是:(1) (1) 數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊,即在主機(jī)與,即在主機(jī)與I/OI/O設(shè)備之間,設(shè)備之間,每次傳送至少一個(gè)數(shù)據(jù)塊;每次傳送至少一個(gè)數(shù)據(jù)塊; (2) (2) 僅在傳送一個(gè)或多個(gè)數(shù)據(jù)塊的開始和結(jié)束時(shí),才需僅在傳送一個(gè)或多個(gè)數(shù)據(jù)塊的開始和結(jié)束時(shí),才需CPUCPU干預(yù),干預(yù),整塊數(shù)據(jù)的傳送是在控制器的控制下完成的整塊數(shù)據(jù)的傳送是在控制器的控制下完成的??梢?,可見,DMADMA方式較之中斷驅(qū)

13、動(dòng)方式,又是成百倍地減少了方式較之中斷驅(qū)動(dòng)方式,又是成百倍地減少了CPUCPU對(duì)對(duì)I/OI/O的干預(yù),進(jìn)一步提高了的干預(yù),進(jìn)一步提高了CPUCPU與與I/OI/O設(shè)備的并行操作程度。設(shè)備的并行操作程度。 3 DMA方式方式廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyDMA 控制器的組成DRMARDCCRI/O控控制制邏邏輯輯。主機(jī)主機(jī)控制器接口控制器接口 控制器與塊設(shè)備接口控制器與塊設(shè)備接口count內(nèi)存內(nèi)存CPU命令命令系統(tǒng)總線系統(tǒng)總線DMA控制器控制器(1)命令命令/狀態(tài)寄存器狀態(tài)寄存器(CR)。用于接收從。用于接收從CPU發(fā)來的發(fā)來的I/O命令,或有關(guān)控制信息,命令,或有關(guān)控制信息

14、,或設(shè)備的狀態(tài)或設(shè)備的狀態(tài);(2)主存地址寄存器主存地址寄存器(MAR):存放主存中需要交換的數(shù)據(jù)的地址存放主存中需要交換的數(shù)據(jù)的地址.DMA傳送前傳送前,由由程序送入首地址程序送入首地址,在在DMA傳送中傳送中,每交換一次數(shù)據(jù)每交換一次數(shù)據(jù),把地址寄存器內(nèi)容加把地址寄存器內(nèi)容加1;(3)數(shù)據(jù)緩沖寄存器或數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖寄存器或數(shù)據(jù)緩沖區(qū)(DR):暫存每次傳送的數(shù)據(jù)暫存每次傳送的數(shù)據(jù); (4)字計(jì)數(shù)器字計(jì)數(shù)器(DC):記錄傳送數(shù)據(jù)的總字?jǐn)?shù)記錄傳送數(shù)據(jù)的總字?jǐn)?shù),每傳送一個(gè)字每傳送一個(gè)字,字計(jì)數(shù)器減字計(jì)數(shù)器減1(5)設(shè)備地址寄存器設(shè)備地址寄存器:存放存放I/O設(shè)備信息設(shè)備信息,如磁盤的柱面號(hào)、磁

15、頭號(hào)、扇區(qū)號(hào)等如磁盤的柱面號(hào)、磁頭號(hào)、扇區(qū)號(hào)等.(6)中斷機(jī)制和控制邏輯。中斷機(jī)制和控制邏輯。廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy 雖然雖然DMADMA方式比起中斷方式來已經(jīng)顯著地減少了方式比起中斷方式來已經(jīng)顯著地減少了CPUCPU的干預(yù),的干預(yù),即已由以字即已由以字( (節(jié)節(jié)) )為單位的干預(yù)減少到以數(shù)據(jù)塊為單位的干預(yù),為單位的干預(yù)減少到以數(shù)據(jù)塊為單位的干預(yù),但但CPUCPU每發(fā)出一條每發(fā)出一條I/OI/O指令,也只能去讀指令,也只能去讀( (或?qū)懟驅(qū)? )一個(gè)連續(xù)的數(shù)據(jù)一個(gè)連續(xù)的數(shù)據(jù)塊。而當(dāng)我們需要一次去讀多個(gè)數(shù)據(jù)塊且將它們分別傳送到不塊。而當(dāng)我們需要一次去讀多個(gè)數(shù)據(jù)塊且將它

16、們分別傳送到不同的內(nèi)存區(qū)域,或者相反時(shí),則須由同的內(nèi)存區(qū)域,或者相反時(shí),則須由CPUCPU分別發(fā)出多條分別發(fā)出多條I/OI/O指令指令及進(jìn)行多次中斷處理才能完成。及進(jìn)行多次中斷處理才能完成。 I/OI/O通道方式是通道方式是DMADMA方式的發(fā)展,它可進(jìn)一步減少方式的發(fā)展,它可進(jìn)一步減少CPUCPU的干的干預(yù),即把對(duì)一個(gè)數(shù)據(jù)塊的讀預(yù),即把對(duì)一個(gè)數(shù)據(jù)塊的讀( (或?qū)懟驅(qū)? )為單位的干預(yù)減少為對(duì)一組為單位的干預(yù)減少為對(duì)一組數(shù)據(jù)塊的讀數(shù)據(jù)塊的讀( (或?qū)懟驅(qū)? )及有關(guān)的控制和管理為單位的干預(yù)。同時(shí),及有關(guān)的控制和管理為單位的干預(yù)。同時(shí),又可實(shí)現(xiàn)又可實(shí)現(xiàn)CPUCPU、通道和、通道和I/OI/O設(shè)備

17、三者的并行操作,從而更有效地設(shè)備三者的并行操作,從而更有效地提高整個(gè)系統(tǒng)的資源利用率。例如,當(dāng)提高整個(gè)系統(tǒng)的資源利用率。例如,當(dāng)CPUCPU要完成一組相關(guān)的要完成一組相關(guān)的讀讀( (或?qū)懟驅(qū)? )操作及有關(guān)控制時(shí),只需向操作及有關(guān)控制時(shí),只需向I/OI/O通道發(fā)送一條通道發(fā)送一條I/OI/O指令,指令,以給出其所要執(zhí)行的通道程序的首址和要訪問的以給出其所要執(zhí)行的通道程序的首址和要訪問的I/OI/O設(shè)備,通設(shè)備,通道接到該指令后,通過執(zhí)行通道程序便可完成道接到該指令后,通過執(zhí)行通道程序便可完成CPUCPU指定的指定的I/OI/O任任務(wù)。務(wù)。 4 通道方式通道方式廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)

18、系 kyykyy 通道也叫輸入輸出處理器通道也叫輸入輸出處理器. .通道是獨(dú)立于通道是獨(dú)立于CPUCPU的專門負(fù)責(zé)數(shù)的專門負(fù)責(zé)數(shù)據(jù)輸入據(jù)輸入/ /輸出傳輸工作的處理機(jī),對(duì)外部設(shè)備實(shí)現(xiàn)統(tǒng)一管理,輸出傳輸工作的處理機(jī),對(duì)外部設(shè)備實(shí)現(xiàn)統(tǒng)一管理,代替代替CPUCPU對(duì)輸入對(duì)輸入/ /輸出操作進(jìn)行控制,從而使輸入,輸出操作可輸出操作進(jìn)行控制,從而使輸入,輸出操作可與與CPUCPU并行操作并行操作 通道負(fù)責(zé)管理設(shè)備與內(nèi)存之間的數(shù)據(jù)傳送的一切工作,能通道負(fù)責(zé)管理設(shè)備與內(nèi)存之間的數(shù)據(jù)傳送的一切工作,能完成主存和外圍設(shè)備間的信息傳送,與完成主存和外圍設(shè)備間的信息傳送,與CPUCPU并行地執(zhí)行操作。并行地執(zhí)行操作

19、。通道技術(shù)解決了通道技術(shù)解決了I/OI/O操作的獨(dú)立性和各部件工作的并行性操作的獨(dú)立性和各部件工作的并行性n由通道管理和控制由通道管理和控制I/OI/O操作,減少了外圍設(shè)備和操作,減少了外圍設(shè)備和CPUCPU的邏輯聯(lián)的邏輯聯(lián)系。把系。把CPUCPU從瑣碎的從瑣碎的I/OI/O操作中解放出來操作中解放出來n外圍設(shè)備和外圍設(shè)備和CPUCPU能實(shí)現(xiàn)并行操作能實(shí)現(xiàn)并行操作n通道和通道之間能實(shí)現(xiàn)并行操作通道和通道之間能實(shí)現(xiàn)并行操作n各通道上的外圍設(shè)備也能實(shí)現(xiàn)并行操作,達(dá)到提高整個(gè)系統(tǒng)各通道上的外圍設(shè)備也能實(shí)現(xiàn)并行操作,達(dá)到提高整個(gè)系統(tǒng)效率這一根本目的效率這一根本目的廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系

20、kyykyy5.1.3設(shè)備控制器設(shè)備控制器v傳統(tǒng)的設(shè)備傳統(tǒng)的設(shè)備= =機(jī)械部分機(jī)械部分+ +電子部分。電子部分。v 電子部分在系統(tǒng)的控制下驅(qū)動(dòng)機(jī)械部分運(yùn)轉(zhuǎn),完成電子部分在系統(tǒng)的控制下驅(qū)動(dòng)機(jī)械部分運(yùn)轉(zhuǎn),完成I/OI/O操作。操作。由于設(shè)備中的電子部分比機(jī)械部分的速度快得多。為了降低硬由于設(shè)備中的電子部分比機(jī)械部分的速度快得多。為了降低硬件成本,將件成本,將電子部分電子部分從設(shè)備中分離出來作為一個(gè)獨(dú)立的部件,從設(shè)備中分離出來作為一個(gè)獨(dú)立的部件,這就是這就是控制器控制器。v分離之后的設(shè)備僅由機(jī)械部分構(gòu)成,一個(gè)控制器可與多個(gè)設(shè)分離之后的設(shè)備僅由機(jī)械部分構(gòu)成,一個(gè)控制器可與多個(gè)設(shè)備相連,交替地或分時(shí)的控

21、制欲其相連的設(shè)備。備相連,交替地或分時(shí)的控制欲其相連的設(shè)備。v設(shè)備并不是直接與設(shè)備并不是直接與CPUCPU進(jìn)行通信,而是與設(shè)備控制器通信。進(jìn)行通信,而是與設(shè)備控制器通信。v操作系統(tǒng)基本上與控制器打交道,而非設(shè)備本身。操作系統(tǒng)基本上與控制器打交道,而非設(shè)備本身。廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy1) 1) 設(shè)備控制器與處理機(jī)的接口設(shè)備控制器與處理機(jī)的接口:該接口用于實(shí)現(xiàn):該接口用于實(shí)現(xiàn)CPU與設(shè)備與設(shè)備控制器之間的通信。共有三類信號(hào)線控制器之間的通信。共有三類信號(hào)線: 數(shù)據(jù)線、地址線和控制數(shù)據(jù)線、地址線和控制線。線。2)2)設(shè)備控制器與設(shè)備的接口設(shè)備控制器與設(shè)備的接口:在一個(gè)設(shè)備

22、控制器上,可以連在一個(gè)設(shè)備控制器上,可以連接一個(gè)或多個(gè)設(shè)備。相應(yīng)地,在控制器中便有一個(gè)或多個(gè)設(shè)接一個(gè)或多個(gè)設(shè)備。相應(yīng)地,在控制器中便有一個(gè)或多個(gè)設(shè)備接口,一個(gè)接口連接一臺(tái)設(shè)備。在每個(gè)接口中都存在數(shù)據(jù)、備接口,一個(gè)接口連接一臺(tái)設(shè)備。在每個(gè)接口中都存在數(shù)據(jù)、控制和狀態(tài)三種類型的信號(hào)??刂破髦械目刂坪蜖顟B(tài)三種類型的信號(hào)??刂破髦械腎/O邏輯根據(jù)處理邏輯根據(jù)處理機(jī)發(fā)來的地址信號(hào)去選擇一個(gè)設(shè)備接口。機(jī)發(fā)來的地址信號(hào)去選擇一個(gè)設(shè)備接口。 3)3)I/OI/O邏輯邏輯:在設(shè)備控制器中的在設(shè)備控制器中的I/O邏輯用于實(shí)現(xiàn)對(duì)設(shè)備的控邏輯用于實(shí)現(xiàn)對(duì)設(shè)備的控制。它通過一組控制線與處理機(jī)交互,制。它通過一組控制線與處

23、理機(jī)交互, CPU利用該邏輯向控利用該邏輯向控制器發(fā)送制器發(fā)送I/O命令;命令;I/O邏輯對(duì)收到的命令進(jìn)行譯碼。每當(dāng)邏輯對(duì)收到的命令進(jìn)行譯碼。每當(dāng)CPU要啟動(dòng)一個(gè)設(shè)備時(shí),一方面將啟動(dòng)命令發(fā)送給控制器;要啟動(dòng)一個(gè)設(shè)備時(shí),一方面將啟動(dòng)命令發(fā)送給控制器;另一方面又同時(shí)通過地址線把地址發(fā)送給控制器,由控制器另一方面又同時(shí)通過地址線把地址發(fā)送給控制器,由控制器的的I/O邏輯對(duì)收到的地址進(jìn)行譯碼,再根據(jù)所譯出的命令對(duì)邏輯對(duì)收到的地址進(jìn)行譯碼,再根據(jù)所譯出的命令對(duì)所選設(shè)備進(jìn)行控制。所選設(shè)備進(jìn)行控制。廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy數(shù)據(jù)寄存器控制/狀態(tài)寄存器數(shù)據(jù)線I/O邏輯控制器與設(shè)備接口1

24、控制器與設(shè)備接口i數(shù)據(jù)狀態(tài)控制數(shù)據(jù)狀態(tài)控制地址線控制線CPU與控制器接口控 制 器 與 設(shè) 備 接 口廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn接收和識(shí)別CPU或通道發(fā)來的命令n實(shí)現(xiàn)數(shù)據(jù)交換,包括設(shè)備和控制器間的數(shù)據(jù)傳輸n發(fā)現(xiàn)和記錄設(shè)備及自身的狀態(tài)信息,供CPU處理使用n設(shè)備地址識(shí)別設(shè)備控制器主要功能設(shè)備控制器主要功能廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn5.2.1 I/O軟件的設(shè)計(jì)目標(biāo)和原則n5.2.2 I/O中斷處理程序n5.2.3 I/O設(shè)備驅(qū)動(dòng)程序n5.2.4 獨(dú)立于設(shè)備的I/O軟件n5.2.5 用戶空間的I/O軟件5.2 I/O軟件原理軟件原理廣州商學(xué)院計(jì)算機(jī)

25、系廣州商學(xué)院計(jì)算機(jī)系 kyykyynI/O軟件總體設(shè)計(jì)目標(biāo):n高效率n通用性 n I/O軟件總體設(shè)計(jì)要考慮的問題: n設(shè)備無關(guān)性 n出錯(cuò)處理 n同步(阻塞)異步(中斷驅(qū)動(dòng))傳輸 n緩沖技術(shù)5.2.1 I/O軟件的設(shè)計(jì)目標(biāo)和原則軟件的設(shè)計(jì)目標(biāo)和原則廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn當(dāng)一個(gè)進(jìn)程請(qǐng)求I/O操作時(shí),該進(jìn)程將被阻塞,直到I/O操作結(jié)束并發(fā)生中斷。當(dāng)中斷發(fā)生時(shí),中斷處理程序執(zhí)行相應(yīng)的處理,并解除相應(yīng)進(jìn)程的阻塞狀態(tài)。n中斷處理程序的主要工作有:n處理中斷信號(hào)n修改進(jìn)程狀態(tài)等5.2.2 I/O中斷處理程序中斷處理程序廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn設(shè)備驅(qū)動(dòng)

26、程序的工作是把用戶提交的邏輯I/O請(qǐng)求轉(zhuǎn)化為物理I/O操作的啟動(dòng)和執(zhí)行,如設(shè)備名轉(zhuǎn)化為端口地址、邏輯記錄轉(zhuǎn)化為物理記錄、邏輯操作轉(zhuǎn)化為物理操作等n驅(qū)動(dòng)程序發(fā)出I/O命令后的動(dòng)作,有兩種可能性:n1)驅(qū)動(dòng)程序阻塞,直到中斷信號(hào)到達(dá)時(shí)才被喚醒。因?yàn)镮/O操作通常需要花費(fèi)一定的時(shí)間才能完成n2) I/O操作沒有任何延遲,驅(qū)動(dòng)程序無需阻塞。例如向屏幕上輸出一些信息5.2.3 5.2.3 設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyynI/O操作完成后驅(qū)動(dòng)程序的工作:nI/O操作完成,驅(qū)動(dòng)程序被喚醒后,便檢查有無錯(cuò)誤,若一切正常,則驅(qū)動(dòng)程序?qū)?shù)據(jù)傳送給上層的設(shè)備無關(guān)軟件,最后

27、,向它的調(diào)用者返回一個(gè)關(guān)于錯(cuò)誤報(bào)告的狀態(tài)信息。若請(qǐng)求隊(duì)列中有別的請(qǐng)求則它選中一個(gè)進(jìn)行處理,若沒有則它阻塞,等待下一個(gè)請(qǐng)求設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序( (續(xù)續(xù)) )廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn設(shè)備驅(qū)動(dòng)程序包含的功能n1.設(shè)備初始化 預(yù)置設(shè)備和控制器及通道的狀態(tài)n2.執(zhí)行設(shè)備驅(qū)動(dòng)例行程序 負(fù)責(zé)啟動(dòng)設(shè)備,進(jìn)行數(shù)據(jù)傳輸,啟動(dòng)通道工作n3.執(zhí)行中斷處理程序 負(fù)責(zé)處理設(shè)備和控制器及通道發(fā)出的各種中斷設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序( (續(xù)續(xù)) )廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn設(shè)備無關(guān)軟件完成的功能:n 設(shè)備命名和設(shè)備保護(hù)n提供與設(shè)備無關(guān)的塊尺寸n緩沖技術(shù)n設(shè)備分配和狀態(tài)

28、跟蹤n錯(cuò)誤處理報(bào)告5.2.4 獨(dú)立于設(shè)備的獨(dú)立于設(shè)備的I/O軟件軟件廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn 1.設(shè)備命名和設(shè)備保護(hù)n 設(shè)備都被視為文件,有相應(yīng)的名字和支持與文件 相關(guān)的系統(tǒng)調(diào)用,如open,read,stat等n設(shè)備保護(hù)檢查設(shè)備是否有權(quán)訪問所申請(qǐng)的設(shè)備nI/O指令為特權(quán)指令,用戶通過系統(tǒng)調(diào)用間接使用n設(shè)備文件依賴inode來實(shí)現(xiàn) 獨(dú)立于設(shè)備的獨(dú)立于設(shè)備的I/O軟件(續(xù))軟件(續(xù))廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn 2.提供與設(shè)備無關(guān)的尺寸n操作系統(tǒng)為每個(gè)磁盤都配備一張記錄空閑塊的表或位示圖n分配空閑塊的算法獨(dú)立于設(shè)備,可在高于設(shè)備驅(qū)動(dòng)的程序處理n

29、不同磁盤的扇區(qū)大小可能不同,必須屏蔽這一事實(shí),向高層軟件提供統(tǒng)一的數(shù)據(jù)塊尺寸。 獨(dú)立于設(shè)備的獨(dú)立于設(shè)備的I/O軟件(續(xù))軟件(續(xù))廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn 3.緩沖技術(shù)n緩沖區(qū)的引入n消除填滿速率和清空速率的影響n塊設(shè)備和字符設(shè)備的不一致n提供數(shù)據(jù)和消耗數(shù)據(jù)不一致時(shí)n緩沖區(qū)的實(shí)現(xiàn)n可通過在主存建立緩沖區(qū)n通常在內(nèi)核開辟,數(shù)據(jù)在緩沖區(qū)緩沖后,在用戶緩沖區(qū)和設(shè)備之間傳輸n緩沖區(qū)涉及大量復(fù)制操作,影響I/O性能 獨(dú)立于設(shè)備的獨(dú)立于設(shè)備的I/O軟件(續(xù))軟件(續(xù))廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn 4.設(shè)備分配與狀態(tài)跟蹤n分配:n根據(jù)設(shè)備的物理特性,系統(tǒng)制

30、訂分配策略n靜態(tài)分配n動(dòng)態(tài)分配n虛擬分配n狀態(tài)跟蹤n系統(tǒng)檢查相應(yīng)設(shè)備的使用狀態(tài),來決定是否接受請(qǐng)求n一種簡(jiǎn)單的處理辦法,用OPEN打開設(shè)備相應(yīng)文件 獨(dú)立于設(shè)備的獨(dú)立于設(shè)備的I/O軟件(續(xù))軟件(續(xù))廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn 5.錯(cuò)誤處理和報(bào)告nI/O經(jīng)常出錯(cuò),多數(shù)錯(cuò)誤是與硬件緊密相關(guān),應(yīng)盡可能在底層處理n通常驅(qū)動(dòng)程序知道如何處理錯(cuò)誤n如果處理不成功,報(bào)告給獨(dú)立于設(shè)備的I/O軟件 獨(dú)立于設(shè)備的獨(dú)立于設(shè)備的I/O軟件(續(xù))軟件(續(xù))廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn1.庫函數(shù)n大部分I/O軟件屬于操作系統(tǒng),但是有一小部分是與用戶程序鏈接在一起的庫函數(shù)。

31、nI/O系統(tǒng)調(diào)用通常先是庫函數(shù)調(diào)用5.2.5 用戶空間的用戶空間的I/O軟件軟件n2.spooling軟件nSPOOLing又稱為假脫機(jī)操作,它是在多道程序環(huán)境下,利用其中一道程序來模擬脫機(jī)輸入時(shí)的外圍控制機(jī)的功能,把低速I/O設(shè)備上的數(shù)據(jù)傳送到高速磁盤上;再利用另一道程序來模擬脫機(jī)輸出時(shí)外圍控制機(jī)的功能,把數(shù)據(jù)從磁盤傳送到低速輸出設(shè)備上。此時(shí)的外圍操作與CPU對(duì)數(shù)據(jù)的處理同時(shí)進(jìn)行。這種在聯(lián)機(jī)的情況下實(shí)現(xiàn)的同時(shí)外圍操作稱為SPOOLing 廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy用戶進(jìn)程進(jìn) 行 I / O 調(diào) 用 ; 格 式 化 I / O ;SPOOLING設(shè)備無關(guān)軟件命名;保護(hù);

32、阻塞;緩沖;分配設(shè)備驅(qū)動(dòng)程序建立設(shè)備寄存器;檢查狀態(tài)硬件執(zhí)行I/O操作中斷處理程序當(dāng)I/O結(jié)束時(shí),喚醒驅(qū)動(dòng)程序?qū)哟蜪/O應(yīng)答I/O功能I/O請(qǐng)求I/OI/O軟件組織成四個(gè)層次:軟件組織成四個(gè)層次: I/OI/O中斷處理程序、設(shè)備驅(qū)動(dòng)程中斷處理程序、設(shè)備驅(qū)動(dòng)程序、與設(shè)備無關(guān)的操作系統(tǒng)序、與設(shè)備無關(guān)的操作系統(tǒng)I/OI/O軟件、用戶層軟件、用戶層I/OI/O軟件軟件廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn實(shí)現(xiàn)一個(gè)I/O操作所應(yīng)執(zhí)行的步驟n應(yīng)用進(jìn)程對(duì)已打開文件的文件描述符執(zhí)行讀庫函數(shù)nI/O軟件檢查參數(shù)是否正確n若正確,檢查高速緩存中有無要讀取的信息塊n若有,從緩沖區(qū)直接讀至用戶區(qū),完成I

33、/O請(qǐng)求n若無,執(zhí)行物理I/O操作,并阻塞應(yīng)用進(jìn)程,成功完成物理I/O操作時(shí),則將應(yīng)用進(jìn)程放入就緒隊(duì)列n物理I/O操作完成,應(yīng)用程序從斷點(diǎn)恢復(fù) 獨(dú)立于設(shè)備的獨(dú)立于設(shè)備的I/O軟件(續(xù))軟件(續(xù))廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn執(zhí)行物理I/O操作的過程:n內(nèi)核啟動(dòng)設(shè)備驅(qū)動(dòng)程序,分配緩沖區(qū),并向設(shè)備控制寄存器發(fā)送啟動(dòng)買了,或建立DMA傳輸,啟動(dòng)I/On設(shè)備控制器操縱設(shè)備,執(zhí)行數(shù)據(jù)傳輸n采用DMA控制器控制時(shí)間傳輸時(shí),一旦完成,則產(chǎn)生I/O結(jié)束中斷nCPU響應(yīng)中斷,轉(zhuǎn)向中斷處理,檢查中斷原因n若有錯(cuò),處理錯(cuò)誤n若無錯(cuò),將數(shù)據(jù)傳輸該指定的用戶空間 獨(dú)立于設(shè)備的獨(dú)立于設(shè)備的I/O軟件

34、(續(xù))軟件(續(xù))廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn5.3.1 單緩沖 n5.3.2 雙緩沖 n5.3.3 多緩沖n5.3.4緩沖區(qū)高速緩存5.3 緩沖技術(shù)緩沖技術(shù)廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn 改善中央處理器與外圍設(shè)備之間速度不匹配的矛盾n 協(xié)調(diào)邏輯記錄大小與物理記錄大小不一致n 提高CPU和I/O設(shè)備的并行性 n 減少I/O操作對(duì)CPU的中斷次數(shù)n 放寬對(duì)CPU中斷響應(yīng)時(shí)間的要求引入緩沖技術(shù)的目的廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn進(jìn)程執(zhí)行寫操作輸出數(shù)據(jù)時(shí),向系統(tǒng)申請(qǐng)一個(gè)緩沖區(qū),若為順序?qū)懻?qǐng)求,則不斷把數(shù)據(jù)填到緩沖區(qū),直到被裝滿。此后,

35、進(jìn)程繼續(xù)它的計(jì)算,系統(tǒng)將緩沖區(qū)內(nèi)容寫到I/O設(shè)備上n進(jìn)程執(zhí)行讀操作輸入數(shù)據(jù)時(shí),向系統(tǒng)申請(qǐng)一個(gè)緩沖區(qū),系統(tǒng)將一個(gè)物理記錄的內(nèi)容讀到緩沖區(qū),根據(jù)進(jìn)程要求,把當(dāng)前需要的邏輯記錄從緩沖區(qū)中選出并傳送給進(jìn)程n在輸出數(shù)據(jù)時(shí),只有在系統(tǒng)還來不及騰空緩沖而進(jìn)程又要寫數(shù)據(jù)時(shí),它才需要等待n在輸入數(shù)據(jù)時(shí),僅當(dāng)緩沖區(qū)空而進(jìn)程又要從中讀取數(shù)據(jù)時(shí),它才被迫等待緩沖技術(shù)實(shí)現(xiàn)基本思想廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy緩沖區(qū)的類型n緩沖區(qū)有不同的類型:n1.單緩沖n2.雙緩沖n3.循環(huán)緩沖:空緩沖區(qū)、裝滿數(shù)據(jù)的緩沖區(qū)n4.緩沖池:空緩沖區(qū)、裝滿輸入數(shù)據(jù)的緩沖區(qū)、裝滿輸出數(shù)據(jù)的緩沖區(qū)廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院

36、計(jì)算機(jī)系 kyykyy在單緩沖情況下,每當(dāng)用戶進(jìn)程發(fā)出一在單緩沖情況下,每當(dāng)用戶進(jìn)程發(fā)出一I/OI/O請(qǐng)求時(shí),操作系統(tǒng)請(qǐng)求時(shí),操作系統(tǒng)便在主存中為之分配一緩沖區(qū)。假定從磁盤把一塊數(shù)據(jù)輸入到緩便在主存中為之分配一緩沖區(qū)。假定從磁盤把一塊數(shù)據(jù)輸入到緩沖區(qū)的時(shí)間為沖區(qū)的時(shí)間為T T,操作系統(tǒng)將該緩沖區(qū)中的數(shù)據(jù)傳送到用戶區(qū)的時(shí),操作系統(tǒng)將該緩沖區(qū)中的數(shù)據(jù)傳送到用戶區(qū)的時(shí)間為間為M M,而,而CPUCPU對(duì)這一塊數(shù)據(jù)處理對(duì)這一塊數(shù)據(jù)處理( (計(jì)算計(jì)算) )的時(shí)間為的時(shí)間為C C。由于。由于T T和和C C是可是可以并行的,以并行的,當(dāng)當(dāng)TC時(shí),系統(tǒng)對(duì)每一塊數(shù)據(jù)的處理時(shí)間為時(shí),系統(tǒng)對(duì)每一塊數(shù)據(jù)的處理時(shí)間為

37、M+T,反,反之則為之則為M+C可把系統(tǒng)對(duì)每一塊數(shù)據(jù)的處理時(shí)間表示為可把系統(tǒng)對(duì)每一塊數(shù)據(jù)的處理時(shí)間表示為Max(C,T)+M。 1單緩沖單緩沖(Single Buffer)工作區(qū)工作區(qū)處理處理(C)緩沖區(qū)緩沖區(qū)傳送傳送(M)輸入輸入(T)I/O設(shè)備設(shè)備(a)用戶進(jìn)程用戶進(jìn)程T1M1C1T2M2C2T3M3C3T4t(b)廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy為了加快輸入和輸出速度,提高設(shè)備利用率,引入了雙為了加快輸入和輸出速度,提高設(shè)備利用率,引入了雙緩沖區(qū)機(jī)制,也稱為緩沖對(duì)換緩沖區(qū)機(jī)制,也稱為緩沖對(duì)換(Buffer Swapping)(Buffer Swapping)。在設(shè)備輸。

38、在設(shè)備輸入時(shí),先將數(shù)據(jù)送入第一緩沖區(qū),裝滿后便轉(zhuǎn)向第二緩沖區(qū)。入時(shí),先將數(shù)據(jù)送入第一緩沖區(qū),裝滿后便轉(zhuǎn)向第二緩沖區(qū)。此時(shí)操作系統(tǒng)可以從第一緩沖區(qū)中移出數(shù)據(jù),并送入用戶進(jìn)此時(shí)操作系統(tǒng)可以從第一緩沖區(qū)中移出數(shù)據(jù),并送入用戶進(jìn)程。接著由程。接著由CPU對(duì)數(shù)據(jù)進(jìn)行計(jì)算。對(duì)數(shù)據(jù)進(jìn)行計(jì)算。工作區(qū)工作區(qū)用戶進(jìn)程用戶進(jìn)程緩沖區(qū)緩沖區(qū)1緩沖區(qū)緩沖區(qū)2I/O 設(shè)備設(shè)備(a)2雙緩沖雙緩沖(Double Buffer)廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy在雙緩沖時(shí),系統(tǒng)處理一塊數(shù)據(jù)的時(shí)間可以粗略地認(rèn)為在雙緩沖時(shí),系統(tǒng)處理一塊數(shù)據(jù)的時(shí)間可以粗略地認(rèn)為是是Max(C,T)。如果。如果CT,則可使則可使CP

39、U不必等待設(shè)備輸入。對(duì)于字符設(shè)備,若采用行輸不必等待設(shè)備輸入。對(duì)于字符設(shè)備,若采用行輸入方式,則采用雙緩沖通常能消除用戶的等待時(shí)間,即用戶入方式,則采用雙緩沖通常能消除用戶的等待時(shí)間,即用戶在輸入完第一行之后,在在輸入完第一行之后,在CPU執(zhí)行第一行中的命令時(shí),用戶執(zhí)行第一行中的命令時(shí),用戶可繼續(xù)向第二緩沖區(qū)輸入下一行數(shù)據(jù)??衫^續(xù)向第二緩沖區(qū)輸入下一行數(shù)據(jù)。 2雙緩沖雙緩沖(Double Buffer)T1(緩沖緩沖1)M1C1(b)T2(緩沖緩沖2)T3(緩沖緩沖3)T4(緩沖緩沖4)M2M3M4C2C4C3廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy循環(huán)緩沖循環(huán)緩沖由由多個(gè)緩沖區(qū)和多

40、個(gè)指針組成。其中每個(gè)緩沖區(qū)多個(gè)緩沖區(qū)和多個(gè)指針組成。其中每個(gè)緩沖區(qū)的大小相同。作為輸入的多緩沖區(qū)可分為三種類型:用于的大小相同。作為輸入的多緩沖區(qū)可分為三種類型:用于裝輸入數(shù)據(jù)的空緩沖區(qū)裝輸入數(shù)據(jù)的空緩沖區(qū)R、已裝滿數(shù)據(jù)的緩沖區(qū)、已裝滿數(shù)據(jù)的緩沖區(qū)G以及計(jì)算以及計(jì)算進(jìn)程正在使用的現(xiàn)行工作緩沖區(qū)進(jìn)程正在使用的現(xiàn)行工作緩沖區(qū)C。3.循環(huán)緩沖循環(huán)緩沖RGGGRG165423NextiNextgRGGGRC165423NextiNextgCurrent廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyv上述三種緩沖區(qū)的組織形式僅適用于某種特定的上述三種緩沖區(qū)的組織形式僅適用于某種特定的I/O進(jìn)程進(jìn)程和

41、計(jì)算進(jìn)程,屬于專用緩沖。和計(jì)算進(jìn)程,屬于專用緩沖。v當(dāng)系統(tǒng)中的設(shè)備很多時(shí),將會(huì)有許多這樣的循環(huán)緩沖區(qū),當(dāng)系統(tǒng)中的設(shè)備很多時(shí),將會(huì)有許多這樣的循環(huán)緩沖區(qū),消耗大量的內(nèi)存空間,而且其利用率也不高。消耗大量的內(nèi)存空間,而且其利用率也不高。v為了提高緩沖區(qū)的利用率,可以采用為了提高緩沖區(qū)的利用率,可以采用公共緩沖池技術(shù)公共緩沖池技術(shù),其,其中的緩沖區(qū)可為多個(gè)設(shè)備和進(jìn)程服務(wù)。中的緩沖區(qū)可為多個(gè)設(shè)備和進(jìn)程服務(wù)。v兩種緩沖池:分別用于塊型設(shè)備和字符型設(shè)備。兩種緩沖池:分別用于塊型設(shè)備和字符型設(shè)備。T用于塊型設(shè)備的緩沖池:緩沖區(qū)較大,其長(zhǎng)度通常與外用于塊型設(shè)備的緩沖池:緩沖區(qū)較大,其長(zhǎng)度通常與外部設(shè)備物理塊的

42、長(zhǎng)度相同;部設(shè)備物理塊的長(zhǎng)度相同;T用于字符型設(shè)備的緩沖池:緩沖區(qū)較小,其長(zhǎng)度通常為用于字符型設(shè)備的緩沖池:緩沖區(qū)較小,其長(zhǎng)度通常為8 8個(gè)字節(jié)、個(gè)字節(jié)、1616個(gè)字節(jié)等;個(gè)字節(jié)等;4.緩沖池緩沖池廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyv緩沖池中的緩沖區(qū)通常組織成鏈表結(jié)構(gòu)。緩沖池中的緩沖區(qū)通常組織成鏈表結(jié)構(gòu)。需要緩沖區(qū)時(shí),從鏈表中申請(qǐng)一個(gè)或多個(gè)緩沖區(qū)。使用需要緩沖區(qū)時(shí),從鏈表中申請(qǐng)一個(gè)或多個(gè)緩沖區(qū)。使用完畢時(shí),釋放的緩沖區(qū)將被鏈接到鏈表中。完畢時(shí),釋放的緩沖區(qū)將被鏈接到鏈表中。v緩沖區(qū)和緩沖池都屬于操作系統(tǒng)空間,用戶進(jìn)程不能直接緩沖區(qū)和緩沖池都屬于操作系統(tǒng)空間,用戶進(jìn)程不能直接對(duì)緩

43、沖區(qū)中的數(shù)據(jù)進(jìn)行操作對(duì)緩沖區(qū)中的數(shù)據(jù)進(jìn)行操作只能通過系統(tǒng)調(diào)用間接地使用;只能通過系統(tǒng)調(diào)用間接地使用;或讓操作系統(tǒng)將緩沖區(qū)中的數(shù)據(jù)復(fù)制到用戶進(jìn)程空間或或讓操作系統(tǒng)將緩沖區(qū)中的數(shù)據(jù)復(fù)制到用戶進(jìn)程空間或相反。相反。4.緩沖池緩沖池廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy緩沖區(qū)高速緩存緩沖區(qū)高速緩存n為避免數(shù)據(jù)項(xiàng)的重復(fù)產(chǎn)生,內(nèi)核建立了一個(gè)數(shù)據(jù)緩沖區(qū)為避免數(shù)據(jù)項(xiàng)的重復(fù)產(chǎn)生,內(nèi)核建立了一個(gè)數(shù)據(jù)緩沖區(qū)高速緩存,專門用于保存最近使用過的磁盤數(shù)據(jù)塊高速緩存,專門用于保存最近使用過的磁盤數(shù)據(jù)塊n高速緩存的思想:高速緩存的思想:n1 1)當(dāng)請(qǐng)求從指定文件讀寫數(shù)據(jù)時(shí),給定磁盤號(hào)和塊號(hào),)當(dāng)請(qǐng)求從指定文件讀寫

44、數(shù)據(jù)時(shí),給定磁盤號(hào)和塊號(hào),查詢是否在緩存中,如果在,則從對(duì)應(yīng)的緩沖區(qū)獲得數(shù)查詢是否在緩存中,如果在,則從對(duì)應(yīng)的緩沖區(qū)獲得數(shù)據(jù);類似的,向磁盤寫入數(shù)據(jù)時(shí),也可以暫存緩存。據(jù);類似的,向磁盤寫入數(shù)據(jù)時(shí),也可以暫存緩存。n2 2)當(dāng)文件關(guān)閉或撤銷時(shí),需要采用一定的策略解決釋放)當(dāng)文件關(guān)閉或撤銷時(shí),需要采用一定的策略解決釋放緩沖區(qū)的重用的問題緩沖區(qū)的重用的問題n3 3)提供一組高速緩存操作,如寫緩存,為文件驅(qū)動(dòng)程序)提供一組高速緩存操作,如寫緩存,為文件驅(qū)動(dòng)程序?qū)崿F(xiàn)讀寫文件數(shù)據(jù)。實(shí)現(xiàn)讀寫文件數(shù)據(jù)。廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn5.4.1 存儲(chǔ)設(shè)備的物理結(jié)構(gòu) n5.4.2 循環(huán)排序

45、 n5.4.3 優(yōu)化分布n5.4.4 搜查定位 n5.4.5 提高磁盤I/O速度的方法5.4 驅(qū)動(dòng)調(diào)度技術(shù)驅(qū)動(dòng)調(diào)度技術(shù)廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy5.4.1 存儲(chǔ)設(shè)備的物理結(jié)構(gòu)存儲(chǔ)設(shè)備的物理結(jié)構(gòu)n磁盤是一種直接(隨機(jī))存取存儲(chǔ)設(shè)備。每個(gè)物理記錄有確定的位置和唯一的地址,存取任何一個(gè)物理塊所需的時(shí)間幾乎不依賴于此信息的位置 讀寫磁頭讀寫磁頭移動(dòng)臂移動(dòng)臂磁頭號(hào)磁頭號(hào)1磁頭號(hào)磁頭號(hào)2磁頭號(hào)磁頭號(hào)3磁頭號(hào)磁頭號(hào)4磁頭號(hào)磁頭號(hào)5磁頭號(hào)磁頭號(hào)6磁頭號(hào)磁頭號(hào)7磁頭號(hào)磁頭號(hào)8磁頭號(hào)磁頭號(hào)9扇區(qū)扇區(qū)柱面柱面柱面間隔柱面間隔扇區(qū)間隔扇區(qū)間隔柱面柱面廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyy

46、kyyn磁盤記錄參數(shù):柱面號(hào)、磁頭號(hào)、扇區(qū)號(hào)n磁盤訪問操作過程:根據(jù)信息的參數(shù),移動(dòng)磁頭、搜索數(shù)據(jù)塊、對(duì)數(shù)據(jù)塊進(jìn)行讀寫n查找時(shí)間:磁盤根據(jù)給出的柱面號(hào),控制臂移動(dòng),使讀寫磁頭到達(dá)指定柱面所需時(shí)間,即移動(dòng)磁頭時(shí)間。平均約20msn搜索延遲:被訪問扇區(qū)旋轉(zhuǎn)到讀寫磁頭下所需要的時(shí)間。平均約10msn傳送時(shí)間:是讀寫磁頭對(duì)數(shù)據(jù)塊讀寫所需要的時(shí)間。平均約10ms廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy5.4.2 循環(huán)排序循環(huán)排序n考慮磁道保存4個(gè)記錄的旋轉(zhuǎn)型設(shè)備,假定收到四個(gè)I/O請(qǐng)求 請(qǐng)求次序 記錄號(hào) (1) 讀記錄4 (2) 讀記錄3 (3) 讀記錄2 (4) 讀記錄1廣州商學(xué)院計(jì)算機(jī)系廣

47、州商學(xué)院計(jì)算機(jī)系 kyykyyn方法1:按照I/O請(qǐng)求次序讀記錄4、3、2、1,平均用1/2周定位,再加上1/4周讀出記錄,總處理時(shí)間等于1/2+1/4+3*3/4=3周,即60毫秒n定位并讀出記錄4需要1/2+1/4毫秒,讀出記錄4后,磁盤已經(jīng)旋轉(zhuǎn)到記錄1,再旋轉(zhuǎn)2/4周,到達(dá)記錄3,再旋轉(zhuǎn)1/4周,讀出記錄3.同理,讀出記錄3后,磁盤旋轉(zhuǎn)到記錄4,再旋轉(zhuǎn)3/4周,讀出記錄2.讀出記錄1也需要3/4周時(shí)間1234廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn方法2:如果次序?yàn)樽x記錄1、2、3、4??偺幚頃r(shí)間等于1/2+1/4+3*1/4=1.5周,即30毫秒n定位并讀出記錄1需要1/2

48、+1/4周時(shí)間,讀出記錄1后,磁盤已經(jīng)旋轉(zhuǎn)到紀(jì)錄2,定位并讀出紀(jì)錄2的時(shí)間是1/4周,定位并讀出紀(jì)錄3和記錄4的時(shí)間也都是1/4周1234n方法3:如果知道當(dāng)前讀位置是記錄3,則采用次序?yàn)樽x記錄4、1、2、3。總處理時(shí)間等于周,即20毫秒n如果知道當(dāng)前讀位置是記錄3,則不必花費(fèi)平均1/2周去尋找某個(gè)記錄.因?yàn)楫?dāng)前的讀位置是記錄3,所以只需旋轉(zhuǎn)1/4周即可讀出記錄4,然后再旋轉(zhuǎn)1/4周即可讀出記錄1,旋轉(zhuǎn)一周可讀出4個(gè)記錄廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy5.4.3 優(yōu)化分布優(yōu)化分布n信息在存儲(chǔ)空間的排列方式會(huì)影響存取等待時(shí)間??紤]10個(gè)邏輯記錄A,B,J被存于旋轉(zhuǎn)型設(shè)備上,每道

49、存放10個(gè)記錄,安排如下: 物理塊 邏輯紀(jì)錄 1-10 A-Jn假定旋轉(zhuǎn)速度為20ms/周,處理程序讀出每個(gè)記錄后花4ms進(jìn)行處理.則讀出記錄A需要旋轉(zhuǎn)20/10=2ms,即旋轉(zhuǎn)一個(gè)扇區(qū),處理完記錄A之后磁盤又旋轉(zhuǎn)了B、C兩個(gè)扇區(qū)(因?yàn)樘幚砻總€(gè)記錄需4ms時(shí)間),將轉(zhuǎn)到記錄D的開始.所以為了讀出B,必須再轉(zhuǎn)一周.從D開始旋轉(zhuǎn)到B開始共有8個(gè)扇區(qū),需耗時(shí)16ms廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn處理10個(gè)記錄的總時(shí)間 :n10毫秒(移動(dòng)到記錄A的平均時(shí)間)+ 2毫秒(讀記錄A)+4毫秒(處理記錄A)+916毫秒(訪問下一記錄) +2毫秒(讀記錄)+4毫秒(處理記錄)n 214毫

50、秒ABCDEFGHIJ廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn按照下面方式對(duì)信息優(yōu)化分布AHEBIFCJGDn則讀出記錄A并處理結(jié)束后,恰巧轉(zhuǎn)至記錄B的位置,立即就可讀出并處理.除了記錄A需要1/2周(10ms)旋轉(zhuǎn)尋道時(shí)間外,其它9個(gè)記錄沒有旋轉(zhuǎn)尋道時(shí)間.10個(gè)記錄都需要2ms的讀出一個(gè)扇區(qū)的時(shí)間和4ms的處理時(shí)間n處理10個(gè)記錄的總時(shí)間 :10毫秒(移動(dòng)到記錄A的平均時(shí)間)+102毫秒(讀記錄)+4毫秒(處理記錄) =70毫秒AHEBIFCJGD廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy5.4.4 搜查定位搜查定位n對(duì)于磁盤除旋轉(zhuǎn)延遲外,還有搜查尋道延遲nI/O請(qǐng)求需要

51、3個(gè)參數(shù):柱面號(hào),磁頭號(hào)和扇區(qū)號(hào)如 以下的5個(gè)磁盤訪問請(qǐng)求:n對(duì)于磁盤設(shè)備,應(yīng)考慮使移動(dòng)臂的移動(dòng)時(shí)間最短的一些調(diào)度策略柱面號(hào)磁頭號(hào)扇區(qū)號(hào)7774024446718547廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn移臂調(diào)度的若干策略 n (1)先來先服務(wù)算法n (2)“最短尋道(查找)時(shí)間優(yōu)先”算法 n (3) “電梯調(diào)度”算法n (4) “循環(huán)掃描”算法n (5) “分步掃描”算法廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy(1)(1)先來先服務(wù)先來先服務(wù)(FCFS)(FCFS)算法算法舉例:假定磁頭位置當(dāng)前在100號(hào)柱面,這時(shí)9個(gè)進(jìn)程先后提出訪問以下磁道:55、58 、39、1

52、8、90、160、150、38、184。按“先來先服務(wù)”調(diào)度算法,請(qǐng)給出移動(dòng)的 總磁道數(shù)。這是一種最簡(jiǎn)單的磁盤調(diào)度算法。它根據(jù)進(jìn)程請(qǐng)求訪問磁這是一種最簡(jiǎn)單的磁盤調(diào)度算法。它根據(jù)進(jìn)程請(qǐng)求訪問磁盤的先后次序進(jìn)行調(diào)度。此算法的優(yōu)點(diǎn)是公平、簡(jiǎn)單,且每盤的先后次序進(jìn)行調(diào)度。此算法的優(yōu)點(diǎn)是公平、簡(jiǎn)單,且每個(gè)進(jìn)程的請(qǐng)求都能依次地得到處理,不會(huì)出現(xiàn)某一進(jìn)程的請(qǐng)個(gè)進(jìn)程的請(qǐng)求都能依次地得到處理,不會(huì)出現(xiàn)某一進(jìn)程的請(qǐng)求長(zhǎng)期得不到滿足的情況。但此算法由于未對(duì)尋道進(jìn)行優(yōu)化,求長(zhǎng)期得不到滿足的情況。但此算法由于未對(duì)尋道進(jìn)行優(yōu)化,致使平均尋道時(shí)間可能較長(zhǎng)。致使平均尋道時(shí)間可能較長(zhǎng)。廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 ky

53、ykyyFCFS調(diào)度算法 (從從100100號(hào)柱面開始號(hào)柱面開始) 被訪問的下被訪問的下 一個(gè)柱面號(hào)一個(gè)柱面號(hào) 移動(dòng)距離移動(dòng)距離 (柱面數(shù)柱面數(shù)) 55 45 58 3 39 19 18 21 90 72 160 70 150 10 38 112 184 146 平均尋道長(zhǎng)度平均尋道長(zhǎng)度: 55.3n本算法不會(huì)導(dǎo)致某一個(gè)進(jìn)程的請(qǐng)求長(zhǎng)期得不到滿足,產(chǎn)生饑餓廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy該算法選擇這樣的進(jìn)程:其要求訪問的柱面與當(dāng)前磁頭該算法選擇這樣的進(jìn)程:其要求訪問的柱面與當(dāng)前磁頭所在的柱面距離最近,以使每次的尋道時(shí)間最短。但這種算所在的柱面距離最近,以使每次的尋道時(shí)間最短。但

54、這種算法不能保證平均尋道時(shí)間最短。法不能保證平均尋道時(shí)間最短。( (從從100100號(hào)柱面開始號(hào)柱面開始) )被訪問的下被訪問的下 一個(gè)柱面號(hào)一個(gè)柱面號(hào) 移動(dòng)距離移動(dòng)距離 (柱面數(shù)柱面數(shù)) 90 10 58 32 55 3 39 1638 1 18 20 150 132160 10 184 24 平均尋道長(zhǎng)度平均尋道長(zhǎng)度: 27.5(2)(2)“最短查找時(shí)間優(yōu)先最短查找時(shí)間優(yōu)先”(SSTF)(SSTF)算法算法廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy(3) “(3) “電梯調(diào)度電梯調(diào)度”算法算法 “最短查找時(shí)間優(yōu)先最短查找時(shí)間優(yōu)先”算法雖然能獲得較好的尋道性能,算法雖然能獲得較好的尋

55、道性能,但卻可能導(dǎo)致某個(gè)進(jìn)程發(fā)生但卻可能導(dǎo)致某個(gè)進(jìn)程發(fā)生“饑餓饑餓”。 “電梯調(diào)度電梯調(diào)度”算法不僅考慮到欲訪問的柱面與當(dāng)前柱面間的算法不僅考慮到欲訪問的柱面與當(dāng)前柱面間的距離,更優(yōu)先考慮的是磁頭當(dāng)前的移動(dòng)方向。例如,當(dāng)磁頭距離,更優(yōu)先考慮的是磁頭當(dāng)前的移動(dòng)方向。例如,當(dāng)磁頭正在自里向外移動(dòng)時(shí),電梯調(diào)度算法所考慮的下一個(gè)訪問對(duì)正在自里向外移動(dòng)時(shí),電梯調(diào)度算法所考慮的下一個(gè)訪問對(duì)象,應(yīng)是其欲訪問的柱面既在當(dāng)前柱面之外,又是距離最近象,應(yīng)是其欲訪問的柱面既在當(dāng)前柱面之外,又是距離最近的。這樣自里向外地訪問,直至再無更外的柱面需要訪問時(shí),的。這樣自里向外地訪問,直至再無更外的柱面需要訪問時(shí),才將磁臂

56、換向?yàn)樽酝庀蚶镆苿?dòng)。這時(shí),同樣也是每次選擇這才將磁臂換向?yàn)樽酝庀蚶镆苿?dòng)。這時(shí),同樣也是每次選擇這樣的進(jìn)程來調(diào)度,即要訪問的柱面在當(dāng)前位置內(nèi)距離最近者,樣的進(jìn)程來調(diào)度,即要訪問的柱面在當(dāng)前位置內(nèi)距離最近者,這樣,磁頭又逐步地從外向里移動(dòng),直至再無更里面的柱面這樣,磁頭又逐步地從外向里移動(dòng),直至再無更里面的柱面要訪問,從而避免了出現(xiàn)要訪問,從而避免了出現(xiàn)“饑餓饑餓”現(xiàn)象。由于在這種算法中現(xiàn)象。由于在這種算法中磁頭移動(dòng)的規(guī)律頗似電梯的運(yùn)行,因而又常稱之為電梯調(diào)度磁頭移動(dòng)的規(guī)律頗似電梯的運(yùn)行,因而又常稱之為電梯調(diào)度算法。算法。廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy從從100100號(hào)柱面開始

57、號(hào)柱面開始向柱面號(hào)增加方向訪問向柱面號(hào)增加方向訪問 被訪問的下被訪問的下 一個(gè)柱面號(hào)一個(gè)柱面號(hào) 移動(dòng)距離移動(dòng)距離 (柱面數(shù)柱面數(shù)) 150 50 160 10 18424 9094 5832 53 3 39 16 38 1 18 20 平均尋道長(zhǎng)度平均尋道長(zhǎng)度: 27.8 電梯調(diào)度算法示例 廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy電梯調(diào)度算法存在這樣的問題:當(dāng)磁頭剛從里向外移動(dòng)而電梯調(diào)度算法存在這樣的問題:當(dāng)磁頭剛從里向外移動(dòng)而越過了某一柱面時(shí),恰好又有一進(jìn)程請(qǐng)求訪問此柱面,這時(shí),越過了某一柱面時(shí),恰好又有一進(jìn)程請(qǐng)求訪問此柱面,這時(shí),該進(jìn)程必須等待,待磁頭繼續(xù)從里向外,然后再從外向里

58、掃該進(jìn)程必須等待,待磁頭繼續(xù)從里向外,然后再從外向里掃描完所有要訪問的柱面后,才處理該進(jìn)程的請(qǐng)求,致使該進(jìn)描完所有要訪問的柱面后,才處理該進(jìn)程的請(qǐng)求,致使該進(jìn)程的請(qǐng)求被大大地推遲。程的請(qǐng)求被大大地推遲。為了減少這種延遲,循環(huán)掃描算法規(guī)定磁頭單向移動(dòng),例如,為了減少這種延遲,循環(huán)掃描算法規(guī)定磁頭單向移動(dòng),例如,只是自里向外移動(dòng),當(dāng)磁頭移到最外的柱面并訪問后,磁頭只是自里向外移動(dòng),當(dāng)磁頭移到最外的柱面并訪問后,磁頭立即返回到最里的欲訪問的柱面,亦即將最小柱面號(hào)緊接著立即返回到最里的欲訪問的柱面,亦即將最小柱面號(hào)緊接著最大柱面號(hào)構(gòu)成循環(huán),進(jìn)行循環(huán)掃描。采用循環(huán)掃描方式后,最大柱面號(hào)構(gòu)成循環(huán),進(jìn)行循環(huán)

59、掃描。采用循環(huán)掃描方式后,上述請(qǐng)求進(jìn)程的請(qǐng)求延遲將從原來的上述請(qǐng)求進(jìn)程的請(qǐng)求延遲將從原來的2T2T減為減為T + T + SmaxSmax,其中,其中,T T為由里向外或由外向里單向掃描完要訪問的柱面所需的尋為由里向外或由外向里單向掃描完要訪問的柱面所需的尋道時(shí)間,而道時(shí)間,而SmaxSmax是將磁頭從最外面被訪問的柱面直接移到最是將磁頭從最外面被訪問的柱面直接移到最里面欲訪問的柱面里面欲訪問的柱面( (或相反或相反) )的尋道時(shí)間。的尋道時(shí)間。 (4) (4)“循環(huán)掃描循環(huán)掃描”(SCAN)(SCAN)算法算法廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyy從從100100號(hào)柱面開始號(hào)柱面

60、開始向柱面號(hào)增加方向訪問向柱面號(hào)增加方向訪問 被訪問的下被訪問的下 一個(gè)柱面號(hào)一個(gè)柱面號(hào) 移動(dòng)距離移動(dòng)距離 (柱面數(shù)柱面數(shù)) 150 50 160 10 18424 18166 3820 39 155 16 58 390 32平均尋道長(zhǎng)度平均尋道長(zhǎng)度: 35.8 循環(huán)掃描算法示例循環(huán)掃描算法示例 廣州商學(xué)院計(jì)算機(jī)系廣州商學(xué)院計(jì)算機(jī)系 kyykyyn(5)“分步掃描”算法n將磁盤請(qǐng)求隊(duì)列分成若干個(gè)長(zhǎng)度為N的子隊(duì)列,磁盤調(diào)度按先來先服務(wù)算法依次處理這些隊(duì)列。當(dāng)正在處理某子隊(duì)列時(shí),如果又出現(xiàn)新的磁盤I/O請(qǐng)求,便將新請(qǐng)求進(jìn)程放入其它隊(duì)列。每個(gè)隊(duì)列按電梯算法處理nN很大時(shí)性能接近電梯算法nN很小時(shí)蛻化

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論