硬盤(pán)知識(shí),硬盤(pán)邏輯結(jié)構(gòu)_第1頁(yè)
硬盤(pán)知識(shí),硬盤(pán)邏輯結(jié)構(gòu)_第2頁(yè)
硬盤(pán)知識(shí),硬盤(pán)邏輯結(jié)構(gòu)_第3頁(yè)
硬盤(pán)知識(shí),硬盤(pán)邏輯結(jié)構(gòu)_第4頁(yè)
硬盤(pán)知識(shí),硬盤(pán)邏輯結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(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、-作者xxxx-日期xxxx硬盤(pán)知識(shí),硬盤(pán)邏輯結(jié)構(gòu)【精品文檔】硬盤(pán)知識(shí),硬盤(pán)邏輯結(jié)構(gòu)你新買(mǎi)來(lái)的硬盤(pán)是不能直接使用的,必須對(duì)它進(jìn)行分區(qū)并進(jìn)行格式化的才能儲(chǔ)存數(shù)據(jù)。硬盤(pán)分區(qū)是操作系統(tǒng)安裝過(guò)程中經(jīng)常談到的話題。對(duì)于一些簡(jiǎn)單的應(yīng)用,硬盤(pán)分區(qū)并不成為一種障礙,但對(duì)于一些復(fù)雜的應(yīng)用,就不能不深入理解硬盤(pán)分區(qū)機(jī)制的某些細(xì)節(jié)。硬盤(pán)的崩潰經(jīng)常會(huì)遇見(jiàn),特別是病毒肆虐的時(shí)代,關(guān)于引導(dǎo)分區(qū)的恢復(fù)與備份的技巧,你一定要掌握。在使用電腦時(shí),你往往會(huì)使用幾個(gè)操作系統(tǒng)。如何在硬盤(pán)中安裝多個(gè)操作系統(tǒng)?如果你需要了解這方面的知識(shí)或是要解決上述問(wèn)題,這期的“硬盤(pán)分區(qū)”專題會(huì)告訴你答案!硬盤(pán)是現(xiàn)在計(jì)算機(jī)上最常用的存儲(chǔ)器之一。我們都知

2、道,計(jì)算機(jī)之所以神奇,是因?yàn)樗哂懈咚俜治鎏幚頂?shù)據(jù)的能力。而這些數(shù)據(jù)都以文件的形式存儲(chǔ)在硬盤(pán)里。不過(guò),計(jì)算機(jī)可不像人那么聰明。在讀取相應(yīng)的文件時(shí),你必須要給出相應(yīng)的規(guī)則。這就是分區(qū)概念。分區(qū)從實(shí)質(zhì)上說(shuō)就是對(duì)硬盤(pán)的一種格式化。當(dāng)我們創(chuàng)建分區(qū)時(shí),就已經(jīng)設(shè)置好了硬盤(pán)的各項(xiàng)物理參數(shù),指定了硬盤(pán)主引導(dǎo)記錄(即Master Boot Record,一般簡(jiǎn)稱為MBR)和引導(dǎo)記錄備份的存放位置。而對(duì)于文件系統(tǒng)以及其他操作系統(tǒng)管理硬盤(pán)所需要的信息則是通過(guò)以后的高級(jí)格式化,即Format命令來(lái)實(shí)現(xiàn)。面、磁道和扇區(qū)硬盤(pán)分區(qū)后,將會(huì)被劃分為面(Side)、磁道(Track)和扇區(qū)(Sector)。需要注意的是,這些只

3、是個(gè)虛擬的概念,并不是真正在硬盤(pán)上劃軌道。先從面說(shuō)起,硬盤(pán)一般是由一片或幾片圓形薄膜疊加而成。我們所說(shuō),每個(gè)圓形薄膜都有兩個(gè)“面”,這兩個(gè)面都是用來(lái)存儲(chǔ)數(shù)據(jù)的。按照面的多少,依次稱為0面、1面、2面由于每個(gè)面都專有一個(gè)讀寫(xiě)磁頭,也常用0頭(head)、1頭稱之。按照硬盤(pán)容量和規(guī)格的不同,硬盤(pán)面數(shù)(或頭數(shù))也不一定相同,少的只有2面,多的可達(dá)數(shù)十面。各面上磁道號(hào)相同的磁道合起來(lái),稱為一個(gè)柱面(Cylinder)。上面我們提到了磁道的概念。那么究竟何為磁道呢?由于磁盤(pán)是旋轉(zhuǎn)的,則連續(xù)寫(xiě)入的數(shù)據(jù)是排列在一個(gè)圓周上的。我們稱這樣的圓周為一個(gè)磁道。如果讀寫(xiě)磁頭沿著圓形薄膜的半徑方向移動(dòng)一段距離,以后寫(xiě)入

4、的數(shù)據(jù)又排列在另外一個(gè)磁道上。根據(jù)硬盤(pán)規(guī)格的不同,磁道數(shù)可以從幾百到數(shù)千不等;一個(gè)磁道上可以容納數(shù)KB的數(shù)據(jù),而主機(jī)讀寫(xiě)時(shí)往往并不需要一次讀寫(xiě)那么多,于是,磁道又被劃分成若干段,每段稱為一個(gè)扇區(qū)。一個(gè)扇區(qū)一般存放512字節(jié)的數(shù)據(jù)。扇區(qū)也需要編號(hào),同一磁道中的扇區(qū),分別稱為1扇區(qū),2扇區(qū)計(jì)算機(jī)對(duì)硬盤(pán)的讀寫(xiě),處于效率的考慮,是以扇區(qū)為基本單位的。即使計(jì)算機(jī)只需要硬盤(pán)上存儲(chǔ)的某個(gè)字節(jié),也必須一次把這個(gè)字節(jié)所在的扇區(qū)中的512字節(jié)全部讀入內(nèi)存,再使用所需的那個(gè)字節(jié)。不過(guò),在上文中我們也提到,硬盤(pán)上面、磁道、扇區(qū)的劃分表面上是看不到任何痕跡的,雖然磁頭可以根據(jù)某個(gè)磁道的應(yīng)有半徑來(lái)對(duì)準(zhǔn)這個(gè)磁道,但怎樣才能

5、在首尾相連的一圈扇區(qū)中找出所需要的某一扇區(qū)呢?原來(lái),每個(gè)扇區(qū)并不僅僅由512個(gè)字節(jié)組成的,在這些由計(jì)算機(jī)存取的數(shù)據(jù)的前、后兩端,都另有一些特定的數(shù)據(jù),這些數(shù)據(jù)構(gòu)成了扇區(qū)的界限標(biāo)志,標(biāo)志中含有扇區(qū)的編號(hào)和其他信息。計(jì)算機(jī)就憑借著這些標(biāo)志來(lái)識(shí)別扇區(qū)。硬盤(pán)的數(shù)據(jù)結(jié)構(gòu)在上文中,我們談了數(shù)據(jù)在硬盤(pán)中的存儲(chǔ)的一般原理。為了能更深入地了解硬盤(pán),我們還必須對(duì)硬盤(pán)的數(shù)據(jù)結(jié)構(gòu)有個(gè)簡(jiǎn)單的了解。硬盤(pán)上的數(shù)據(jù)按照其不同的特點(diǎn)和作用大致可分為5部分:MBR區(qū)、DBR區(qū)、FAT區(qū)、DIR區(qū)和DATA區(qū)。我們來(lái)分別介紹一下:1MBR區(qū)MBR(Main Boot Record 主引導(dǎo)記錄區(qū))位于整個(gè)硬盤(pán)的0磁道0柱面1扇區(qū)。不

6、過(guò),在總共512字節(jié)的主引導(dǎo)扇區(qū)中,MBR只占用了其中的446個(gè)字節(jié),另外的64個(gè)字節(jié)交給了DPT(Disk Partition Table硬盤(pán)分區(qū)表),最后兩個(gè)字節(jié)“55,AA”是分區(qū)的結(jié)束標(biāo)志。這個(gè)整體構(gòu)成了硬盤(pán)的主引導(dǎo)扇區(qū)。主引導(dǎo)記錄中包含了硬盤(pán)的一系列參數(shù)和一段引導(dǎo)程序。其中的硬盤(pán)引導(dǎo)程序的主要作用是檢查分區(qū)表是否正確并且在系統(tǒng)硬件完成自檢以后引導(dǎo)具有激活標(biāo)志的分區(qū)上的操作系統(tǒng),并將控制權(quán)交給啟動(dòng)程序。MBR是由分區(qū)程序(如Fdiskexe)所產(chǎn)生的,它不依賴任何操作系統(tǒng),而且硬盤(pán)引導(dǎo)程序也是可以改變的,從而實(shí)現(xiàn)多系統(tǒng)共存。下面,我們以一個(gè)實(shí)例讓大家更直觀地來(lái)了解主引導(dǎo)記錄:例:80

