王道操作系统课代表 - 考研计算机 第四章 文件管理 究极精华总结笔记

发布时间:2025-12-09 18:46:23 浏览次数:3

本篇博客是考研期间学习王道课程 传送门 的笔记,以及一整年里对 操作系统 知识点的理解的总结。希望对新一届的计算机考研人提供帮助!!!
关于对 “文件管理” 章节知识点总结的十分全面,涵括了《操作系统》课程里的全部要点(本人来来回回过了三遍视频),其中还陆陆续续补充了许多内容,所以读者可以相信本篇博客对于考研操作系统 “文件管理” 章节知识点的正确性与全面性;但如果还有自主命题的学校,还需额外读者自行再观看对应学校的自主命题材料。

食用说明书:
第一遍学习王道课程时,我的笔记只有标题和截图,后来复习发现看只看图片,并不能很快的了解截图中要重点表达的知识点。
在第二遍复习中,我给每一张截图中 标记了重点,以及 每张图片上方总结了该图片 对应的知识点 以及自己的 思考
最后第三遍,查漏补缺。
所以 ,我把目录放在博客的前面,就是希望读者可以结合目录结构去更好的学习知识点,之后冲刺复习阶段脑海里可以浮现出该知识结构,做到对每一个知识点熟稔于心!
请读者放心!目录展示的知识点结构是十分合理的,可以放心使用该结构去记忆学习!
注意(⊙o⊙)!,每张图片上面的文字,都是该图对应的知识点总结,方便读者更快理解图片内容。


《操作系统》第4章 文件管理

【考纲内容】 王道 P249 ~ 296

(一) 文件

  • 文件的基本概念;
  • 文件元数据 和 索引结点;
  • 文件的操作:创建、删除、打开、关闭、读、写;
  • 文件的保护;
  • 文件的逻辑结构;
  • 文件的物理结构;

(二) 目录

  • 目录的基本概念;
  • 树形目录;
  • 目录的操作;
  • 硬链接 和 软链接;

(一)、(二) 网课总耗时:4 h
 

(三) 文件系统

​ 网课耗时:0.5 h

  • 文件系统的全局结构:文件系统在外存中的结构、文件系统在内存中的结构;
  • 外存空间空闲空间管理方法;
  • 虚拟文件系统;
  • 文件系统挂载;

【复习提示】

本章内容较为具体,要注意对概念的理解;

知识点考纲重点掌握
文件系统的结构及其实现
文件分配
空闲空间管理
文件控制块
物理分配方法
索引结构
树形目录结构
文件共享原理
文件系统的布局
虚拟文件系统原理

4.1 文件系统基础

【问题】

  • 1) 什么是文件 ?
  • 2) 单个文件的逻辑结构和物理结构之间是否存在某种制约关系 ?

​ 本节内容较为抽象,要注意区分文件的 逻辑结构 和 物理结构 ;

​ 在学习过程中,可尝试以上面的两个问题为线索,构建整个文件系统的概念;

​ 在前面的学习中,曾经提醒过读者不要忽略对基本概念的理解。

​ 从历年的情况来看,大部分同学对进程管理、内存管理有较好的掌握,但对于文件管理及后面的I/O管理,往往理解不太深入。

​ 在考试中,即使面对一些基本问题也容易失分,这十分可惜。主要原因还是对概念的理解不够全面和透彻,希望读者能够关注这个问题。

4.1.1 文件的基本概念

1. 文件的属性

  • ① 文件名
  • ② 标识符
  • ③ 类型
  • ④ 创建者
  • ⑤ 所有者
  • ⑥ 位置
  • ⑦ 大小
  • ⑧ 保护
  • ⑨ 创建时间、最后一次修改时间、最后一次存取时间

2. 文件内数据的组织方式

  • 无结构文件,流式文件;
  • 有结构文件,记录式文件;

3. 文件之间的组织方式

