文件的概念
- 计算机以进程为基本单位进行资源的调度分配
- 用户以文件为基本单位进行输入输出
文件的逻辑结构
- 无结构文件(流式文件)
- 内部数据由二进制流组成(txt)
- 有结构文件(记录式文件)
由记录组成:可变长记录和定长记录
- 顺序文件
文件中的记录(逻辑上)顺序排列,可以定长可以变长。物理上顺序或链式存储
- 链式存储
- 无论记录定长/变长,都无法随机存取,只能从第一条开始往后查
- 顺序存储
- 可变长记录
- 无法随机存取
- 定长记录
- 可随机存取
记录定长L,第i个记录位置为i*L
- 若用串结构(记录顺序与关键字无关)
- 无法快速找到某关键字对应的记录
- 若用顺序结构
- 可以快速找到关键字对应记录(折半查找)
- 索引文件
解决可变长记录文件必须顺序查找的麻烦
- 索引表
本身是定长记录的顺序文件
- 索引号-长度-指针
- 索引顺序文件
解决索引文件的索引表占用空间大的问题
- 为记录分组,每组一个索引
文件目录
目录本身是一有结构文件
- 文件控制块FCB
目录文件中的一条记录
- 作用:实现文件名与文件之间的映射
- 一个FCB是一个目录项
- 索引结点
- 除文件名外的描述信息
- 磁盘索引结点
- 内部索引结点
- 目录结构
- 单级目录结构
早期OS不支持多级目录,整个系统一张目录表
- 按名存取,不允许文件重名
- 两级目录结构
- 主文件目录
- 用户文件目录
- 多级目录结构(树形目录结构)
- 无环图目录结构
- 解决树形目录结构不便于文件共享的缺点
文件的物理结构
文件分配方式:文件如何存放在外存中
- 连续分配
- 目录中存放起始块号:区域长度
- 优点
- 支持顺序访问和直接访问
- 实现简单、存取速度快
- 缺点
- 不方便文件拓展
- 存储空间利用率低,会产生外部碎片
- 链接分配
- 隐式链接
- 存放起始块号:结束块号
- 显式链接
- 目录项中记录文件起始块号
- 文件分配表FAT
把用于链接文件各物理块的指针放在FAT表中
物理块号:下一块号