V1.0 2024年5月7日 发布于博客园
NTFS、exFAT、FAT32、Ext4文件系统的区别
FAT(File Allocation Table)
FAT(File Allocation Table,文件分配表)是1977年微软为DOS开发的管理软盘的文件系统。
FAT文件系统的最早版本是FAT12,由于其管理的容量非常有限,后来又陆续开发了FAT16文件系统和FAT32文件系统。这里的阿拉伯数字表示数据地址的位数,位数越大,可以表示的空间也就越大。FAT32文件系统最大可以创建4GB的文件,所管理的空间最大为8TB。虽然FAT32文件系统已经做得比较大了,但是跟Linux下的几个动辄EB级的文件系统相比还是差很多。
后来微软又开发了一套新的文件系统,即exFAT文件系统。该文件系统主要是为了适应闪存介质而开发的,并且突破了FAT32文件系统对容量管理的限制,可以实现EB级容量管理。
NTFS(New Technology File System)
NTFS(New Technology File System)是微软用于代替FAT文件系统的第二代文件系统,于1993年首次被引入操作系统中。
NTFS在容量方面有了很大的突破,整个文件系统可以管理16EB的空间,而单个文件大小可以达到256TB。除了容量的突破,NTFS还有很多现代文件系统的高级特性,如日志、压缩和加密等。
Ext4
第四代扩展文件系统(英语:Fourth extended filesystem,缩写为ext4)是Linux系统下的日志文件系统,是ext3文件系统的后继版本。
区别
NTFS | exFAT | FAT32 | Ext4 | |
---|---|---|---|---|
最大单文件 | 256TB | 16EB | 4G | 16TB |
最大管理空间 | 16EB | 128PB | 8TB | 1EB |
最大文件名长度 | 255 个 Unicode 字符 | 255 个 Unicode 字符 | 255 个 Unicode 字符 | 255 个字符 |
主要平台 | Windows | Windows, macOS, Linux | Windows, macOS, Linux | Linux |
备注 | 支持文件权限、加密和压缩 | 优化用于闪存驱动器和SD卡 | 较旧的系统兼容性好 | 支持大量的文件系统特性,如日志、扩展属性等 |
单位换算:1B=8b 1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB ,1 PB = 1024 TB, 1 EB = 1024 PB ,1 ZB = 1024 EB, 1 YB = 1024 ZB
PB(Petabyte),1 PB = 1024 TB,按上例,可以存放100万部电影,人活到100岁也不到90万小时。
EB(Exabyte),1 EB = 1024 PB,相当于52.4万个2T硬盘,一个按300元计算,需要1.57亿人民币。
ZB(Zettabyte),1 ZB = 1024 EB,以 50MB/秒 的速度下载,需要71.4万年。
YB(Yottabyte),1 YB = 1024 ZB,据预测到2025年全球每天产生的数据量将达到491EB,可以存2135天,也就是5年多。目前,应该全球的数据(包括视频、图片)总和加起来都没有这么多...
参考资料
- 文件系统技术内幕:大数据时代海量数据存储之道 (豆瓣) (douban.com)
- 文件系统功能比较 - Win32 apps | Microsoft Learn
- Linux文件系统 - goodbay说拜拜 - 博客园 (cnblogs.com)
- FAT32 vs. exFAT vs. NTFS: What's the Difference? (howtogeek.com)
- 了解文件大小:bit、byte、KB、MB、GB、TB、PB、EB、ZB、YB...... - 哔哩哔哩 (bilibili.com)
- ext4 - 维基百科,自由的百科全书 (wikipedia.org)