一、文件的逻辑结构
1.逻辑结构的文件类型
有结构文件
文本文件 文档 媒体文件
◆ 文件内容由定长记录和可变长记录组成
◆ 定长记录存储文件格式、文件描述等结构化数据项
◆ 可变长记录存储文件具体内容
无结构文件
二进制文件 链接库
◆ 也称为流式文件
◆ 文件内容长度以字节为单位
exe文件 dll文件 so文件
2.顺序文件
◆ 顺序文件是指按顺序存放在存储介质中的文件
◆ 磁带的存储特性使得磁带文件只能存储顺序文件
◆ 顺序文件是所有逻辑文件当中存储效率最高的
3.索引文件
◆ 可变长文件不适合使用顺序文件格式存储
◆ 索引文件是为了解决可变长文件存储而发明的一种文件格式
◆ 索引文件需要配合索引表完成存储的操作
二、辅存的存储空间分配
辅存的分配方式
1.连续分配
◆ 顺序读取文件内容非常容易,速度很快
◆ 对存储要求高,要求满足容量的连续存储空间
2.链接分配
◆ 链接分配可以将文件存储在离散的盘块中
◆ 需要额外的存储空间存储文件的盘块链接顺序
3.索引分配
◆ 把文件的所有盘块集中存储(索引)
◆ 读取某个文件时,将文件索引读取进内存即可
◆ 每个文件拥有一个索引块,记录所有盘块信息
◆ 索引分配方式支持直接访问盘块
◆ 文件较大时,索引分配方式具有明显优势
4.隐式链接
◆ 隐式分配的下一个链接指向存储在当前盘块内
◆ 隐式分配适合顺序访问,随机访问效率很低
◆ 可靠性差,任何一个链接出问题都影响整个文件
5.显式链接
◆ 不支持高效的直接存储(FAT记录项多)
◆ 检索时FAT表占用较大的存储空间(需要将整个FAT加载到内存)
存储空间管理
空闲表
◆ 空闲盘区的分配与内存分配类似
◆ 首次适应算法、循环适应算法等
◆ 回收过程也与内存回收类似
空闲链表
◆ 空闲链表法把所有空闲盘区组成一个空闲链表
◆ 每个链表节点存储空闲盘块和空闲的数目
位示图
◆ 位示图维护成本很低
◆ 位示图可以非常容易找到空闲盘块
◆ 位示图使用0/1比特位,占用空间很小