分享
 
 
 

在XP横行的年代,为什么还使用FAT32?(稿)

王朝other·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

在开始前先将FAT与NTFS格式的基本设计要素阐释一下。

FAT(File Allocating Table)格式是一种为了易用而设计的非常简单的文件系统。它的基本模式是将磁盘划分为许多簇,在簇中相对集中的记录数据。正如它的名字,它使用简单的文件分配链(文件本身记录第一个占用的簇的位置,文件系统驱动通过顺序访问这个簇以下的簇获得文件数据,并通过最后一个含标记的簇获得下一段数据的位置)来记录文件的数据位置。因为FAT的簇分配表的值是有限的,所以FAT的簇大小是随着分区大小而变化的。当分区变大,簇也相应的变大,否则分区的空间无法被完全使用。FAT32在结构上较以往的FAT16、FAT12最大的改进就是使用了32位的簇分配表,并且降低了最小簇大小,希望借此来兼容更大的硬盘,同时提高访问效率。实际上,一个FAT32的分区理论上可以有8TB的容量,只不过系统为了别的考虑保留了高四位。除了保存文件,FAT不再具有其他的特性。其缓存能力是依靠系统的统一调配实现的。

而NTFS则完全不同,它是一个为了符合现代操作系统要求而专门设计的文件系统。它的基本模式同样是利用簇来集中存储数据,不同点在于把簇按照顺序无限编号,这样簇的大小不再受到分区大小的限制。NTFS的文件分配不再是简单的文件分配链,而是通过一个叫做主控文件表(MFT, Master File Table)的特殊文件夹与文件组来记录一个分区(在NTFS中称为卷,以下一律使用卷这一名词)所有相关的信息,其中主要包括文件夹与文件间的相互关系、卷本身的属性、卷上进行的操作记录、卷上的坏簇、卷的使用情况、卷的特殊属性、卷所含有的引导信息等内容。其次是用户文件相关的信息,其中直接保存一些小文件的分配表(模式如:从m号簇开始n个簇),小目录中包含的文件,以及大目录、大文件的分配起点。与FAT最大不同的是,NTFS会对所有对于分区进行的操作进行记录(称为事务日志),这样可以保证掉电之后文件系统的不一致可以被恢复。除此之外为了性能,NTFS在访问中会自主申请并策划缓存的使用。

其他的细节随着以下的各项比拼详述慢慢道来。

一、性能

实际上,FAT系统在理论上应该具有很好的性能。一个简单的系统当然应该比复杂系统运行起来快。即便NTFS的目录结构非常优化,但如果仅仅是比较盘上数据访问速度,FAT的简单特性还是有很大的优势。可惜的是,自从硬盘拥有了缓存,FAT的这一优势就被反超了。事实上,NTFS是针对有缓存的硬盘设计的,所以自身能够对盘上缓存获得较高的控制权,并且提供非常“体贴”的缓存服务;另一方面,NTFS驱动能够在系统缓存空间中划分一部分更大的空间以缓存更多的数据操作。最重要的在于,NTFS对于文件访问的缓存有非常优化的设计,基本可以保证缓冲预取命中率在90%以上。而FAT由于本身一致性设计的限制,不能使用太优化的缓冲算法。即便在XP下,也只能享受简单的读写操作排队这样的贫民级缓存服务。

另外,因为更大的簇意味着更连续的数据与更快的访问速度,所以对于一些分区,比如视频采集用的卷和虚拟内存占用的卷上最好使用较大的簇。NTFS可以支持64KB的簇,有些情况下甚至可以使用128KB的簇,而FAT……把分区弄大就可以了……当然前提是你要有足够的钱和一颗顽强的心,原因请看第二部分。

二、稳定性

