文件的逻辑结构
无结构文件 |
将数据按顺序组织成记录并积累保存 |
||
有结构文件 (记录式文件) |
顺序文件 |
串结构 |
记录之间的顺序与关键字无关 |
顺序结构 |
记录之间的顺序与关键字有关 |
||
索引文件 |
为变长文件建立索引表,提高查找速度 |
||
索引顺序文件 |
顺序文件和索引文件的结合 |
||
直接文件 |
通过哈希函数直接决定记录地址 |
文件的物理结构
连续分配 |
在磁盘上连续存放文件 |
|
链接分配 |
隐式 |
采用类似链表的结构 |
显式 |
把隐式文件中指针单独抽离出来,放在FAT表中 |
|
索引分配 |
每个文件所有的盘块好都集中存放,建立索引表 |
混合索引分配(高频)
注意索引分配中,每个文件都有其索引块(一个磁盘块地址的数组),一个索引块通常为一个磁盘块,因此它本身能直接读写,为了处理大文件,可以将多个索引块链接起来。索引分配中高频考点的是混合索引(如系统既采用直接地址,又采用单级索引分配方式或两级索引分配方式)。
混合索引分配的实现:
地址分为直接地址(存放该文件数据所在盘块的盘块号)、一次间接地址(一次间址块就是索引块,如下图的“1”,记入文件的多个盘块号)和多次间接地址(如下图的“2”,在二次间接地址块中记入所有一次间接地址块的盘号)。
上图的左边最大坨是一个索引结点,文件的索引结点也是存放在簇中的。注意一个文件对应一个文件索引结点。上图最右边的【数据】指直接存放数据的磁盘块(又称为簇)。
OS给文件分配存储空间是以 簇/物理块 为单位的。