文件管理
概述
文件结构:
- 域:基本的数据单元,一个域包含一个值
- 记录:一组相关域的集合,可视为应用程序的一个单元
- 文件:一组相似记录的集合,被用户和应用程序视为一个实体,可通过名字访问
- 数据库:一组相关数据的集合
文件管理:
文件管理系统负责使用户建立、撤销、读写、修改、复制文件,和对文件的按名存取和进行存取控制
文件组织和访问
文件管理的评价标准
- 快速访问
- 维护简单
- 易于修改
- 可靠性
- 节约存储空间
基本文件组织:
- 堆(pile):最简单的文件组织形式;无结构;数据按它们到达的顺序被收集;使用穷举查找方式访问数据
- 顺序文件:最常用的文件组织形式;记录格式固定;记录长度固定;记录按照关键域的顺序来存储,关键域唯一地标识该记录;访问使用顺序搜索;通常用于批处理应用中,设计对所有记录进行处理
- 索引顺序文件:支持随机访问的文件索引和溢出文件
- 索引文件:摒弃顺序性和关键字,只能通过索引来访问记录
- 直接/散列文件:可以直接访问磁盘中任何一个地址已知块,通常一次只访问一条记录
文件目录
目录自身也是一个文件,提供文件名和文件之间的映射
文件目录的信息单元:
- 基本信息:文件名、文件类型、文件组织
- 地址信息:卷、起始地址、使用大小、分配大小
- 访问控制信息:所有者、访问信息、许可的行为
- 使用信息:数据创建、创建者身份、最后一次读访问的日期、最后一次读用户的身份、最后一次修改的日期、最后一次修改者的身份、最后一次备份的日期、当前使用
结构:目录项列表、两级方案、层次或树状结构
辅存管理
文件分配
FAT,文件分配表
- 连续分配:创建文件时,给文件分配一组连续的块;在FAT中只有一个表项,用于说明起始块和文件的长度;有外部碎片
- 链式分配:基于单个块,链中的每块都包含指向下一块的指针;也只有一个表项,用于说明起始块和文件的长度;适合顺序文件;没有外部碎片;局部性原理不再适用,需要像顺序处理那样一次取入一个文件的多个块
- 索引分配:每个文件在FAT中都有一个一级索引,分配给该文件的每个分区在索引中都有一个表项
空闲空间管理
需要使用磁盘分配表(DAT)来知道磁盘中哪些块可用
- 位表:使用一个向量,向量的每一位对应磁盘中的每一块,0空闲,1已使用
优点:很容易找到一个或一组连续的空闲块
- 链接空闲区:不需要DAT,使用指向每个空闲区的指针和它们的长度值,将空闲区链接起来
- 索引:把空闲空间视为一个文件,使用索引表
- 空闲块列表:每块指定一个序号