FAT32小結(更新)
來源:互聯網
上載者:User
電腦上的檔案系統種類繁多,但是都可以抽象成四大組成部分:引導塊,超級塊,索引節點,資料區。
FAT12,FAT16和FAT32中的12,16,32是指FAT表項的bit數(FAT32中高4位是保留的,所以實際有效是28bit)
FAT12隻支援DOS短檔案名稱。FAT16和FAT32則同時支援短檔案名稱和長檔名(255個字元)。在Linux系統中把FAT12叫作msdos檔案系統,把FAT16和FAT32叫作vfat檔案系統。
FAT32是Microsoft設計的檔案系統,是對FAT16的改進。它由BDR(相當於引導塊和超級塊),FAT表(相當於索引節點,這種說法有待商榷),目錄項和檔案資料(相當於資料區)。引導塊用來引導作業系統,超級塊記錄了分區的基本資料。索引節點記錄了分區內檔案和目錄的基本資料和硬碟空間塊使用方式。它把FAT16中的簇地址由16位擴充到28位,這樣對簇的定址能力就從約2^16即64K簇(如果一簇為32k,則為2G,即分區大小不能超過2G!),擴充到約2^28即256M簇。這對現代電腦來說已經綽綽有餘了。然而,它的目錄項中,檔案大小仍然用4位元組表示,這使FAT32不支援大於4G的檔案。
FAT32的一大缺點是它不支援很多安全特性,諸如使用者權限,存取控制。它也不支援日誌。另一大缺點是當分區很大(超過32G時),FAT表會變得很臃腫。它的鏈式分配的硬碟空間分配方式也使它比較低效和不太穩定。在突然斷電後常常導致檔案資料的丟失。所以在ntfs-3g推出後,Linux下對NTFS讀寫不再有任何障礙,我推薦各位使用高效安全的NTFS。
不過,公正的說,這不能怪FAT32,因為它是在FAT16的基礎上改進而來。而當時誰也預料不到硬碟容量會增加得如此之快。正如8086時代DOS的流行一樣。在當時的人們看來,1M的定址空間綽綽有餘,640K記憶體可以幹任何事。雖然DOS是單任務單使用者,但是這適應了當時PC的硬體條件。這是技術發展的辯證法。
原文出現了諸多錯誤,幸kghost提醒,現更正。若仍有錯誤,歡迎指正。