Skip to content

408

操作系统

OS-04-06 目录结构(单级/两级/树形/无环图)


一、定位信息

  • 所属圈层:核心层
  • 前置知识回顾:理解文件控制块(FCB/inode)和目录项的概念,知道目录是存储目录项的特殊文件。
  • 知识网络位置:本单元描述文件系统的组织方式,是理解文件路径、文件查找、硬链接/软链接(OS-04-07)的基础。目录结构直接决定了文件系统的易用性和效率。
  • 考点热度等级M级(中频常考)——目录结构的特点和比较是选择题常见考点。

二、知识点讲解

2.1 单级目录

单级目录是最简单的目录结构,所有文件都在同一个目录中。

  • 优点:实现简单
  • 缺点:
    • 文件名必须唯一(不同用户不能使用相同文件名)
    • 不支持分组管理
    • 查找效率低(文件多时需要扫描整个目录)

2.2 两级目录

两级目录将目录分为主文件目录(MFD)用户文件目录(UFD)。每个用户有自己的UFD,MFD记录(用户名, UFD位置)的映射。

  • 优点:不同用户可以使用相同文件名,支持一定程度的分组
  • 缺点:用户之间不方便共享文件,目录层次固定

2.3 树形目录

树形目录是最常用的目录结构。有一个根目录,每个目录可以包含文件和子目录,形成树状层次结构。

  • 每个文件有唯一的绝对路径(从根目录开始)
  • 支持相对路径(从当前目录开始)
  • 用户可以创建任意层次的子目录
  • 优点:组织清晰,支持分层管理
  • 缺点:不支持文件共享(每个文件只能有一个父目录)

2.4 无环图目录(Directed Acyclic Graph)

无环图目录在树形目录基础上增加了共享能力。一个文件/目录可以有多个父目录(通过硬链接或软链接)。

  • 优点:支持文件和目录的共享
  • 缺点:
    • 需要处理循环引用问题
    • 删除共享文件时需要小心(引用计数)
    • 备份和遍历更复杂

三、记忆与理解辅助

1. 类比记忆

  • 单级目录 = 一张桌子上放所有东西(乱)
  • 两级目录 = 每人一个抽屉(分开了但不能嵌套)
  • 树形目录 = 文件柜+文件夹(层次分明)
  • 无环图目录 = 文件夹+快捷方式(可以共享)

2. 口诀:"单级简单名冲突,两级分用户;树形层次最常用,无环图支持共享。"

3. 四种目录结构对比表(★高频考点)

对比项单级目录两级目录树形目录无环图目录
层次1层2层多层多层+共享
文件名唯一性全局唯一用户内唯一路径唯一路径唯一
共享支持不支持不支持不支持支持
查找效率
实现复杂度
典型应用早期系统早期多用户Unix/Linux、Windows现代Unix/Linux

4. 路径表示

  • 绝对路径:从根目录开始,如 /home/user/file.txt
  • 相对路径:从当前目录开始,如 ./file.txt../dir/file.txt
  • 当前目录(工作目录):进程的当前所在目录

四、例题与精解

例题1(基础巩固)

题目:某系统采用树形目录结构,根目录下有子目录 hometmphome 下有子目录 user1user2。用户user1的当前目录为 /home/user1,其下有文件 a.txt 和子目录 docsdocs 下有文件 b.txt。 (1)写出 b.txt 的绝对路径。 (2)从 /home/user1 出发,写出访问 b.txt 的相对路径。 (3)从 /home/user1 出发,写出访问 /tmp 下文件的相对路径。

命题意图:考查树形目录中的路径表示。

精解

1. 审题分析:需要根据目录结构写出绝对路径和相对路径。

2. 解题思路:绝对路径从根开始,相对路径从当前目录开始。

3. 完整步骤

(1)b.txt 的绝对路径:/home/user1/docs/b.txt

(2)当前目录为 /home/user1b.txt 在子目录 docs 下:

  • 相对路径:docs/b.txt

(3)当前目录为 /home/user1,要访问 /tmp 下的文件:

  • 需要先回到根目录:../../home/user1/home/
  • 然后进入 tmp../../tmp
  • 访问tmp下的文件:../../tmp/filename

4. 方法反思:理解路径表示是使用文件系统的基础。绝对路径唯一但冗长,相对路径简洁但依赖当前目录。考试中需要熟练进行路径转换。

例题2(中等提升)

题目:某系统从树形目录升级为无环图目录,允许创建硬链接。用户user1在 /home/user1 下创建了文件 report.txt,然后在 /home/user2/shared 下创建了指向 report.txt 的硬链接 my_report。 (1)此时 report.txt 的链接计数是多少? (2)user1执行 rm /home/user1/report.txt 后,user2能否通过 my_report 访问文件? (3)此时文件的链接计数是多少?

命题意图:考查无环图目录中的硬链接机制。

精解

1. 审题分析:硬链接使多个目录项指向同一个inode。

2. 解题思路:分析链接计数的变化。

3. 完整步骤

(1)创建硬链接后,有两个目录项指向同一inode:

  • /home/user1/report.txt → inode X
  • /home/user2/shared/my_report → inode X
  • 链接计数 = 2

(2)user1删除 report.txt

  • 删除操作将链接计数减1:21=12 - 1 = 1
  • 因为链接计数 > 0,文件数据不会被真正删除
  • user2可以继续通过 my_report 访问文件

(3)删除后链接计数 = 1

4. 方法反思:硬链接的核心机制是引用计数。只有当链接计数减为0时,文件数据才会被真正释放。这也是Unix中unlink操作的含义——它删除的是目录项(链接),而非文件数据本身。


五、考情分析

  • 考查频次:目录结构在近5年真题中出现约2-3次。
  • 常见题型:选择题(目录结构比较、路径表示)、综合题(目录查找过程)。
  • 分值占比:选择题2分。
  • 命题趋势:树形目录和无环图目录是常见考点,常与硬链接/软链接结合考查。基于大纲与命题规律推测

六、易错点提醒

  1. 错误表现:认为树形目录支持文件共享。 错误原因:混淆了树形目录和无环图目录。 正确理解/做法:树形目录中每个文件只能有一个父目录,不支持共享。无环图目录通过硬链接/软链接支持共享。

  2. 错误表现:混淆绝对路径和相对路径。 错误原因:对"当前目录"的概念理解不清。 正确理解/做法:绝对路径从根目录(/)开始,相对路径从当前目录开始。../ 表示上一级目录,./ 表示当前目录。

  3. 错误表现:删除有硬链接的文件时,认为文件数据立即被删除。 错误原因:不理解引用计数机制。 正确理解/做法:删除操作只减少链接计数。只有当链接计数为0时,文件数据才被真正释放。


七、来源标注

  • 依据2026考研统考408大纲
  • 依据《操作系统概念》(Operating System Concepts, Silberschatz)第11章
  • 依据汤小丹《计算机操作系统》第4版第4章

考研全科复习资料 - 基于2026考研统考大纲