文件管理
文件系统的管理功能是将其管理程序和数据通过组织为一系列文件的方式实现的,文件系统把数据组成分为数据项、记录和文件三级。
1. 数据项、记录和文件
1.1. 数据项
基本数据项,用于描述一个对象的某种属性的字符集,是数据组织中可命名的最小逻辑数据单位,又称字段。基本数据项包含数据名和数据类型,共同定义了数据项的型,表征一个实体在数据项上的数据,称为值。
组合数据项由若干个基本数据项组成。
1.2. 记录
记录是一组有关数据项的集合,用于描述一个对象某方面的属性。记录包含能唯一标识记录的关键字,可以是一个或多个数据项。
1.3. 文件
文件是由创建者所定义的、具有文件名的一组相关元素的集合(最大的数据单位,描述了一个对象集),可分为有/无结构文件。有结构文件由若干个相关的记录组成;无结构文件则被看成一个字符流。
文件属性包括
- 文件类型
- 文件长度
- 文件物理位置
- 文件建立时间(最后修改时间)
2. 文件系统的层次结构
系统文件模型(三层) |
---|
文件系统接口 |
对对象操纵和管理的软件集合 |
对象及其属性 |
2.1. 对象及其属性
文件管理系统直接管理的对象有
- 文件,所有文件都是文件管理的直接对象
- 目录,每个目录项包含文件名、对文件属性的说明、文件所在的物理地址(或指针)
- 磁盘存储空间
2.2. 对对象操纵和管理的软件集合(文件管理系统的核心)
在实现对对象操纵和管理时,OS 一般把文件系统有关的软件分为四层
- I/O 控制层(设备驱动程序层),主要有磁盘驱动程序等组成
- 基本文件系统层,主要用于处理内存与磁盘之间数据块的交换
- 基本 I/O 管理程序,用于完成与磁盘 I/O 有关的事务,例如文件逻辑块号转换为物理块号、磁盘中空闲盘快管理、I/O 缓冲指定
- 逻辑文件系统,用于处理与记录和文件相关的操作
2.3. 文件系统接口
文件系统以接口的形式提供了一组对文件和记录操作的方法,通常有两种类型
- 命令接口,作为用户与文件系统直接交互的接口,用户程序可通过终端键入命令取得文件系统的服务
- 程序接口,作为用户程序与文件系统的接口,用户程序可通过系统调用取得文件系统的服务
3. 文件操作
3.1. 最基本的文件操作
- 创建,为新文件分配必要的外存空间,并在文件目录建立一个目录项。
- 删除
- 读文件,根据文件名去查找目录,获得被读文件在外存的地址和一个用于读的指针
- 写文件
- 设置文件的读/写位置
3.2. 文件的打开和关闭操作
打开,即 OS 将指名文件的属性(包括物理地址)从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号返回给用户。关闭,则是删除内存打开文件表中的对应表目。
4. ChangeLog
2018.09.20 初稿