操作系统 第七章文件管理

7.1 文件和文件系统

7.1.1 数据项、记录和文件

  1. 数据项

    基本数据项、组合数据项

  2. 记录

    记录是一组相关数据项的集合,用于描述一个对象某方面的属性。

  3. 文件

    文件是具有文件名的一组相关记录的集合。 #### 7.1.2 文件名和类型

  4. 文件名和扩展名
  5. 文件类型
    • 用途分类:系统文件、用户文件、库文件
    • 文件中数据形式分类:源文件、目标文件、可执行文件
    • 存取控制属性分类:只执行文件、只读文件、读写文件
    • 组织形式和处理方式分类:普通文件、目录文件、特殊文件
    • 文件的逻辑结构分类:有结构文件、无结构文件
    • 文件的物理结构分类:顺序文件、链接文件、索引文件

7.1.3 文件系统的层次结构

  1. 对象及其属性(最底层)

    文件、目录、磁盘存储空间

  2. 对对象操纵和管理的软件集合(中间层)

    对文件存储空间的管理,对文件目录的管理,地址映射,文件的读、写管理,文件的共享与保护

    软件层次:

    • I/O 控制层
    • 基本文件系统层
    • 基本 I/O 管理程序
    • 逻辑文件系统
  3. 文件访问系统的接口(最高层)

    命令接口、程序接口

7.1.4 文件操作

  1. 最基本的文件操作

    创建文件、删除文件、读文件、设置文件的读/写位置

  2. 文件的“打开”和“关闭”操作

  3. 其他文件操作

7.2 文件的逻辑结构

7.2.1 文件逻辑结构的类型

文件的逻辑结构:从用户观点出发观察到的文件组织结构称为文件的逻辑结构,可以独立于在外存上的物理存储。逻辑结构的文件称逻辑文件。

  1. 文件是否有结构分类
    • 有结构文件:记录式文件是用户把文件内的信息按逻辑上独立的含义划分信息单位,每个单位称为一个逻辑记录(简称记录)。
    • 无结构文件:流式文件是指对文件内信息不再划分单位,它是依次的一串字符流构成的文件。
  2. 文件的组织方式分类

    顺序文件、索引文件、索引顺序文件

7.2.2 顺序文件(Sequential File)

顺序文件是指由一系列记录,按某种顺序排列所形成的文件。

  1. 顺序文件的排列方式
    • 串结构:存入时间的先后
    • 顺序结构:指定关键字排序
  2. 顺序文件的优缺点
    • 优点:批量存取,效率高;磁带上只能存储顺序文件
    • 缺点:单个记录存取,效率低,开销大,增加修改记录困难

7.2.4 索引文件(Index File)

对不定长的记录,建立一张索引表,加快对记录的检索速度。

  • 优点:索引表是定长记录的顺序文件,因此检索速度高,适于及时性要求高的系统。
  • 缺点:除了主文件外,需配索引表,提高了存储费用。

7.2.5 索引顺序文件(Index Sequential File)

最常见的一种逻辑文件形式,顺序文件与索引文件相结合,将记录分为若干组,每组的第一个记录,建立索引项,放入索引表。

7.3 文件目录

文件目录管理要求:实现“按名存取”、提高对目录的检索速度、文件共享、允许文件重名。

7.3.1 文件控制块和索引节点

  1. 文件控制块 FCB(File Control Block)
    • 基本信息类:文件名、文件物理位置、文件逻辑结构、文件的物理结构
    • 存取控制信息类:文件主、核准用户、一般用户的存取权限等
    • 使用信息类:建立日期、上次修改日期、当前使用信息等
  2. 索引节点

    把文件名与文件的描述信息分开,即把文件的描述信息单独形成一个数据结构,即索引点。在 Unix 中,称 i 节点。

7.3.2 简单的文件目录

  1. 单级文件目录

    把系统中的所有文件都建立在一张目录表中,整个目录组织是个线性表。结构比较简单,能实现目录管理的基本功能:按名存取,但查找速度慢、不允许重名、不便于实现文件共享。

  2. 两级文件目录

    主目录表中分配一个表目,并为其分配存放二级目录的存储空间,为新建立的文件在二级目录分配一个表目,分配文件的存储空间。

    先按用户名在主目录中找到该用户的二级目录,然后在二级目录中按文件名找出该文件的起始地址并进行访问。基本满足四个要求,但系统开销增加。

7.3.3 树形结构目录(Tree-Structed Directory)

  1. 树形目录

    每一个结点(目录)出来的分支可以是数据文件,也可以是目录文件。

    优点:层次结构清晰,便于管理和保护,解决重名问题,查找速度加快

    缺点:查找一个文件按路径名逐层检查,多次访盘影响速度

  2. 路径名和当前目录

    路径名:从根目录到数据文件之间,只有一条唯一的通路。

    当前目录:进程对各文件的访问都相对于“工作目录”而设置路径,称为相对路径,用相对路径可缩短搜索路径,提高搜索速度。

7.3.4 目录查询技术

  1. 线性检索法

    顺序检索法。

  2. Hash 方法

    使用通配符 “*”、“?” 等的文件名,无法利用 Hash 方法。

7.4 文件共享

  • 基于有向无循环图实现文件共享
  • 利用符号链实现文件共享

7.5 文件保护

影响文件安全性的主要因素:人为因素、系统因素、自然因素。

确保安全性措施:

  • 通过存取控制机制——人为因素;
  • 采取系统容错技术——系统因素;
  • 建立后备系统——自然因素。

7.5.1 保护域

  1. 访问权

    一个进程能对某对象执行操作的权力。

  2. 保护域

    进程对一组对象访问权的集合。

  3. 进程和域间的静态联系

    进程和域可以一一对应。进程的可用资源是固定的。

  4. 进程和域间的动态联系方式

    进程和域可以一对多。进程运行分为若干阶段。

7.5.2 访问矩阵

用矩阵描述访问控制。

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×