7、01 01 00 0B FE BF FC 3F 00 00 00 7E 86 BB 00在這里我們可以看到,最前面的“80”是一個(gè)分區(qū)的激活標(biāo)志,表示系統(tǒng)可引導(dǎo);“01 01 00”表示分區(qū)開(kāi)始的磁頭號(hào)為01,開(kāi)始的扇區(qū)號(hào)為01,開(kāi)始的柱面號(hào)為00;“0B”表示分區(qū)的系統(tǒng)類型是FAT32,其他比較常用的有04(FAT16)、07(NTFS);“FE BF FC”表示分區(qū)結(jié)束的磁頭號(hào)為254,分區(qū)結(jié)束的扇區(qū)號(hào)為63、分區(qū)結(jié)束的柱面號(hào)為764;“3F 00 00 00”表示首扇區(qū)的相對(duì)扇區(qū)號(hào)為63;“7E 86 BB 00”表示總扇區(qū)數(shù)為12289622。2DBR區(qū)DBR(Dos Boot Rec

8、ord)是操作系統(tǒng)引導(dǎo)記錄區(qū)的意思。它通常位于硬盤(pán)的0磁道1柱面1扇區(qū),是操作系統(tǒng)可以直接訪問(wèn)的第一個(gè)扇區(qū),它包括一個(gè)引導(dǎo)程序和一個(gè)被稱為BPB(Bios Parameter Block)的本分區(qū)參數(shù)記錄表。引導(dǎo)程序的主要任務(wù)是當(dāng)MBR將系統(tǒng)控制權(quán)交給它時(shí),判斷本分區(qū)跟目錄前兩個(gè)文件是不是操作系統(tǒng)的引導(dǎo)文件(以DOS為例,即是Iosys和Msdossys)。如果確定存在,就把它讀入內(nèi)存,并把控制權(quán) 交給該文件。BPB參數(shù)塊記錄著本分區(qū)的起始扇區(qū)、結(jié)束扇區(qū)、文件存儲(chǔ)格式、硬盤(pán)介質(zhì)描述符、根目錄大小、FAT個(gè)數(shù),分配單元的大小等重要參數(shù)。DBR是由高級(jí)格式化程序(即Formatcom等程序)所產(chǎn)生

9、的。3FAT區(qū)在DBR之后的是我們比較熟悉的FAT(File Allocation Table文件分配表)區(qū)。在解釋文件分配表的概念之前,我們先來(lái)談?wù)劥兀–luster)的概念。文件占用磁盤(pán)空間時(shí),基本單位不是字節(jié)而是簇。一般情況下,軟盤(pán)每簇是1個(gè)扇區(qū),硬盤(pán)每簇的扇區(qū)數(shù)與硬盤(pán)的總?cè)萘看笮∮嘘P(guān),可能是4、8、16、32、64同一個(gè)文件的數(shù)據(jù)并不一定完整地存放在磁盤(pán)的一個(gè)連續(xù)的區(qū)域內(nèi),而往往會(huì)分成若干段,像一條鏈子一樣存放。這種存儲(chǔ)方式稱為文件的鏈?zhǔn)酱鎯?chǔ)。由于硬盤(pán)上保存著段與段之間的連接信息(即FAT),操作系統(tǒng)在讀取文件時(shí),總是能夠準(zhǔn)確地找到各段的位置并正確讀出。為了實(shí)現(xiàn)文件的鏈?zhǔn)酱鎯?chǔ),硬盤(pán)上必

10、須準(zhǔn)確地記錄哪些簇已經(jīng)被文件占用,還必須為每個(gè)已經(jīng)占用的簇指明存儲(chǔ)后繼內(nèi)容的下一個(gè)簇的簇號(hào)。對(duì)一個(gè)文件的最后一簇,則要指明本簇?zé)o后繼簇。這些都是由FAT表來(lái)保存的,表中有很多表項(xiàng),每項(xiàng)記錄一個(gè)簇的信息。由于FAT對(duì)于文件管理的重要性,所以FAT有一個(gè)備份,即在原FAT的后面再建一個(gè)同樣的FAT。初形成的FAT中所有項(xiàng)都標(biāo)明為“未占用”,但如果磁盤(pán)有局部損壞,那么格式化程序會(huì)檢測(cè)出損壞的簇,在相應(yīng)的項(xiàng)中標(biāo)為“壞簇”,以后存文件時(shí)就不會(huì)再使用這個(gè)簇了。FAT的項(xiàng)數(shù)與硬盤(pán)上的總簇?cái)?shù)相當(dāng),每一項(xiàng)占用的字節(jié)數(shù)也要與總簇?cái)?shù)相適應(yīng),因?yàn)槠渲行枰娣糯靥?hào)。FAT的格式有多種,最為常見(jiàn)的是FAT16和FAT32

11、。4DIR區(qū)DIR(Directory)是根目錄區(qū),緊接著第二FAT表(即備份的FAT表)之后,記錄著根目錄下每個(gè)文件(目錄)的起始單元,文件的屬性等。定位文件位置時(shí),操作系統(tǒng)根據(jù)DIR中的起始單元,結(jié)合FAT表就可以知道文件在硬盤(pán)中的具體位置和大小了。5數(shù)據(jù)(DATA)區(qū)數(shù)據(jù)區(qū)是真正意義上的數(shù)據(jù)存儲(chǔ)的地方,位于DIR區(qū)之后,占據(jù)硬盤(pán)上的大部分?jǐn)?shù)據(jù)空間。FAT文件系統(tǒng)原理一、硬盤(pán)的物理結(jié)構(gòu):硬盤(pán)存儲(chǔ)數(shù)據(jù)是根據(jù)電、磁轉(zhuǎn)換原理實(shí)現(xiàn)的。硬盤(pán)由一個(gè)或幾個(gè)表面鍍有磁性物質(zhì)的金屬或玻璃等物質(zhì)盤(pán)片以及盤(pán)片兩面所安裝的磁頭和相應(yīng)的控制電路組成(圖1),其中盤(pán)片和磁頭密封在無(wú)塵的金屬殼中。硬盤(pán)工作時(shí),盤(pán)片以設(shè)計(jì)

12、轉(zhuǎn)速高速旋轉(zhuǎn),設(shè)置在盤(pán)片表面的磁頭則在電路控制下徑向移動(dòng)到指定位置然后將數(shù)據(jù)存儲(chǔ)或讀取出來(lái)。當(dāng)系統(tǒng)向硬盤(pán)寫(xiě)入數(shù)據(jù)時(shí),磁頭中“寫(xiě)數(shù)據(jù)”電流產(chǎn)生磁場(chǎng)使盤(pán)片表面磁性物質(zhì)狀態(tài)發(fā)生改變,并在寫(xiě)電流磁場(chǎng)消失后仍能保持,這樣數(shù)據(jù)就存儲(chǔ)下來(lái)了;當(dāng)系統(tǒng)從硬盤(pán)中讀數(shù)據(jù)時(shí),磁頭經(jīng)過(guò)盤(pán)片指定區(qū)域,盤(pán)片表面磁場(chǎng)使磁頭產(chǎn)生感應(yīng)電流或線圈阻抗產(chǎn)生變化,經(jīng)相關(guān)電路處理后還原成數(shù)據(jù)。因此只要能將盤(pán)片表面處理得更平滑、磁頭設(shè)計(jì)得更精密以及盡量提高盤(pán)片旋轉(zhuǎn)速度,就能造出容量更大、讀寫(xiě)數(shù)據(jù)速度更快的硬盤(pán)。這是因?yàn)楸P(pán)片表面處理越平、轉(zhuǎn)速越快就能越使磁頭離盤(pán)片表面越近,提高讀、寫(xiě)靈敏度和速度;磁頭設(shè)計(jì)越小越精密就能使磁頭在盤(pán)片上占用空間

13、越小,使磁頭在一張盤(pán)片上建立更多的磁道以存儲(chǔ)更多的數(shù)據(jù)。二、硬盤(pán)的邏輯結(jié)構(gòu)。硬盤(pán)由很多盤(pán)片(platter)組成,每個(gè)盤(pán)片的每個(gè)面都有一個(gè)讀寫(xiě)磁頭。如果有N個(gè)盤(pán)片。就有2N個(gè)面,對(duì)應(yīng)2N個(gè)磁頭(Heads),從0、1、2開(kāi)始編號(hào)。每個(gè)盤(pán)片被劃分成若干個(gè)同心圓磁道(邏輯上的,是不可見(jiàn)的。)每個(gè)盤(pán)片的劃分規(guī)則通常是一樣的。這樣每個(gè)盤(pán)片的半徑均為固定值R的同心圓再邏輯上形成了一個(gè)以電機(jī)主軸為軸的柱面(Cylinders),從外至里編號(hào)為0、1、2每個(gè)盤(pán)片上的每個(gè)磁道又被劃分為幾十個(gè)扇區(qū)(Sector),通常的容量是512byte,并按照一定規(guī)則編號(hào)為1、2、3形成Cylinders×Hea

