操作系统第 4 章:文件管理总览

这一页只负责导航,不装内容。每个节号点进去就是那一节的完整讲义。

第 4 章只回答一个问题:磁盘只提供”按块号取数据”,而用户要的是”按名字取数据”,这中间的一整套翻译怎么做。

三节恰好是这套翻译的三层:

4.1 定义”文件”这个抽象,并解决”名字 → 数据块”的最后一跳(物理结构)→ 4.2 解决”路径名 → 文件”的检索(目录)→ 4.3 把这一切放到真实磁盘上(布局、空闲空间、VFS、挂载)

章节导航

4.1 文件系统基础 ✅

节页面一句话
4.1.1文件的基本概念特殊文件的读写落到设备驱动,根本不碰磁盘
4.1.2文件控制块和索引节点引入 inode 只为减少检索目录的读盘次数;inode 里没有文件名
4.1.3文件的操作读写指针在进程表,打开计数在系统表;open 只读属性
4.1.4文件的逻辑结构有结构的判据是系统知不知道记录边界;顺序文件 ≠ 连续分配
4.1.5文件的物理结构FAT 按物理簇号索引且要追链,索引表按逻辑块号索引可直取
4.1.6文件保护删除文件看父目录的 w,与文件自身权限无关

4.2 目录 ✅

节页面一句话
4.2.1目录的基本概念目录管理四要求各自催生后面一节;目录映射的终点是 FCB 不是数据块
4.2.2目录的操作更名只改目录项,与文件大小无关
4.2.3目录结构树形不便共享的根因是”树只允许一个父节点”;树形目录 ≠ B+ 树
4.2.4目录实现目录结构与目录实现是两层;工具显示的目录是渲染结果
4.2.5文件共享硬链接靠 inode 号、符号链接靠路径名——差别全由此推出

4.3 文件系统 ✅

节页面一句话
4.3.1文件系统结构逻辑块号→物理块号 和 空闲空间管理都归文件组织模块
4.3.2文件系统布局布局顺序由启动依赖链决定;引导块里是代码,超级块里是数据
4.3.3文件存储空间管理位示图先定三个编号起点;成组链接把下一组清单藏在空闲块里
4.3.4虚拟文件系统VFS 不是一种文件系统;vnode 在主存、有功能指针
4.3.5文件系统挂载挂载点原有内容被遮蔽但未删除;格式化改磁盘、挂载改内存

本章高频边界

边界判据在哪
普通 / 目录 / 特殊文件读写最终落到数据块还是设备驱动4.1.1
目录项 vs FCB vs inode系统用不用索引节点4.1.2
inode 总数 vs 单文件长度个数管文件数,内部结构管文件大小4.1.2
读写指针放哪属于”这一次打开”还是”这个文件”4.1.3
fd vs inode 号作用域:本进程 vs 整个文件系统4.1.3
截断 vs 删除删除还要抹掉目录项4.1.3
逻辑结构 vs 物理结构用户怎么看 vs 磁盘怎么放4.1.4
顺序文件 vs 连续分配同名异层,互不限定4.1.4
隐式 vs 显式链接指针在数据块里还是在内存的 FAT 里4.1.5
显式链接 vs 索引分配按物理簇号索引 vs 按逻辑块号索引4.1.5
口令保护 vs 加密保护密码存不存在系统里4.1.6
文件权限 vs 目录权限同样的 rwx,含义毫无关系4.1.6
文件目录 vs 目录文件内容 vs 载体4.2.1
目录操作 vs 文件操作同名动作,改目录项 vs 改数据块4.2.2
树形目录 vs B+ 树命名空间形状 vs 单目录内部索引4.2.3
无环图 vs 通用图有没有环;环使引用计数失效4.2.3
目录结构 vs 目录实现命名空间 vs 单个目录内部,可任意组合4.2.4
硬链接 vs 符号链接靠 inode 号 vs 靠路径名4.2.5
链接计数 vs 打开计数持久状态 vs 运行期状态;都为 0 才回收4.2.5
逻辑文件系统 vs 文件组织模块名字与属性 vs 地址与空间4.3.1
操作系统缓存 vs 设备自带缓存谁管理、在哪一侧4.3.1
MBR vs 引导块 vs 超级块整盘 1 个 / 每分区 1 个 / 代码 vs 数据4.3.2
文件区 vs 对换区求”省” vs 求”快”4.3.3
谁能管空闲块能回答”整盘哪些块空着”的才算4.3.3
vnode vs inode主存有功能指针 vs 外存无4.3.4
挂载 vs 格式化改内存 vs 改磁盘4.3.5

