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