Windows 和 Linux 的文件系统(FAT / NTFS
HDD(Files System) Types in Windows and Linux
- *** 微软(Microsoft)的文件系统(包括DOS和Windows操作系统)***
-
FAT16:一种有一定年代的文件系统,可以管理 < = 4GB的分区。很多中文的资料中都说FAT16只能管理不大于2GB的分区,那是因为它们是基于DOS,Win 95,Win 98和Win ME操作系统来讲的,在这些操作系统上,确实FAT16只能管理不大于2GB的分区。但是英文的资料(微软Microsoft官方的资料)显示的是4GB,是说的Windows XP系统上最多管理不大于4GB的分区。
为什么是4GB呢?因为FAT16中的16表示16位的簇(cluster,之前说过cluster是多个扇区的意思,通常每个扇区为512个字节),在Windows XP系统里FAT16文件系统中簇的大小最大可以达到65536个字节。2的16次方是65536。所以65536 * 65536 = 4294967296 = 4 * 1024 * 1024 * 1024 ,所以是4GB(1 GB = 1024 MB = 1024 * 1024 KB = 1024 * 1024 * 1024 B。这里的B是Byte的缩写,1024是2的10次方)。而DOS,Win 95,Win 98和Win ME操作系统中,簇最大是32768个字节,所以FAT16在这些操作系统里确实只能管理2GB大小的分区。FAT16在DOS操作系统至Windows XP(衍生自Windows NT系统)中都有使用。
- FAT32:从Win 98开始流行,是FAT32的增强版本。可以管理不大于2TB的分区(1TB = 1024GB,所以2TB = 2048GB)。FAT16和FAT32这对“胖胖兄弟组合”(fat是英语“胖”的意思。当然其实FAT是File Allocation Table的缩写,表示“文件分配表”)在生产磁盘碎片方面可是一把好手,因为簇的管理方式存在一个缺陷就是可能会浪费空间,就不深入解释了,不然今天的课是没完了。所以对于这两种文件系统,你需要经常进行磁盘碎片整理,不然你的分区会越来越乱。
-
NTFS:在Win NT操作系统中首次被使用,后来我们也知道Win NT演进为Win XP,一直到现在的Win 10,其实都是Win NT内核的不断演进。所以NTFS是New Technology File System,也就是NT(New Technology)的文件系统。NTFS可以管理16Eo的分区(也就是近似 16000000000 GB),当然这是理论值。
NTFS也是以簇为单位来存储数据文件,但NTFS中簇的大小并不依赖于磁盘或分区的大小。簇尺寸的缩小不但降低了磁盘空间的浪费,还减少了产生磁盘碎片的可能。比之FAT文件系统,NTFS在系统故障或突然断电时,可以更容易地恢复数据,因为它是日志型文件系统。NTFS还可以对文件进行加密,压缩等。但是它也会产生磁盘碎片,只不过比之FAT文件系统要好很多。
-
当然更早期的文件系统还有FAT12,FAT8等。
- *** Linux的文件系统 ***
-
ext2:这个文件系统在Linux下使用了很久。ext是英语Extended的前三个字母,是“扩展的”的意思。由法国程序员Remy Card设计,他也是ext(第一代扩展文件系统)的设计者。小小自豪一下,因为小编住在法国。ext文件系统的一大优势是几乎不怎么产生磁盘碎片,所以在Linux系统下一般不需要进行磁盘碎片整理。
-
ext3:ext3和ext2很接近,不过ext3是日志型文件系统,所以比之ext2(不是日志型),ext3在故障时可以恢复数据。ext3和ext2高度兼容。
-
ext4:ext3的演进,扩大了磁盘分区的大小,进一步减少了磁盘碎片的产生机率。
-
所以ext2,ext3和ext4分别是Second Extended Filesystem,Third Extended Filesystem和Fourth Extended Filesystem的缩写,表示第二代扩展文件系统,第三代扩展文件系统和第四代扩展文件系统。