前言
文件的结构是指文件的组织形式。从用户角度看到的文件组织形式成为文件的逻辑结构,文件系统的用户只要知道所需文件的文件名就可以存取文件中的信息,而无须知道这些文件究竟存放在什么地方。从实现的角度看,文件在文件存储器上的存取方式称为文件的物理结构。
正文
1. 文件的逻辑结构
- 一是有结构的记录式文件,它是由一个以上的记录构成的文件,故又称为记录式文件;
- 二是无结构的流式文件,它是由一串顺序字符构成的文件。
2. 有结构的记录式文件
- 定长记录。指文件中各记录的长度相同。所有记录中的各个数据项都被处在记录中灰姑娘相同的位置,具有相同的顺序及相同的长度,文件的长度用记录数目表示。定长记录的特点是处理方便,开销小,它是目前较常用的一种记录格式,被广泛用于数据处理中。
- 变长记录。指文件中各记录的长度不相同。这是因为:一个记录中所包含的数据项数目可能不同,如数的著作者、论文中的关键词;数据项本身的长度不定,如病历记录中的病因、病史,科技情况记录中的摘要等。但是,不论是哪一种结构,在处理前每个记录的长度是可知的。
3. 无结构的流式文件
文件体为字节流,不划分记录。无结构的流式文件通常采用顺序访问方式,并且每次读写访问可以指定任意数据长度,其长度以字节为单位。对于流式文件访问,是利用读/写指针指出下一个要访问的字符。可以把流式文件看作是流式文件,即使是有结构的文件,也被视为流式文件,系统不对文件进行格式处理。
4. 文件的物理结构
文件的物理结构是指文件的内部组织形式,即**文件在物理存储设备上的存放方法。由于文件的物理结构决定了文件在存储设备上的存放位置,所以文件的逻辑块号到物理块号的转换也是由文件的物理结构决定的。
- 连续结构。连续结构也称为顺序结构,它将逻辑上连续的文件信息(如记录)依次存放在连续编号的物理块上。只要知道文件的起始物理块号和文件的长度,就可以很方便地进行文件的存取。
- 链接结构。链接结构也称为串联结构,它是将逻辑上连续的文件信息(如记录)存放在不连续的物理块上,每个物理块设有一个指针指向下一个物理块。因此,只要知道文件的第一个物理块号,就可以按链接指针查找整个文件。
- 索引结构。在采用索引结构时,将逻辑上连续的文件细细(如记录)存放不币连续的物理块中,系统为每个文件建立一张索引表。索引表记录了文件信息所在的逻辑块号对应的物理块号,并将索引表的起始地址放在与文件对应的文件目录项中。
- 多个物理块的索引表。索引表是在文件创建时由系统自动建立的,并与文件一起存放在同一个文件卷上。根据一个文件大小的不同,其索引表占用物理块的个数不等,一般占一个或几个物理块的个数不等,一般占一个或几个物理块。多个物理块的索引表可以有两种组织方式:链接文件和多重索引方式。
5. UNIX 文件系统的索引结构
在 UNIX 文件系统中采用的是三级索引结构,在文件系统中 inode 是基本的构件,它表示文件系统树型结构的结点。UNIX 文件索引表项分 4 种寻址方式:直接寻址、一级间接寻址、二级间接寻址和三级间接寻址。