![]](https://img-blog.csdnimg.cn/b18bbb4030ca48f7a8cd14d85a7333c4.png)

4. 操作系统 对 文件管理 向上提供哪些服务 ?

5. 文件如何存放在外存 ?

​ 初步认识 文件共享 和 文件保护

小结


4.1.2 文件目录

1. 文件控制块

​ 文件控制块 (FCB) 是用来存放控制文件需要的各种信息的数据结构,以实现 按名存取;

​ FCB的有序集合称为 ==文件目录,==一个FCB就是一个文件目录项;

​ 为了创建一个新文件,系统将分配一个FCB并存放在文件目录中,称为 目录项;

2. 目录结构

① 单级目录结构

② 两级目录结构

③ 树形目录结构

​ 树形目录结构 不便于实现文件的共享 ;

④ 无环图目录结构

​ 在树形结构的基础上,允许 ==使用不同的文件名指向同一个文件或目录,==需要为每个共享结点设置一个 共享计数器;

3. 索引结点

​ 文件除文件名之外的文件描述信息,由索引结点( i 结点)保存;

​ 文件目录中的目录项由 文件名 和 指向该文件所对应的 i 结点 的指针构成;

  • 磁盘索引结点
  • 内存索引结点

小结


4.1.3 文件的逻辑结构

1. 无结构文件

2. 有结构文件

​ 记录式文件,由一组相似的 记录 组成,每条记录又由若干个 数据项 组成;

​ 记录 还可以分为 定长记录 和 可变长记录;

​ 有结构文件在逻辑上如何被组织起来,分成三种方式:

  • 顺序文件
  • 索引文件
  • 索引顺序文件

① 顺序文件

② 索引文件

​ 上面提到,可变长记录文件无法实现随机存取,那又想快速查找、又想使用可变长记录,该怎么办?

③ 索引顺序文件

​ 如果为每个记录对应一个索引表项,那就太占用空间了;

​ 但如果先对记录分组,只给各组对应一个索引表项,那就很大程度减小索引表所要占用的空间;

​ 对于记录数量较大的情况,可以建立 ==多级索引表,==进一步提高检索效率;

小结


4.1.4 文件的物理结构 ⭐

1. 文件块、磁盘块

​ 文件分配,是指如何为文件分配磁盘块,常用的磁盘空间分配方法包括:

  • 连续分配
  • 链接分配
  • 索引分配

2. 文件分配方式 - 连续分配

​ 每个文件在磁盘上占用一组连续的块;

​ 连续分配的文件不方便拓展,需要整体迁移到合适大小的连续空间去;

​ 存储空间利用率低

3. 文件分配方式 - 链接分配

① 隐式链接

② 显式链接

4. 文件分配方式 - 索引分配

索引分配

  • 文件 离散地 分配在各个磁盘块中;
  • 每个文件对应 ==一张索引表,==记录文件的 各个逻辑块对应的物理块;

​ 与 显式链接 不同,显式链接是整个磁盘的所有文件的索引信息都集中在一张索引表上;

​ 索引表的 逻辑块号 可以是隐含的,进一步节约空间;

​ 一个很大的索引表,一个磁盘块装不下,针对这个问题有以下三种解决方法:

  • 链接方案
  • 多层索引
  • 混合索引

① 链接方案

​ 使用多个索引块存储索引表,并采用链接的方式将它们连起来

② 多层索引

​ K + 1 次读磁盘操作:K次读索引表 + 1次读数据块

③ 混合索引

​ 对于小文件,一个数据块就存储的了;若采用多级索引方式,就要访存多次,影响效率;

​ 采用 ==混合索引,==既可以解决大文件存储问题,还可以减少对于小文件多次访存;

小结


4.1.5 逻辑结构 vs 物理结构

小结


4.1.6 文件的基本操作

1. 创建文件

2. 删除文件

3. 打开文件

​ 有两种打开文件表

4. 关闭文件

5. 读文件

6. 写文件

小结


4.1.7 文件共享

​ 注意 共享 与 复制 的区别;

1. 硬链接 - 基于索引结点

2. 软链接 - 基于符号链

小结


4.1.8 文件保护

​ 为了防止 文件共享 可能会导致 文件被破坏 或 未经核准的用户修改文件,文件系统必须要控制用户对文件的存取;

​ 所以,必须在文件系统中建立相应的 文件保护机制 ;

  • 口令 和 加密 为了防止用户文件被他人存取或窃取;
  • 访问控制 用于控制用户对文件的访问方式;

1. 口令保护

2. 加密保护

3. 访问控制

​ 设置一个 访问控制表

小结

4.2 文件系统

【问题】

① 什么是 文件系统 ?

​ 答:操作系统中 负责管理和存储文件信息的软件机构 称为文件管理系统,简称文件系统。

​ 文件系统由三部分组成:与文件管理有关的软件、被管理文件及实施文件管理所需的数据结构;

② 文件系统要完成哪些 功能 ?

​ 答:对于用户而言,文件系统最主要的功能是实现对文件的基本操作,让用户可以按名存储和查找文件,组织成合适的结构,并

应当具有基本的文件共享和文件保护功能。

​ 对于操作系统本身而言,文件系统还需要管理与磁盘的信息交换,完成文件逻辑结构和物理结构上的变换,组织文件在磁盘上的

存放,采取好的文件排放顺序和磁盘调度方法以提升整个系统的性能。

【补充】

​ 本节除了 外存空闲空间管理,其他都是2022年统考大纲的新增考点,基本都是概念知识点(多看几遍);

4.2.1 文件系统的层次结构

​ 王道书中的图与王道视频不同,参考教材不同,不影响学习;

小结


4.2.2 文件系统的全局结构 - 布局

1. 物理格式化

​ ==低级格式化:==划分扇区、检测坏扇区、用备用扇区替换坏扇区;

​ 当要访问某一块坏扇区时,会使用备用扇区,默默完成替换工作;

2. 逻辑格式化

​ ==高级格式化:==磁盘分区;

​ 每个区的大小、地址范围等信息,会使用 分区表 来记录;

​ 在每个区里可以建立各自独立的文件系统 ,例如在C盘里建立UNIZX文件系统;

主引导记录 MBR

​ 位于磁盘的 0 号扇区,用来引导计算机。MDR 后面是 分区表,记录各分区的起始、结束地址;

​ 表中的一个分区被标记为 活动分区 ,启动计算机时,BIOS 读入并执行 MBR ;

​ MBR 会确认活动分区,读入它的第一块 (引导块);

UNIX 文件系统

  • 引导块:负责开机时初始化操作系统;
  • 超级块:包含文件系统的所有关键信息,可以迅速找到磁盘分区里所有的空闲块;
  • 位示图 (磁盘空间管理):可以迅速判断某一个特点的盘块是否空闲;
  • i 结点:索引结点,连续存放,每个文件对应一个结点,可以把 i 结点区看成一个大数组;
  • 根目录:完成逻辑格式化之后,根目录就会被建立起来;

3. 文件系统在内存中的结构

  • 安装表:每个已安装文件系统分区的有关信息;
  • 目录结构的缓存:最近访问的目录;
  • 系统打开文件表:内存中只有一张;
  • 进程打开文件表:每个进程一张,在PCB中;

4.2.3 外存空闲空间管理

1. 存储空间的划分与初始化

  • 文件卷(C盘、D盘);
  • 目录区(FCB、磁盘空间管理信息);
  • 文件区(文件数据)

2. 几种管理方式

(1) 空闲表法

​ 设置了一个空闲盘块表,要搞清楚三个点:

  • 空闲盘块表如何记录信息 (初始块号,长度) ;
  • 如何分配磁盘块 (连续分配方式) ;
  • 如何回收磁盘块 (注意合并问题) ;

(2) 空闲链表法

① 空闲盘块链

  • 分配从链头,回收进链尾;
  • 适用于 离散分配 ;

② 空闲盘区链

  • 分配从链头开始检索 (首次适应、**适应算法);
  • 回收, 与其它空闲合并 或 挂到链尾;
  • 连续、离散分配 都适应;

(3) 位式图法

​ 连续、离散分配 都适应;

(4) 成组链接法

​ 每个分组的盘块数量都是 有上限 的,下图举的例子中,最后一组的磁盘块 比 倒二组 的数量少1

​ 分配一个空闲块的情况

​ 分配100个空闲块的情况

​ 回收未满的情况

​ 回收已满的情况

小结


4.2.4 虚拟文件系统和文件系统挂载

1. 虚拟文件系统

​ 下图普通的文件系统,不同的外部存储设备,它的文件系统可能是不相同的,对于同一个操作的函数方法定义也许也各不相同;

​ 鉴于上图提到的问题,操作系统内核需要向上层的用户进程提供一个 统一标准的函数调用接口;

​ 这就是 虚拟文件系统 VFS 的一个特点;

​ UFS文件系统的目录项 和 FAT文件系统的目录项 格式不同,这就造成新的问题:

​ 虚拟文件系统打开不同的文件,得到的文件信息数据格式都不同;

​ 对于不同文件系统的数据结构,VFS 在每打开一个文件,就在主存建立一个 ==vnode,==用 统一的 数据结构表示文件;

​ 注意 vnode 和 inode 的区别;

​ ==函数功能指针:==指向该文件系统的功能函数列表;

​ 通过 函数功能指针 找到对应的函数功能,进而完成所要完成的操作;

2. 文件系统挂载

​ 将一个系统挂载到操作系统;例如:插入一个U盘,就把 U盘的文件系统 挂载到 OS的虚拟文件系统;

4.3 常见问题和易混淆知识点

1. 文件的物理分配方式的比较

​ 文件的三种物理分配方式的比较如下表:

访问第n条记录优点缺点
连续分配需访问磁盘1次顺序存取时速度快,文件定长时可根据文件起始地址及记录长度进行随机访问文件存储要求连续的存储空间,回产生碎片,不利于文件的动态扩充
链接分配需访问磁盘n次可解决外存的碎片问题,提高外存空间的利用率,动态增长较方便只能按照文件的指针链顺序访问,查找效率低,指针信息存放消耗外存空间
索引分配m级需访问磁盘m+1次可以随机访问,文件易于增删索引表增加存储空间的开销,索引表的查找策略对文件系统效率影响较大

2. 文件打开的过程描述

​ ① 检索目录,要求打开的文件应该是已经创建的文件它应登记在文件目录中,否则会出错。

​ 在检索到指定文件后,就将其磁盘iNode复制到活动iNode表中。

​ ② 把参数 mode所给出的打开方式与活动inode 中在创建文件时所记录的文件访问权限相比较,如果合法,则此次打开操作成功。

​ ③ 当打开合法时,为文件分配用户打开文件表表项和系统打开文件表表项,并未后者设置初值,通过指针建立表项与活动iNode之间的联系,再把文件描述符fd返回给调用者。

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477