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