




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1 1第八章 磁盤存儲(chǔ)器的管理第八章第八章 磁盤存儲(chǔ)器的管理磁盤存儲(chǔ)器的管理8.1 外存的組織方式8.2 文件存儲(chǔ)空間的管理8.3 提高磁盤I/O速度的途徑8.4 提高磁盤可靠性的技術(shù)8.5 數(shù)據(jù)一致性控制習(xí)題2 2第八章 磁盤存儲(chǔ)器的管理8.1 外存的組織方式如前所述,文件的物理結(jié)構(gòu)直接與外存的組織方式有關(guān)。對于不同的外存組織方式,將形成不同的文件物理結(jié)構(gòu)。目前常用的外存組織方式有:(1) 連續(xù)組織方式。(2) 鏈接組織方式。(3) 索引組織方式。 3 3第八章 磁盤存儲(chǔ)器的管理8.1.1 連續(xù)組織方式連續(xù)組織方式又稱連續(xù)分配方式,要求為每一個(gè)文件分配一組相鄰接的盤塊。例如,第一個(gè)盤塊的地址
2、為b,則第二個(gè)盤塊的地址為b+1,第三個(gè)盤塊的地址為b+2,。通常,它們都位于一條磁道上,在進(jìn)行讀/寫時(shí),不必移動(dòng)磁頭。在采用連續(xù)組織方式時(shí),可把邏輯文件中的記錄順序地存儲(chǔ)到鄰接的各物理盤塊中,這樣所形成的文件結(jié)構(gòu)稱為順序文件結(jié)構(gòu),此時(shí)的物理文件稱為順序文件。4 4第八章 磁盤存儲(chǔ)器的管理圖8-1 磁盤空間的連續(xù)組織方式5 5第八章 磁盤存儲(chǔ)器的管理連續(xù)組織方式的主要優(yōu)點(diǎn)有:(1) 順序訪問容易。(2) 順序訪問速度快。 6 6第八章 磁盤存儲(chǔ)器的管理連續(xù)組織方式的主要缺點(diǎn)如下:(1) 要求為一個(gè)文件分配連續(xù)的存儲(chǔ)空間。(2) 必須事先知道文件的長度。(3) 不能靈活地刪除和插入記錄。(4)
3、對于那些動(dòng)態(tài)增長的文件。7 7第八章 磁盤存儲(chǔ)器的管理8.1.2 鏈接組織方式如果可以將文件裝到多個(gè)離散的盤塊中,就可消除連續(xù)組織方式的上述缺點(diǎn)。在采用鏈接組織方式時(shí),可為文件分配多個(gè)不連續(xù)的盤塊,再通過每個(gè)盤塊上的鏈接指針,將同屬于一個(gè)文件的多個(gè)離散的盤塊鏈接成一個(gè)鏈表,由此所形成的物理文件稱為鏈接文件。鏈接組織方式的主要優(yōu)點(diǎn)是:(1) 消除了磁盤的外部碎片,提高了外存的利用率。(2) 對插入、刪除和修改記錄都非常容易。(3) 能適應(yīng)文件的動(dòng)態(tài)增長,無需事先知道文件的大小。8 8第八章 磁盤存儲(chǔ)器的管理1. 隱式鏈接在采用隱式鏈接組織方式時(shí),在文件目錄的每個(gè)目錄項(xiàng)中,都須含有指向鏈接文件第一
4、個(gè)盤塊和最后一個(gè)盤塊的指針。 9 9第八章 磁盤存儲(chǔ)器的管理圖8-2 磁盤空間的鏈接式分配10 10第八章 磁盤存儲(chǔ)器的管理2. 顯式鏈接這是指把用于鏈接文件各物理塊的指針顯式地存放在內(nèi)存的一張鏈接表中。該表在整個(gè)磁盤中僅設(shè)置一張,如圖8-3所示。 11 11第八章 磁盤存儲(chǔ)器的管理圖8-3 顯式鏈接結(jié)構(gòu)12 12第八章 磁盤存儲(chǔ)器的管理8.1.3 FAT技術(shù)1. FAT12 1) 早期的FAT12文件系統(tǒng) FAT12是以盤塊為基本分配單位的。由于FAT是文件系統(tǒng)中最重要的數(shù)據(jù)結(jié)構(gòu),為了安全起見,在每個(gè)分區(qū)中都配有兩張相同的文件分配表FAT1和FAT2。在FAT的每個(gè)表項(xiàng)中存放下一個(gè)盤塊號,它
5、實(shí)際上是用于盤塊之間的鏈接的指針,通過它可以將一個(gè)文件的所有的盤塊鏈接起來,而將文件的第一個(gè)盤塊號放在自己的FCB中。 13 13第八章 磁盤存儲(chǔ)器的管理圖8-4 MS-DOS的文件物理結(jié)構(gòu)14 14第八章 磁盤存儲(chǔ)器的管理2) 以簇為單位的FAT12文件系統(tǒng) 稍加分析便可看出,如果把每個(gè)盤塊(扇區(qū))的容量增大n倍,則磁盤的最大容量便可增加n倍。但要增加盤塊的容量是不方便和不靈活的。為此,引入了簇(cluster)的概念。 15 15第八章 磁盤存儲(chǔ)器的管理2. FAT16 FAT12對磁盤容量限制的原因在于, FAT12表中的表項(xiàng)有限制,亦即最多只允許4096個(gè)。這樣,隨著磁盤容量的增加,必
6、定會(huì)引起簇的大小和簇內(nèi)碎片也隨之增加。 16 16第八章 磁盤存儲(chǔ)器的管理3. FAT32由于FAT16表的長度只有65535項(xiàng),隨著磁盤容量的增加,簇的大小也必然會(huì)隨之增加,為了減少簇內(nèi)零,也就應(yīng)當(dāng)增加FAT表的長度,為此需要再增加FAT表的寬度,這樣也就由FAT16演變?yōu)镕AT32。17 17第八章 磁盤存儲(chǔ)器的管理圖8-5 FAT中簇的大小與最大分區(qū)的對應(yīng)關(guān)系18 18第八章 磁盤存儲(chǔ)器的管理8.1.4 NTFS的文件組織方式1. NTFS新特征NTFS(New Technology File System)是一個(gè)專門為Windows NT開發(fā)的、全新的文件系統(tǒng),并適用于Windows
7、2000/XP及后續(xù)的Windows OS。 19 19第八章 磁盤存儲(chǔ)器的管理2. 磁盤組織NTFS是以簇作為磁盤空間分配和回收的基本單位的。一個(gè)文件占用若干個(gè)簇,一個(gè)簇只屬于一個(gè)文件。這樣,在為文件分配磁盤空間時(shí),就無須知道盤塊的大小,只要根據(jù)不同的磁盤容量,選擇相應(yīng)大小的簇,即使NTFS具有了與磁盤物理塊大小無關(guān)的獨(dú)立性。2020第八章 磁盤存儲(chǔ)器的管理3. 文件的組織在NTFS中,以卷為單位,將一個(gè)卷中的所有文件信息、目錄信息以及可用的未分配空間信息,都以文件記錄的方式記錄在一張主控文件表MFT(Master File Table)中,該表是NTFS卷結(jié)構(gòu)的中心,從邏輯上講,卷中的每個(gè)
8、文件作為一條記錄,在MFT表中占有一行,其中還包括MFT自己的這一行。每行大小固定為1KB,每行稱為該行所對應(yīng)文件的元數(shù)據(jù)(metadata),也稱為文件控制字。21 21第八章 磁盤存儲(chǔ)器的管理8.1.5 索引組織方式1. 單級索引組織方式鏈接組織方式雖然解決了連續(xù)組織方式所存在的問題(即不便于隨機(jī)訪問),但又出現(xiàn)了另外兩個(gè)問題,即: 不能支持高效的直接存取,要對一個(gè)較大的文件進(jìn)行存取,須在FAT中順序地查找許多盤塊號; FAT需占用較大的內(nèi)存空間,由于一個(gè)文件所占用盤塊的盤塊號是隨機(jī)地分布在FAT中的,因而只有將整個(gè)FAT調(diào)入內(nèi)存,才能保證在FAT中找到一個(gè)文件的所有盤塊號。 2222第八
9、章 磁盤存儲(chǔ)器的管理圖8-6 索引分配方式2323第八章 磁盤存儲(chǔ)器的管理2. 多級索引組織方式在為一個(gè)大文件分配磁盤空間時(shí),如果所分配出去的盤塊的盤塊號已經(jīng)裝滿一個(gè)索引塊時(shí),OS須再為該文件分配另一個(gè)索引塊,用于將以后繼續(xù)為之分配的盤塊號記錄于其中。依此類推,再通過鏈指針將各索引塊按序鏈接起來。 2424第八章 磁盤存儲(chǔ)器的管理圖8-7 兩級索引分配2525第八章 磁盤存儲(chǔ)器的管理3. 增量式索引組織方式1) 增量式索引組織方式的基本思想為了能較全面地照顧到小、中、大及特大型作業(yè),可以采取多種組織方式來構(gòu)成文件的物理結(jié)構(gòu)。如果盤塊的大小為1KB或4KB,對于小文件(如1KB10KB或4KB4
10、0KB)而言,最多只會(huì)占用10個(gè)盤塊,為了能提高對數(shù)量眾多的小型作業(yè)的訪問速度,最好能將它們的每一個(gè)盤塊地址都直接放入文件控制塊FCB(或索引結(jié)點(diǎn))中,這樣就可以直接從FCB中獲得該文件的盤塊地址。 2626第八章 磁盤存儲(chǔ)器的管理2) UNIX System V的組織方式在UNIX System V的索引結(jié)點(diǎn)中設(shè)有13個(gè)地址項(xiàng),即i.addr(0)i.addr(12),如圖8-8所示。(1) 直接地址。(2) 一次間接地址。(3) 多次間接地址。 2727第八章 磁盤存儲(chǔ)器的管理圖8-8 混合索引方式2828第八章 磁盤存儲(chǔ)器的管理8.2 文件存儲(chǔ)空間的管理8.2.1 空閑表法和空閑鏈表法1
11、. 空閑表法1) 空閑表空閑表法屬于連續(xù)分配方式,它與內(nèi)存的動(dòng)態(tài)分配方式雷同,它為每個(gè)文件分配一塊連續(xù)的存儲(chǔ)空間。即系統(tǒng)也為外存上的所有空閑區(qū)建立一張空閑表,每個(gè)空閑區(qū)對應(yīng)于一個(gè)空閑表項(xiàng),其中包括表項(xiàng)序號、該空閑區(qū)的第一個(gè)盤塊號、該區(qū)的空閑盤塊數(shù)等信息。再將所有空閑區(qū)按其起始盤塊號遞增的次序排列,形成空閑盤塊表,如圖8-9所示。2929第八章 磁盤存儲(chǔ)器的管理圖8-9 空閑盤塊表3030第八章 磁盤存儲(chǔ)器的管理2) 存儲(chǔ)空間的分配與回收空閑盤區(qū)的分配與內(nèi)存的分區(qū)(動(dòng)態(tài))分配類似,同樣是采用首次適應(yīng)算法和最佳適應(yīng)算法等,它們對存儲(chǔ)空間的利用率大體相當(dāng),都優(yōu)于最壞適應(yīng)算法。在系統(tǒng)為某新創(chuàng)建的文件分
12、配空閑盤塊時(shí),先順序地檢索空閑表的各表項(xiàng),直至找到第一個(gè)其大小能滿足要求的空閑區(qū),再將該盤區(qū)分配給用戶(進(jìn)程),同時(shí)修改空閑表。 31 31第八章 磁盤存儲(chǔ)器的管理2. 空閑鏈表法1) 空閑盤塊鏈這是將磁盤上的所有空閑空間以盤塊為單位拉成一條鏈,其中的每一個(gè)盤塊都有指向后繼盤塊的指針。 2) 空閑盤區(qū)鏈這是將磁盤上的所有空閑盤區(qū)(每個(gè)盤區(qū)可包含若干個(gè)盤塊)拉成一條鏈。在每個(gè)盤區(qū)上除含有用于指示下一個(gè)空閑盤區(qū)的指針外,還應(yīng)有能指明本盤區(qū)大小(盤塊數(shù))的信息。 3232第八章 磁盤存儲(chǔ)器的管理8.2.2 位示圖法1. 位示圖位示圖是利用二進(jìn)制的一位來表示磁盤中一個(gè)盤塊的使用情況。當(dāng)其值為“0”時(shí),
13、表示對應(yīng)的盤塊空閑;為“1”時(shí),表示已分配。有的系統(tǒng)把“0”作為盤塊已分配的標(biāo)志,把“1”作為空閑標(biāo)志。(它們在本質(zhì)上是相同的,都是用一位的兩種狀態(tài)來標(biāo)志空閑和已分配兩種情況。)磁盤上的所有盤塊都有一個(gè)二進(jìn)制位與之對應(yīng),這樣,由所有盤塊所對應(yīng)的位構(gòu)成一個(gè)集合,稱為位示圖。 3333第八章 磁盤存儲(chǔ)器的管理圖8-10 位示圖3434第八章 磁盤存儲(chǔ)器的管理2. 盤塊的分配根據(jù)位示圖進(jìn)行盤塊分配時(shí),可分三步進(jìn)行:(1) 順序掃描位示圖,從中找出一個(gè)或一組其值為“0”的二進(jìn)制位(“0”表示空閑時(shí))。(2) 將所找到的一個(gè)或一組二進(jìn)制位轉(zhuǎn)換成與之相應(yīng)的盤塊號。假定找到的其值為“0”的二進(jìn)制位位于位示圖
14、的第i行、第j列,則其相應(yīng)的盤塊號應(yīng)按下式計(jì)算:b=n(i-1)+j式中,n代表每行的位數(shù)。(3) 修改位示圖,令mapi, j=1。3535第八章 磁盤存儲(chǔ)器的管理3. 盤塊的回收盤塊的回收分兩步:(1) 將回收盤塊的盤塊號轉(zhuǎn)換成位示圖中的行號和列號。轉(zhuǎn)換公式為:i=(b-1)DIV n+1j=(b-1)MOD n+1(2) 修改位示圖。令mapi, j =0。3636第八章 磁盤存儲(chǔ)器的管理8.2.3 成組鏈接法1. 空閑盤塊的組織(1) 空閑盤塊號棧,用來存放當(dāng)前可用的一組空閑盤塊的盤塊號(最多含100個(gè)號),以及棧中尚有的空閑盤塊(號)數(shù)N。順便指出,N還兼作棧頂指針用。 3737第八
15、章 磁盤存儲(chǔ)器的管理圖8-11 空閑盤塊的成組鏈接法3838第八章 磁盤存儲(chǔ)器的管理(2) 文件區(qū)中的所有空閑盤塊被分成若干個(gè)組,比如,將每100個(gè)盤塊作為一組。假定盤上共有10000個(gè)盤塊,每塊大小為1 KB,其中第2017999號盤塊用于存放文件,即作為文件區(qū),這樣,該區(qū)的最末一組盤塊號應(yīng)為79017999;次末組為78017900,倒數(shù)第二組的盤塊號為301400;第一組為201300,如圖8-11所示。(3) 將每一組含有的盤塊總數(shù)N和該組所有的盤塊號記入其前一組的第一個(gè)盤塊的S.free(0)S.free(99)中。這樣,由各組的第一個(gè)盤塊可鏈成一條鏈。3939第八章 磁盤存儲(chǔ)器的管
16、理(4) 將第一組的盤塊總數(shù)和所有的盤塊號記入空閑盤塊號棧中,作為當(dāng)前可供分配的空閑盤塊號。(5) 最末一組只有99個(gè)盤塊,其盤塊號分別記入其前一組的S.free(1)S.free(99)中,而在S.free(0)中則存放“0”,作為空閑盤塊鏈的結(jié)束標(biāo)志。(注:最后一組的盤塊數(shù)應(yīng)為99,不應(yīng)是100,因?yàn)檫@是指可供使用的空閑盤塊。其編號應(yīng)為(199),0號中放空閑盤塊鏈的結(jié)尾標(biāo)志。)4040第八章 磁盤存儲(chǔ)器的管理2. 空閑盤塊的分配與回收當(dāng)系統(tǒng)要為用戶分配文件所需的盤塊時(shí),須調(diào)用盤塊分配過程來完成。該過程首先檢查空閑盤塊號棧是否上鎖,如未上鎖,便從棧頂取出一空閑盤塊號,將與之對應(yīng)的盤塊分配給
17、用戶,然后將棧頂指針下移一格。若該盤塊號已是棧底,即S.free(0),這是當(dāng)前棧中最后一個(gè)可分配的盤塊號。 41 41第八章 磁盤存儲(chǔ)器的管理8.3 提高磁盤I/O速度的途徑(1) 改進(jìn)文件的目錄結(jié)構(gòu)以及檢索目錄的方法來減少對目錄的查找時(shí)間;(2) 選取好的文件存儲(chǔ)結(jié)構(gòu),以提高對文件的訪問速度;(3) 提高磁盤的I/O速度,能將文件中的數(shù)據(jù)快速地從磁盤傳送到內(nèi)存中,或者相反。其中的第1和第2點(diǎn)已在上一章或本章作了較詳細(xì)的闡述,本節(jié)主要對如何提高磁盤的I/O速度作一簡單介紹。4242第八章 磁盤存儲(chǔ)器的管理8.3.1 磁盤高速緩存(Disk Cache) 在設(shè)計(jì)磁盤高速緩存時(shí)需要考慮的問題有:
18、(1) 如何將磁盤高速緩存中的數(shù)據(jù)傳送給請求進(jìn)程;(2) 采用什么樣的置換策略;(3) 已修改的盤塊數(shù)據(jù)在何時(shí)被寫回磁盤。4343第八章 磁盤存儲(chǔ)器的管理1. 數(shù)據(jù)交付(Data Delivery)方式如果I/O請求所需要的數(shù)據(jù)能從磁盤高速緩存中獲取,此時(shí)就需要將磁盤高速緩存中的數(shù)據(jù)傳送給請求進(jìn)程。所謂的數(shù)據(jù)交付就是指將磁盤高速緩存中的數(shù)據(jù)傳送給請求者進(jìn)程。系統(tǒng)可以采取兩種方式將數(shù)據(jù)交付給請求進(jìn)程:(1) 數(shù)據(jù)交付(2) 指針交付 4444第八章 磁盤存儲(chǔ)器的管理2. 置換算法現(xiàn)在不少系統(tǒng)在設(shè)計(jì)其高速緩存的置換算法時(shí),除了考慮到最近最久未使用這一原則外,還考慮了以下幾點(diǎn):(1) 訪問頻率。(2
19、) 可預(yù)見性。(3) 數(shù)據(jù)的一致性。 4545第八章 磁盤存儲(chǔ)器的管理3. 周期性地寫回磁盤還有一種情況值得注意,那就是根據(jù)LRU算法,那些經(jīng)常要被訪問的盤塊數(shù)據(jù)可能會(huì)一直保留在高速緩存中,長期不會(huì)被寫回磁盤。 4646第八章 磁盤存儲(chǔ)器的管理8.3.2 提高磁盤I/O速度的其它方法能有效地提高磁盤I/O速度的方法還有許多,如提前讀、延遲寫等,現(xiàn)介紹如下:1. 提前讀2. 延遲寫3. 優(yōu)化物理塊的分布4747第八章 磁盤存儲(chǔ)器的管理4. 虛擬盤由于訪問內(nèi)存的速度遠(yuǎn)高于訪問磁盤的速度,于是有人試圖利用內(nèi)存空間去仿真磁盤,形成所謂虛擬盤,又稱為RAM盤。該盤的設(shè)備驅(qū)動(dòng)程序也可以接受所有標(biāo)準(zhǔn)的磁盤操
20、作,但這些操作的執(zhí)行不是在磁盤上而是在內(nèi)存中。這對用戶都是透明的。 4848第八章 磁盤存儲(chǔ)器的管理8.3.3 廉價(jià)磁盤冗余陣列(RAID)1. 并行交叉存取這是把在大、中型機(jī)中,用于提高訪問內(nèi)存速度的并行交叉存取技術(shù)應(yīng)用到磁盤存儲(chǔ)系統(tǒng)中,以提高對磁盤的I/O速度。在該系統(tǒng)中,有多臺磁盤驅(qū)動(dòng)器,系統(tǒng)將每一盤塊中的數(shù)據(jù)分為若干個(gè)子盤塊數(shù)據(jù),再把每一個(gè)子盤塊的數(shù)據(jù)分別存儲(chǔ)到各個(gè)不同磁盤中的相同位置上。以后當(dāng)要將一個(gè)盤塊的數(shù)據(jù)傳送到內(nèi)存時(shí),采取并行傳輸方式,將各個(gè)盤塊中的子盤塊數(shù)據(jù)同時(shí)向內(nèi)存中傳輸,從而使傳輸時(shí)間大大減少。 4949第八章 磁盤存儲(chǔ)器的管理圖8-12 磁盤并行交叉存取方式5050第八
21、章 磁盤存儲(chǔ)器的管理2. RAID的分級RAID在剛被推出時(shí),是分成6級的,后來又增加了RAID 6級和RAID 7級。(1) RAID 0級。(2) RAID 1級。(3) RAID 3級。(4) RAID 5級。(5) RAID 6級和RAID 7級。 51 51第八章 磁盤存儲(chǔ)器的管理3. RAID的優(yōu)點(diǎn)(1) 可靠性高,除了RAID 0級外,其余各級都采用了容錯(cuò)技術(shù)。當(dāng)陣列中某一磁盤損壞時(shí),并不會(huì)造成數(shù)據(jù)的丟失。此時(shí)可根據(jù)其它未損壞磁盤中的信息來恢復(fù)已損壞的盤中的信息。其可靠性比單臺磁盤機(jī)高出一個(gè)數(shù)量級。(2) 磁盤I/O速度高,由于采取了并行交叉存取方式,可使磁盤I/O速度提高N-1
22、倍。(3) 性能/價(jià)格比高,RAID的體積與具有相同容量和速度的大型磁盤系統(tǒng)相比,只是后者的1/3,價(jià)格也只是后者的1/3,且可靠性高。換言之,它僅以犧牲1/N的容量為代價(jià),換取了高可靠性。5252第八章 磁盤存儲(chǔ)器的管理8.4 提高磁盤可靠性的技術(shù)8.4.1 第一級容錯(cuò)技術(shù)SFT-第一級容錯(cuò)技術(shù)(SFT-)是最基本的一種磁盤容錯(cuò)技術(shù),主要用于防止因磁盤表面缺陷所造成的數(shù)據(jù)丟失。它包含雙份目錄、雙份文件分配表及寫后讀校驗(yàn)等措施。5353第八章 磁盤存儲(chǔ)器的管理1. 雙份目錄和雙份文件分配表在磁盤上存放的文件目錄和文件分配表FAT,是文件管理所用的重要數(shù)據(jù)結(jié)構(gòu)。為了防止這些表格被破壞,可在不同的
23、磁盤上或在磁盤的不同區(qū)域中分別建立(雙份)目錄表和FAT。其中一份為主目錄及主FAT,另一份為備份目錄及備份FAT。一旦由于磁盤表面缺陷而造成主文件目錄或主FAT的損壞時(shí),系統(tǒng)便自動(dòng)啟用備份文件目錄及備份FAT,從而可以保證磁盤上的數(shù)據(jù)仍是可訪問的。5454第八章 磁盤存儲(chǔ)器的管理2. 熱修復(fù)重定向和寫后讀校驗(yàn)由于磁盤價(jià)格昂貴,在磁盤表面有少量缺陷的情況下,則可采取某種補(bǔ)救措施后繼續(xù)使用。一般主要采取以下兩個(gè)補(bǔ)救措施:(1) 熱修復(fù)重定向。(2) 寫后讀校驗(yàn)方式。 5555第八章 磁盤存儲(chǔ)器的管理8.4.2 第二級容錯(cuò)技術(shù)SFT-1. 磁盤鏡像(Disk Mirroring)為了避免磁盤驅(qū)動(dòng)器
24、發(fā)生故障而丟失數(shù)據(jù),便增設(shè)了磁盤鏡像功能。為實(shí)現(xiàn)該功能,須在同一磁盤控制器下,再增設(shè)一個(gè)完全相同的磁盤驅(qū)動(dòng)器,如圖8-13所示。 5656第八章 磁盤存儲(chǔ)器的管理2. 磁盤雙工(Disk Duplexing)如果控制這兩臺磁盤驅(qū)動(dòng)器的磁盤控制器發(fā)生故障,或主機(jī)到磁盤控制器之間的通道發(fā)生故障,磁盤鏡像功能便起不到數(shù)據(jù)保護(hù)的作用。因此,在第二級容錯(cuò)技術(shù)中,又增加了磁盤雙工功能,即將兩臺磁盤驅(qū)動(dòng)器分別接到兩個(gè)磁盤控制器上,同樣使這兩臺磁盤機(jī)鏡像成對,如圖8-14所示。5757第八章 磁盤存儲(chǔ)器的管理圖8-13 磁盤鏡像示意圖 5858第八章 磁盤存儲(chǔ)器的管理圖8-14 磁盤雙工示意圖 5959第八章
25、 磁盤存儲(chǔ)器的管理8.4.3 基于集群技術(shù)的容錯(cuò)功能1. 雙機(jī)熱備份模式如圖8-15所示,在這種模式的系統(tǒng)中,備有兩臺服務(wù)器,兩者的處理能力通常是完全相同的,一臺作為主服務(wù)器,另一臺作為備份服務(wù)器。 6060第八章 磁盤存儲(chǔ)器的管理圖8-15 雙機(jī)熱備份模式61 61第八章 磁盤存儲(chǔ)器的管理2. 雙機(jī)互為備份模式在雙機(jī)互為備份模式中,平時(shí),兩臺服務(wù)器均為在線服務(wù)器,它們各自完成自己的任務(wù),例如,一臺作為數(shù)據(jù)庫服務(wù)器,另一臺作為電子郵件服務(wù)器。為了實(shí)現(xiàn)兩者互為備份的功能,在兩臺服務(wù)器之間,應(yīng)通過某種專線將其連接起來。如果希望兩臺服務(wù)器之間能相距較遠(yuǎn),最好利用FDDI單模光纖來連接兩臺服務(wù)器。在此
26、情況下,最好再通過路由器將兩臺服務(wù)器互連起來,作為備份通信線路。圖8-16示出了雙機(jī)互為備份系統(tǒng)的情況。6262第八章 磁盤存儲(chǔ)器的管理圖8-16 雙機(jī)互為備份系統(tǒng)的示意圖6363第八章 磁盤存儲(chǔ)器的管理3. 公用磁盤模式為了減少信息復(fù)制的開銷,可以將多臺計(jì)算機(jī)連接到一臺公共的磁盤系統(tǒng)上去。該公共磁盤被劃分為若干個(gè)卷。每臺計(jì)算機(jī)使用一個(gè)卷。如果某臺計(jì)算機(jī)發(fā)生故障,此時(shí)系統(tǒng)將重新進(jìn)行配置,根據(jù)某種調(diào)度策略來選擇另一臺替代機(jī)器,后者對發(fā)生故障的機(jī)器的卷擁有所有權(quán),從而可接替故障計(jì)算機(jī)所承擔(dān)的任務(wù)。這種模式的優(yōu)點(diǎn)是消除了信息的復(fù)制時(shí)間,因而減少了網(wǎng)絡(luò)和服務(wù)器的開銷。6464第八章 磁盤存儲(chǔ)器的管理8
27、.4.4 后備系統(tǒng)1. 磁帶機(jī)它是最早作為計(jì)算機(jī)系統(tǒng)的外存儲(chǔ)器。但由于它只適合存儲(chǔ)順序文件,故現(xiàn)在主要把它作為后備設(shè)備。磁盤機(jī)的主要優(yōu)點(diǎn)是容量大,一般可達(dá)數(shù)GB至數(shù)十GB,且價(jià)格便宜,故在許多大、中型系統(tǒng)中都配置了磁帶機(jī)。其缺點(diǎn)是只能順序存取且速度也較慢,為數(shù)百KB到數(shù)MB,為了將一個(gè)大容量磁盤上的數(shù)據(jù)拷貝到磁帶上,需要花費(fèi)很多時(shí)間。6565第八章 磁盤存儲(chǔ)器的管理2. 硬盤(1) 移動(dòng)磁盤。(2) 固定硬盤驅(qū)動(dòng)器。 6666第八章 磁盤存儲(chǔ)器的管理圖8-17 利用大容量硬盤兼做后備系統(tǒng)6767第八章 磁盤存儲(chǔ)器的管理3. 光盤驅(qū)動(dòng)器光盤驅(qū)動(dòng)器是現(xiàn)在最流行的多媒體設(shè)備,可將它們分為如下兩類:(
28、1) 只讀光盤驅(qū)動(dòng)器CD-ROM和DVD-ROM。(2) 可讀寫光盤驅(qū)動(dòng)器。6868第八章 磁盤存儲(chǔ)器的管理8.5 數(shù)據(jù)一致性控制在實(shí)際應(yīng)用中,經(jīng)常會(huì)在多個(gè)文件中都含有同一個(gè)數(shù)據(jù)。所謂數(shù)據(jù)一致性問題是指,保存在多個(gè)文件中的同一數(shù)據(jù),在任何情況下都必需能保證相同。 6969第八章 磁盤存儲(chǔ)器的管理8.5.1 事務(wù)1. 事務(wù)的定義事務(wù)是用于訪問和修改各種數(shù)據(jù)項(xiàng)的一個(gè)程序單位。事務(wù)也可以被看做是一系列相關(guān)讀和寫操作。 7070第八章 磁盤存儲(chǔ)器的管理2. 事務(wù)記錄(Transaction Record)為了實(shí)現(xiàn)上述的原子修改,通常須借助于稱為事務(wù)記錄的數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)。這些數(shù)據(jù)結(jié)構(gòu)被放在一個(gè)非常可靠的
29、存儲(chǔ)器(又稱穩(wěn)定存儲(chǔ)器)中,用來記錄在事務(wù)運(yùn)行時(shí)數(shù)據(jù)項(xiàng)修改的全部信息,故又稱為運(yùn)行記錄(Log)。 71 71第八章 磁盤存儲(chǔ)器的管理3. 恢復(fù)算法由于一組被事務(wù)Ti修改的數(shù)據(jù)以及它們被修改前和修改后的值都能在事務(wù)記錄表中找到,因此,利用事務(wù)記錄表系統(tǒng)能處理任何故障而不致使故障造成非易失性存儲(chǔ)器中信息的丟失。恢復(fù)算法可利用以下兩個(gè)過程:(1) undoTi。該過程把所有被事務(wù)Ti修改過的數(shù)據(jù)恢復(fù)為修改前的值。(2) redoTi。該過程能把所有被事務(wù)Ti修改過的數(shù)據(jù)設(shè)置為新值。7272第八章 磁盤存儲(chǔ)器的管理8.5.2 檢查點(diǎn)1. 檢查點(diǎn)(Check Points)的作用如前所述,當(dāng)系統(tǒng)發(fā)生故
30、障時(shí),必須去檢查整個(gè)Log表,以確定哪些事務(wù)需要利用redoTi過程去設(shè)置新值,而哪些事務(wù)又需要利用undoTi過程去恢復(fù)數(shù)據(jù)的舊值。由于在系統(tǒng)中可能存在著許多并發(fā)執(zhí)行的事務(wù),因而在事務(wù)記錄表中就會(huì)有許多事務(wù)執(zhí)行操作的記錄。隨著時(shí)間的推移,記錄的數(shù)據(jù)也會(huì)愈來愈多。因此,一旦系統(tǒng)發(fā)生故障,在事務(wù)記錄表中的記錄清理起來就非常費(fèi)時(shí)。7373第八章 磁盤存儲(chǔ)器的管理2. 新的恢復(fù)算法在引入檢查點(diǎn)后,可以大大減少恢復(fù)處理的開銷。因?yàn)樵诎l(fā)生故障后,并不需要對事務(wù)記錄表中的所有事務(wù)記錄進(jìn)行處理,而只需對最后一個(gè)檢查點(diǎn)之后的事務(wù)記錄進(jìn)行處理。因此,恢復(fù)例程首先查找事務(wù)記錄表,確定在最近檢查點(diǎn)以前開始執(zhí)行的最后
31、的事務(wù)Ti。在找到這樣的事務(wù)后,再返回去搜索事務(wù)記錄表,便可找到第一個(gè)檢查點(diǎn)記錄,恢復(fù)例程便從該檢查點(diǎn)開始返回搜索各個(gè)事務(wù)的記錄,并利用redo和undo過程對它們進(jìn)行處理。7474第八章 磁盤存儲(chǔ)器的管理8.5.3 并發(fā)控制(Concurrent Control)1. 利用互斥鎖實(shí)現(xiàn)“順序性”實(shí)現(xiàn)順序性的一種最簡單的方法,是設(shè)置一種用于實(shí)現(xiàn)互斥的鎖,簡稱為互斥鎖(Exclusive Lock)。在利用互斥鎖實(shí)現(xiàn)順序性時(shí),應(yīng)為每一個(gè)共享對象設(shè)置一把互斥鎖。當(dāng)某一事務(wù)Ti要去訪問某對象時(shí),應(yīng)先獲得該對象的互斥鎖。若成功,便用該鎖將該對象鎖住,于是事務(wù)T便可對該對象執(zhí)行讀或?qū)懖僮?;而其它事?wù)由于未
32、能獲得該鎖,因而不能訪問該對象。如果Ti需要對一批對象進(jìn)行訪問,則為了保證事務(wù)操作的原子性,Ti應(yīng)先獲得這一批對象的互斥鎖,以將這些對象全部鎖住。 7575第八章 磁盤存儲(chǔ)器的管理2. 利用互斥鎖和共享鎖實(shí)現(xiàn)順序性利用互斥鎖實(shí)現(xiàn)順序性的方法簡單易行。目前有不少系統(tǒng)都是采用這種方法來保證事務(wù)操作的順序性,但這卻存在著效率不高的問題。因?yàn)橐粋€(gè)共享文件雖然只允許一個(gè)事務(wù)去寫,但卻允許多個(gè)事務(wù)同時(shí)去讀;而在利用互斥鎖來鎖住文件后,則只允許一個(gè)事務(wù)去讀。為了提高運(yùn)行效率而又引入了另一種形式的鎖共享鎖(Shared Lock)。共享鎖與互斥鎖的區(qū)別在于:互斥鎖僅允許一個(gè)事務(wù)對相應(yīng)對象執(zhí)行讀或?qū)懖僮?,而共?/p>
33、鎖則允許多個(gè)事務(wù)對相應(yīng)對象執(zhí)行讀操作,但不允許其中任何一個(gè)事務(wù)對對象執(zhí)行寫操作。7676第八章 磁盤存儲(chǔ)器的管理8.5.4 重復(fù)數(shù)據(jù)的數(shù)據(jù)一致性問題1. 重復(fù)文件的一致性我們以UNIX類型的文件系統(tǒng)為例來說明如何保證重復(fù)文件的一致性問題。對于通常的UNIX文件目錄,其每個(gè)目錄項(xiàng)中含有一個(gè)ASCII碼的文件名和一個(gè)索引結(jié)點(diǎn)號,后者指向一個(gè)索引結(jié)點(diǎn)。當(dāng)有重復(fù)文件時(shí),一個(gè)目錄項(xiàng)可由一個(gè)文件名和若干個(gè)索引結(jié)點(diǎn)號組成,每個(gè)索引結(jié)點(diǎn)號都是指向各自的索引結(jié)點(diǎn)。圖8-18示出了UNIX類型的目錄和具有重復(fù)文件的目錄。7777第八章 磁盤存儲(chǔ)器的管理圖8-18 UNIX類型的目錄7878第八章 磁盤存儲(chǔ)器的管理
34、2. 鏈接數(shù)一致性檢查在UNIX類型的文件目錄中,其每個(gè)目錄項(xiàng)內(nèi)都含有一個(gè)索引結(jié)點(diǎn)號,用于指向該文件的索引結(jié)點(diǎn)。對于一個(gè)共享文件,其索引結(jié)點(diǎn)號會(huì)在目錄中出現(xiàn)多次。 7979第八章 磁盤存儲(chǔ)器的管理習(xí) 題 1. 目前常用的外存有哪幾種組織方式? 2. 由連續(xù)組織方式所形成的順序文件的主要優(yōu)缺點(diǎn)是什么? 它主要應(yīng)用于何種場合? 3. 在鏈接式文件中常用哪種鏈接方式? 為什么? 4. 在文件分配表中為什么要引入“簇”的概念? 以“簇”為基本的分配單位有什么好處? 5. 簡要說明為什么要從FAT12發(fā)展為FAT16? 又進(jìn)一步要發(fā)展為FAT32? 8080第八章 磁盤存儲(chǔ)器的管理6. 試解釋邏輯簇號和虛擬簇號這兩個(gè)名詞,NTFS是如何將它們映射到文件的物理地址上的? 7. 在MS-DOS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學(xué)生體像認(rèn)知與醫(yī)學(xué)美容態(tài)度的關(guān)系調(diào)查
- 山東省濟(jì)南市2024-2025學(xué)年高三上學(xué)期期末學(xué)習(xí)質(zhì)量檢測英語試題【含答案】
- 室內(nèi)廚房設(shè)計(jì)施工方案
- 挖碴裝車施工方案
- 地坪施工訂做方案范本
- 5年級學(xué)霸數(shù)學(xué)筆記
- 2025年規(guī)劃數(shù)學(xué)試題及答案
- 等邊三角形電荷電場線
- c.d級危房安全風(fēng)險(xiǎn)隱患問題及短板
- 接口處防水施工方案
- 2025年蛇年年度營銷日歷營銷建議【2025營銷日歷】
- 2024年黑龍江哈爾濱“丁香人才周”(秋季)事業(yè)單位引才招聘2074人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- ISO22301新版標(biāo)準(zhǔn)翻譯(中英對照)
- 學(xué)術(shù)論文的撰寫方法與規(guī)范
- 建設(shè)工程施工合同農(nóng)民工工資補(bǔ)充協(xié)議
- 智研咨詢發(fā)布:汽車雨刮器總成產(chǎn)業(yè)百科(附行業(yè)現(xiàn)狀、相關(guān)政策及發(fā)展驅(qū)動(dòng)因素分析)
- DL∕T 2577-2022 軸流轉(zhuǎn)漿式水輪發(fā)電機(jī)組檢修規(guī)程
- 2023年四川省綿陽市中考數(shù)學(xué)試卷
- 《統(tǒng)編教材背景下小學(xué)語文整本書閱讀策略的研究》中期報(bào)告
- (正式版)JBT 2930-2024 低壓電器產(chǎn)品型號編制方法
- 【課件】2024屆新高考英語語法填空專項(xiàng).解題技巧課件
評論
0/150
提交評論