操作系统
第四章: 文件管理
文件和文件系统
文件、记录和数据项
- 数据项
基本数据项
- 原子数据
- 数据组织中可以命名的最小逻辑数据单位
- 描述对象某种属性的字符集
- 原子数据
组合数据项
- 由若干基本数据项组成
记录
一组相关数据项的集合
描述一个对象在某方面的属性
对象
文件
有结构文件
无结构文件
一个对象集
属性
- 文件类型
文件长度
- 文件的物理位置
- 文件的建立时间
文件类型和文件系统模型
类型
- 按用途分类
- 按文件中数据的形式分类
- 存取控制属性
文件系统模型
对象及其属性
- 文件
- 目录
- 磁盘存储空间
对对象操纵和管理的软件集合
- 对文件存储空间的管理
- 对文件目录的管理
- 用于将文件的逻辑地址转换为物理地址的机制
- 对文件的读和写的管理
- 文件的共享与保护
文件系统的接口
- 命令接口
- 程序接口
文件操作
- 创建文件
- 删除文件
- 读文件
- 写文件
- 截断文件
- 设置文件的读/写位置
文件的逻辑结构
- 文件逻辑结构的类型
- 有结构文件
- 顺序文件
- 文件中的记录一个接一个地顺序排列
- 记录是可以定长或变长的
- 结构
- 串结构
- 记录之间的顺序与关键字无关
- 顺序结构
- 文件中的所有记录按关键字顺序排列
- 索引文件
- 变长记录文件只能顺序查找
- 索引表
- 索引顺序文件
- 索引顺序文件将顺序文件中的所有记录分为若干个组
- 在索引表中为每组中的第一个记录建立一个索引项
- 直接文件或散列文件
- 给定记录的键值或通过Hash函数转换的键值直接决定记录的物理地址
- 这种映射结构不同于顺序文件或索引文件,没有顺序的特性
- 无结构文件
- 无结构文件将数据按顺序组织成记录并积累保存,它是有序相关信息项的集合,以字节(Byte)为单位
- 只能以穷举搜索的方式
- 管理简单
外存分配方式
- 连续分配
- 优点
- 顺序访问容易
- 顺序访问速度快
- 缺点
- 连续的存储空间
- 事先知道文件的长度
- 链接分配
- 隐式链接
- 一个串联文件结构是按顺序由串联的块组成
- 文件的信息存储在若干个块之中
- 最后一个块为链接字,指出后续地址
- 链首指针存放在文件目录之中
- 显式链接
- 是指把用于链接文件各物理块的指针,显示地存放在内存的一张连接表中。该表在整个磁盘就一张。此表就是文件分配表(FAT)
- 索引分配
- 单级索引
- 多级索引
- 混合索引
- 索引结点中可设置10个直接地址项
- 文件较小的时候可以直接从索引结点中读出该文件的全部盘块号
- 对于较大的文件,将直接地址项变为间接地址
- 多次间接地址(开始增加地址项来提供间接地址)
目录管理
- 文件控制块和索引结点
- 目录结构
- 单级目录结构
- 两级目录结构
- 多级目录结构
- 目录结构
- 路径名
- 当前目录
- 增加和删除目录
- 目录文件不为空时,不可删除
- 或删除目录文件中所有其他文件
- 目录查询技术
- 线性检索法
- Hash方法
文件存储空间的管理
空闲表法
- 存储空间的分配与回收
- 和动态分配类似
空闲链表法
- 空闲盘块链
- 空闲盘区链
位示图法
位示图
◆位示图维护成本很低
◆位示图可以非常容易找到空闲盘块
◆位示图使用0/1比特位,占用空间很小盘块的分配
- 令值变成1
盘块的回收
- 令值变成0
成组链接法
空闲盘块的组织
以栈的形式体现
空闲盘块的分配与回收
- 执行空闲盘块数加1操作
- 执行空闲盘块数减1操作
文件共享与文件保护
利用符号链实现文件共享
磁盘容错技术
第一级容错技术SFT-Ⅰ
双份目录和双份文件分配表 : 备份一份文件目录和文件分配表
热修复重定向和写后读校验
第二级容错技术SFT-Ⅱ
- 磁盘镜像
- 磁盘双工
数据一致性控制
事务
- 定义
- 记录
- 恢复
检查点
并发控制
重复数据的数据一致性问题