前面已经提到,FAT是一个为了存储而存储的文件系统,在设计中根本没有容错性的设计。所以在FAT中遇到神奇的磁盘问题不是难事。典型的例子就是在查看磁盘空间时会发现磁盘已用空间比整个硬盘的空间都大。这是因为在处理文件的盘内移动时没有完整改写源文件夹的数据,使得文件被统计两次,有时甚至更多。另外一种故障是文件夹变成了文件,而里面的文件消失或者出现在根目录下。这个故障的原理非常简单,在写目录时文件指针向前移了一个簇,于是覆盖了文件夹特有的标志。这些小的异常在实际使用中非常容易发生,尤其在磁盘操作非常频繁时。

在NTFS中,你几乎可以放心大胆地非正常关机(显然本人强烈不推荐这样做),因为NTFS有一套健全的机制防止数据出现不一致。首先,如前所述,NTFS会记录每一个将要发生的磁盘操作,在真正的操作发生前把这些事务日志记录到硬盘上;在事务结束后NTFS会在日志后作标记,证明每一个操作都已经成功执行,写缓存中不存在待写数据。如果一个事务失败了,或者由于某些原因没有发生,那么事务完成的标记就不会被记录,那么系统会在下次卷自检中发现这一问题,尝试重复未完成的事务以期能够修补不一致;如果尝试并不能简单的成功,则调用CHKDSK对卷进行一致性检查。这种模式虽然有时会丢失尚未写入的数据,但是盘上已有的数据一般不会损坏(即使你的最后操作是覆盖文件,实际上发生的也只是在文件本身的分配表中去掉一部分区域,用别的簇来保存新的数据),有时候这些尚未写入的数据也能通过一些努力(比如有些服务发生的写入事件支持恢复)补齐。

也许有人这时候会说,如果MFT这样重要的东西损坏了怎么办?那岂不是连日志也坏了?这样的故障几率也是相当小的。MFT本身就保存有自己的一份备份,同时系统会在磁盘操作中定期对MFT进行镜像备份,一般一个卷上存在两个MFT镜像,一个在中部,一个在尾部(均为相对的),也就是说,MFT这样一个部分至少有六份可用。如果这些全都被破坏掉了,那FAT卷一定已经连格式都无法辨别了吧……

三、易用性

事实上这一问题上仁者见仁、智者见智。有人说,功能简单即是易用;有人说,高级功能无需挂载第三方软件即是易用。我个人比较赞同后者。或许有的初级用户认为NTFS中的配额、索引、Unicode字符、长文件名、硬接入点(将磁盘载入特定空文件夹)等等高级功能没有意义,那么相信对于一些有特殊要求的用户这样的内建功能还是很吸引人的。至少对于绝大多数应用,足够了。

四、安全性

安全性应该算是FAT软肋上的伤疤。稳定性是安全性的基础,FAT没有稳定性可言;而安全性上就更是毫无建树了。NTFS依靠NT核心的安全性优势,可以为盘上任意一个文件设定详尽的访问策略。更为有效的是NTFS内建的EFS(Encrypted File System),它通过RSA算法(不同于前段时间被宣布存在可靠碰撞的MD5,目前这一算法还尚未发现有意义的破解方法)对文件进行可恢复加密,强度一般使用2048位,如果有特殊需要还可以使用4096位。最后,系统还会使用MD5产生校验和,以保证密文的完整性。破解这样加密的文件,在时间上几乎是不可能的。

五、杂项高级功能

FAT没有杂项功能。

NTFS除了前面所说的一些特性,比如索引(通过对文件归档以加快内容检索的速度)、配额(限制某一用户的可用磁盘空间)等,还支持简单卷(软件实现的RAID0)、条带卷(软件上实现RAID3),以及数据压缩(内部自动压缩,在对用户透明的情况下实现减少空间的占用)、稀疏文件(适合BT等P2P软件预分配,自动把连续的0数据用一个标志簇代替以减少空间的占用)。

P.S. 在XP下转换磁盘的方法:“开始”-〉“运行”-〉cmd-〉convert X: /FS:NTFS /X

如有需要可以放弃安全功能,使用参数:/No Security。建议在使用后尽快重启计算机。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有