windows/dos的六种文件系统的简介对比,详解

摘自:http://www.cnblogs.com/itelite/articles/1083840.html

微软在Dos/Windows系列操作系统中共使用了6种不同的文件系统(包括即将在windows的下一个版本中使用的Winfs)。它们分别是:FAt12、FAT16、FAT32、NTFS、NTFS5.0和WINFS。下面我们一一来对它们的相关特点和规则做个介绍。其中FAt12、FAT16、FAT32均是Fat文件系统。是File Allocation Table的简称。

  最古老的文件系统FAT12:

  这是伴随着Dos诞生的“老”文件系统了。它采用12位文件分配表,并因此而得名。而以后的FAT系统都按照这样的方式在命名。在DOS3.0以前使用。但是在现在,我们都还能找得到这个文件系统:用于软盘驱动器。当然,其他地方的确基本上不使用这个文件系统了。Fat12可以管理的磁盘容量是8M。这在当时,没有硬盘的情况下,这个磁盘管理能力是非常大的。

  Fat12文件系统的限制:

  1)文件名:只能是8.3格式的文件名。
  2)磁盘容量:最多8M。(4096clusters×4sectors/clusters×512bytes、sectors)
  3)文件碎片严重。(只在磁盘上不存储在不连续的簇内。)

  使用时间最长文件系统的Fat16:

  在Dos2.0的使用过程中,对更大的磁盘的管理能力的需求已经出现了,所以在Dos3.0中,微软推出了新的文件系统Fat16。除了采用了16位字长的分区表之外,Fat16和Fat12在其他地方都非常的相似。实际上,随着字长增加4位,可以使用的簇的总数增加到了65546。在总的簇数在4096之下的时候,应用的还是Fat12的分区表,当实际需要超过4096簇的时候,应用的是Fat16的分区表。刚推出的Fat16文件系统管理磁盘的能力实际上是32M。这在当时是看来是足够大的。1987年,硬盘的发展推动了文件系统的发展,Dos4.0之后的Fat16可以管理128M的磁盘。然后这个数字不断的发展,一直到2G。在整整的10年中,2G的磁盘管理能力都是大大的多于了实际的需要。需要指出的是,在windows95系统中,采用了一种比较独特的技术,叫做VFat来解决长文件名等问题。FAT16分区格式存在严重的缺点:大容量磁盘利用效率低。在微软的DOS和Windows系列中,磁盘文件的分配以簇为单位,一个簇只分配给一个文件使用,不管这个文件占用整个簇容量的多少。这样,即使一个很小的文件也要占用一个簇,剩余的簇空间便全部闲置,造成磁盘空间的浪费。由于分区表容量的限制,FAT16分区创建的越大,磁盘上每个簇的容量也越大,从而造成的浪费也越大。所以,为了解决这个问题,微软推出了一种全新的磁盘分区格式FAT32,并在Windows 95 OSR2及以后的Windows 版本中提供支持。

Volume size Cluster size
0 to 32 MB 512 bytes
33 to 64 MB 1 KB
65 to128 MB 2 KB
129 to 256 MB 4 KB
257 to 511 MB 8 KB
512 to 1023 MB 16 KB
1024 to 2047 MB 32 KB
2048 to 4095 MB 64 KB


  最新的Fat32文件系统:

  Fat32文件系统将是Fat系列文件系统的最后一个产品。和它的前辈一样,这种格式采用32位的文件分配表,磁盘的管理能力大大增强,突破了FAT16 2GB的分区容量的限制。由于现在的硬盘生产成本下降,其容量越来越大,运用FAT32的分区格式后,我们可以将一个大硬盘定义成一个分区,这大大方便了对磁盘的管理。

  FAT32推出时,主流硬盘空间并不大,所以微软设计在一个不超过8GB的分区中,FAT32分区格式的每个簇都固定为4KB,与FAT16相比,大大减少了磁盘空间的浪费,这就提高了磁盘的利用率。在其他更大的分区中的簇大小的可以看下表:

Volume size Cluster size
less than 8GB 4 KB
less than 16GB 8 KB
less than 32GB 16 KB
more than 32gB 32 KB


  目前,支持这种格式的操作系统有Windows 95、Windows 98、OSR2、Windows 98 SE、Windows Me、Windows 2000和Windows XP,Linux Redhat部分版本也对FAT32提供有限支持,然而,如果Linux安装在FAT32分区下,必须使用软盘进行引导。但是,这种分区格式也有它明显的缺点,首先是由于文件分配表的扩大,运行速度比FAT16格式要慢,特别是在DOS 7.0下,性能差别更明显。

  FAT32的限制:

  1)最大的限制在于兼容性方面,Fat32不能保持向下兼容。
  2)当分区小于512M时,Fat32不会发生作用。
  4)单个文件不能大于4G。(精确数据是4G-2bytes)。