14、ds×Sector個(gè)扇區(qū)。這三個(gè)參數(shù)即是硬盤(pán)的物理參數(shù)。我們下面的很多實(shí)踐需要深刻理解這三個(gè)參數(shù)的意義。三、磁盤(pán)引導(dǎo)原理。3.1 MBR(master boot record)扇區(qū):計(jì)算機(jī)在按下power鍵以后,開(kāi)始執(zhí)行主板bios程序。進(jìn)行完一系列檢測(cè)和配置以后。開(kāi)始按bios中設(shè)定的系統(tǒng)引導(dǎo)順序引導(dǎo)系統(tǒng)。假定現(xiàn)在是硬盤(pán)。Bios執(zhí)行完自己的程序后如何把執(zhí)行權(quán)交給硬盤(pán)呢。交給硬盤(pán)后又執(zhí)行存儲(chǔ)在哪里的程序呢。其實(shí),稱為mbr的一段代碼起著舉足輕重的作用。MBR(master boot record),即主引導(dǎo)記錄,有時(shí)也稱主引導(dǎo)扇區(qū)。位于整個(gè)硬盤(pán)的0柱面0磁頭1扇區(qū)(可以看作是硬盤(pán)的

15、第一個(gè)扇區(qū)),bios在執(zhí)行自己固有的程序以后就會(huì)jump到mbr中的第一條指令。將系統(tǒng)的控制權(quán)交由mbr來(lái)執(zhí)行。在總共512byte的主引導(dǎo)記錄中,MBR的引導(dǎo)程序占了其中的前446個(gè)字節(jié)(偏移0H偏移1BDH),隨后的64個(gè)字節(jié)(偏移1BEH偏移1FDH)為DPT(Disk PartitionTable,硬盤(pán)分區(qū)表),最后的兩個(gè)字節(jié)“55 AA”(偏移1FEH偏移1FFH)是分區(qū)有效結(jié)束標(biāo)志。MBR不隨操作系統(tǒng)的不同而不同,意即不同的操作系統(tǒng)可能會(huì)存在相同的MBR,即使不同,MBR也不會(huì)夾帶操作系統(tǒng)的性質(zhì)。具有公共引導(dǎo)的特性。我們來(lái)分析一段mbr。下面是用winhex查看的一塊希捷120G

16、B硬盤(pán)的mbr。你的硬盤(pán)的MBR引導(dǎo)代碼可能并非這樣。不過(guò)即使不同,所執(zhí)行的功能大體是一樣的。這是wowocock關(guān)于磁盤(pán)mbr的反編譯,已加了詳細(xì)的注釋,感興趣可以細(xì)細(xì)研究一下。我們看DPT部分。操作系統(tǒng)為了便于用戶對(duì)磁盤(pán)的管理。加入了磁盤(pán)分區(qū)的概念。即將一塊磁盤(pán)邏輯劃分為幾塊。磁盤(pán)分區(qū)數(shù)目的多少只受限于CZ的英文字母的數(shù)目,在上圖DPT共64個(gè)字節(jié)中如何表示多個(gè)分區(qū)的屬性呢? Microsoft通過(guò)鏈接的方法解決了這個(gè)問(wèn)題。在DPT共64個(gè)字節(jié)中,以16個(gè)字節(jié)為分區(qū)表項(xiàng)單位描述一個(gè)分區(qū)的屬性。也就是說(shuō),第一個(gè)分區(qū)表項(xiàng)描述一個(gè)分區(qū)的屬性,一般為基本分區(qū)。第二個(gè)分區(qū)表項(xiàng)描述除基本分區(qū)外的其余空

17、間,一般而言,就是我們所說(shuō)的擴(kuò)展分區(qū)。這部分的大體說(shuō)明見(jiàn)表1。img注:上表中的超過(guò)1字節(jié)的數(shù)據(jù)都以實(shí)際數(shù)據(jù)顯示,就是按高位到地位的方式顯示。存儲(chǔ)時(shí)是按低位到高位存儲(chǔ)的。兩者表現(xiàn)不同,請(qǐng)仔細(xì)看清楚。以后出現(xiàn)的表,圖均同。也可以在winhex中看到這些參數(shù)的意義:說(shuō)明: 每個(gè)分區(qū)表項(xiàng)占用16個(gè)字節(jié),假定偏移地址從0開(kāi)始。如圖3的分區(qū)表項(xiàng)3。分區(qū)表項(xiàng)4同分區(qū)表項(xiàng)3。1、0H偏移為活動(dòng)分區(qū)是否標(biāo)志,只能選00H和80H。80H為活動(dòng),00H為非活動(dòng)。其余值對(duì)microsoft而言為非法值。 2、重新說(shuō)明一下(這個(gè)非常重要):大于1個(gè)字節(jié)的數(shù)被以低字節(jié)在前的存儲(chǔ)格式格式(little endian f

18、ormat)或稱反字節(jié)順序保存下來(lái)。低字節(jié)在前的格式是一種保存數(shù)的方法,這樣,最低位的字節(jié)最先出現(xiàn)在十六進(jìn)制數(shù)符號(hào)中。例如,相對(duì)扇區(qū)數(shù)字段的值0x3F000000的低字節(jié)在前表示為0x0000003F。這個(gè)低字節(jié)在前的格式數(shù)的十進(jìn)制數(shù)為63。 3、系統(tǒng)在分區(qū)時(shí),各分區(qū)都不允許跨柱面,即均以柱面為單位,這就是通常所說(shuō)的分區(qū)粒度。有時(shí)候我們分區(qū)是輸入分區(qū)的大小為7000M,分出來(lái)卻是6997M,就是這個(gè)原因。 偏移2H和偏移6H的扇區(qū)和柱面參數(shù)中,扇區(qū)占6位(bit),柱面占10位(bit),以偏移6H為例,其低6位用作扇區(qū)數(shù)的二進(jìn)制表示。其高兩位做柱面數(shù)10位中的高兩位,偏移7H組成的8位做柱面

19、數(shù)10位中的低8位。由此可知,實(shí)際上用這種方式表示的分區(qū)容量是有限的,柱面和磁頭從0開(kāi)始編號(hào),扇區(qū)從1開(kāi)始編號(hào),所以最多只能表示1024個(gè)柱面×63個(gè)扇區(qū)×256個(gè)磁頭×512byte=8455716864byte。即通常的8.4GB(實(shí)際上應(yīng)該是7.8GB左右)限制。實(shí)際上磁頭數(shù)通常只用到255個(gè)(由匯編語(yǔ)言的尋址寄存器決定),即使把這3個(gè)字節(jié)按線性尋址,依然力不從心。 在后來(lái)的操作系統(tǒng)中,超過(guò)8.4GB的分區(qū)其實(shí)已經(jīng)不通過(guò)C/H/S的方式尋址了。而是通過(guò)偏移CH偏移FH共4個(gè)字節(jié)32位線性扇區(qū)地址來(lái)表示分區(qū)所占用的扇區(qū)總數(shù)??芍ㄟ^(guò)4個(gè)字節(jié)可以表示232個(gè)扇區(qū)

