第八章 文件管理
8.1文件概念
文件引入的目的:信息管理的需要、操作系统本身需要
文件的定义
从操作系统上来看: 文件是在逻辑上具有完整意义的一组相关信息的集合 。
从逻辑上说:
它可以是一组相关的字符流集合。(无结构)
也可以是一组相关的记录集合。(有结构)
文件类型:
按用途分 :系统文件 、用户文件 、库文件
按性质分 :普通文件 、目录文件 、特殊文件
按存取属性分 :可执行文件 、只读文件 、读/写文件
按文件中的数据形式分 :源文件 、目标文件 、可执行文件
按文件的逻辑结构分 :有结构文件 、无结构文件
按文件的物理结构分 :连续文件 、链接文件 、索引文件
文件的属性:描述文件的原信息
文件的操作:对记录的操作、对文件的操作
引入文件的优点:用户使用方便、文件安全可靠、文件可备份、文件可共享
文件访问方式:顺序访问、直接访问
文件结构:无结构文件(如流式文件)、有结构文件、树形文件
树形文件是特殊的有结构文件
有结构文件的组织形式:顺序文件、索引文件、索引顺序文件
文件系统
文件系统是指含有大量的文件及其属性说明、对文件进行操纵和管理的软件,以及向用户提供的使用文件的接口的集合。
文件系统软件结构:
- 文件系统接口
- 文件管理软件:外存储设备驱动程序、物理文件系统、I/O管理程序、逻辑文件系统
- 文件及其属性
文件系统的功能:文件的按名存取、文件的共享和保护、文件的操作和使用
8.2文件组织
卷是存储介质的物理单位,对应于一块磁带、一块软盘、一个光盘片、一个硬盘分区
块是存储介质上连续信息所组成的一个区域,也叫做物理记录
文件存储:
顺序存取设备是严格依赖信息的物理位置次序进行定位和读写的存储设备。如磁带机、光盘。
直接存取存储设备又称随机存取设备,如磁盘。
文件的组织结构:逻辑结构(流式结构、记录式结构)、物理结构(顺序结构、链式结构、索引结构)
块越大磁盘的读取速率越高,磁盘空间的利用率越低。
文件的物理结构操作系统存储角度:
连续存储结构、非连续存储结构(链接存储(隐式链接存储、显式链接存储FAT表)、索引存储(一级索引存储、两级索引存储、多级索引存储、Unix的多级混合索引存储))
索引存储盘块存放的是索引块和文件块。
FAT(文件分配表)
若存储块有2的N次方块,FAT有2的N次方个元素,每项至少需要N位的宽度。
FAT只能用于容量比较小的磁盘中。
扇区:磁盘上最小可寻址存储单元(512字节)
簇=存储块:设备的最小存取单元,固定数量的扇区。
磁盘容量=FAT长度×簇容量=FAT长度×簇扇区数×512字节
Unix的多级混合索引存储
8.3目录
目录的功能:
- 实现“按名存取”
- 提高对目录的检索速度
- 允许文件同名
- 文件共享
文件控制块和索引节点
文件控制块(FCB):描述和控制文件的数据结构
目录:FCB的有序集合即文件目录(通常放在磁盘上)
索引结点:将文件名和文件描述信息分开,文件描述信息单独形成一个称为索引结点的数据结构,简称i结点。
目录=文件名+索引结点
索引结点:磁盘索引结点、内存索引结点
设目录文件所占盘块数为N,则顺序查找一个目录项平均需要调入盘块(N+1)/2次。
文件目录是一种数据结构,有若干目录项组成。
文件目录的内容:
文件的存取控制信息
文件的结构信息
文件的管理信息
文件目录是目录文件的中记录的一条信息。
目录是一种特殊的文件。目录可能是整条FCB,如DOS;也有可能是FCB的一部分,如Unix,Linux
单级目录
单级目录是最简单的一个目录形式,整个系统建立一张目录表,为每个文件分配一个目录项,如CP/M目录结构。
两级目录
–整个系统建立一个主文件目录MFD,其中每个用户文件目录占一项。
–为每个用户建立一个目录UFD,用户可根据自己的需要建立文件,并且在UFD目录中填一项。
树形目录
两级目录的推广
–主目录为根结点。–数据文件为叶子结点。–其他各级目录均为树的结点。
目录的查询
线性检索、哈希检索、B+树
文件的共享
基于索引结点的共享方式
基于符号链接的文件共享
空闲存储空间的管理:空闲表、空闲链、位示图(0空闲,1已分配)、成组链接法
位示图存储总量=磁盘大小/(8×磁盘块大小)B
8.4文件系统的可靠性
坏块管理:
(1)发现错误盘块——写后读校验
(2)处理方法——热修复重定向
备份——提高可靠性
(1)备份设备 磁带 磁盘 光盘
(2)备份方法 :完全转储 、增量转储
查询文件系统不一致的方法及处理措施: 盘块号一致性检查、链接数一致性检查
数据一致性控制
事务:是用于访问和修改各种数据项的一个程序单位。
恢复算法的两个过程:
–Undo(Ti):把所有事务Ti修改过的数据,恢复为修改前的值。
–Redo(Ti):把所有事务Ti修改过的数据,设置为新值。
检查点:引入检查点的目的是使对事务记录表中事务记录的请求的清理工作经常化。
8.5文件保护机制
保护机制:保护域、保护矩阵
影响文件安全性的主要因素:
人为因素、系统因素、自然因素
进程与保护域之间的联系:
静态联系:指进程的可用资源集在进程的整个生命期中是固定的。
动态联系:指进程的可用资源集在进程的整个生命期中是可变的
访问矩阵的实现:用户权限表(行)、存取控制表(列)
用户权限表:
每个用户一张,表明用户对所有文件可进行的操作。
存取控制表:
为每个对象设置一张存取控制表,列出可以访问改对象的所有域以及在该域的访问权限
分级安全管理:
系统级、用户级、目录级、文件级