魏權(quán)雙
(天津中德職業(yè)技術(shù)學(xué)院,天津 300350)
在1987年個(gè)人電腦的世界中出現(xiàn)了一個(gè)危機(jī)。Microsoft公司十年前為自己的磁盤轉(zhuǎn)換程序(Standalone Disk Basic Interpreter),也就是后來MS-DOS發(fā)展出來的FAT文件分配系統(tǒng),已經(jīng)達(dá)到了它的極限。當(dāng)時(shí)的文件分配系統(tǒng)FAT只能最多支持32MB的硬盤,使用戶無法使用大容量的硬盤,整個(gè)危機(jī)直到Microsoft公司推出DOS4.0之后才暫時(shí)得到解決。
Microsoft公司推出DOS4.0較大幅度改變了文件分配系統(tǒng)的構(gòu)架,使得作業(yè)可以處理達(dá)到128MB的磁盤容量。而其后來又對(duì)DOS作了一些擴(kuò)充將處理上限提高到2.1GB。這在當(dāng)時(shí)這個(gè)容量是超大的了,但是個(gè)人電腦歷史的真理就是“看起來遠(yuǎn)遠(yuǎn)超過需求”的事物很快就會(huì)變成“完全趕不上需求”,現(xiàn)在超過2.1GB的硬盤很多,一般可達(dá)到幾個(gè)GB至幾十個(gè)GB??梢韵嘈鸥蟮挠脖P將會(huì)出現(xiàn)。2GB的上限現(xiàn)在已經(jīng)變成了另一個(gè)需要克服的難題了。
Microsoft公司針對(duì)Windows95系統(tǒng),發(fā)展了FAT32文件分配系統(tǒng)。
當(dāng)磁盤被格式化后,磁盤系統(tǒng)需要一些特殊的區(qū)域來組織磁盤上的文件:包括主引導(dǎo)區(qū)(Master Boot Record)、分區(qū)表(Partition Table)、引導(dǎo)區(qū)(Boot Record)、分配表(File Allocation Table)、根目錄(Boot Directory)和數(shù)據(jù)區(qū)。磁盤被分割成一塊塊512byte的區(qū)域,稱為扇區(qū)(sector)。FAT文件分配系統(tǒng)將數(shù)個(gè)扇區(qū)合并成一個(gè)簇(cluster)成為文件配置的最小單位,亦稱配置單元(Allocation Unit),簇里的扇區(qū)數(shù)必須是2的次方。
分配表FAT是一個(gè)記錄磁盤上文件大小幾其相對(duì)簇的資料庫,它對(duì)每一個(gè)簇都有一個(gè)邏輯的記錄表(Entry Point),F(xiàn)AT分配表包含了簇的使用/未使用、一個(gè)或數(shù)個(gè)不可使用的壞的扇區(qū)、此簇是否是文件的最后一個(gè)簇,如果簇已使用但不是最后一個(gè)簇,F(xiàn)AT分配表會(huì)記錄下一個(gè)簇的起始位置。這種組織文件的方式稱為FAT鏈?zhǔn)酱鎯?chǔ)方式(FAT Chain)。在FAT文件分配系統(tǒng)中,文件永遠(yuǎn)被分配到整數(shù)單位的簇,所以一些磁盤空間將被浪費(fèi)。例如一些小的文件磁盤空間的損失幾乎與整個(gè)簇相當(dāng)。
最早在DOS1.0上使用的是FAT12文件分配系統(tǒng)來最大化小分區(qū)上的可用空間,當(dāng)使用FDISK在DOS、Windows95或 Windows NT下創(chuàng)建一個(gè)小于16MB的分區(qū)時(shí),會(huì)得到一個(gè)12位的分配表,而且FAT12文件系統(tǒng)目前在舊的軟盤上仍有使用。從DOS2.0開始對(duì)硬盤的支持,因此改用FAT16方式。
FAT32是Wiindows操作系統(tǒng)的新文件分配系統(tǒng),它首先出現(xiàn)在 Windows95OSR2,操作系統(tǒng)中的OSR2是1997年推出的Windows95的升級(jí)版本。FAT代表著硬盤上的組織數(shù)據(jù)方式,F(xiàn)AT32突破了FAT16系統(tǒng)強(qiáng)加的最多只能管理2.1GB硬盤分區(qū)的限制,能夠更有效地使用硬盤上的空間。
由于磁盤上的數(shù)據(jù)存放格式的限制,F(xiàn)AT文件分配系統(tǒng)不可避免地會(huì)導(dǎo)致一些硬盤可用空間的浪費(fèi)。對(duì)于1G~4G的硬盤來說,F(xiàn)AT16一般會(huì)導(dǎo)致10%~20%左右的空間浪費(fèi)。所以我們常將硬盤分成兩個(gè)或兩個(gè)以上的分區(qū)來減少空間浪費(fèi),以達(dá)到最大限度地利用硬盤空間的目的。
因?yàn)镕AT32使用的蔟較小,當(dāng)使用大硬盤空間時(shí)要比其他文件分配系統(tǒng)更有效。據(jù)統(tǒng)計(jì),使用FAT32文件分配系統(tǒng)可使硬盤可用空間增加25%。
另外,使用FAT32文件分配系統(tǒng)使用了新的VCACHE這個(gè)內(nèi)部磁盤讀寫程序,可提高磁盤的效率。它會(huì)盡可能將整個(gè)FAT記錄放在RAM以便提高磁盤的讀寫速度
表1
FAT32所用的簇的大小取決于硬盤或邏輯分區(qū)的大小,表1顯示了FAT32和FAT16對(duì)不同的硬盤的簇分配情況及對(duì)比。
為了標(biāo)明硬盤中文件和已用/未用空間,F(xiàn)AT文件分配系統(tǒng)采用了“指針”的辦法。在FAT16系統(tǒng)中,每個(gè)分區(qū)指針或簇的數(shù)量最多為65520個(gè)。因?yàn)槊總€(gè)簇最大扇區(qū)數(shù)為64個(gè),每個(gè)扇區(qū)限為512字節(jié),所以FAT16文件分配系統(tǒng)中單個(gè)硬盤分區(qū)的容量不能超過2.1GB。
FAT32通過提供32位指針增加了硬盤的最大容量,將每個(gè)硬盤分區(qū)的最大扇區(qū)數(shù)量增至4294967296個(gè),而每個(gè)簇用8個(gè)扇區(qū)代替了64個(gè)扇區(qū),每個(gè)扇區(qū)仍為個(gè)512字節(jié)。這樣FAT32系統(tǒng)既可以管理大到的2TB硬盤,又能有效的節(jié)省硬盤的空間。目前的硬盤均可以格式化為單個(gè)驅(qū)動(dòng)器,免去了分區(qū)的煩惱。
除節(jié)省空間外,F(xiàn)AT32的運(yùn)行速度通常要比FAT16快,據(jù)Microsoft公司提供,F(xiàn)AT32系統(tǒng)中隨著內(nèi)存管理的提高以及磁盤碎片整理的應(yīng)用而增加了系統(tǒng)的性能,它使應(yīng)用程序的啟動(dòng)速度要比FAT16快50%。
FAT32文件分配系統(tǒng),改變了以前的作業(yè)系統(tǒng)雖然在硬盤上保存了兩個(gè)FAT分配表,但是只使用一個(gè)而已的情況。有了FAT32后,作業(yè)系統(tǒng)現(xiàn)在可以使用其中任何一個(gè)FAT分配表。另外,以前根目錄必須放在特定的位置占用固定的磁盤容量,現(xiàn)在FAT32方式則可以象子目錄一樣隨需要增減,而且根目錄的數(shù)目再也不再有任何限制了。由于長文件名要占用好幾個(gè)目錄記錄,因此這項(xiàng)改變就顯得格外重要??梢苿?dòng)式根目錄及可使用任意一個(gè)FAT分配表的結(jié)合,使FAT32可以提供動(dòng)態(tài)的分配硬盤能力(Windows95不能發(fā)揮這項(xiàng)功能),提高了硬盤的安全性。可重定位根目錄和使用FAT備份副本,提高了計(jì)算機(jī)的可靠性。
在將硬盤轉(zhuǎn)換為FAT32格式后,除非重新分區(qū)并格式化FAT32硬盤,或用Partition Magic等工具軟件進(jìn)行轉(zhuǎn)換,否則不能將硬盤還原為FAT16格式。
如用戶使用的是壓縮硬盤或?qū)⑾M麎嚎s自己的硬盤,則不應(yīng)將FAT16硬盤轉(zhuǎn)換為FAT32格式硬盤;如用戶使用的是活動(dòng)硬盤也不應(yīng)采用FAT32格式,因?yàn)槠渌僮飨到y(tǒng)可能不能識(shí)別FAT32系統(tǒng)。
對(duì)于有休眠功能的筆記本電腦,F(xiàn)AT32將阻止機(jī)器休眠功能的發(fā)揮。這可能是筆記本電腦的BIOS芯片的負(fù)責(zé)休眠部分不支持FAT32。鑒于這種情況,如FAT32與設(shè)備不兼容,主要問題將出現(xiàn)在主板。主板要兼容FAT32,其必須支持LBA模式,但許多早期的主板(如一些486主板)不支持LBA模式。
雖然NTFS是一種很好的文件分配系統(tǒng),它具有許多保護(hù)、安全、逐個(gè)文件壓縮、日志文件等較好的功能。但以FAT32方式格式化的硬盤不兼容NTFS文件分配系統(tǒng)。這據(jù)Microsoft公司提供,要在MSDOS下支持NTFS將回占用大量有限的內(nèi)存資源,再者NTFS和FAT存在磁盤格式上的差異,F(xiàn)AT32幾乎不能運(yùn)行存在任何兼容性問題的應(yīng)用程序。
如用戶將硬盤轉(zhuǎn)換為FAT32后,即使在安裝的過程中激活了Windows98“卸載”選項(xiàng),也不能卸載Windows98并回到轉(zhuǎn)換前的操作系統(tǒng)中。
將FAT16轉(zhuǎn)換為FAT32盡管不會(huì)影響大多數(shù)程序的運(yùn)行。但有些基于FAT16的磁盤實(shí)用程序在FAT32格式下將不能運(yùn)行,應(yīng)選用兼容FAT32的升級(jí)版本。這是因?yàn)楦牧舜疟P的簇大小和FAT指針會(huì)造成一些早期的應(yīng)用程序尤其是磁盤實(shí)用程序的不兼容。因此有時(shí)將文件分配系統(tǒng)轉(zhuǎn)換為FAT32后存在一定的風(fēng)險(xiǎn),但是目前許多軟件公司的實(shí)用程序都有支持FAT32的升級(jí)版本。
在實(shí)模式下MS-DOS,或在“安全模式”下運(yùn)行Windows98時(shí)FAT32的速率比FAT16慢。
FAT32轉(zhuǎn)換器不能工作于小于512MB的硬盤上。
如將硬盤轉(zhuǎn)換為FAT32,則不能再使用雙重啟動(dòng)運(yùn)行早期的Win3.x、Win95、NT3.0等。但是如果在網(wǎng)絡(luò)上,Windows的早期版本仍可以通過網(wǎng)絡(luò)訪問FAT32硬盤。