20、,即2TB=2048GB,目前對(duì)于大多數(shù)計(jì)算機(jī)而言,這已經(jīng)是個(gè)天文數(shù)字了。在未超過(guò)8.4GB的分區(qū)上,C/H/S的表示方法和線性扇區(qū)的表示方法所表示的分區(qū)大小是一致的。也就是說(shuō),兩種表示方法是協(xié)調(diào)的。即使不協(xié)調(diào),也以線性尋址為準(zhǔn)。(可能在某些系統(tǒng)中會(huì)提示出錯(cuò))。超過(guò)8.4GB的分區(qū)結(jié)束C/H/S一般填充為FEH FFH FFH。即C/H/S所能表示的最大值。有時(shí)候也會(huì)用柱面對(duì)1024的模來(lái)填充。不過(guò)這幾個(gè)字節(jié)是什么其實(shí)都無(wú)關(guān)緊要了。 雖然現(xiàn)在的系統(tǒng)均采用線性尋址的方式來(lái)處理分區(qū)的大小。但不可跨柱面的原則依然沒(méi)變。本分區(qū)的扇區(qū)總數(shù)加上與前一分區(qū)之間的保留扇區(qū)數(shù)目依然必須是柱面容量的整數(shù)倍。(保留

21、扇區(qū)中的第一個(gè)扇區(qū)就是存放分區(qū)表的MBR或虛擬MBR的扇區(qū),分區(qū)的扇區(qū)總數(shù)在線性表示方式上是不計(jì)入保留扇區(qū)的。如果是第一個(gè)分區(qū),保留扇區(qū)是本分區(qū)前的所有扇區(qū)。附:分區(qū)表類型標(biāo)志如圖43.2 擴(kuò)展分區(qū):擴(kuò)展分區(qū)中的每個(gè)邏輯驅(qū)動(dòng)器都存在一個(gè)類似于MBR的擴(kuò)展引導(dǎo)記錄( Extended Boot Record, EBR),也有人稱之為虛擬mbr或擴(kuò)展mbr,意思是一樣的。擴(kuò)展引導(dǎo)記錄包括一個(gè)擴(kuò)展分區(qū)表和該扇區(qū)的標(biāo)簽。擴(kuò)展引導(dǎo)記錄將記錄只包含擴(kuò)展分區(qū)中每個(gè)邏輯驅(qū)動(dòng)器的第一個(gè)柱面的第一面的信息。一個(gè)邏輯驅(qū)動(dòng)器中的引導(dǎo)扇區(qū)一般位于相對(duì)扇區(qū)32或63。但是,如果磁盤(pán)上沒(méi)有擴(kuò)展分區(qū),那么就不會(huì)有擴(kuò)展引導(dǎo)記錄

22、和邏輯驅(qū)動(dòng)器。第一個(gè)邏輯驅(qū)動(dòng)器的擴(kuò)展分區(qū)表中的第一項(xiàng)指向它自身的引導(dǎo)扇區(qū)。第二項(xiàng)指向下一個(gè)邏輯驅(qū)動(dòng)器的EBR。如果不存在進(jìn)一步的邏輯驅(qū)動(dòng)器,第二項(xiàng)就不會(huì)使用,而且被記錄成一系列零。如果有附加的邏輯驅(qū)動(dòng)器,那么第二個(gè)邏輯驅(qū)動(dòng)器的擴(kuò)展分區(qū)表的第一項(xiàng)會(huì)指向它本身的引導(dǎo)扇區(qū)。第二個(gè)邏輯驅(qū)動(dòng)器的擴(kuò)展分區(qū)表的第二項(xiàng)指向下一個(gè)邏輯驅(qū)動(dòng)器的EBR。擴(kuò)展分區(qū)表的第三項(xiàng)和第四項(xiàng)永遠(yuǎn)都不會(huì)被使用。通過(guò)一幅4分區(qū)的磁盤(pán)結(jié)構(gòu)圖可以看到磁盤(pán)的大致組織形式。如圖5:關(guān)于擴(kuò)展分區(qū),如圖6所示,擴(kuò)展分區(qū)中邏輯驅(qū)動(dòng)器的擴(kuò)展引導(dǎo)記錄是一個(gè)連接表。該圖顯示了一個(gè)擴(kuò)展分區(qū)上的三個(gè)邏輯驅(qū)動(dòng)器,說(shuō)明了前面的邏輯驅(qū)動(dòng)器和最后一個(gè)邏輯驅(qū)動(dòng)器之

23、間在擴(kuò)展分區(qū)表中的差異。除了擴(kuò)展分區(qū)上最后一個(gè)邏輯驅(qū)動(dòng)器外,表2中所描述的擴(kuò)展分區(qū)表的格式在每個(gè)邏輯驅(qū)動(dòng)器中都是重復(fù)的:第一個(gè)項(xiàng)標(biāo)識(shí)了邏輯驅(qū)動(dòng)器本身的引導(dǎo)扇區(qū),第二個(gè)項(xiàng)標(biāo)識(shí)了下一個(gè)邏輯驅(qū)動(dòng)器的EBR。最后一個(gè)邏輯驅(qū)動(dòng)器的擴(kuò)展分區(qū)表只會(huì)列出它本身的分區(qū)項(xiàng)。最后一個(gè)擴(kuò)展分區(qū)表的第二個(gè)項(xiàng)到第四個(gè)項(xiàng)被使用。img擴(kuò)展分區(qū)表項(xiàng)中的相對(duì)扇區(qū)數(shù)字段所顯示的是從擴(kuò)展分區(qū)開(kāi)始到邏輯驅(qū)動(dòng)器中第一個(gè)扇區(qū)的位移的字節(jié)數(shù)??偵葏^(qū)數(shù)字段中的數(shù)是指組成該邏輯驅(qū)動(dòng)器的扇區(qū)數(shù)目??偵葏^(qū)數(shù)字段的值等于從擴(kuò)展分區(qū)表項(xiàng)所定義的引導(dǎo)扇區(qū)到邏輯驅(qū)動(dòng)器末尾的扇區(qū)數(shù)。有時(shí)候在磁盤(pán)的末尾會(huì)有剩余空間,剩余空間是什么呢?我們前面說(shuō)到,分區(qū)是以1

24、柱面的容量為分區(qū)粒度的,那么如果磁盤(pán)總空間不是整數(shù)個(gè)柱面的話,不夠一個(gè)柱面的剩下的空間就是剩余空間了,這部分空間并不參與分區(qū),所以一般無(wú)法利用。照道理說(shuō),磁盤(pán)的物理模式?jīng)Q定了磁盤(pán)的總?cè)萘烤蛻?yīng)該是整數(shù)個(gè)柱面的容量,為什么會(huì)有不夠一個(gè)柱面的空間呢。在我的理解看來(lái),本來(lái)現(xiàn)在的磁盤(pán)為了更大的利用空間,一般在物理上并不是按照外圍的扇區(qū)大于里圈的扇區(qū)這種管理方式,只是為了與操作系統(tǒng)兼容而抽象出來(lái)CHS??赡芷鋵?shí)際空間容量不一定正好為整數(shù)個(gè)柱面的容量。磁盤(pán)陣列(Disk Array)原理1、為什么需要磁盤(pán)陣列?如何增加磁盤(pán)的存?。╝ccess)速度,如何防止數(shù)據(jù)因磁盤(pán)的故障而失落及如何有效的利用磁盤(pán)空間,一

25、直是電腦專業(yè)人員和用戶的困擾;而大容量磁盤(pán)的價(jià)格非常昂貴,對(duì)用戶形成很大的負(fù)擔(dān)。磁盤(pán)陣列技術(shù)的產(chǎn)生一舉解決了這些問(wèn)題。 過(guò)去十幾年來(lái),CPU的處理速度增加了五十倍有多,內(nèi)存(memory)的存取速度亦大幅增加,而數(shù)據(jù)儲(chǔ)存裝置-主要是磁盤(pán)(hard disk)-的存取速度只增加了三、四倍,形成電腦系統(tǒng)的瓶頸,拉低了電腦系統(tǒng)的整體性能(through put),若不能有效的提升磁盤(pán)的存取速度,CPU、內(nèi)存及磁盤(pán)間的不平衡將使CPU及內(nèi)存的改進(jìn)形成浪費(fèi)。 目前改進(jìn)磁盤(pán)存取速度的的方式主要有兩種。一是磁盤(pán)快取控制(disk cache controller),它將從磁盤(pán)讀取的數(shù)據(jù)存在快取內(nèi)存(cach

26、e memory)中以減少磁盤(pán)存取的次數(shù),數(shù)據(jù)的讀寫(xiě)都在快取內(nèi)存中進(jìn)行,大幅增加存取的速度,如要讀取的數(shù)據(jù)不在快取內(nèi)存中,或要寫(xiě)數(shù)據(jù)到磁盤(pán)時(shí),才做磁盤(pán)的存取動(dòng)作。這種方式在單工環(huán)境(single-tasking envioronment)如DOS之下,對(duì)大量數(shù)據(jù)的存取有很好的性能(量小且頻繁的存取則不然),但在多工(multi-tasking)環(huán)境之下(因?yàn)橐煌5淖鲾?shù)據(jù)交換(swapping)的動(dòng)作)或數(shù)據(jù)庫(kù)(database)的存?。ㄒ?yàn)槊恳挥涗浂己苄。┚筒荒茱@示其性能。這種方式?jīng)]有任何安全保障。 其二是使用磁盤(pán)陣列的技術(shù)。磁盤(pán)陣列是把多個(gè)磁盤(pán)組成一個(gè)陣列,當(dāng)作單一磁盤(pán)使用,它將數(shù)據(jù)以分段

27、(striping)的方式儲(chǔ)存在不同的磁盤(pán)中,存取數(shù)據(jù)時(shí),陣列中的相關(guān)磁盤(pán)一起動(dòng)作,大幅減低數(shù)據(jù)的存取時(shí)間,同時(shí)有更佳的空間利用率。磁盤(pán)陣列所利用的不同的技術(shù),稱為RAID level,不同的level針對(duì)不同的系統(tǒng)及應(yīng)用,以解決數(shù)據(jù)安全的問(wèn)題。 一般高性能的磁盤(pán)陣列都是以硬件的形式來(lái)達(dá)成,進(jìn)一步的把磁盤(pán)快取控制及磁盤(pán)陣列結(jié)合在一個(gè)控制器(RAID controler或控制卡上,針對(duì)不同的用戶解決人們對(duì)磁盤(pán)輸出入系統(tǒng)的四大要求: (1)增加存取速度; (2)容錯(cuò)(fault tolerance),即安全性; (3)有效的利用磁盤(pán)空間; (4)盡量的平衡CPU,內(nèi)存及磁盤(pán)的性能差異,提高電腦的整

28、體工作性能。 2.磁盤(pán)陣列原理 磁盤(pán)陣列中針對(duì)不同的應(yīng)用使用的不同技術(shù),稱為RAID level,RAID是Redundent Array of Inexpensive Disks的縮寫(xiě),而每一level代表一種技術(shù),目前業(yè)界公認(rèn)的標(biāo)準(zhǔn)是RAID 0RAID 5。這個(gè)level并不代表技術(shù)的高低,level 5并不高于level 3,level 1也不低過(guò)level 4,至于要選擇那一種RAID level的產(chǎn)品,純視用戶的操作環(huán)境(operating environment)及應(yīng)用(application)而定,與level的高低沒(méi)有必然的關(guān)系。RAID 0及RAID 1適用于PC及PC相關(guān)

29、的系統(tǒng)如小型的網(wǎng)絡(luò)服務(wù)器(network server)及需要高磁盤(pán)容量與快速磁盤(pán)存取的工作站等,比較便宜;RAID 3及RAID 4適用于大型電腦及影像、CAD/CAM等處理;RAID 5多用于OLTP(在線事務(wù)處理),因有金融機(jī)構(gòu)及大型數(shù)據(jù)處理中心的迫切需要,故使用較多而較有名氣,RAID 2較少使用,其他如RAID 6、RAID 7乃至RAID 10等,都是廠商各做各的,并無(wú)一致的標(biāo)準(zhǔn),在此不作說(shuō)明。介紹各個(gè)RAID level之前,先看看形成磁盤(pán)陣列的兩個(gè)基本技術(shù):磁盤(pán)延伸(Disk Spanning): 譯為磁盤(pán)延伸,能確切的表示disk spanning這種技術(shù)的含義。如圖磁盤(pán)陣列

30、控制器,聯(lián)接了四個(gè)磁盤(pán),這四個(gè)磁盤(pán)形成一個(gè)陣列(array),而磁盤(pán)陣列的控制器(RAID controller)是將此四個(gè)磁盤(pán)視為單一的磁盤(pán),如DOS環(huán)境下的C:盤(pán)。這是disk spanning的意義,因?yàn)榘研∪萘康拇疟P(pán)延伸為大容量的單一磁盤(pán),用戶不必規(guī)劃數(shù)據(jù)在各磁盤(pán)的分布,而且提高了磁盤(pán)空間的使用率。并使磁盤(pán)容量幾乎可作無(wú)限的延伸;而各個(gè)磁盤(pán)一起作取存的動(dòng)作,比單一磁盤(pán)更為快捷。很明顯的,有此陣列的形成而產(chǎn)生RAID的各種技術(shù)。 磁盤(pán)或數(shù)據(jù)分段(Disk Striping or Data Striping):因?yàn)榇疟P(pán)陣列是將同一陣列的多個(gè)磁盤(pán)視為單一的虛擬磁盤(pán)(virtual disk)

