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

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-06-08 06:23:36

在开发最初的个人计算机时,人们用180KB的软磁盘,不久便采用360KB的双面磁盘。为了组织这些存储设备上数据,最初的DOS系统开发者设计一个表来指示哪个扇区属于哪些文件,以及哪些扇区空闲,这样可以最大限度地利用这些磁盘空间,使文件可以存储在不连续的扇区上。文件数据可以分散有组织地存储在磁盘的不同扇区,这称为文件分割。 由于在360KB磁盘上有720个扇区,因此,表要做得足够大以能标识每个扇区,并预留一些空间以备未来采用更大存储空间的磁盘。表中的每个记录只用一个字节,这样只能有256个可能值,不能满足这么多扇区的需要。假如采用两个字节则最多可以有65,536个记录,但这样将浪费磁盘空间。因此,综合这两种情况,决定采用12位作为表记录的长度来跟踪磁盘上扇区的利用情况。采用12位长度可以有4,096个可能值,假如每个表记录对应一个512字节扇区,那么这个FAT表可以处理高达2MB存储容量的存储设备。 但要从这么长的表中得到需要的信息将花太长时间,因此,人们引入了簇(cluster)的概念。这使设备的最小存储单元从单个扇区增加到固定数量扇区,这些固定数量扇区称为簇。对于180KB磁盘,簇的大小为两个扇区(1,024字节)。因此,假如要保存一个500字节的文件,将占用磁盘上1,024个字节。这看上去会浪费,但实际上簇的概念在存储大文件时效果很好,而实际上多数系统和用户文件都是较大的。表1列出FAT所能代表簇的最大数字。 簇的概念 磁盘上最小可寻址存储单元称为扇区,通常每个扇区为512个字节(或字符)。由于多数文件比扇区大得多,因此假如对一个文件分配最小的存储空间,将使存储器能存储更多数据,这个最小存储空间即称为簇。根据存储设备(磁盘、闪卡和硬盘)的容量,簇的大小可以不同以使存储空间得到最有效的应用。在早期的360KB磁盘上,簇大小为2个扇区(1,024字节);第一批的10MB硬盘的簇大小增加到8个扇区(4,096字节);现在的小型闪存设备上的典型簇大小是8KB或16KB。2GB以上的硬盘驱动器有32KB的簇。表2列出在给定簇大小和FAT类型的最大分区。                     表1:FAT位数与簇数量对应表 FAT位数 簇数量 12 4096 16 65536 32 4294967296   为什么采用簇呢?通常,存储设备上的空间分配是随机的。在一个新存储设备上,文件连续存储,并知道开始和结束扇区和长度,在读取时可以根据这些信息重新得到所存储的文件。但是,过一段时间后,有些文件将会被擦掉,同时可能有些文件增大,这时不能保证同一个文件存储在连续的一系列扇区里。因此,需要一种方法来辨别哪个扇区被分配到某些文件,以及还有哪些扇区可用。这时可以采用一种表结构来实现这种功能,使每个扇区对应一个表记录。然而,由于大多数文件存储在多个扇区,一个记录对应一个扇区的作法将造成一些浪费。因此,采用每个 录代表一个固定数量扇区将更有意义,这个固定扇区被称为簇。 给文件分配扇区 假如给一个文件(簇)分配的最小存储空间大小取决于保存该文件的介质类型,我们必须有一种方法来标明某个簇
阅读(357) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~