版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、24 七月 2022第5章 設(shè)備管理 24 七月 2022目 錄5.1 I/O系統(tǒng)5.2 I/O控制方式5.3 緩沖管理5.4 I/O軟件5.5 設(shè)備分配5.6 磁盤(pán)存儲(chǔ)器的管理24 七月 2022教學(xué)目標(biāo)熟練掌握: I/O系統(tǒng)的硬件結(jié)構(gòu);軟件結(jié)構(gòu);I/O系統(tǒng)的控制方式;緩沖管理。掌握: 緩沖的分類(lèi);設(shè)備分配;磁盤(pán)調(diào)度算法。了解: 磁盤(pán)的性能。 24 七月 2022 操作系統(tǒng)的輸入/輸出管理(簡(jiǎn)稱(chēng)I/O管理,或稱(chēng)設(shè)備管理)負(fù)責(zé)管理和控制I/O操作和I/O設(shè)備。 1. I/O設(shè)備類(lèi)型 1)按所屬關(guān)系分類(lèi) 系統(tǒng)設(shè)備、用戶(hù)設(shè)備 2)按I/O特性分類(lèi) 字符設(shè)備、字符塊設(shè)備 3)按自愿分配方式分類(lèi) 獨(dú)占
2、設(shè)備、共享設(shè)備、虛擬設(shè)備5.1 I/O系統(tǒng) 5.1.1 I/O設(shè)備24 七月 2022緩沖轉(zhuǎn)換器控制邏輯I/O設(shè)備數(shù)據(jù)信號(hào)線(xiàn)狀態(tài)信號(hào)線(xiàn)控制信號(hào)線(xiàn)至設(shè)備控制器信號(hào)數(shù)據(jù)設(shè)備與控制器間接口的信號(hào)線(xiàn)2. 設(shè)備與控制器之間接口的數(shù)據(jù)線(xiàn)24 七月 20225.1.2 設(shè)備控制器 接收和識(shí)別命令Vision 01標(biāo)志和報(bào)告設(shè)備的狀態(tài)Vision 03交換數(shù)據(jù)Vision 02地址識(shí)別Vision 04基本功能1. 設(shè)備控制器的基本功能24 七月 2022組成123CPU與設(shè)備控制器的接口設(shè)備控制器與設(shè)備的接口I/O邏輯2. 設(shè)備控制器的組成24 七月 20225.1.3 I/O通道1.I/O通道設(shè)備的引入
3、當(dāng)主機(jī)配置的外設(shè)很多時(shí),僅有設(shè)備控制器是遠(yuǎn)遠(yuǎn)不夠的,CPU的負(fù)擔(dān)依然很重,于是在CPU和設(shè)備控制器之間又增設(shè)了通道,這樣可使一些原來(lái)由CPU處理的I/O任務(wù)轉(zhuǎn)由通道來(lái)承擔(dān),從而把CPU從繁雜的I/O任務(wù)中解脫出來(lái),提高了計(jì)算機(jī)系統(tǒng)的I/O效率。2.通道類(lèi)型 1)字節(jié)多路通道 2)數(shù)組選擇通道 3)數(shù)組多路通道 3.瓶頸問(wèn)題24 七月 20225.2.1 程序I/O方式CPU發(fā)start命令等待執(zhí)行下一條指令開(kāi)始數(shù)據(jù)傳送控制/狀態(tài)寄存器置為done(a)輸入是外圍設(shè)備接收到start命令控制/狀態(tài)寄存器置為done等待CPU的下一條指令準(zhǔn)備完畢?(b)輸出是做接收或發(fā)送數(shù)據(jù)準(zhǔn)備否5.2 I/O控
4、制方式 24 七月 2022使用中斷機(jī)制的系統(tǒng),輸入請(qǐng)求的執(zhí)行步驟如下:(1)應(yīng)用程序請(qǐng)求讀操作(2)設(shè)備驅(qū)動(dòng)程序查詢(xún)?cè)O(shè)備狀態(tài)寄存器,確定設(shè)備的忙閑狀態(tài)。(3)驅(qū)動(dòng)程序向設(shè)備控制器命令寄存器輸入命令,啟動(dòng)設(shè)備。(4)當(dāng)驅(qū)動(dòng)程序完成上述工作后,根據(jù)操作情況保存相應(yīng)信息,這些信息一開(kāi)始是保存在設(shè)備表中,系統(tǒng)中的每臺(tái)設(shè)備都有對(duì)應(yīng)的表項(xiàng),然后CPU就可以分配其他應(yīng)用程序使用。(5)設(shè)備完成了I/OCAOZUO ,中斷CPU,引起中斷處理程序的運(yùn)行。(6)中斷處理程序確定哪個(gè)設(shè)備引起的中斷,然后轉(zhuǎn)移到該設(shè)備對(duì)應(yīng)的設(shè)備處理程序執(zhí)行。(7)設(shè)備處理程序重新從設(shè)備表中找到等待I/O操作的狀態(tài)信息。(8)設(shè)備處
5、理程序讀控制器數(shù)據(jù)寄存器的內(nèi)容,然后寫(xiě)到用戶(hù)進(jìn)程的內(nèi)存區(qū)。5.2.2 中斷驅(qū)動(dòng)I/O控制方式24 七月 20225.2.3 直接存儲(chǔ)器訪(fǎng)問(wèn)I/O控制方式1DMA控制器的組成DMA控制器由三部分組成:主機(jī)與DMA控制器的接口;DMA控制器與塊設(shè)備的接口;I/O控制邏輯。圖示出了DMA控制器的組成。這里主要介紹主機(jī)與控制器之間的接口。 24 七月 2022DMA控制器的組成 DRMARDCCRI/O控制邏輯主機(jī)控制器接口控制器與塊設(shè)備接口count內(nèi)存CPU命令系統(tǒng)總線(xiàn)DMA控制器24 七月 20222.DMA工作過(guò)程DMA方式的工作流程圖 設(shè)置MAR和DC初值啟動(dòng)DMA傳送命令挪用存儲(chǔ)器周期傳送
6、數(shù)據(jù)字存儲(chǔ)器地址增1字計(jì)數(shù)寄存器減1DC=0?請(qǐng)求中斷在繼續(xù)執(zhí)行用戶(hù)程序的同時(shí),準(zhǔn)備又一次傳送否是24 七月 20221I/O通道控制方式的引入雖然DMA方式比起中斷方式來(lái)已經(jīng)顯著地減少了CPU的干預(yù),即已由以字(節(jié))為單位的干預(yù)減少到以數(shù)據(jù)塊為單位的干預(yù),但CPU每發(fā)出一條I/O指令,也只能去讀(或?qū)?一個(gè)連續(xù)的數(shù)據(jù)塊。而當(dāng)我們需要一次去讀多個(gè)數(shù)據(jù)塊且將它們分別傳送到不同的內(nèi)存區(qū)域,或者相反時(shí),則須由CPU分別發(fā)出多條I/O指令及進(jìn)行多次中斷處理才能完成。 5.2.4 I/O通道控制方式24 七月 2022I/O通道控制方式24 七月 2022I/O通道方式是DMA方式的發(fā)展,它可進(jìn)一步減少
7、CPU的干預(yù),即把對(duì)一個(gè)數(shù)據(jù)塊的讀(或?qū)?為單位的干預(yù)減少為對(duì)一組數(shù)據(jù)塊的讀(或?qū)?及有關(guān)的控制和管理為單位的干預(yù)。同時(shí),又可實(shí)現(xiàn)CPU、通道和I/O設(shè)備三者的并行操作,從而更有效地提高整個(gè)系統(tǒng)的資源利用率。例如,當(dāng)CPU要完成一組相關(guān)的讀(或?qū)?操作及有關(guān)控制時(shí),只需向I/O通道發(fā)送一條I/O指令,以給出其所要執(zhí)行的通道程序的首址和要訪(fǎng)問(wèn)的I/O設(shè)備,通道接到該指令后,通過(guò)執(zhí)行通道程序便可完成CPU指定的I/O任務(wù)。 24 七月 20222通道程序通道是通過(guò)執(zhí)行通道程序,并與設(shè)備控制器共同實(shí)現(xiàn)對(duì)I/O設(shè)備的控制的。通道程序是由一系列通道指令(或稱(chēng)為通道命令)所構(gòu)成的。通道指令與一般的機(jī)器指令
8、不同,在它的每條指令中都包含下列諸信息:(1) 操作碼。操作碼規(guī)定了指令所執(zhí)行的操作,如讀、寫(xiě)、控制等操作。(2) 內(nèi)存地址。內(nèi)存地址標(biāo)明字符送入內(nèi)存(讀操作)和從內(nèi)存取出(寫(xiě)操作)時(shí)的內(nèi)存首址。(3) 計(jì)數(shù)。該信息表示本條指令所要讀(或?qū)?數(shù)據(jù)的字節(jié)數(shù)。 (4) 通道程序結(jié)束位P。該位用于表示通道程序是否結(jié)束。P=1表示本條指令是通道程序的最后一條指令。(5) 記錄結(jié)束標(biāo)志R。R=0表示本通道指令與下一條指令所處理的數(shù)據(jù)是同屬于一個(gè)記錄;R=1表示這是處理某記錄的最后一條指令。 24 七月 20225.3 緩沖管理 引入緩沖的原因有如下幾點(diǎn):(1)緩和CPU與I/O設(shè)備間速度不匹配的矛盾。
9、(2)協(xié)調(diào)邏輯記錄大小和物理記錄大小不一致的問(wèn)題。 (3)減少對(duì)CPU的中斷次數(shù),放寬對(duì)中斷響應(yīng)時(shí)間的限制。5.3.1 緩沖的引入24 七月 20221單緩沖(Single Buffer)在單緩沖情況下,每當(dāng)用戶(hù)進(jìn)程發(fā)出一I/O請(qǐng)求時(shí),操作系統(tǒng)便在主存中為之分配一緩沖區(qū),如圖所示。在塊設(shè)備輸入時(shí),假定從磁盤(pán)把一塊數(shù)據(jù)輸入到緩沖區(qū)的時(shí)間為T(mén),操作系統(tǒng)將該緩沖區(qū)中的數(shù)據(jù)傳送到用戶(hù)區(qū)的時(shí)間為M,而CPU對(duì)這一塊數(shù)據(jù)處理(計(jì)算)的時(shí)間為C。由于T和C是可以并行的(見(jiàn)書(shū)中圖5-11),當(dāng)TC時(shí),系統(tǒng)對(duì)每一塊數(shù)據(jù)的處理時(shí)間為M+T,反之則為M+C,故可把系統(tǒng)對(duì)每一塊數(shù)據(jù)的處理時(shí)間表示為Max(C,T)+M
10、。 5.3.2 單緩沖和雙緩沖24 七月 2022單緩沖工作示意圖 24 七月 20222雙緩沖(Double Buffer)為了加快輸入和輸出速度,提高設(shè)備利用率,人們又引入了雙緩沖區(qū)機(jī)制,也稱(chēng)為緩沖對(duì)換(Buffer Swapping)。在設(shè)備輸入時(shí),先將數(shù)據(jù)送入第一緩沖區(qū),裝滿(mǎn)后便轉(zhuǎn)向第二緩沖區(qū)。此時(shí)操作系統(tǒng)可以從第一緩沖區(qū)中移出數(shù)據(jù),并送入用戶(hù)進(jìn)程。接著由CPU對(duì)數(shù)據(jù)進(jìn)行計(jì)算。在雙緩沖時(shí),系統(tǒng)處理一塊數(shù)據(jù)的時(shí)間可以粗略地認(rèn)為是Max(C,T)。如果CT,則可使CPU不必等待設(shè)備輸入。對(duì)于字符設(shè)備,若采用行輸入方式,則采用雙緩沖通常能消除用戶(hù)的等待時(shí)間,即用戶(hù)在輸入完第一行之后,在CPU
11、執(zhí)行第一行中的命令時(shí),用戶(hù)可繼續(xù)向第二緩沖區(qū)輸入下一行數(shù)據(jù)。 24 七月 2022循環(huán)緩沖主要由以下幾部分組成: (1) 多個(gè)緩沖區(qū)。在循環(huán)緩沖中包括多個(gè)緩沖區(qū),其每個(gè)緩沖區(qū)的大小相同。作為輸入的多緩沖區(qū)可分為三種類(lèi)型:用于裝輸入數(shù)據(jù)的空緩沖區(qū)R、已裝滿(mǎn)數(shù)據(jù)的緩沖區(qū)G以及計(jì)算進(jìn)程正在使用的現(xiàn)行工作緩沖區(qū)C。 (2) 多個(gè)指針。作為輸入的緩沖區(qū)可設(shè)置三個(gè)指針:用于指示計(jì)算進(jìn)程下一個(gè)可用緩沖區(qū)G的指針Nextg、指示輸入進(jìn)程下次可用的空緩沖區(qū)R的指針Nexti,以及用于指示計(jì)算進(jìn)程正在使用的緩沖區(qū)C的指針Current。 5.3.3 循環(huán)緩沖24 七月 20221緩沖池的組成對(duì)于既可用于輸入又可用
12、于輸出的公用緩沖池,其中至少應(yīng)含有以下三種類(lèi)型的緩沖區(qū): 空(閑)緩沖區(qū); 裝滿(mǎn)輸入數(shù)據(jù)的緩沖區(qū); 裝滿(mǎn)輸出數(shù)據(jù)的緩沖區(qū)。 5.3.4 緩沖池24 七月 20222緩沖區(qū)的工作方式緩沖區(qū)可以工作在收容輸入、提取輸入、收容輸出和提取輸出四種工作方式下,如圖所示。 緩沖區(qū)的工作方式24 七月 2022(1) 收容輸入。在輸入進(jìn)程需要輸入數(shù)據(jù)時(shí),便調(diào)用Getbuf(emq)過(guò)程,從空緩沖隊(duì)列emq的隊(duì)首摘下一空緩沖區(qū),把它作為收容輸入工作緩沖區(qū)hin。然后,把數(shù)據(jù)輸入其中,裝滿(mǎn)后再調(diào)用Putbuf(inq,hin)過(guò)程,將該緩沖區(qū)掛在輸入隊(duì)列inq上。(2) 提取輸入。當(dāng)計(jì)算進(jìn)程需要輸入數(shù)據(jù)時(shí),調(diào)用
13、Getbuf(inq)過(guò)程,從輸入隊(duì)列inq的隊(duì)首取得一個(gè)緩沖區(qū),作為提取輸入工作緩沖區(qū)(sin),計(jì)算進(jìn)程從中提取數(shù)據(jù)。計(jì)算進(jìn)程用完該數(shù)據(jù)后,再調(diào)用Putbuf(emq,sin)過(guò)程,將該緩沖區(qū)掛到空緩沖隊(duì)列emq上。 24 七月 2022(3) 收容輸出。當(dāng)計(jì)算進(jìn)程需要輸出時(shí),調(diào)用Getbuf(emq)過(guò)程從空緩沖隊(duì)列emq的隊(duì)首取得一個(gè)空緩沖區(qū),作為收容輸出工作緩沖區(qū)hout。當(dāng)其中裝滿(mǎn)輸出數(shù)據(jù)后,又調(diào)用Putbuf(outq,hout)過(guò)程,將該緩沖區(qū)掛在outq末尾。(4) 提取輸出。由輸出進(jìn)程調(diào)用Getbuf(outq)過(guò)程,從輸出隊(duì)列的隊(duì)首取得一裝滿(mǎn)輸出數(shù)據(jù)的緩沖區(qū),作為提取輸出
14、工作緩沖區(qū)sout。在數(shù)據(jù)提取完后,再調(diào)用Putbuf(emq,sout)過(guò)程,將該緩沖區(qū)掛在空緩沖隊(duì)列末尾。 24 七月 20225.4 I/O 軟件 用戶(hù)必須掌握I/O 系統(tǒng)的原理,對(duì)接口和控制器及設(shè)備的物理特性要有深入了解,這就使計(jì)算機(jī)的推廣應(yīng)用受到很大限制。所以,設(shè)法消除或屏蔽設(shè)備硬件內(nèi)部的低級(jí)處理過(guò)程,為用戶(hù)提供一個(gè)簡(jiǎn)便、易用、抽象的邏輯設(shè)備接口,保證用戶(hù)安全、方便地使用各類(lèi)設(shè)備,也是I/O軟件設(shè)計(jì)的一個(gè)重要原則。 5.4.1 I/O軟件的設(shè)計(jì)目標(biāo)和原則24 七月 2022設(shè)備無(wú)關(guān)性Vision 01錯(cuò)誤處理Vision 03同步/異步傳輸Vision 02設(shè)備的分配和釋放Visio
15、n 04目標(biāo)具體而言,I/O軟件應(yīng)達(dá)到下面的幾個(gè)目標(biāo):24 七月 2022在層次式結(jié)構(gòu)的I/O軟件中,只要層次間的接口不變,對(duì)每個(gè)層次中的軟件進(jìn)行的修改都不會(huì)引起其下層或高層代碼的變更,僅最低層才會(huì)涉及到硬件的具體特性。通常把I/O 軟件組織成四個(gè)層次,各層次及其功能如下所述:(1) 用戶(hù)層軟件:實(shí)現(xiàn)與用戶(hù)交互的接口,用戶(hù)可直接調(diào)用在用戶(hù)層提供的、與I/O操作有關(guān)的庫(kù)函數(shù),對(duì)設(shè)備進(jìn)行操作。 24 七月 2022(2) 設(shè)備獨(dú)立性軟件:負(fù)責(zé)實(shí)現(xiàn)與設(shè)備驅(qū)動(dòng)器的統(tǒng)一接口、設(shè)備命名、設(shè)備的保護(hù)以及設(shè)備的分配與釋放等,同時(shí)為設(shè)備管理和數(shù)據(jù)傳送提供必要的存儲(chǔ)空間。(3) 設(shè)備驅(qū)動(dòng)程序:與硬件直接相關(guān),負(fù)責(zé)
16、具體實(shí)現(xiàn)系統(tǒng)對(duì)設(shè)備發(fā)出的操作指令,驅(qū)動(dòng)I/O設(shè)備工作的驅(qū)動(dòng)程序。(4) 中斷處理程序:用于保存被中斷進(jìn)程的CPU環(huán)境,轉(zhuǎn)入相應(yīng)的中斷處理程序進(jìn)行處理,處理完后再恢復(fù)被中斷進(jìn)程的現(xiàn)場(chǎng)后返回到被中斷進(jìn)程。 24 七月 2022中斷是指設(shè)備發(fā)送給CPU的硬件信號(hào)。中斷將通知CPU需要注意設(shè)備,并且CPU應(yīng)該停止任何當(dāng)前活動(dòng)并對(duì)設(shè)備進(jìn)行響應(yīng)。如果CPU未執(zhí)行優(yōu)先級(jí)比中斷優(yōu)先級(jí)高的任務(wù),則CPU會(huì)暫停當(dāng)前線(xiàn)程。然后,CPU會(huì)調(diào)用發(fā)送中斷信號(hào)的設(shè)備的中斷處理程序。中斷處理程序的工作時(shí)服務(wù)設(shè)備并防止此設(shè)備中斷。中斷處理程序返回后,CPU便會(huì)恢復(fù)出現(xiàn)中斷之前所執(zhí)行的工作。5.4.2 中斷處理程序24 七月 2
17、02212345發(fā)出I/O命令。接收由設(shè)備獨(dú)立性軟件發(fā)來(lái)的命令和參數(shù),并將命令中的抽象要求轉(zhuǎn)換為具體要求。檢查用戶(hù)I/O請(qǐng)求的合理性。響應(yīng)中斷請(qǐng)求根據(jù)用戶(hù)的I/O請(qǐng)求,自動(dòng)地構(gòu)成通道程序。1.設(shè)備驅(qū)動(dòng)程序的功能5.4.3 設(shè)備驅(qū)動(dòng)程序24 七月 2022方式123為每一類(lèi)設(shè)備設(shè)置一個(gè)進(jìn)程,專(zhuān)門(mén)用于執(zhí)行這類(lèi)設(shè)備的I/O操作。在整個(gè)系統(tǒng)中設(shè)置一個(gè)I/O進(jìn)程,專(zhuān)門(mén)用于執(zhí)行系統(tǒng)中所有各類(lèi)設(shè)備的I/O操作。不設(shè)置專(zhuān)門(mén)的設(shè)備處理進(jìn)程,而只為各類(lèi)設(shè)備設(shè)置響應(yīng)的設(shè)備處理程序,共用戶(hù)進(jìn)程或系統(tǒng)進(jìn)程調(diào)用。2.設(shè)備處理方式24 七月 20223.設(shè)備驅(qū)動(dòng)程序的特點(diǎn)設(shè)備驅(qū)動(dòng)程序?qū)儆诘图?jí)的系統(tǒng)例程,它與一般的應(yīng)用程序及
18、系統(tǒng)程序之間有下述明顯差異:(1) 驅(qū)動(dòng)程序主要是指在請(qǐng)求I/O的進(jìn)程與設(shè)備控制器之間的一個(gè)通信和轉(zhuǎn)換程序。它將進(jìn)程的I/O請(qǐng)求經(jīng)過(guò)轉(zhuǎn)換后,傳送給控制器;又把控制器中所記錄的設(shè)備狀態(tài)和I/O操作完成情況及時(shí)地反映給請(qǐng)求I/O的進(jìn)程。 24 七月 2022(2) 驅(qū)動(dòng)程序與設(shè)備控制器和I/O設(shè)備的硬件特性緊密相關(guān),因而對(duì)不同類(lèi)型的設(shè)備應(yīng)配置不同的驅(qū)動(dòng)程序。例如,可以為相同的多個(gè)終端設(shè)置一個(gè)終端驅(qū)動(dòng)程序,但有時(shí)即使是同一類(lèi)型的設(shè)備,由于其生產(chǎn)廠(chǎng)家不同,它們也可能并不完全兼容,此時(shí)也須為它們配置不同的驅(qū)動(dòng)程序。(3) 驅(qū)動(dòng)程序與I/O設(shè)備所采用的I/O控制方式緊密相關(guān)。常用的I/O控制方式是中斷驅(qū)動(dòng)
19、和DMA方式,這兩種方式的驅(qū)動(dòng)程序明顯不同,因?yàn)楹笳邞?yīng)按數(shù)組方式啟動(dòng)設(shè)備及進(jìn)行中斷處理。 24 七月 2022(4) 由于驅(qū)動(dòng)程序與硬件緊密相關(guān),因而其中的一部分必須用匯編語(yǔ)言書(shū)寫(xiě)。目前有很多驅(qū)動(dòng)程序的基本部分,已經(jīng)固化在ROM中。(5) 驅(qū)動(dòng)程序應(yīng)允許可重入。一個(gè)正在運(yùn)行的驅(qū)動(dòng)程序常會(huì)在一次調(diào)用完成前被再次調(diào)用。例如,網(wǎng)絡(luò)驅(qū)動(dòng)程序正在處理一個(gè)到來(lái)的數(shù)據(jù)包時(shí),另一個(gè)數(shù)據(jù)包可能到達(dá)。(6) 驅(qū)動(dòng)程序不允許系統(tǒng)調(diào)用。但是為了滿(mǎn)足其與內(nèi)核其它部分的交互,可以允許對(duì)某些內(nèi)核過(guò)程的調(diào)用,如通過(guò)調(diào)用內(nèi)核過(guò)程來(lái)分配和釋放內(nèi)存頁(yè)面作為緩沖區(qū),以及調(diào)用其它過(guò)程來(lái)管理MMU定時(shí)器、DMA控制器、中斷控制器等。 2
20、4 七月 20221設(shè)備獨(dú)立性的概念為了提高OS的可適應(yīng)性和可擴(kuò)展性,在現(xiàn)代OS中都毫無(wú)例外地實(shí)現(xiàn)了設(shè)備獨(dú)立性(Device Independence),也稱(chēng)為設(shè)備無(wú)關(guān)性。其基本含義是: 用戶(hù) 編寫(xiě)的應(yīng)用程序獨(dú)立于具體使用的物理設(shè)備,及時(shí)設(shè)備更換了,應(yīng)用程序也不用改變。在實(shí)現(xiàn)了設(shè)備獨(dú)立性的功能后,可帶來(lái)以下兩方面的好處。 1)設(shè)備分配更加靈活 2)可以實(shí)現(xiàn)I/O重定向5.4.4 設(shè)備獨(dú)立性軟件24 七月 2022設(shè)備獨(dú)立性軟件的功能包括 (1) 執(zhí)行所有設(shè)備的公有操作。這些公有操作包括: 對(duì)獨(dú)立設(shè)備的分配與回收; 將邏輯設(shè)備名映射為物理設(shè)備名,進(jìn)一步可以找到相應(yīng)物理設(shè)備的驅(qū)動(dòng)程序; 對(duì)設(shè)備進(jìn)行
21、保護(hù),禁止用戶(hù)直接訪(fǎng)問(wèn)設(shè)備; 緩沖管理,即對(duì)字符設(shè)備和塊設(shè)備的緩沖區(qū)進(jìn)行有效的管理,以提高I/O的效率; 差錯(cuò)控制,由于在I/O操作中的絕大多數(shù)錯(cuò)誤都與設(shè)備無(wú)關(guān),故主要由設(shè)備驅(qū)動(dòng)程序處理,而設(shè)備獨(dú)立性軟件只處理那些設(shè)備驅(qū)動(dòng)程序無(wú)法處理的錯(cuò)誤; 2.與設(shè)備無(wú)關(guān)的軟件24 七月 2022 提供獨(dú)立于設(shè)備的邏輯塊,不同類(lèi)型的設(shè)備信息交換單位是不同的,讀取和傳輸速率也各不相同,如字符型設(shè)備以單個(gè)字符為單位,塊設(shè)備是以一個(gè)數(shù)據(jù)塊為單位,即使同一類(lèi)型的設(shè)備,其信息交換單位大小也是有差異的,如不同磁盤(pán)由于扇區(qū)大小的不同,可能造成數(shù)據(jù)塊大小的不一致,因此設(shè)備獨(dú)立性軟件應(yīng)負(fù)責(zé)隱藏這些差異,對(duì)邏輯設(shè)備使用并向高層
22、軟件提供大小統(tǒng)一的邏輯數(shù)據(jù)塊。 24 七月 2022(2)向用戶(hù)層(或文件層)軟件提供統(tǒng)一接口。無(wú)論何種設(shè)備,它們向用戶(hù)所提供的接口應(yīng)該是相同的。例如,對(duì)各種設(shè)備的讀操作,在應(yīng)用程序中都使用read;而對(duì)各種設(shè)備的寫(xiě)操作,也都使用write。 (3)設(shè)備維護(hù)。操作系統(tǒng)影響各個(gè)用戶(hù)賦予不同的設(shè)備訪(fǎng)問(wèn)權(quán)限,以實(shí)現(xiàn)對(duì)設(shè)備的保護(hù)。24 七月 2022一般而言,大部分的I/O軟件都在操作系統(tǒng)內(nèi)部,但仍有一小部分在用戶(hù)層,包括與用戶(hù)程序鏈接在一起的庫(kù)函數(shù),以及完全運(yùn)行于內(nèi)核之外的一些程序。用戶(hù)層軟件必須通過(guò)一組系統(tǒng)調(diào)用來(lái)取得操作系統(tǒng)服務(wù)。在現(xiàn)代的高級(jí)語(yǔ)言以及C語(yǔ)言中,通常提供了與各系統(tǒng)調(diào)用一一對(duì)應(yīng)的庫(kù)函數(shù)
23、,用戶(hù)程序通過(guò)調(diào)用對(duì)應(yīng)的庫(kù)函數(shù)使用系統(tǒng)調(diào)用。這些庫(kù)函數(shù)與調(diào)用程序連接在一起,包含在運(yùn)行時(shí)裝入在內(nèi)存的二進(jìn)制程序中,如C語(yǔ)言中的庫(kù)函數(shù)write等,顯然這些庫(kù)函數(shù)的集合也是I/O系統(tǒng)的組成部分。但在許多現(xiàn)代操作系統(tǒng)中,系統(tǒng)調(diào)用本身已經(jīng)采用C語(yǔ)言編寫(xiě),并以函數(shù)形式提供,所以在使用C語(yǔ)言編寫(xiě)的用戶(hù)程序中,可以直接使用這些系統(tǒng)調(diào)用。 5.4.5 用戶(hù)層的I/O軟件24 七月 20225.5 設(shè)備分配 1設(shè)備控制表(DCT)系統(tǒng)為每一個(gè)設(shè)備都配置了一張?jiān)O(shè)備控制表,用于記錄本設(shè)備的情況,如圖所示。 5.5.1 設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)24 七月 2022設(shè)備控制表 24 七月 2022設(shè)備控制表中,除了有用于
24、指示設(shè)備類(lèi)型的字段type和設(shè)備標(biāo)識(shí)字段deviceid外,還應(yīng)含有下列字段: (1) 設(shè)備狀態(tài)。當(dāng)設(shè)備自身正處于使用狀態(tài)時(shí),應(yīng)將設(shè)備的忙/閑標(biāo)志置“1”。若與該設(shè)備相連接的控制器或通道正忙,也不能啟動(dòng)該設(shè)備,此時(shí)則應(yīng)將設(shè)備的等待標(biāo)志置“1”。 (2) 指向控制器表的指針。該指針指向該設(shè)備所連接的控制器的控制表。在設(shè)備到主機(jī)之間具有多條通路的情況下,一個(gè)設(shè)備將與多個(gè)控制器相連接。此時(shí),在DCT中還應(yīng)設(shè)置多個(gè)控制器表指針。24 七月 2022(3) 重復(fù)執(zhí)行次數(shù)或時(shí)間。由于外部設(shè)備在傳送數(shù)據(jù)時(shí),較易發(fā)生數(shù)據(jù)傳送錯(cuò)誤,因而在許多系統(tǒng)中,如果發(fā)生傳送錯(cuò)誤,并不立即認(rèn)為傳送失敗,而是令它重新傳送,并由
25、系統(tǒng)規(guī)定設(shè)備在工作中發(fā)生錯(cuò)誤時(shí)應(yīng)重復(fù)執(zhí)行的次數(shù)。在重復(fù)執(zhí)行時(shí),若能恢復(fù)正常傳送,則仍認(rèn)為傳送成功。僅當(dāng)屢次失敗,致使重復(fù)執(zhí)行次數(shù)達(dá)到規(guī)定值而傳送仍不成功時(shí),才認(rèn)為傳送失敗。 (4)設(shè)備隊(duì)列隊(duì)首指針。凡因請(qǐng)求本設(shè)備而未得到滿(mǎn)足的進(jìn)程,其PCB都應(yīng)按照一定的策略排成一個(gè)隊(duì)列,稱(chēng)該隊(duì)列為設(shè)備請(qǐng)求隊(duì)列或簡(jiǎn)稱(chēng)設(shè)備隊(duì)列。其隊(duì)首指針指向隊(duì)首PCB。在有的系統(tǒng)中還設(shè)置了隊(duì)尾指針。24 七月 20222控制器控制表、通道控制表和系統(tǒng)設(shè)備表(1) 控制器控制表(COCT)。系統(tǒng)為每一個(gè)控制器都設(shè)置了一張用于記錄本控制器情況的控制器控制表,如圖a所示。(2) 通道控制表(CHCT)。每個(gè)通道都配有一張通道控制表,如
26、圖b所示。 (3) 系統(tǒng)設(shè)備表(SDT)。這是系統(tǒng)范圍的數(shù)據(jù)結(jié)構(gòu),其中記錄了系統(tǒng)中全部設(shè)備的情況。每個(gè)設(shè)備占一個(gè)表目,其中包括有設(shè)備類(lèi)型、設(shè)備標(biāo)識(shí)符、設(shè)備控制表及設(shè)備驅(qū)動(dòng)程序的入口等項(xiàng),如圖c所示。 24 七月 2022COCT、CHCT和SDT 24 七月 2022為了使系統(tǒng)有條不紊地工作,系統(tǒng)在分配設(shè)備時(shí),應(yīng)考慮這樣幾個(gè)因素:因素123設(shè)備的固有屬性設(shè)備分配算法設(shè)備分配時(shí)的安全性5.5.2 設(shè)備分配時(shí)應(yīng)考慮的因素24 七月 20221設(shè)備的固有屬性在分配設(shè)備時(shí),首先應(yīng)考慮與設(shè)備分配有關(guān)的設(shè)備屬性。設(shè)備的固有屬性可分成三種: 第一種是獨(dú)占性,是指這種設(shè)備在一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程獨(dú)占,此即第
27、二章所說(shuō)的“臨界資源”; 第二種是共享性,指這種設(shè)備允許多個(gè)進(jìn)程同時(shí)共享; 第三種是可虛擬設(shè)備,指設(shè)備本身雖是獨(dú)占設(shè)備,但經(jīng)過(guò)某種技術(shù)處理,可以把它改造成虛擬設(shè)備。對(duì)上述的獨(dú)占、 共享、可虛擬三種設(shè)備應(yīng)采取不同的分配策略。 24 七月 2022(1) 獨(dú)占設(shè)備。對(duì)于獨(dú)占設(shè)備,應(yīng)采用獨(dú)享分配策略,即將一個(gè)設(shè)備分配給某進(jìn)程后,便由該進(jìn)程獨(dú)占,直至該進(jìn)程完成或釋放該設(shè)備,然后,系統(tǒng)才能再將該設(shè)備分配給其他進(jìn)程使用。這種分配策略的缺點(diǎn)是,設(shè)備得不到充分利用,而且還可能引起死鎖。(2) 共享設(shè)備。對(duì)于共享設(shè)備,可同時(shí)分配給多個(gè)進(jìn)程使用,此時(shí)須注意對(duì)這些進(jìn)程訪(fǎng)問(wèn)該設(shè)備的先后次序進(jìn)行合理的調(diào)度。(3) 可虛
28、擬設(shè)備。由于可虛擬設(shè)備是指一臺(tái)物理設(shè)備在采用虛擬技術(shù)后,可變成多臺(tái)邏輯上的所謂虛擬設(shè)備,因而說(shuō),一臺(tái)可虛擬設(shè)備是可共享的設(shè)備,可以將它同時(shí)分配給多個(gè)進(jìn)程使用,并對(duì)這些訪(fǎng)問(wèn)該(物理)設(shè)備的先后次序進(jìn)行控制。 24 七月 2022因素123先來(lái)先服務(wù)算法,即先申請(qǐng)的先被滿(mǎn)足。優(yōu)先級(jí)算法,即優(yōu)先級(jí)高的I/O請(qǐng)求先被滿(mǎn)足。按時(shí)間片輪轉(zhuǎn)分配。2設(shè)備分配算法對(duì)設(shè)備進(jìn)行分配的算法,一般多采用以下幾種:24 七月 20223設(shè)備分配中的安全性安全性控制過(guò)稱(chēng)如下: (1)系統(tǒng)需要根據(jù)用戶(hù)提出的邏輯設(shè)備查看PCB的LUT,獲得該類(lèi)設(shè)備的物理標(biāo)志和訪(fǎng)問(wèn)方式。 (2)判斷此次訪(fǎng)問(wèn)是否與規(guī)定的方式一致。24 七月 20
29、221基本的設(shè)備分配程序1) 分配設(shè)備首先根據(jù)I/O請(qǐng)求中的物理設(shè)備名,查找系統(tǒng)設(shè)備表(SDT),從中找出該設(shè)備的DCT,再根據(jù)DCT中的設(shè)備狀態(tài)字段,可知該設(shè)備是否正忙。若忙,便將請(qǐng)求I/O進(jìn)程的PCB掛在設(shè)備隊(duì)列上;否則,便按照一定的算法來(lái)計(jì)算本次設(shè)備分配的安全性。如果不會(huì)導(dǎo)致系統(tǒng)進(jìn)入不安全狀態(tài),便將設(shè)備分配給請(qǐng)求進(jìn)程;否則,仍將其PCB插入設(shè)備等待隊(duì)列。 5.5.3 獨(dú)占設(shè)備的分配程序24 七月 20222) 分配控制器在系統(tǒng)把設(shè)備分配給請(qǐng)求I/O的進(jìn)程后,再到其DCT中找出與該設(shè)備連接的控制器的COCT,從COCT的狀態(tài)字段中可知該控制器是否忙碌。若忙,便將請(qǐng)求I/O進(jìn)程的PCB掛在該
30、控制器的等待隊(duì)列上;否則,便將該控制器分配給進(jìn)程。3) 分配通道在該COCT中又可找到與該控制器連接的通道的CHCT,再根據(jù)CHCT內(nèi)的狀態(tài)信息,可知該通道是否忙碌。若忙,便將請(qǐng)求I/O的進(jìn)程掛在該通道的等待隊(duì)列上;否則,將該通道分配給進(jìn)程。只有在設(shè)備、 控制器和通道三者都分配成功時(shí),這次的設(shè)備分配才算成功。然后,便可啟動(dòng)該I/O設(shè)備進(jìn)行數(shù)據(jù)傳送。 24 七月 20222設(shè)備分配程序的改進(jìn)仔細(xì)研究上述基本的設(shè)備分配程序后可以發(fā)現(xiàn): 進(jìn)程是以物理設(shè)備名來(lái)提出I/O請(qǐng)求的; 采用的是單通路的I/O系統(tǒng)結(jié)構(gòu),容易產(chǎn)生“瓶頸”現(xiàn)象。為此,應(yīng)從以下兩方面對(duì)基本的設(shè)備分配程序加以改進(jìn),以使獨(dú)占設(shè)備的分配程
31、序具有更強(qiáng)的靈活性,并提高分配的成功率。 24 七月 20221) 增加設(shè)備的獨(dú)立性為了獲得設(shè)備的獨(dú)立性,進(jìn)程應(yīng)使用邏輯設(shè)備名請(qǐng)求I/O。這樣,系統(tǒng)首先從SDT中找出第一個(gè)該類(lèi)設(shè)備的DCT。若該設(shè)備忙,又查找第二個(gè)該類(lèi)設(shè)備的DCT,僅當(dāng)所有該類(lèi)設(shè)備都忙時(shí),才把進(jìn)程掛在該類(lèi)設(shè)備的等待隊(duì)列上;而只要有一個(gè)該類(lèi)設(shè)備可用,系統(tǒng)便進(jìn)一步計(jì)算分配該設(shè)備的安全性。 24 七月 20222) 考慮多通路情況為了防止在I/O系統(tǒng)中出現(xiàn)“瓶頸”現(xiàn)象,通常都采用多通路的I/O系統(tǒng)結(jié)構(gòu)。此時(shí)對(duì)控制器和通道的分配同樣要經(jīng)過(guò)幾次反復(fù),即若設(shè)備(控制器)所連接的第一個(gè)控制器(通道)忙時(shí),應(yīng)查看其所連接的第二個(gè)控制器(通道)
32、,僅當(dāng)所有的控制器(通道)都忙時(shí),此次的控制器(通道)分配才算失敗,才把進(jìn)程掛在控制器(通道)的等待隊(duì)列上。而只要有一個(gè)控制器(通道)可用,系統(tǒng)便可將它分配給進(jìn)程。 24 七月 20221SPOOLing系統(tǒng)的組成SPOOLing技術(shù)是對(duì)脫機(jī)輸入、輸出系統(tǒng)的模擬。相應(yīng)地,SPOOLing系統(tǒng)必須建立在具有多道程序功能的操作系統(tǒng)上,而且還應(yīng)有高速隨機(jī)外存的支持,這通常是采用磁盤(pán)存儲(chǔ)技術(shù)。SPOOLing系統(tǒng)主要有以下三部分:(1) 輸入井和輸出井。這是在磁盤(pán)上開(kāi)辟的兩個(gè)大存儲(chǔ)空間。輸入井是模擬脫機(jī)輸入時(shí)的磁盤(pán)設(shè)備,用于暫存I/O設(shè)備輸入的數(shù)據(jù);輸出井是模擬脫機(jī)輸出時(shí)的磁盤(pán),用于暫存用戶(hù)程序的輸出
33、數(shù)據(jù)。 5.5.4 SPOOLing技術(shù)24 七月 2022(2) 輸入緩沖區(qū)和輸出緩沖區(qū)。為了緩和CPU和磁盤(pán)之間速度不匹配的矛盾,在內(nèi)存中要開(kāi)辟兩個(gè)緩沖區(qū):輸入緩沖區(qū)和輸出緩沖區(qū)。輸入緩沖區(qū)用于暫存由輸入設(shè)備送來(lái)的數(shù)據(jù),以后再傳送到輸入井。輸出緩沖區(qū)用于暫存從輸出井送來(lái)的數(shù)據(jù),以后再傳送給輸出設(shè)備。(3) 輸入進(jìn)程SPi和輸出進(jìn)程SPo。這里利用兩個(gè)進(jìn)程來(lái)模擬脫機(jī)I/O時(shí)的外圍控制機(jī)。其中,進(jìn)程SPi模擬脫機(jī)輸入時(shí)的外圍控制機(jī),將用戶(hù)要求的數(shù)據(jù)從輸入機(jī)通過(guò)輸入緩沖區(qū)再送到輸入井,當(dāng)CPU需要輸入數(shù)據(jù)時(shí),直接從輸入井讀入內(nèi)存;進(jìn)程SPo模擬脫機(jī)輸出時(shí)的外圍控制機(jī),把用戶(hù)要求輸出的數(shù)據(jù)先從內(nèi)存
34、送到輸出井,待輸出設(shè)備空閑時(shí),再將輸出井中的數(shù)據(jù)經(jīng)過(guò)輸出緩沖區(qū)送到輸出設(shè)備上。 24 七月 2022SPOOLing系統(tǒng)的組成 24 七月 20222共享打印機(jī)打印機(jī)是經(jīng)常要用到的輸出設(shè)備,屬于獨(dú)占設(shè)備。利用SPOOLing技術(shù),可將之改造為一臺(tái)可供多個(gè)用戶(hù)共享的設(shè)備,從而提高設(shè)備的利用率,也方便了用戶(hù)。共享打印機(jī)技術(shù)已被廣泛地用于多用戶(hù)系統(tǒng)和局域網(wǎng)絡(luò)中。當(dāng)用戶(hù)進(jìn)程請(qǐng)求打印輸出時(shí),SPOOLing系統(tǒng)同意為它打印輸出,但并不真正立即把打印機(jī)分配給該用戶(hù)進(jìn)程,而只為它做兩件事: 由輸出進(jìn)程在輸出井中為之申請(qǐng)一個(gè)空閑磁盤(pán)塊區(qū),并將要打印的數(shù)據(jù)送入其中; 輸出進(jìn)程再為用戶(hù)進(jìn)程申請(qǐng)一張空白的用戶(hù)請(qǐng)求打
35、印表,并將用戶(hù)的打印要求填入其中,再將該表掛到請(qǐng)求打印隊(duì)列上。如果還有進(jìn)程要求打印輸出,系統(tǒng)仍可接受該請(qǐng)求,也同樣為該進(jìn)程做上述兩件事。 24 七月 2022如果打印機(jī)空閑,輸出進(jìn)程將從請(qǐng)求打印隊(duì)列的隊(duì)首取出一張請(qǐng)求打印表,根據(jù)表中的要求將要打印的數(shù)據(jù),從輸出井傳送到內(nèi)存緩沖區(qū),再由打印機(jī)進(jìn)行打印。打印完后,輸出進(jìn)程再查看請(qǐng)求打印隊(duì)列中是否還有等待打印的請(qǐng)求表。若有,又取出隊(duì)列中的第一張表,并根據(jù)其中的要求進(jìn)行打印,如此下去,直至請(qǐng)求打印隊(duì)列為空,輸出進(jìn)程才將自己阻塞起來(lái)。僅當(dāng)下次再有打印請(qǐng)求時(shí),輸出進(jìn)程才被喚醒。 24 七月 20223SPOOLing系統(tǒng)的特點(diǎn)SPOOLing系統(tǒng)具有如下主
36、要特點(diǎn):(1) 提高了I/O的速度。從對(duì)低速I(mǎi)/O設(shè)備進(jìn)行的I/O操作,演變?yōu)閷?duì)輸入井或輸出井中數(shù)據(jù)的存取,如同脫機(jī)輸入輸出一樣,提高了I/O速度,緩和了CPU與低速I(mǎi)/O設(shè)備之間速度不匹配的矛盾。(2) 將獨(dú)占設(shè)備改造為共享設(shè)備。因?yàn)樵赟POOLing系統(tǒng)中,實(shí)際上并沒(méi)為任何進(jìn)程分配設(shè)備,而只是在輸入井或輸出井中為進(jìn)程分配一個(gè)存儲(chǔ)區(qū)和建立一張I/O請(qǐng)求表。這樣,便把獨(dú)占設(shè)備改造為共享設(shè)備。(3) 實(shí)現(xiàn)了虛擬設(shè)備功能。多個(gè)進(jìn)程在同時(shí)使用一臺(tái)獨(dú)占設(shè)備,而對(duì)于每一個(gè)進(jìn)程而言,他們都會(huì)認(rèn)為自己是獨(dú)占了一個(gè)設(shè)備。當(dāng)然,該設(shè)備只是邏輯上的設(shè)備。24 七月 20225.6 磁盤(pán)存儲(chǔ)器的管理 磁盤(pán)設(shè)備可包括
37、一或多個(gè)物理盤(pán)片,每個(gè)磁盤(pán)片分一個(gè)或兩個(gè)存儲(chǔ)面(surface),見(jiàn)圖a,每個(gè)磁盤(pán)面被組織成若干個(gè)同心環(huán),這種環(huán)稱(chēng)為磁道(track),各磁道之間留有必要的間隙。為使處理簡(jiǎn)單起見(jiàn),在每條磁道上可存儲(chǔ)相同數(shù)目的二進(jìn)制位。這樣,磁盤(pán)密度即每英寸中所存儲(chǔ)的位數(shù),顯然是內(nèi)層磁道的密度較外層磁道的密度高。每條磁道又被邏輯上劃分成若干個(gè)扇區(qū)(sectors),軟盤(pán)大約為832個(gè)扇區(qū),硬盤(pán)則可多達(dá)數(shù)百個(gè),圖 b顯示了一個(gè)磁道分成8個(gè)扇區(qū)。一個(gè)扇區(qū)稱(chēng)為一個(gè)盤(pán)塊(或數(shù)據(jù)塊),常常叫做磁盤(pán)扇區(qū)。各扇區(qū)之間保留一定的間隙。 5.6.1 磁盤(pán)性能簡(jiǎn)述24 七月 2022磁盤(pán)的結(jié)構(gòu)和布局 ab24 七月 20225.6
38、.2 磁盤(pán)調(diào)度 1先來(lái)先服務(wù)(FCFS)這是一種最簡(jiǎn)單的磁盤(pán)調(diào)度算法。它根據(jù)進(jìn)程請(qǐng)求訪(fǎng)問(wèn)磁盤(pán)的先后次序進(jìn)行調(diào)度。此算法的優(yōu)點(diǎn)是公平、簡(jiǎn)單,且每個(gè)進(jìn)程的請(qǐng)求都能依次地得到處理,不會(huì)出現(xiàn)某一進(jìn)程的請(qǐng)求長(zhǎng)期得不到滿(mǎn)足的情況。但此算法由于未對(duì)尋道進(jìn)行優(yōu)化,致使平均尋道時(shí)間可能較長(zhǎng)。2最短尋道時(shí)間優(yōu)先(SSTF)該算法選擇這樣的進(jìn)程:其要求訪(fǎng)問(wèn)的磁道與當(dāng)前磁頭所在的磁道距離最近,以使每次的尋道時(shí)間最短。但這種算法不能保證平均尋道時(shí)間最短。24 七月 20223掃描(SCAN)算法SCAN算法所考慮的下一個(gè)訪(fǎng)問(wèn)對(duì)象,應(yīng)是其欲訪(fǎng)問(wèn)的磁道既在當(dāng)前磁道之外,又是距離最近的。這樣自里向外地訪(fǎng)問(wèn),直至再無(wú)更外的磁道
39、需要訪(fǎng)問(wèn)時(shí),才將磁臂換向?yàn)樽酝庀蚶镆苿?dòng)。這時(shí),同樣也是每次選擇這樣的進(jìn)程來(lái)調(diào)度,即要訪(fǎng)問(wèn)的磁道在當(dāng)前位置內(nèi)距離最近者,這樣,磁頭又逐步地從外向里移動(dòng),直至再無(wú)更里面的磁道要訪(fǎng)問(wèn),從而避免了出現(xiàn)“饑餓”現(xiàn)象。由于在這種算法中磁頭移動(dòng)的規(guī)律頗似電梯的運(yùn)行,因而又常稱(chēng)之為電梯調(diào)度算法。4循環(huán)掃描(CSCAN)算法CSCAN算法規(guī)定磁頭單向移動(dòng),例如,只是自里向外移動(dòng),當(dāng)磁頭移到最外的磁道并訪(fǎng)問(wèn)后,磁頭立即返回到最里的欲訪(fǎng)問(wèn)的磁道,亦即將最小磁道號(hào)緊接著最大磁道號(hào)構(gòu)成循環(huán),進(jìn)行循環(huán)掃描。24 七月 20225.6.3 磁盤(pán)高速緩存1磁盤(pán)高速緩存的形式 高速緩存在內(nèi)存中可分成兩種形式。 第一種是在內(nèi)存中開(kāi)辟一個(gè)單獨(dú)的存儲(chǔ)空間來(lái)作為磁盤(pán)高速緩存,其大小是固定的,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度木結(jié)構(gòu)建筑維護(hù)木工承包合同范本3篇
- 二零二五年度婚慶服務(wù)市場(chǎng)前景分析婚慶協(xié)議合同3篇
- 二零二五年度木材采購(gòu)與木材行業(yè)技術(shù)培訓(xùn)合同3篇
- 2025年度個(gè)人二手房交易資金監(jiān)管合同范本4篇
- 二零二五年度智能停車(chē)場(chǎng)車(chē)牌租賃與安全管理合同4篇
- 2025版民間借貸合同要點(diǎn)識(shí)別并規(guī)避四種借款人風(fēng)險(xiǎn)4篇
- 二零二五年度棉布面料環(huán)保認(rèn)證與檢測(cè)服務(wù)合同4篇
- 二零二五年度民爆物品儲(chǔ)存安全責(zé)任合同4篇
- 2025年度汽車(chē)文化體驗(yàn)館租賃合同4篇
- 2025年物業(yè)管理公司委托管理合同范本3篇
- 遼寧省撫順五十中學(xué)2024屆中考化學(xué)全真模擬試卷含解析
- 2024年湖南汽車(chē)工程職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案解析
- 2024年中國(guó)科學(xué)技術(shù)大學(xué)少年創(chuàng)新班數(shù)學(xué)試題真題(答案詳解)
- 家長(zhǎng)心理健康教育知識(shí)講座
- GB/T 292-2023滾動(dòng)軸承角接觸球軸承外形尺寸
- 軍人結(jié)婚函調(diào)報(bào)告表
- 民用無(wú)人駕駛航空器實(shí)名制登記管理規(guī)定
- 北京地鐵6號(hào)線(xiàn)
- 航空油料計(jì)量統(tǒng)計(jì)員(初級(jí))理論考試復(fù)習(xí)題庫(kù)大全-上(單選題匯總)
- 諒解書(shū)(標(biāo)準(zhǔn)樣本)
評(píng)論
0/150
提交評(píng)論