今天有人问我说:为什么我新建一个文本文档才写几个字,怎么占用空间
16K
?
就事论事,我这么解释的。
描述:
她电脑
C
盘
Fat32
格式,
25G
;
E
盘
NTFS
格式,
50G
。(
xp
系统这样分区太不合理了吧?汗……)
我在
C
盘下建立以文本文档,输入
wang_bokai
,
10
个字节。复制文件到
E
:
\
。详细信息和文件大小如下图。一个文件有四种不同大小。
分析:
我一条条来解释。
10
字节:
本来就只写了
10
个字符,当然
10
字节,没什么好解释的;
1KB
:
因为系统显示是以
KB
为单位的,
0KB
到
1KB
之间就显示
1KB
(不包含
0KB
),
1KB
到
2KB
之间显示
2KB
,依此类推。
C
盘显示16.0KB
和E
盘显示4.00KB
,这个要详细解释了:
当操作系统从磁盘读取文件时先请求文件系统(
Fat\Fat32\NTFS
),再打开文件。扇区是磁盘最小的物理存储单元,但操作系统没法对数量众多的扇区寻址,所以操作系统就将相邻扇区组合在一起,形成一个簇。然后对簇统一管理。每个簇包括
2
、
4
、
8
、
16
等扇区个数。扇区只是逻辑概念,不具有磁盘物理特性。操作系统规定了一个簇只能放一个文件,所以一个文件要占用一个或多个簇。比如说一个簇只有一个字节被占用,那这个簇其他部分就浪费了。
关于簇大小我们来看看我从网上找到的几个表:
FAT 文件系统使用以下簇大小。这些大小适用于支持 FAT 任何操作系统:
![](https://s1.51cto.com/attachment/200910/200910041254625551140.jpg)
下表显示了 Windows XP 用于 FAT32 格式化的默认值。
![](https://s1.51cto.com/attachment/200910/200910041254625530593.jpg)
下表显示了 Windows XP 用于 NTFS 格式化的默认值。
![](https://s1.51cto.com/attachment/200910/200910041254625490109.jpg)
从上面的表可以看得出来,文件只有10字节,但占用了一个簇的空间。也就是说,在Fat32下占用了16 KB大小(因为16 G<25 G<32 G),在NTFS下却占用了4 KB大小(25 G>>2 G)。
结论:
从分析看来,NTFS比FAT\FAT32能更好的压缩空间。各种文件系统对簇的管理都不同,利用簇管理磁盘,能对硬盘的利用率和空间浪费选择一个最佳位置。
转载于:https://blog.51cto.com/kennywong/209509