FAT享年25岁──触摸未来文件系统
IT商界
1978年,微软创始人比尔·盖茨和保罗·艾伦将BASIC语言用在小型计算机Altair上,这次他们首次使用了当时新的外部存储介质──磁盘,这个“磁盘BASIC”一开始就使用了FAT技术。
最初的FAT是大家常提到的12位文件分配表──FAT12,但它面对超过16MB的分区容量时,只能望洋兴叹。这个技术是在DOS3.0前使用的文件系统。
过后,FAT16出来了,它把能管理的磁盘容量一下提升到了2GB!随着硬盘生产成本的下降,磁盘容量又高速增大后,FAT32作为FAT16的后续版本而出世,32GB的容量管理无疑再次提高了大容量数据的管理效率。
1993年,微软再次推出新的文件系统──NTFS,它可以管理的分区达到数百TB,而1TB相当于100万MB。
现在,容量的管理已经不成问题,但多如牛毛的文件和文件格式,我们怎么管理?容量大了,NTFS可以解决,内容多了,我们怎么办?
追忆FAT
提起FAT(File Allocation Table文件系统配置表,用来组织和管理系统中的文件),几乎所有熟知Windows操作系统的用户都会首先想到FAT12、FAT16和FAT32。FAT文件系统诞生于大约25年前,由于当时广泛使用的DOS 2.0操作系统只能够处理最大为16MB的硬盘,因此今天看来是TB文件系统资源浪费的设计问题在DOS时代是无法想象,因为在当时“高容量存储设备”的价格如同黄金一样昂贵。
不过25年的光阴转瞬即逝,随着计算机技术的飞速发展与换代,存储设备贵如黄金的年代早已成为历史,任何人都不用再理会硬盘存储容量的限制,然而这时另外一些问题却显现出来,FAT系统在最初的设计中根本就没有考虑要处理上百GB的磁盘与数据,因此FAT文件系统管理大容量存储设备造成了诸多的资源浪费,可使用磁盘簇与可处理数据量的限制就是最典型的两个问题。
FAT文件系统虽然存在着诸多设计上的瑕疵,但是对于那些热衷于多操作系统的用户,FAT仍然是他们迫不得已的选择,然而随着Windows98等老一代操作系统逐步退出舞台,所有人都看到了一个伴随我们度过了25年的FAT文件系统家族的落幕……
NTFS时代
为了夺得中小企业操作系统的广大市场,微软于1993年推出了全新的Windows NT操作系统,而伴随Windows NT诞生的还有微软全新打造的NTFS文件系统。与FAT系统相比较,NTFS的优势在于优化了大容量存储空间的内存使用率,在数据安全性能方面也添加了授权保护功能。此外微软还针对企业用户为NTFS系统设计了新的索引服务和数据压缩、数据加密等,对于让Windows 95用户头疼的数据错误校正NTFS也有优秀的表现。微软在NTFS系统的磁盘管理方面进行了较大的改善,它可以管理的分区达到数百TB,而1TB相当于100万MB。
最初的NTFS系统虽然比FAT系统有了较大的改善,但它在分区长度和系统注册表方面仍然有所欠缺,所有的这些状况直到Windows 2000出现后才得到了有效的改善。Windows 2000使用了NTFS5.0,新版本的NTFS添设的逻辑磁盘管理员LDM功能解决了分区长度问题,为了解决交换磁盘的问题,NTFS5.0系统将磁盘的信息储存在了磁盘内部。在数据流通性能方面也进行了最佳化,并且以固定的512位磁簇来取代,还可以自定义磁簇大小。
不过为了体现自身超越FAT系统的优越性,NTFS系统也付出了先天不足的代价,比如Windows 95/98/Me系列的操作系统就无法识别NTFS系统的格式,别看这个问题很不起眼,但是确实造成很多用户不肯或者无法升级成为NTFS系统的主要原因。此外NTFS系统为企业用户所做的一些设计导致了NTFS系统在处理个人用户家庭娱乐功能方面的落差也令微软头疼不已,取代了FAT系统的NTFS系统又将由谁来取代成为了微软在设计NTFS系统时就考虑的问题之一。
挺进WinFS
FAT系统与NTFS系统各有优劣也让微软在推出下一代Windows操作系统上痛下决心进行文件系统的大改革。今年下半年透露出的Windows Longhorn测试版中名为WinFS(Windows Future Storage)的文件系统将未来的技术呈现给了我们。这种被称为“未来Windows储存”的文件系统技术,是微软旨在通过一种应用于服务器与关系型数据库的技术来管理日益庞大的家用电脑数据。这种方法是在系统中使用生成多个文件索引,而抛弃应用了25年之久的目录结构,WinFS系统之所以做这项改善,也将是微软未来推行的家庭媒体中心服务器是否能够应用于实际的基础。
由于微软在新版本的Windows中并没有透露太多有关WinFS系统的细节,WinFS系统至今在大众的眼里仍然笼罩着一层神秘感。但从各方面资料都能查到,其实微软早在1992年就开展了一项名为Cairo的文件系统开发计划,而Cairo计划最主要的一个目的就是为了解决搜索和管理数据,以让新一代的Windows完全摆脱FAT系统造成的诸多不便。这种文件系统在当时被称之为OFS对象文件系统(Object File System)。当时OFS提出非常重要的一个概念就是通过OFS来按照统一的方式保存文档、表格、多媒体和其他类型的文件,可以让用户不仅能通过文件名,还能通过文件内容来搜索出相关文件,用户可以更快速、更方便并且更准确地搜索和处理各类信息,而不管信息的格式是什么或保存在什么地方。当然它还会使系统避免崩溃或死机等现象,从而变得更加稳定和可靠。
这个在微软10年前就开始投入研究的OFS系统技术,其实是一种来自于微软的SQL Server数据库技术中的内建数据库技术。今天的Windows系统中,各种不同类型的文档与数据信息各自独立,访问与打开它们的软件也各不相同,这种形式在很多情况下造成系统的负荷,而新的文件系统设计是根据不同的内容标准来存储文件,例如作者、内容、名字、来源媒体与最近用户。
在未来使用了WinFS文件系统的Windows资源管理器中,显示的数据夹结构会简化成一个虚拟地图。目录结构也只是提供了一些指引方向,但是并不指明数据的实际存储位置,关于系统如何组织文件或是任何数据指针的自然特性都已经跟数据或是文件存储在一起,这样自然会使搜索更方便、系统更稳定、可访问性更强,我们甚至能够通过企业局域网或者Internet进行搜索。从这些OFS的概念中我们不难看出,WinFS与OFS如出一辙。
WinFS的优良性能的确咄咄逼人,在测试版的Longhorn中也发现了经过改善后的NTFS系统,这也许预示着WinFS会成为FAT和NTFS之外的另一项文件系统的选择。而未来让Windows XP、Longhorn和Linux都能运行的一个相同磁盘存储空间的文件系统也许要通过更加复杂的方式才能找到。不过微软高层已经表示,WinFS可能会在Windows 2003 Server中的后续SP版本中进行软着陆,让一部分用户爱上它,虽然Windows Longhorn一再推迟发布时间,但是一个伸手可触的未来已经出现在了我们的身边。
编后:微软公司的下一代操作系统Windows Longhorn已经透露出微软在新一代的Windows文件管理和查找等功能方面做了较大的改进。其中WinFS在新的Windows操作系统中肯定会起到相当关键的作用,而它不会像当初微软希望NTFS尽快替代FAT那样困难,因为在它身上不存在兼容和被兼容问题,只有更方便或者更高效。但Longhorn的频频跳票,WinFS目前也只能在一层迷雾的背后向我们招手。