------------------------
FAT32与NTFS的区别

在推出FAT32文件系统之前,通常PC机使用的文件系统是FAT16。像基于MS-DOS,Win 95等系统都采用了FAT16文件系统。在Win 9X下,FAT16支持的分区最大为2GB。我们知道计算机将信息保存在硬盘上称为“簇”的区域内。使用的簇越小,保存信息的效率就越高。在FAT16的情况下,分区越大簇就相应的要增大,存储效率就越低,势必造成存储空间的浪费。并且随着计算机硬件和应用的不断提高,FAT16文件系统已不能很好地适应系统的要求。在这种情况下,推出了增强的文件系统FAT32。同FAT16相比,FAT32主要具有以下特点:

1. 同FAT16相比FAT32最大的优点是可以支持的磁盘大小达到2TB(2047GB),但是不能支持小于512MB的分区。基于FAT32的Win 2000可以支持分区最大为32GB;而基于 FAT16的Win 2000支持的分区最大为4GB。

2. 由于采用了更小的簇,FAT32文件系统可以更有效率地保存信息。如两个分区大小都为2GB,一个分区采用了FAT16文件系统,另一个分区采用了FAT32文件系统。采用FAT16的分区的簇大小为32KB,而FAT32分区的簇只有4KB的大小。这样FAT32就比FAT16的存储效率要高很多,通常情况下可以提高15%。

3. FAT32文件系统可以重新定位根目录和使用FAT的备份副本。另外FAT32分区的启动记录被包含在一个含有关键数据的结构中,减少了计算机系统崩溃的可能性。

NTFS文件系统

NTFS文件系统是一个基于安全性的文件系统,是Windows NT所采用的独特的文件系统结构,它是建立在保护文件和目录数据基础上,同时照顾节省存储资源、减少磁盘占用量的一种先进的文件系统。使用非常广泛的Windows NT 4.0采用的就是NTFS 4.0文件系统,相信它所带来的强大的系统安全性一定给广大用户留下了深刻的印象。Win 2000采用了更新版本的NTFS文件系统??NTFS 5.0,它的推出使得用户不但可以像Win 9X那样方便快捷地操作和管理计算机,同时也可享受到NTFS所带来的系统安全性。

NTFS 5.0的特点主要体现在以下几个方面:

1. NTFS可以支持的分区(如果采用动态磁盘则称为卷)大小可以达到2TB。而Win 2000中的FAT32支持分区的大小最大为32GB。

2. NTFS是一个可恢复的文件系统。在NTFS分区上用户很少需要运行磁盘修复程序。NTFS通过使用标准的事物处理日志和恢复技术来保证分区的一致性。发生系统失败事件时,NTFS使用日志文件和检查点信息自动恢复文件系统的一致性。

3. NTFS支持对分区、文件夹和文件的压缩。任何基于Windows的应用程序对NTFS分区上的压缩文件进行读写时不需要事先由其他程序进行解压缩,当对文件进行读取时,文件将自动进行解压缩;文件关闭或保存时会自动对文件进行压缩。

4. NTFS采用了更小的簇,可以更有效率地管理磁盘空间。在Win 2000的FAT32文件系统的情况下,分区大小在2GB~8GB时簇的大小为4KB;分区大小在8GB~16GB时簇的大小为8KB;分区大小在16GB~32GB时,簇的大小则达到了16KB。而Win 2000的NTFS文件系统,当分区的大小在2GB以下时,簇的大小都比相应的FAT32簇小;当分区的大小在2GB以上时(2GB~2TB)簇的大小都为4KB。相比之下,NTFS可以比FAT32更有效地管理磁盘空间,最大限度地避免了磁盘空间的浪费。

5. 在NTFS分区上,可以为共享资源、文件夹以及文件设置访问许可权限。许可的设置包括两方面的内容:一是允许哪些组或用户对文件夹、文件和共享资源进行访问;二是获得访问许可的组或用户可以进行什么级别的访问。访问许可权限的设置不但适用于本地计算机的用户,同样也应用于通过网络的共享文件夹对文件进行访问的网络用户。与FAT32文件系统下对文件夹或文件进行访问相比,安全性要高得多。另外,在采用NTFS格式的Win 2000中,应用审核策略可以对文件夹、文件以及活动目录对象进行审核,审核结果记录在安全日志中,通过安全日志就可以查看哪些组或用户对文件夹、文件或活动目录对象进行了什么级别的操作,从而发现系统可能面临的非法访问,通过采取相应的措施,将这种安全隐患减到最低。这些在FAT32文件系统下,是不能实现的。