31、,所以其數(shù)據(jù)是以分段(block or segment)的方式順序存放在磁盤(pán)陣列中,數(shù)據(jù)按需要分段,從第一個(gè)磁盤(pán)開(kāi)始放,放到最後一個(gè)磁盤(pán)再回到第一個(gè)磁盤(pán)放起,直到數(shù)據(jù)分布完畢。至于分段的大小視系統(tǒng)而定,有的系統(tǒng)或以1KB最有效率,或以4KB,或以6KB,甚至是4MB或8MB的,但除非數(shù)據(jù)小于一個(gè)扇區(qū)(sector,即521bytes),否則其分段應(yīng)是512byte的倍數(shù)。因?yàn)榇疟P(pán)的讀寫(xiě)是以一個(gè)扇區(qū)為單位,若數(shù)據(jù)小于512bytes,系統(tǒng)讀取該扇區(qū)后,還要做組合或分組(視讀或?qū)懚ǎ┑膭?dòng)作,浪費(fèi)時(shí)間。從上圖我們可以看出,數(shù)據(jù)以分段于在不同的磁盤(pán),整個(gè)陣列的各個(gè)磁盤(pán)可同時(shí)作讀寫(xiě),故數(shù)據(jù)分段使數(shù)據(jù)的

32、存取有最好的效率,理論上本來(lái)讀一個(gè)包含四個(gè)分段的數(shù)據(jù)所需要的時(shí)間約=(磁盤(pán)的access time+數(shù)據(jù)的tranfer time)X4次,現(xiàn)在只要一次就可以完成。 若以N表示磁盤(pán)的數(shù)目,R表示讀取,W表示寫(xiě)入,S表示可使用空間,則數(shù)據(jù)分段的性能為:R:N(可同時(shí)讀取所有磁盤(pán)) W:N(可同時(shí)寫(xiě)入所有磁盤(pán)) S:N(可利用所有的磁盤(pán),并有最佳的使用率) Disk striping也稱為RAID 0,很多人以為RAID 0沒(méi)有甚么,其實(shí)這是非常錯(cuò)誤的觀念,因?yàn)镽AID 0使磁盤(pán)的輸出入有最高的效率。而磁盤(pán)陣列有更好效率的原因除數(shù)據(jù)分段外,它可以同時(shí)執(zhí)行多個(gè)輸出入的要求,因?yàn)殛嚵兄械拿恳粋€(gè)磁盤(pán)都能

33、獨(dú)立動(dòng)作,分段放在不同的磁盤(pán),不同的磁盤(pán)可同時(shí)作讀寫(xiě),而且能在快取內(nèi)存及磁盤(pán)作并行存?。╬arallel access)的動(dòng)作,但只有硬件的磁盤(pán)陣列才有此性能表現(xiàn)。 從上面兩點(diǎn)我們可以看出,disk spanning定義了RAID的基本形式,提供了一個(gè)便宜、靈活、高性能的系統(tǒng)結(jié)構(gòu),而disk striping解決了數(shù)據(jù)的存取效率和磁盤(pán)的利用率問(wèn)題,RAID 1至RAID 5是在此基礎(chǔ)上提供磁盤(pán)安全的方案。 RAID 1 RAID 1是使用磁盤(pán)鏡像(disk mirroring)的技術(shù)。磁盤(pán)鏡像應(yīng)用在RAID 1之前就在很多系統(tǒng)中使用,它的方式是在工作磁盤(pán)(working disk)之外再加一額

34、外的備份磁盤(pán)(backup disk),兩個(gè)磁盤(pán)所儲(chǔ)存的數(shù)據(jù)完全一樣,數(shù)據(jù)寫(xiě)入工作磁盤(pán)的同時(shí)亦寫(xiě)入備份磁盤(pán)。磁盤(pán)鏡像不見(jiàn)得就是RAID 1,如Novell Netware亦有提供磁盤(pán)鏡像的功能,但并不表示Netware有了RAID 1的功能。一般磁盤(pán)鏡像和RAID 1有二點(diǎn)最大的不同:RAID 1無(wú)工作磁盤(pán)和備份磁盤(pán)之分,多個(gè)磁盤(pán)可同時(shí)動(dòng)作而有重疊(overlaping)讀取的功能,甚至不同的鏡像磁盤(pán)可同時(shí)作寫(xiě)入的動(dòng)作,這是一種最佳化的方式,稱為負(fù)載平衡(load-balance)。例如有多個(gè)用戶在同一時(shí)間要讀取數(shù)據(jù),系統(tǒng)能同時(shí)驅(qū)動(dòng)互相鏡像的磁盤(pán),同時(shí)讀取數(shù)據(jù),以減輕系統(tǒng)的負(fù)載,增加I/O的性

35、能。 RAID 1的磁盤(pán)是以磁盤(pán)延伸的方式形成陣列,而數(shù)據(jù)是以數(shù)據(jù)分段的方式作儲(chǔ)存,因而在讀取時(shí),它幾乎和RAID 0有同樣的性能。從RAID的結(jié)構(gòu)就可以很清楚的看出RAID 1和一般磁盤(pán)鏡像的不同。 下圖為RAID 1,每一筆數(shù)據(jù)都儲(chǔ)存兩份:從圖可以看出:R:N(可同時(shí)讀取所有磁盤(pán)) W:N/2(同時(shí)寫(xiě)入磁盤(pán)數(shù))S:N/2(利用率)讀取數(shù)據(jù)時(shí)可用到所有的磁盤(pán),充分發(fā)揮數(shù)據(jù)分段的優(yōu)點(diǎn);寫(xiě)入數(shù)據(jù)時(shí),因?yàn)橛袀浞?,所以要?xiě)入兩個(gè)磁盤(pán),其效率是N/2,磁盤(pán)空間的使用率也只有全部磁盤(pán)的一半。 很多人以為RAID 1要加一個(gè)額外的磁盤(pán),形成浪費(fèi)而不看好RAID 1,事實(shí)上磁盤(pán)越來(lái)越便宜,并不見(jiàn)得造成負(fù)擔(dān),

36、況且RAID 1有最好的容錯(cuò)(fault tolerence)能力,其效率也是除RAID 0之外最好的。 在磁盤(pán)陣列的技術(shù)上,從RAID 1到RAID 5,不停機(jī)的意思表示在工作時(shí)如發(fā)生磁盤(pán)故障, 系統(tǒng)能持續(xù)工作而不停頓,仍然可作磁盤(pán)的存取,正常的讀寫(xiě)數(shù)據(jù);而容錯(cuò)則表示即使磁盤(pán)故障,數(shù)據(jù)仍能保持完整,可讓系統(tǒng)存取到正確的數(shù)據(jù),而SCSI的磁盤(pán)陣列更可在工作中抽換磁盤(pán),并可自動(dòng)重建故障磁盤(pán)的數(shù)據(jù)。磁盤(pán)陣列之所以能做到容錯(cuò)及不停機(jī), 是因?yàn)樗腥哂嗟拇疟P(pán)空間可資利用,這也就是Redundant的意義。 RAID 2 RAID 2是把數(shù)據(jù)分散為位(bit)或塊(block),加入海明碼Hamming

