FAT(File Allocation Table)是“文件分配表”的意思。就是用来记录文件所在位置的表格,它对于硬盘的使用是非常重要的,假若丢失文件分配表,那么硬盘上的数据就会因无法定位而不能使用了。
扇区:一般扇区为512个字节。
簇:由若干个扇区组成,是存取数据的最小单位。如果簇大小为16K,文件大小为1字节,那也要用一个簇来存,而且该簇不用再拿来他用。
微软在Dos和Windows系列操作系统前后曾使用了6种不同的文件系统,FAT12、FAT16、FAT32、NTFS、NTFS5.0和WINFS,现在的CF卡以及SD卡等闪存卡大部分都可以支持FAT16和FAT32。
一、FAT16使用了16bit来描述一个簇,故称之为FAT16。看了上一篇介绍FAT16 的文章就知道,FAT16由于受到最大支持容量和簇大小关系的限制,因此每超过一定容量的分区之后,它所使用的簇(Cluster)大小就必须扩增,以适应更大的磁盘空间。FAT16各分区与簇大小的关系如下表:
分区大小 | FAT16簇大小 |
16MB-127MB | 2KB |
128MB-255MB | 4KB |
256MB-511MB | 8KB |
512MB-1023MB | 16KB |
1024MB-2047MB | 32KB |
如果你在一个1000MB的分区中存放50KB的文件,由于该分区簇的大小为16KB,因此它要用到4个簇才行。而如果是一个1KB的文件,它也必须使用一个簇来存放。那么每个簇中剩下的空间可否拿来使用呢?答案是不行的,所以在使用磁盘时,无形中都会或多或少损失一些磁盘空间,形成大量的磁盘碎片。
由上可知,FAT16文件系统有两个最大的缺点:
(1)磁盘分区最大只能到2GB。FAT16文件系统已不能适应当前这种大容量的硬盘,必须被迫分区成几十甚至几百个磁盘空间。而分区磁盘的大小又牵扯出簇的问题来,可谓影响颇大。
(2)使用簇的大小不恰当。试想,如果一个只有1KB大小的文件放置在一个1000MB的磁盘分区中,它所占的空间并不是1KB,而是16KB,足足浪费了15KB。
以上这两个问题常常使得用户在“分多大的分区,才能节省空间,同时又可使硬盘的使用更加方便有效”的抉择中徘徊不定。
二、FAT32文件系统
为了解决FAT16存在的问题,开发出FAT32系统。FAT32使用了32bit来表示每个簇。利用FAT32所能使用的单个分区,最大可达到2TB(2048GB),而且各种大小的分区所能用到的簇的大小,也是恰如其分,上述两大优点,造就了硬盘使用上更有效率。现将与分区与簇的大小汇整如下,我们可仔细做个比较:
FAT16和FAT32的对比:
以当前硬件所能支持的情况下,如将8GB硬盘划分为单个分区的话,使用的簇的大小也只有4KB,比起以往的FAT16来说,真是节省了许多空间。
FAT32就是微软为了取代FAT16而开发出的又一种文件管理系统,FAT32最大可支持2TB(2048GB),对磁盘空间的管理也优于FAT16。
FAT32是比FAT16更先进、性能更好的文件管理系统。大容量闪存卡用FAT32,小容量闪存卡用FAT16。
作者:曹祥铭-Charles
来源:优快云
原文:https://blog.youkuaiyun.com/Ming_5257/article/details/73014942
版权声明:本文为博主原创文章,转载请附上博文链接!