6. 在Win 2000的NTFS文件系统下可以进行磁盘配额管理。磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。设置磁盘配额后,可以对每一个用户的磁盘使用情况进行跟踪和控制,通过监测可以标识出超过配额报警阈值和配额限制的用户,从而采取相应的措施。磁盘配额管理功能的提供,使得管理员可以方便合理地为用户分配存储资源,避免由于磁盘空间使用的失控可能造成的系统崩溃,提高了系统的安全性。

7. NTFS使用一个“变更”日志来跟踪记录文件所发生的变更。

小提示(选取FAT32和NTFS的建议)

在系统的安全性方面,NTFS文件系统具有很多FAT32文件系统所不具备的特点,而且基于NTFS的Win 2000运行要快于基于FAT32的Win 2000;而在与Win 9X的兼容性方面,FAT32优于NTFS。所以在决定Win 2000中采用什么样的文件系统时应从以下几点出发:

1. 计算机是单一的Win 2000系统,还是采用多启动的Win 2000系统;
2. 本地安装的磁盘的个数和容量;
3. 是否有安全性方面的考虑等。

基于以上的考虑,如果要在Win 2000中使用大于32GB的分区的话,那么只能选择NTFS格式。如果计算机作为单机使用,不需要考虑安全性方面的问题,更多地注重与Win 9X的兼容性,那么FAT32是最好的选择。如果计算机作为网络工作站或更多的追求系统的安全性,而且可以在单一的Win 2000模式下运行,强烈建议所有的分区都采用NTFS格式;如果要兼容以前的应用,需要安装Win 9X或其它的操作系统,建议做成多启动系统,这就需要两个以上的分区,一个分区采用NTFS格式,另外的分区采用FAT32格式,同时为了获得最快的运行速度建议将Win 2000的系统文件放置在NTFS分区上,其它的个人文件则放置在FAT32分区
--------------------------------------------
我们以前用的DOS、Windows 95都使用FAT16文件系统,现在常用的
Windows 98/2000/XP等系统均支持FAT16文件系统。它最大可以管理
大到2GB的分区,但每个分区最多只能有65525个簇(簇是磁盘空间的
配置单位)。随着硬盘或分区容量的增大,每个簇所占的空间将越来
越大,从而导致硬盘空间的浪费。随着大容量硬盘的出现,从Windows
98开始,FAT32开始流行。它是FAT16的增强版本,可以支持大到2TB
(2048GB)的分区。FAT32使用的簇比FAT16小,从而有效地节约了硬盘
空间。随着以NT为内核的Windows 2000/XP的普及,很多个人用户开始
用到了NTFS。NTFS也是以簇为单位来存储数据文件,但NTFS中簇的大小
并不依赖于磁盘或分区的大小。簇尺寸的缩小不但降低了磁盘空间的浪
费,还减少了产生磁盘碎片的可能。NTFS支持文件加密管理功能,可为
用户提供更高层次的安全保证。它是微软Windows NT内核的系列操作系
统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计
的磁盘格式。只有Windows NT/2000/XP才能识别NTFS系统,Windows 9x/Me
以及DOS等操作系统都不能支持、识别NTFS格式的磁盘。由于DOS系统不支持
NTFS系统,所以最好不要将C:盘制作为NTFS系统,这样在系统崩溃后便于在
DOS系统下修复。

文件系统 支持的操作系统
fat16 windows 95/98/me/nt/2000/xp unix,linux,dos
fat32 windows 95/98/me/2000/xp
ntfs windows nt/2000/xp

Windows 2000/XP在文件系统上是向下兼容的,它可以很好地支持FAT16/FAT32
和NTFS,其中NTFS是Windows NT/2000/XP专用格式,它能更充分有效地利用磁
盘空间、支持文件级压缩、具备更好的文件安全性。如果你只安装Windows 2000
/XP,建议选择NTFS文件系统。如果多重引导系统,则系统盘(C盘)必须为
FAT16或FAT32,否则不支持多重引导。当然,其他分区的文件系统可以为NTFS。

你可能感兴趣的:(磁盘,windows,dos,存储,allocation,微软,C++)