37、 Code,在磁盤(pán)陣列中作間隔寫(xiě)入(interleaving)到每個(gè)磁盤(pán)中,而且地址(address)都一樣,也就是在各個(gè)磁盤(pán)中,其數(shù)據(jù)都在相同的磁道(cylinder or track)及扇區(qū)中。RAID 2的設(shè)計(jì)是使用共軸同步(spindle synchronize)的技術(shù),存取數(shù)據(jù)時(shí),整個(gè)磁盤(pán)陣列一起動(dòng)作,在各作磁盤(pán)的相同位置作平行存取,所以有最好的存取時(shí)間(accesstime),其總線(bus)是特別的設(shè)計(jì),以大帶寬(band wide)并行傳輸所存取的數(shù)據(jù),所以有最好的傳輸時(shí)間(transfer time)。在大型檔案的存取應(yīng)用,RAID 2有最好的性能,但如果檔案太小,會(huì)將其性能

38、拉下來(lái),因?yàn)榇疟P(pán)的存取是以扇區(qū)為單位,而RAID 2的存取是所有磁盤(pán)平行動(dòng)作,而且是作單位元的存取,故小于一個(gè)扇區(qū)的數(shù)據(jù)量會(huì)使其性能大打折扣。RAID 2是設(shè)計(jì)給需要連續(xù)且大量數(shù)據(jù)的電腦使用的,如大型電腦(mainframe to supercomputer)、作影像處理或CAD/CAM的工作站(workstation)等,并不適用于一般的多用戶環(huán)境、網(wǎng)絡(luò)服務(wù)器(network server),小型機(jī)或PC。 RAID 2的安全采用內(nèi)存陣列(memory array)的技術(shù),使用多個(gè)額外的磁盤(pán)作單位錯(cuò)誤校正(single-bit correction)及雙位錯(cuò)誤檢測(cè)(double-bit de

39、tection);至于需要多少個(gè)額外的磁盤(pán),則視其所采用的方法及結(jié)構(gòu)而定,例如八個(gè)數(shù)據(jù)磁盤(pán)的陣列可能需要三個(gè)額外的磁盤(pán),有三十二個(gè)數(shù)據(jù)磁盤(pán)的高檔陣列可能需要七個(gè)額外的磁盤(pán)。 RAID 3 RAID 3的數(shù)據(jù)儲(chǔ)存及存取方式都和RAID 2一樣,但在安全方面以奇偶校驗(yàn)(parity check)取代海明碼做錯(cuò)誤校正及檢測(cè),所以只需要一個(gè)額外的校檢磁盤(pán)(parity disk)。奇偶校驗(yàn)值的計(jì)算是以各個(gè)磁盤(pán)的相對(duì)應(yīng)位作XOR的邏輯運(yùn)算,然后將結(jié)果寫(xiě)入奇偶校驗(yàn)磁盤(pán),任何數(shù)據(jù)的修改都要做奇偶校驗(yàn)計(jì)算,如某一磁盤(pán)故障,換上新的磁盤(pán)后,整個(gè)磁盤(pán)陣列(包括奇偶校驗(yàn)磁盤(pán))需重新計(jì)算一次, 將故障磁盤(pán)的數(shù)據(jù)恢復(fù)并

40、寫(xiě)入新磁盤(pán)中;如奇偶校驗(yàn)磁盤(pán)故障,則重新計(jì)算奇偶校驗(yàn)值,以達(dá)容錯(cuò)的要求。 較之RAID 1及RAID 2,RAID 3有85%的磁盤(pán)空間利用率,其性能比RAID 2稍差,因?yàn)橐銎媾夹r?yàn)計(jì)算;共軸同步的平行存取在讀檔案時(shí)有很好的性能,但在寫(xiě)入時(shí)較慢,需要重新計(jì)算及修改奇偶校驗(yàn)磁盤(pán)的內(nèi)容。RAID 3和RAID 2有同樣的應(yīng)用方式,適用大檔案及大量數(shù)據(jù)輸出入的應(yīng)用,并不適用于PC及網(wǎng)絡(luò)服務(wù)器。 RAID 4 RAID 4也使用一個(gè)校驗(yàn)磁盤(pán),但和RAID 3不一樣RAID 4是以扇區(qū)作數(shù)據(jù)分段,各磁盤(pán)相同位置的分段形成一個(gè)校驗(yàn)磁盤(pán)分段(parity block),放在校驗(yàn)磁盤(pán)。這種方式可在不同的磁

41、盤(pán)平行執(zhí)行不同的讀取命今,大幅提高磁盤(pán)陣列的讀取性能;但寫(xiě)入數(shù)據(jù)時(shí),因受限于校驗(yàn)磁盤(pán),同一時(shí)間只能作一次,啟動(dòng)所有磁盤(pán)讀取數(shù)據(jù)形成同一校驗(yàn)分段的所有數(shù)據(jù)分段,與要寫(xiě)入的數(shù)據(jù)做好校驗(yàn)計(jì)算再寫(xiě)入。即使如此,小型檔案的寫(xiě)入仍然比RAID 3要快,因其校驗(yàn)計(jì)算較簡(jiǎn)單而非作位(bit level)的計(jì)算;但校驗(yàn)磁盤(pán)形成RAID 4的瓶頸,降低了性能,因有RAID 5而使得RAID 4較少使用。 RAID 5 RAID5避免了RAID 4的瓶頸,方法是不用校驗(yàn)磁盤(pán)而將校驗(yàn)數(shù)據(jù)以循環(huán)的方式放在每一個(gè)磁盤(pán)中,磁盤(pán)陣列的第一個(gè)磁盤(pán)分段是校驗(yàn)值,第二個(gè)磁盤(pán)至后一個(gè)磁盤(pán)再折回第一個(gè)磁盤(pán)的分段是數(shù)據(jù),然后第二個(gè)磁盤(pán)的

42、分段是校驗(yàn)值,從第三個(gè)磁盤(pán)再折回第二個(gè)磁盤(pán)的分段是數(shù)據(jù),以此類推,直到放完為止。圖中的第一個(gè)parity block是由A0,A1.,B1,B2計(jì)算出來(lái),第二個(gè)parity block是由B3,B4,.,C4,D0計(jì)算出來(lái),也就是校驗(yàn)值是由各磁盤(pán) 同一位置的分段的數(shù)據(jù)所計(jì)算出來(lái)。這種方式能大幅增加小檔案的存取性能,不但可同時(shí)讀取,甚至有可能同時(shí)執(zhí)行多個(gè)寫(xiě)入的動(dòng)作,如可寫(xiě)入數(shù)據(jù)到磁盤(pán)1而其parity block在磁盤(pán)2,同時(shí)寫(xiě)入數(shù)據(jù)到磁盤(pán)4而其parity block在磁盤(pán)1,這對(duì)聯(lián)機(jī)交易處理(OLTP,On-Line Transaction Processing)如銀行系統(tǒng)、金融、股市等或大

43、型數(shù)據(jù)庫(kù)的 處理提供了最佳的解決方案(solution),因?yàn)檫@些應(yīng)用的每一筆數(shù)據(jù)量小,磁盤(pán)輸出入頻繁而且必須容錯(cuò)。 事實(shí)上RAID 5的性能并無(wú)如此理想,因?yàn)槿魏螖?shù)據(jù)的修改,都要把同一parityblock的所有數(shù)據(jù)讀出來(lái)修改后,做完校驗(yàn)計(jì)算再寫(xiě)回去,也就是RMW cycle(Read-Modify-Write cycle,這個(gè)cycle沒(méi)有包括校驗(yàn)計(jì)算);正因?yàn)闋恳欢鴦?dòng)全身,所以:R:N(可同時(shí)讀取所有磁盤(pán))W:1(可同時(shí)寫(xiě)入磁盤(pán)數(shù))S:N-1(利用率)RAID 5的控制比較復(fù)雜,尤其是利用硬件對(duì)磁盤(pán)陣列的控制,因?yàn)檫@種方式的應(yīng)用比其他的RAID level要掌握更多的事情,有更多的輸出入

44、需求,既要速度快,又要處理數(shù)據(jù),計(jì)算校驗(yàn)值,做錯(cuò)誤校正等,所以價(jià)格較高;其應(yīng)用最好是OLTP,至于用于圖像處理等,不見(jiàn)得有最佳的性能。 2、磁盤(pán)陣列的額外容錯(cuò)功能:Spare or Standby driver 事實(shí)上容錯(cuò)功能已成為磁盤(pán)陣列最受青睞的特性,為了加強(qiáng)容錯(cuò)的功能以及使系統(tǒng)在磁盤(pán)故障的情況下能迅速的重建數(shù)據(jù),以維持系統(tǒng)的性能,一般的磁盤(pán)陣列系統(tǒng)都可使用熱備份(hot spare or hot standby driver)的功能,所謂熱備份是在建立(configure) 磁盤(pán)陣列系統(tǒng)的時(shí)候,將其中一磁盤(pán)指定為后備磁盤(pán),此一磁盤(pán)在平常并不操作,但若陣列中某一磁盤(pán)發(fā)生故障時(shí),磁盤(pán)陣列即以

