一、文件系统概念
文件
定义:
文件是计算机存取的一种重要组织形式
- 文件有若干信息项有序构成(信息项可以是字节,也可以是结构化数据)
- 用户通过读写指针来存取文件的信息项
- 文件具有文件名。用户通过文件名存取文件
文件分类
用途:
- 系统文件
- 库文件
- 用户文件
操作权限
- 只读文件
- 读写文件
- 不保护文件
性质
- 普通文件
- 目录文件
- 设备文件
文件属性
指定文件的类型、操作特性和存取保护等一组信息
文件属性存放在文件所在目录的目录文件中
MS-DOS系统中,文件属性占目录项的一个字节
文件系统
定义:负责管理文件的机构成为文件系统
功能
负责文件的创立、撤销、读写、修改、复制和存取控制等,并管理存放文件的存储设备
文件系统的目标是让用户以文件名来存取文件
文件的结构
逻辑结构
- 为用户提供逻辑结构清晰、使用方便的文件
- 强调文件信息项的构成方式和用户的存取方式
物理结构
文件在设备存储上的存储结构
强调合理利用储存空间,缩短I/O存取时间
文件的逻辑结构
记录式文件:信息项是记录:结构化数据
流式文件:信息项是字节,文件长度就是字节的数量。
优点
- 文件无需额外的说明信息或控制信息
- 节省存储空间
现代操作系统中文件都是流式文件,由应用程序解释和处理文件
文件的存取方法
顺序存取
按文件信息项排列顺序依次存取
读写指针
- 文件打开时,读写指针指向第1个信息项
- 每存取1个信息项,读写指针自动加1而指向下一个信息项
随机存取
概念:
- 直接存取
- 存取操作时指定存取的位置
特点:
- 对流式文件或记录为定长的记录式文件容易确定存取位置
- 对记录不定长的记录式文件比较定位较麻烦(建立索引来提高效率)
二、文件物理结构
概念
- 文件物理结构是指文件在存储设备上的存储方式
- 强调合理利用存储空间,并缩短I/O存取时间
类型
- 连续文件
- 索引结构
- 串联文件
连续文件
概念
- 文件按逻辑块的顺序存放在硬盘连续的物理存储块中
- 文件目录记录文件长度(块数)和第一个存储块的块号
特点:文件建立时给出文件最大长度并登记文件起始位置
优点
- 简单
- 支持顺序存取和随机存取
- 书序存取速度快:所需磁盘寻道次数和寻道时间最少
缺点
- 文件不易动态增长
- 不利于文件插入和删除
- 外部碎片问题
索引文件
概念
- 文件存放在不连续的存储块中
- 建立索引表记录文件逻辑块和物理存储块的对应关系
- 索引表电镀放在数据块中
特点
文件=索引区+数据区
先访问索引,再访问数据
支持顺序存取和随机存取
支持文件动态增长、插入、删除
串联文件
概念:文件存放在不连续的存储块中(有一个指针指向下一个存储块)
特点:
- 适用于顺序存取。随机存取较为困难
- 提高了磁盘空间利用率,不存在外部碎片问题
- 有利于文件动态扩充,插入和删除
缺点:
- 存取速度慢,不适用随机存取
- 可靠性问题:若next指针出错,则文件访问失败
- next指针占用一定的空间
应用:FAT文件系统
三、文件存储和目录
存储空间管理
功能:记录磁盘使用情况,管理和分配、回收存储空间
记录磁盘空闲块的方法
- 空闲文件目录
- 空闲块链
- 位示图
空闲文件目录
空闲文件:把连续空闲区看成一个特殊文件,由多个连续空闲块组成
空闲文件目录
- 所有空闲文件代表存储设备全部空闲空间
- 为空闲文件建立专门目录:空闲文件目录
- 每个表项对应一个空闲文件,包括第一个空闲块号,空闲块个数等信息
空闲块链
- 把所有空闲块链链接在一起
- 当申请者需要空闲块时,链头开始搜索所需空闲块
- 当回收空闲块是,把释放的空闲块逐个加在链尾
位示图
从内存中划出若干字节,每个bit表示1个存储块空闲或占用状态