计算模板

题型步骤在哪
目录检索平均次数① 一块几个目录项 ② 共几块 ③ 除以 24.1.2
记录成组定位 → 块号 → 块内 4.1.4
启动磁盘几次① 用成组定位到第几块 ② 用物理结构算定位开销 ③ 加写回4.1.4
混合索引落在哪级① ② 比区间 ③ 算层内下标4.1.5
最大文件大小,其中 4.1.5
FAT 三问先统一块/簇/字节/位 → 最大簇数 → 表项位数 → 表大小4.1.5
位示图定位① 块号→序数 ② 字号 、位号 4.3.3
位图占多少空间容量 ÷ 分配单位 → bit → B → 簇(逐格写,不跳步)4.3.3

复习顺序

  1. 4.1.1:立住”文件是抽象”这一点,重点是普通/目录/特殊文件的划分依据。
  2. 4.1.2:全章最重要的一节之一。理解”为什么要把 FCB 拆成目录项 + inode”,后面的目录检索、硬链接全是它的推论。
  3. 4.1.3:两级打开文件表。读写指针为什么必须在进程表,这个”为什么”比结构本身更常考。
  4. 4.1.4:先把逻辑结构与物理结构是两层这条边界钉死,再记四类有结构文件。
  5. 4.1.5:本章计算题主战场。按”连续 → 隐式链接 → 显式链接 → 索引 → 混合索引”的顺序读, 每一种都是在补上一种的缺陷,不需要背。
  6. 4.1.6:内容不多但陷阱集中。“删除文件看父目录权限”必须记住。
  7. 4.2.1 → 4.2.2:篇幅小,但”目录管理四要求”是后面三节的纲,先立住。
  8. 4.2.3:按演进链读(不能重名 → 能重名不能共享 → 层次清楚仍难共享 → 能共享但删除复杂), 四种结构的优缺点全是推出来的。树形目录 ≠ B+ 树要单独记。
  9. 4.2.4:与 4.2.3 成对——一个讲命名空间,一个讲单目录内部。
  10. 4.2.5:本节全部考点都从”硬链接靠 inode 号、符号链接靠路径名”这一句推出, 包括能否跨文件系统、能否指向目录、会不会悬空、开销大小。
  11. 4.3.1:只需记牢一条分界——逻辑文件系统管名字与属性,文件组织模块管地址与空间。
  12. 4.3.2:不要当区域清单背。按”开机后系统怎样一步步找到你的文件”读一遍,顺序自然就记住了。
  13. 4.3.3:本章第二个计算密集区。位示图题动笔前先确认三个编号起点; 成组链接法抓住两个临界动作( 先读入再分配、栈满时新回收块当组长)。
  14. 4.3.4 → 4.3.5:VFS 与挂载是一件事的两面——前者定义”怎么接”,后者是”接上去”的那一步。

链接

  • 📖 名词库:第 4 章名词库
  • 📜 原始提问档案:第 4 章 原始提问档案(本地资料)(41 条,按节号归位)
  • ⬅️ 上一章:第 3 章:内存管理
  • 🏗️ 重构施工文档:OS + 计组 笔记体系重构计划(本地资料)