Skip to content

2025年 408 操作系统 第 29 题

操作系统2025年选择题2分

题目

某文件系统采用索引节点方式。用户在目录中新建文件 F 时,文件系统不会做的是( )。

错因

A

把"新建文件不需要 inode"误当成事实。inode 是文件的身份本体——文件大小、类型、权限、时间戳、数据块指针都存在这里。没有 inode,文件就不存在。新建文件第一步必然是从空闲 inode 池中分配一个并初始化它。

B

混淆了"目录项内容"。索引节点方式的目录项格式是:<文件名, inode 号> 这一对最简洁的映射。新建文件 F 时必须把"F → inode_xxx"这条记录写进目录文件,否则下次按文件名查不到 F。这一步是必做的。

D

"目录项"只是 B 的另一种说法。"在目录文件中增加一条目录项" = "在目录中写入文件名+inode 号这一对"——和 B 描述的是同一动作的不同侧面。不可能 B 做了 D 不做,二者要么都做要么都不做,本题里都做。

总解析

核心知识点:inode 方式下的"职责划分"

把文件的全部信息拆成两半存:

信息存哪为何这么放
文件名目录项目录就是"名字 → inode 号"的查找表
inode 号目录项顺着 inode 号找到 inode
文件大小、类型、权限、属主、时间戳、数据块指针inode所有元数据集中存放,方便管理
文件实际数据数据块由 inode 中的指针指向

这种拆分带来的关键性质

  • 同一文件可被硬链接到多个目录项(多个目录项共享同一 inode 号)
  • 重命名/移动文件,只需修改目录项,不动 inode
  • 修改文件权限/属主,只动 inode,不动目录项

新建文件 F 时实际发生什么

  1. 从空闲 inode 池分配一个 inode,编号设为 inode_F
  2. 初始化 inode_F:写入文件类型、权限位、属主 UID/GID、创建时间、初始大小 0、数据块指针清零
  3. 在目标目录的目录文件里追加一条目录项("F", inode_F)

逐项判定

选项描述是否会做
A初始化 F 的 inode✓(步骤 2)
B在目录中写 F 的 inode 号✓(步骤 3 的一部分)
C在目录中写 F 的访问权限信息✗——权限存在 inode 里,不在目录项里
D在目录中增加 F 的目录项✓(步骤 3)

为什么 C 错? 访问权限(rwx)属于文件元数据,存放位置是 inode——目录项里只有"文件名 + inode 号"两项,没有权限字段。否则改文件权限就要修改所有指向它的目录项(含硬链接),违反"一处存储、多处引用"的设计。

对照看 FAT 系(无 inode):FAT 文件系统的目录项里确实直接存属性(只读、隐藏、归档等)和起始簇号——这是 FAT 与 inode 系两大派系的分水岭,也是这道题考察的关键差异。

题目问"不会做的",反向措辞要看清。最终答案是 C

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数