简介
文件分配表地址,有两种解释1、文件地址,对应于文件控制块中的物理地址段;文件分配表在内存中的地址。由于整个系统中文件分配表只有一个,文件分配表地址多指文件地址。在文件管理中,凡是属于某一文件的第一个盘块号,或者说是每一条链的链首指针所对应的盘块号,均作为文件地址被填入相应文件的 FCB 的“物理地址”字段中。由于查找记录的过程是在内存中进行的,因而不仅显著地提高了检索速度,而且大大减少了访问磁盘的次数。文件分配表地址的作用有确定文件指向盘块号和减少访问磁盘的次数。
簇的基本概念为了适应磁盘容量不断增大的需要,在进行盘块分配时,不再以盘块而是以簇(cluster)为基本单位。簇是一组连续的扇区,在 FAT 中它是作为一个虚拟扇区,簇的大小一般是 2n(n 为整数)个盘块,在 MS-DOS 的实际运用中,簇的容量可以仅有一个扇区(512 B)、两个扇区(1 KB)、四个扇区(2 KB)、八个扇区(4 KB)等。一个簇应包含扇区的数量与磁盘容量的大小直接有关。例如,当一个簇仅有一个扇区时,磁盘的最大容量为 8 MB;当一个簇包含两个扇区时,磁盘的最大容量可以达到 16 MB;当一个簇包含了八个扇区时,磁盘的最大容量便可达到 64 MB。
由上所述可以看出,以簇作为基本的分配单位所带来的最主要的好处是,能适应磁盘容量不断增大的情况。值得注意的是,使用簇作为基本的分配单位虽可减少 FAT 表中的项数(在相同的磁盘容量下, FAT 表的项数是与簇的大小成反比的)。 这一方面会使 FAT 表占用更少的存储空间,并减少访问 FAT 表的存取开销,提高文件系统的效率;但这也会造成更大的簇内零头(它与存储器管理中的页内零头相似)。1
文件控制块为了能对一个文件进行正确的存取,必须为文件设置用于描述和控制文件的数据结构,称之为“文件控制块(FCB)” 。文件管理程序可借助于文件控制块中的信息,对文件施以各种操作。文件与文件控制块一一对应,而人们把文件控制块的有序集合称为文件目录,即一个文件控制块就是一个文件目录项。通常,一个文件目录也被看做是一个文件,称为目录文件。为了能对系统中的大量文件施以有效的管理,在文件控制块中,通常应含有三类信息,即基本信息、存取控制信息及使用信息。
基本信息类基本信息类包括: ①文件名,指用于标识一个文件的符号名。在每个系统中,每一个文件都必须有惟一的名字,用户利用该名字进行存取。② 文件物理位置,指文件在外存上的存储位置,它包括存放文件的设备名、文件在外存上的起始盘块号、指示文件所占用的盘块数或字节数的文件长度。③ 文件逻辑结构,指示文件是流式文件还是记录式文件、记录数;文件是定长记录还是变长记录等。④ 文件的物理结构,指示文件是顺序文件,还是链接式文件或索引文件。
存取控制信息类存取控制信息类包括:文件主的存取权限、核准用户的存取权限以及一般用户的存取权限。
使用信息类使用信息类包括: 文件的建立日期和时间、 文件上一次修改的日期和时间及当前使用信息(这项信息包括当前已打开该文件的进程数、是否被其它进程锁住、文件在内存中是否已被修改但尚未拷贝到盘上)。应该说明,对于不同 OS 的文件系统,由于功能不同,可能只含有上述信息中的某些部分。
图 1 示出了 MS-DOS 中的文件控制块, 其中含有文件名、 文件所在的第一个盘块号、文件属性、文件建立日期和时间及文件长度等。FCB 的长度为 32 个字节,对于 360 KB 的软盘,总共可包含 112 个 FCB,共占 4 KB 的存储空间。