45、后備磁盤(pán)取代故障磁盤(pán),并自動(dòng)將故障磁盤(pán)的數(shù)據(jù)重建(rebuild)在后備磁盤(pán)之上,因?yàn)榉磻?yīng)快速,加上快取內(nèi)存減少了磁盤(pán)的存取, 所以數(shù)據(jù)重建很快即可完成,對(duì)系統(tǒng)的性能影響很小。對(duì)于要求不停機(jī)的大型數(shù)據(jù)處理中心或控制中心而言,熱備份更是一項(xiàng)重要的功能,因?yàn)榭杀苊馔黹g或無(wú)人值守時(shí)發(fā)生磁盤(pán)故障所引起的種種不便。 另一個(gè)額外的容錯(cuò)功能是壞扇區(qū)轉(zhuǎn)移(bad sector reassignment)。壞扇區(qū)是磁盤(pán)故障的主要原因,通常磁盤(pán)在讀寫(xiě)時(shí)發(fā)生壞扇區(qū)的情況即表示此磁盤(pán)故障,不能再作讀寫(xiě),甚至有很多系統(tǒng)會(huì)因?yàn)椴荒芡瓿勺x寫(xiě)的動(dòng)作而死機(jī),但若因?yàn)槟骋簧葏^(qū)的損壞而使工作不能完成或要更換磁盤(pán),則使得系統(tǒng)性能大打

46、折扣,而系統(tǒng)的維護(hù)成本也未免太高了。壞扇區(qū)轉(zhuǎn)移是當(dāng)磁盤(pán)陣列系統(tǒng)發(fā)現(xiàn)磁盤(pán)有壞扇區(qū)時(shí),以另一空白且無(wú)故障的扇區(qū)取代該扇區(qū), 以延長(zhǎng)磁盤(pán)的使用壽命,減少壞磁盤(pán)的發(fā)生率以及系統(tǒng)的維護(hù)成本。所以壞扇區(qū)轉(zhuǎn)移功能使磁盤(pán)陣列具有更好的容錯(cuò)性,同時(shí)使整個(gè)系統(tǒng)有最好的成本效益比。其他如可外接電池備援磁盤(pán)陣列的快取內(nèi)存,以避免突然斷電時(shí)數(shù)據(jù)尚未寫(xiě)回磁盤(pán)而損失;或在RAID 1時(shí)作寫(xiě)入一致性的檢查等,雖是小技術(shù),但亦不可忽視。 3、硬件磁盤(pán)陣列還是軟件磁盤(pán)陣列 市面上有所謂硬件磁盤(pán)陣列與軟件磁盤(pán)陣列之分,因?yàn)檐浖疟P(pán)陣列是使用一塊SCSI卡與磁盤(pán)連接,一般用戶誤以為是硬件磁盤(pán)陣列。以上所述主要是針對(duì)硬件磁盤(pán)陣列,其與

47、軟件磁盤(pán)陣列有幾個(gè)最大的區(qū)別:一個(gè)完整的磁盤(pán)陣列硬件與系統(tǒng)相接。 內(nèi)置CPU,與主機(jī)并行運(yùn)作,所有的I/O都在磁盤(pán)陣列中完成,減輕主機(jī)的工作負(fù)載,增加系統(tǒng)整體性能。 有卓越的總線主控(bus mastering)及DMA(Direct Memory Access)能力,加速數(shù)據(jù)的存取及傳輸性能。 與快取內(nèi)存結(jié)合在一起,不但增加數(shù)據(jù)的存取及傳輸性能,更因減少對(duì)磁盤(pán)的存取而增加磁盤(pán)的壽命。 能充份利用硬件的特性,反應(yīng)快速。 軟件磁盤(pán)陣列是一個(gè)程序,在主機(jī)執(zhí)行,透過(guò)一塊SCSI卡與磁盤(pán)相接形成陣列,它最大的優(yōu)點(diǎn)是便宜,因?yàn)闆](méi)有硬件成本(包括研發(fā)、生產(chǎn)、維護(hù)等),而SCSI卡很便宜(亦有的軟件磁盤(pán)陣列

48、使用指定的很貴的SCSI卡);它最大的缺點(diǎn)是使主機(jī)多了很多進(jìn)程(process),增加了主機(jī)的負(fù)擔(dān),尤其是輸出入需求量大的系統(tǒng)。目前市面上的磁盤(pán)陣列 系統(tǒng)大部份是硬件磁盤(pán)陣列,軟件磁盤(pán)陣列較少。4、磁盤(pán)陣列卡還是磁盤(pán)陣列控制器 磁盤(pán)陣列控制卡一般用于小系統(tǒng),供單機(jī)使用。與主機(jī)共用電源,在關(guān)閉主機(jī)電源時(shí)存在丟失Cache中的數(shù)據(jù)的的危險(xiǎn)。磁盤(pán)陣列控制卡只有常用總線方式的接口,其驅(qū)動(dòng)程序與主機(jī)、主機(jī)所用的操作系統(tǒng)都有關(guān)系,有軟、硬件兼容性問(wèn)題并潛在地增加了系統(tǒng)的不安定因素。在更換磁盤(pán)陣列卡時(shí)要冒磁盤(pán)損壞,資料失落,隨時(shí)停機(jī)的風(fēng)險(xiǎn)。 獨(dú)立式磁盤(pán)陣列控制一般用于較大型系統(tǒng),可分為兩種: 單通道磁盤(pán)陣列

49、和多通道式磁盤(pán)陣列,單通道磁盤(pán)陣列只能接一臺(tái)主機(jī),有很大的擴(kuò)充限制。多通道磁盤(pán)陣列可接多個(gè)系統(tǒng)同時(shí)使用,以群集(cluster)的方式共用磁盤(pán)陣列,這使內(nèi)接式陣列控制及單接式磁盤(pán)陣列無(wú)用武之地。目前多數(shù)獨(dú)立形式的磁盤(pán)陣列子系統(tǒng),其本身與主機(jī)系統(tǒng)的硬件及操作環(huán)境。首先,IDE的性能不會(huì)比SCSI更高的。特別是在多任務(wù)的情況下。一般廣告給出的是 最大傳送速度,并不是工作速度。同一時(shí)期的IDE與SCSI盤(pán)相比,主要是產(chǎn)量比較大, 電路比較簡(jiǎn)單,所以價(jià)格比SCSI低很多,但要比性能,則差遠(yuǎn)了。 RAID并沒(méi)有限制使用多少個(gè)盤(pán),盤(pán)越多越好。 對(duì)于SCSI結(jié)構(gòu)的RAID來(lái)說(shuō),盤(pán)的最大數(shù)量與SCSI通道(S

50、CSI總線)的數(shù)量有關(guān)一般是每個(gè)通道最多裝15個(gè)盤(pán)(SCSI/3)對(duì)于FC-AL(光纖)則是每個(gè)通道200個(gè)盤(pán)當(dāng)然,要有這樣大的磁盤(pán)箱才行!IDE硬盤(pán)詳解要說(shuō)去年的計(jì)算機(jī)業(yè),發(fā)展最快的是什么?我想,硬盤(pán)一定算一號(hào)! 記得去年年初,DMA66剛剛興起,主流配置還是13.6G。時(shí)隔一年,DMA66技術(shù)已經(jīng)普及,而且正向這DMA100邁進(jìn)。容量也是翻了一翻還要多,普及配置達(dá)到了30G。其更新?lián)Q代的速度甚至超過(guò)了大名鼎鼎的"摩爾定律"(即集成電路中的晶體管數(shù)量每隔18個(gè)月增加一倍)。然而,面對(duì)這突如其來(lái)的"硬盤(pán)風(fēng)"不僅普通用戶,就連一些DIYer也有些招架不住。

51、所以,小弟特寫(xiě)了這篇文章,詳細(xì)的介紹了當(dāng)今的硬盤(pán)技術(shù),讓大家對(duì)硬盤(pán)有一個(gè)系統(tǒng)的理解!要了解硬盤(pán),就一定要清楚硬盤(pán)的工作原理。首先,硬盤(pán)主要是由磁盤(pán)、移動(dòng)臂、主軸、磁頭和主軸電機(jī)組成(見(jiàn)圖)。所有的數(shù)據(jù)都存儲(chǔ)在磁盤(pán)上,磁盤(pán)又固定在主軸上,一般一塊硬盤(pán)由1-5張磁盤(pán)組成。主軸底部有一個(gè)電機(jī),當(dāng)硬盤(pán)運(yùn)做時(shí),電機(jī)帶動(dòng)主軸,主軸帶動(dòng)磁盤(pán)高速旋轉(zhuǎn),其速度可以達(dá)到每分鐘幾千轉(zhuǎn)、甚至上萬(wàn)轉(zhuǎn)。這時(shí)旋轉(zhuǎn)帶來(lái)的上升的空氣將磁盤(pán)上的磁頭托起,磁頭通過(guò)磁盤(pán)的轉(zhuǎn)動(dòng)讀取數(shù)據(jù)。移動(dòng)臂用來(lái)固定磁頭,讓磁頭能在磁盤(pán)上不同磁道之間來(lái)回移動(dòng),讀取數(shù)據(jù)。以上,就是硬盤(pán)的基本工作原理?,F(xiàn)在大家應(yīng)該對(duì)硬盤(pán)有一定了解了,不過(guò)這還不夠。比如,

