Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11287384
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-05-28 09:08:52

簇的大小

  在文章的一开始,介绍磁盘碎片的产生的时候,为了便于理解,忽略了簇的概念。现在,我们已经理解了磁盘碎片的产生,是时候认识簇的存在了。

  硬盘诞生的时候,并没有簇的概念,簇是随着文件分配表的发展而产生的。

  在没有簇的时代,面对一个容量为360KB的磁盘,根据一个扇区的容量为512字节,就可以计算出这个磁盘一共有720个扇区。要记录磁盘上每一个扇区的信息,这个磁盘上的文件分配表就应当至少有720条记录。

  事实上,那时在磁盘上使用的是12位的文件分配表,12位的含义是2的12次方,即4096,也就是说,当时在磁盘上使用的文件分配表有4096条记录,最多可支持4096个扇区。根据扇区的容量计算可得:12位的文件分配表最大可支持2MB的磁盘空间。随着硬盘技术的发展,12位的文件分配表很快就不够用了,采用更大的16位文件分配表的同时,簇的概念产生了。

  簇就是更大的扇区,它可以是一个扇区、也可以是2个、4个、8个等等,它究竟有多大是在高级格式化的时候决定的。把相邻的若干个扇区组合起来就是一个簇,和扇区一样,一个簇内不允许存在两个文件,因此当储存一段比单个簇的容量还要小的数据时,会浪费一些储存空间。

  网络上一直流传着一种奇怪的说法,认为较小的簇有助于减少磁盘碎片,提到这一点的文章都没有对这个问题作更深的解释,我们也无从得知这些文章的作者为何会这样认为。

  从上文中两种产生磁盘碎片的典型过程来看,磁盘碎片的产生与簇的大小并无直接关系。事实上,较大的簇可以减少硬盘中簇的总数,而簇的总数限制了碎片的总数。

  举例而言,假设一个硬盘中只有18个簇,那么这个硬盘中最多也只能产生18个碎片。而使用较小的簇则会增加出现更多磁盘碎片的可能性。因此,我们没有理由相信较小的簇可以减少磁盘碎片。

  当硬盘中存在大量小文件时,较小的簇有助于节省一部分储存空间。因此,从节约空间的角度考虑应当采用较小的簇,而从减少磁盘碎片的角度考虑则应当采用较大的簇。
阅读(956) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~