打印本文 打印本文 关闭窗口 关闭窗口
在XP横行的年代,为什么还使用FAT32?(稿)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数3156  更新时间:2009/4/25 0:44:50  文章录入:mintao  责任编辑:mintao
是针对有缓存的硬盘设计的,所以自身能够对盘上缓存获得较高的控制权,并且提供非常“体贴”的缓存服务;另一方面,NTFS驱动能够在系统缓存空间中划分一部分更大的空间以缓存更多的数据操作。最重要的在于,NTFS对于文件访问的缓存有非常优化的设计,基本可以保证缓冲预取命中率在90%以上。而FAT由于本身一致性设计的限制,不能使用太优化的缓冲算法。即便在XP下,也只能享受简单的读写操作排队这样的贫民级缓存服务。

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

 

二、稳定性

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

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

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

 

三、易用性

事实上这一问题上仁者见仁、智者见智。有人说,功能简单即是易用;有人说,高级功能无需挂载第三方软件即是易用。我个人比较赞同后者。或许有的初级用户认为

上一页  [1] [2] [3] [4]  下一页

打印本文 打印本文 关闭窗口 关闭窗口