Skip to content

(二)目录

1. 基本概念

  • 主要功能

    • 实现对文件的按名字存取

    • 实现文件的共享(区别:文件共享 vs 文件传输);

    • 允许文件重名(存放在不同目录中);

    • 提高文件和目录的检索速度;

2. 树形目录(Tree-Structured Directory)

2.1. 基本概念

img_1PsqGMmLVl

  • 现代 OS 中最通用和实用的目录结构

  • 主目录即为树形的根目录,有且仅有一个;

  • 每个目录只能有一个父目录;

  • 文件为树的叶节点,目录为分支节点;

2.2. 路径名和当前目录

  • 路径名:从根目录到数据文件的唯一通路

    • 格式:从根目录开始,将经过的目录和文件名用 / 连接起来;
  • 当前目录:用于相对路径

2.3. 目录操作

  • 创建;

  • 删除

    • 不删除非空目录;

    • 可删除非空目录;

  • 改变(改变正在访问的目录);

  • 移动;

  • 链接;

  • 查找;

2.4. 目录查询

  • 线性检索法(又称顺序检索法):单级目录直接顺序查找即可,多级目录还要递归查子目录;

    img_GoXVOhZTpQ

    • 例:线性检索法查找 usr/ast/mbox 的过程

2.5. 硬链接和软链接

  • 文件共享:指 OS 允许多个进程或用户访问同一文件,而不必保留多份副本;

    • 例:云盘的文件共享功能;

    • 硬链接

      img_bXZIbfYjEG

      • 将文件名及其物理地址等元信息放在索引节点中,而不是目录项中

      • 目录项只存放文件名和指向索引节点的指针;

    • 软链接(符号链接)

      img_pYTaNXfHEp

      • 允许一个文件或子目录有多个父目录,但是只有一个为主父目录(称为属主),其他父目录通过符号链接方式建立连接)

      • 图中 D5D3 中的 p 文件为链接型文件D6 中的 e 文件为真实文件;

      • 若删除 e,不会立即对两个 p 链接产生影响,但是使用 p 时就会报错;