52、大家在購(gòu)買(mǎi)硬盤(pán)時(shí)經(jīng)常會(huì)碰到UDMA 、2M緩存、單碟容量、7200轉(zhuǎn)等專業(yè)名詞,這些都是什么意思呢?別著急,下面就為大家解釋。首先要說(shuō)的就是UDMA。不過(guò),在這之前我們得先了解一下,什么是DMA?我們都知道,計(jì)算機(jī)要工作,都要由CPU發(fā)出指令,各個(gè)部件才做出響應(yīng),硬盤(pán)也是如此。假如現(xiàn)在CPU發(fā)出指令,要從硬盤(pán)上讀取512K的數(shù)據(jù),設(shè)CPU每條指令每次能從硬盤(pán)讀取1K的數(shù)據(jù),那CPU要對(duì)硬盤(pán)發(fā)出512次指令。而且硬盤(pán)的速度又遠(yuǎn)遠(yuǎn)低于CPU,這就造成CPU將長(zhǎng)時(shí)間等待硬盤(pán)的數(shù)據(jù),這無(wú)疑大大浪費(fèi)了CPU。要怎么解決這個(gè)問(wèn)題呢?DMA技術(shù)就應(yīng)蘊(yùn)而生了。它的工作原理很簡(jiǎn)單,就是在主板的南橋芯片中增加了一

53、個(gè)DMA控制器。DMA控制器起什么作用呢?同樣是上邊的例子,當(dāng)CPU要從硬盤(pán)上讀取的數(shù)據(jù)時(shí),CPU只要發(fā)出一條指令,告訴DMA控制器要讀取那一塊的數(shù)據(jù),由DMA控制器來(lái)從硬盤(pán)上讀取數(shù)據(jù),讀取的數(shù)據(jù)暫時(shí)存放在硬盤(pán)的緩存(Cache)上,當(dāng)數(shù)據(jù)全部讀到緩存上時(shí),DMA控制器會(huì)向CPU發(fā)出一條回憒信息,告訴CPU數(shù)據(jù)以讀完。這時(shí)CPU再發(fā)第二條條讀指令,將緩存上的數(shù)據(jù)讀到內(nèi)存中。這樣CPU只發(fā)出了兩條指令,就完成了這512K數(shù)據(jù)的讀取。舉個(gè)不是很恰當(dāng)?shù)睦樱河幸粋€(gè)公司,公司最高領(lǐng)導(dǎo)是總經(jīng)理,公司中所有的事都由總經(jīng)理來(lái)管,但是像打字、發(fā)信、復(fù)印等這些瑣碎工作,卻不用都要總經(jīng)理來(lái)做。這就需要為總經(jīng)理請(qǐng)個(gè)

54、秘書(shū),那些瑣碎的小事都交給秘書(shū)去做,解放總經(jīng)理,讓總經(jīng)理有更多的時(shí)間做重要的工作。在計(jì)算機(jī)中也是如此,CPU就相當(dāng)于總經(jīng)理,DMA控制器就相當(dāng)于總經(jīng)理的秘書(shū),DMA解放了CPU,減輕了CPU的負(fù)擔(dān),讓CPU做更重要的工作。所以要清楚一點(diǎn),DMA并沒(méi)有提高硬盤(pán)速度,但DMA可以大大減少CPU占有率,從而提高計(jì)算機(jī)的整體性能。這才是DMA的真正作用!隨著技術(shù)的發(fā)展,計(jì)算機(jī)的速度越來(lái)越快。可是,硬盤(pán)的速度卻沒(méi)什么提高,這時(shí)硬盤(pán)就成為瓶頸。為了解決這個(gè)問(wèn)題,UDMA就誕生了。UDMA的全名叫Ultra DMA,它是一種接口技術(shù),就是說(shuō)UDMA只能提高硬盤(pán)的外部傳輸速率,而改變不了硬盤(pán)的內(nèi)部傳輸速率,這

55、點(diǎn)在后邊將會(huì)進(jìn)一步說(shuō)明。最初我們使用的都是UDMA 33,它是利用脈沖的上沿和下沿傳送數(shù)據(jù),突發(fā)性傳輸速率達(dá)到了33MB/s。在原來(lái)的基礎(chǔ)上加入了循環(huán)校驗(yàn)(CRC),提高了傳輸數(shù)據(jù)的完整性。但是最重要的還是UDMA 33完全向下兼容,這對(duì)UDMA的推廣起了關(guān)鍵的作用。不過(guò),隨著硬盤(pán)技術(shù)的不斷提高,漸漸的硬盤(pán)內(nèi)部傳輸速率接近并超過(guò)了33MB/s。這時(shí)昆騰和INTEL公司在1998年又聯(lián)合推出了UDMA 66,讓突發(fā)性傳輸速率達(dá)到了66MB/s。UDMA 66的最大特點(diǎn),就是在原來(lái)40芯電纜的基礎(chǔ)上又增加了40根地線電纜,使電纜數(shù)達(dá)到80根,這樣做一來(lái)增加了一倍傳輸速率,二來(lái)也提高了數(shù)據(jù)傳輸?shù)目煽?/p>

56、性,保證了數(shù)據(jù)的完整性。UDMA 66也向下兼容,雖然采用80芯電纜,但接口插針還是40針,只是在連接線內(nèi)部增加了40條地線。在這80根電纜中第34根電纜是斷開(kāi)的,而普通的40芯電纜這條電纜是連通的,這有效的區(qū)分了UDMA 66和UDMA 33,在檢測(cè)到這條電纜是否連通后,BIOS會(huì)自動(dòng)判斷是UDMA 33還是UDMA 66。現(xiàn)在PC硬盤(pán)內(nèi)部傳輸速率最快可以達(dá)到56MB/s,在這個(gè)基礎(chǔ)上UDMA 66基本上是夠用了。但技術(shù)是發(fā)展的,新一代的硬盤(pán)將突破66MB/s這個(gè)上限,于是昆騰在2001年6月有發(fā)表了UDMA 100接口標(biāo)準(zhǔn),這顯然是一個(gè)面向明天的接口標(biāo)準(zhǔn),雖然對(duì)現(xiàn)在的硬盤(pán)沒(méi)什么作用,但是還

57、是有必要要介紹一下。UDMA 100仍然使用80芯40針的數(shù)據(jù)線,所不同的是UDMA 100將突發(fā)性傳輸速率提高到了100MB/s,同UDMA 66一樣也向下兼容,而且在兼容性上也做了進(jìn)一步的改善。提高了外部傳輸速率,那內(nèi)部傳輸速率又如何提高呢?有兩種方法,第一種、是增加磁盤(pán)轉(zhuǎn)速,比如從5400轉(zhuǎn)提高到現(xiàn)在的7200轉(zhuǎn)。第二種、是提高磁盤(pán)的單碟容量。那這兩種方法都是如何的實(shí)現(xiàn)呢?下面就為大家介紹。在購(gòu)買(mǎi)硬盤(pán)時(shí),經(jīng)常聽(tīng)說(shuō)7200轉(zhuǎn)和5400轉(zhuǎn)。我們說(shuō)過(guò)硬盤(pán)工作是靠主軸電機(jī)帶動(dòng)磁盤(pán)轉(zhuǎn)動(dòng),這個(gè)速度就是磁盤(pán)轉(zhuǎn)動(dòng)的速度。7200轉(zhuǎn)和5400轉(zhuǎn)的意思就是磁盤(pán)在每分鐘可以轉(zhuǎn)動(dòng)7200圈和5400圈。相對(duì)來(lái)說(shuō)

58、轉(zhuǎn)速越快,磁盤(pán)的內(nèi)部傳輸速率就越快,因?yàn)橄嗤瑫r(shí)間內(nèi)磁盤(pán)轉(zhuǎn)動(dòng)越快,磁頭經(jīng)過(guò)的磁道就越多,讀取的數(shù)據(jù)就越多。不過(guò),這也不是無(wú)止境的,首先、更快的速度就意味著需要更敏感的磁頭,其次、提高轉(zhuǎn)速還會(huì)帶來(lái)發(fā)熱量和噪音。現(xiàn)在硬盤(pán)已經(jīng)可以達(dá)到10000轉(zhuǎn),可是由于發(fā)熱量和噪音是無(wú)法忍受的(至少對(duì)PC來(lái)說(shuō)),現(xiàn)在的技術(shù)還沒(méi)法控制。所以,10000轉(zhuǎn)硬盤(pán)還只能應(yīng)用在高端服務(wù)器的SCSI硬盤(pán)上。就現(xiàn)在來(lái)說(shuō),7200轉(zhuǎn)的硬盤(pán)技術(shù)已經(jīng)比較成熟,發(fā)熱量和噪音都控制的很好,是現(xiàn)在的首選。5400轉(zhuǎn)的硬盤(pán)雖然也不錯(cuò),不過(guò)由于先天不足只好成為低端產(chǎn)品。相對(duì)于提高轉(zhuǎn)速來(lái)說(shuō),提高單碟容量的作用相對(duì)更突出些。增加單碟容量和提高轉(zhuǎn)速的原理差不多。硬盤(pán)的單碟容量增加了,磁盤(pán)上單位面積上存儲(chǔ)的數(shù)據(jù)也就增多。也就是說(shuō),在相同的時(shí)間里,單碟容量越高,磁頭讀取的數(shù)據(jù)就越多。這就可以解釋為什么在有些評(píng)測(cè)中,有些5400轉(zhuǎn)的硬盤(pán)會(huì)比一些7200轉(zhuǎn)的還快,原因就在于單碟容量。另外,提高單碟容量還有一個(gè)重要的作用,

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論