FAT32和NTFS文件系统的区别
今天学习到了文件IO方面,知道了在Linux中使用命令mkdir创建的并不是文件夹而是目录,有很多人喜欢将此认为是文件夹,严格意义上俩者是有很大的不同,今天通过查询资料得知俩者的区别,希望一下对于疑惑的你有所帮助。
目录文件系统的定义
文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构,即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。文件系统是软件系统的一部分,它的存在使得应用可以方便的使用抽象命名的数据对象和大小可变
FAT32文件系统
FAT32格式:
Windows平台的传统文件格式,Windows 95第二版首次引入,取代FAT16(支持文件最大容量2GB),兼容性很好,但缺点是对文件大小有限制,不支持超过4GB的文件。
所以,对于很多大型游戏、镜像文件、压缩包、视频,它是没有办法的。
另外,FAT32格式硬盘分区的最大容量为2TB,虽然U盘做不到,但是现在1xTB硬盘都有了,FAT32已经落后于时代,能不用就别用。
现在格式化U盘的时候,FAT32仍然是默认操作,Windows 10也是如此,更多是出于兼容性的保守考虑。
FAT32文件系统:
FAT32文件系统由DBR及其保留扇区,FAT1,FAT2和DATA四个部分组成,其机构如下图:
这些结构是在分区被格式化时创建出来的,含义解释如下:
DBR及其保留扇区:DBR的含义是DOS引导记录,也称为操作系统引导记录,在DBR之后往往会有一些保留扇区。
FAT1:FAT的含义是文件分配表,FAT32一般有两份FAT,FAT1是第一份,也是主FAT。
FAT2:FAT2是FAT32的第二份文件分配表,也是FAT1的备份。
DATA:DATA也就是数据区,是FAT32文件系统的主要区域,其中包含目录区域。
具体可以看一下第四个参考链接
NTFS文件系统
NTFS格式:
Windows平台目前应用最广泛的格式,也是目前最好的,支持大容量文件和超大分区,而且有很多高级技术,包括长文件名、压缩分区、事件追踪、文件索引、高容错性、数据保护和恢复、加密访问等等。
但是,NTFS仍然是针对机械硬盘设计的,会记录详细的硬盘读写操作,因此对于闪存会有很大的负担和伤害,容易影响寿命。
闪存储存芯片读写次数是有限的,使用日志式文件系统的话,意味着所有对磁盘的操作都要记录日志。大量的小文件读写对于U盘的伤害是极大的,会缩短U盘寿命。
NTFS文件系统:
NTFS (New Technology File System),是 Windows NT 环境的文件系统。新技术文件系统是Windows NT家族(如,Windows 2000、Windows XP、Windows Vista、Windows 7和 windows 8.1)等的限制级专用的文件系统(操作系统所在的盘符的文件系统必须格式化为NTFS的文件系统,4096簇环境下)。NTFS取代了老式的FAT文件系统。
NTFS对FAT和HPFS作了若干改进,例如,支持元数据,并且使用了高级数据结构,以便于改善性能、可靠性和磁盘空间利用率,并提供了若干附加扩展功能。NTFS文件系统拥有以下特点:
安全性高:NTFS支持基于文件或目录的ACL,并且支持加密文件系统(EFS)。
可恢复性:NTFS支持基于原子事务概念的文件恢复,比较符合服务器文件系统的要求。
文件压缩:NTFS支持基于文件或目录的文件压缩,可以很方便的节省磁盘空间。
磁盘配额:NTFS支持磁盘配额,可针对系统中每个用户分配磁盘资源。
一、分析NTFS文件系统的结构
当用户将硬盘的一个分区格式化为NTFS分区时,就建立了一个NTFS文件系统。NTFS文件系统同FAT32文件系统一样,也是用“簇”为存储单位,一个文件总是占用一个或多个簇。
NTFS文件系统使用逻辑簇号(LCN)和虚拟簇号(VCN)对分区进行管理。
逻辑簇号:既对分区内的第一个簇到最后一个簇进行编号,NTFS使用逻辑簇号对簇进行定位。
虚拟簇号:既将文件所占用的簇从开头到尾进行编号的,虚拟簇号不要求在物理上是连续的。
NTFS文件系统一共由16个“元文件”构成,它们是在分区格式化时写入到硬盘的隐藏文件(以”$”开头),也是NTFS文件系统的系统信息。
具体可以看一下第五个参考链接
区别
- FAT32是一种较旧的文件系统,具有有限的文件大小和分区大小功能,而NTFS支持更大的文件和分区。
- NTFS提供了FAT32所缺乏的更好的安全功能,例如文件加密和访问权限。
- NTFS支持高级功能,如磁盘配额和文件压缩,而FAT32不提供这些选项。
- FAT32具有更好的跨平台兼容性,可以实现在不同操作系统间无缝读写,而NTFS兼容性略差。
- NTFS是Windows系统的默认文件系统,具有更高的存储效率,能更好地管理磁盘空间,支持更大的文件和文件夹。但其缺点在于兼容性。
参考
-
详解FAT32文件系统(对于FAT32文件系统介绍的很详细)
-
NTFS文件系统详解(对于NTFS介绍的很详细)