absmiddle NTFS vs. FAT / VFAT / FAT32


[問題] grubber@hotmail.com (Michael Corleone): 效率和安全度是不是以下? NTFS > FAT32 > VFAT > FAT16 [解答] jackei@Maxwell (煢): 保密性 NTFS >> FAT32, VFAT, FAT16, FAT 根本沒保密. 穩定性 NTFS >> FAT32, VFAT, FAT16 NTFS 利用 Atomic Transaction, 即使是突然斷電重開機也能回到原來狀態. FAT 沒有 Recoverbility, 容易 Cross-Link, 要是檔案配置表出問題就更慘了. FAT32 似乎比 FAT16 多備份了幾張表(MS 的網頁有提到, 沒講細節) 也許穩定個那麼一些些吧. 效率就很難講, 看你拿多大的檔案, 磁碟分佈狀況, 安全檢查... 等等. 個人用起來的感覺是 FAT 稍快.(我是常常重整保養硬碟啦) VFAT (Virtual FAT) 跟 FAT16 實際上是一樣的東西, 不過 VFAT 是用 32-bit Protected Mode 運作. 速度一般較快, 尤其是大檔案連續存取. (有一部份算是 95 VCache 的功勞.) FAT32 速度沒比 FAT16 快, 連 MS 自己都說, 在某些情況下比 FAT16 慢. FAT32 的好處主要在於可分割 2GB 以上磁碟, 以及 Cluster 較小不浪費空間. 若不論 Cache 的效能直接硬拼, NTFS 對檔案的搜尋一般會比 FAT 快. B+ Tree (Balance m-ary Search Tree with Linked Leaf Node) 的特點就是搜尋 深度淺, 比較次數少; FAT 使用 Linked Allocation 循序搜尋, O(logN) 對 O(N) 的速度, 開啟大量檔案差距會更明顯.(理論上:P) 但 NTFS 也有其花時間的地方. 對檔案目錄的安全檢查(開檔要去稽核是否有權限存 取, 如果是在超多人系統上, 比對花的時間會更多.) Atomic Transaction 的記錄 驗證也會花時間. 再談到 Fragmentaion 也是難說:P Cluster 越小(空間利用率越高)的代價就是磁碟 碎裂嚴重(檔案分散在各處存取較花時間). VFAT 的配置較 FAT16 好些, 它會先搜 尋到 0.5 MB 的空間才放置下去. NTFS, FAT32 的 Cluster 都比 VFAT, FAT16 小, 在配置上較為不利. 但 NTFS 是 Index Allocation 會傾向把檔案配置在相近的磁區. 真正碎裂嚴重的話, FAT 的效能降低會比 NTFS 較為明顯.
上一層目錄