发布时间:2025-12-09 18:46:23 浏览次数:3
本篇博客是考研期间学习王道课程 传送门 的笔记,以及一整年里对 操作系统 知识点的理解的总结。希望对新一届的计算机考研人提供帮助!!!
关于对 “文件管理” 章节知识点总结的十分全面,涵括了《操作系统》课程里的全部要点(本人来来回回过了三遍视频),其中还陆陆续续补充了许多内容,所以读者可以相信本篇博客对于考研操作系统 “文件管理” 章节知识点的正确性与全面性;但如果还有自主命题的学校,还需额外读者自行再观看对应学校的自主命题材料。
食用说明书:
第一遍学习王道课程时,我的笔记只有标题和截图,后来复习发现看只看图片,并不能很快的了解截图中要重点表达的知识点。
在第二遍复习中,我给每一张截图中 标记了重点,以及 每张图片上方总结了该图片 对应的知识点 以及自己的 思考 。
最后第三遍,查漏补缺。
所以 ,我把目录放在博客的前面,就是希望读者可以结合目录结构去更好的学习知识点,之后冲刺复习阶段脑海里可以浮现出该知识结构,做到对每一个知识点熟稔于心!
请读者放心!目录展示的知识点结构是十分合理的,可以放心使用该结构去记忆学习!
注意(⊙o⊙)!,每张图片上面的文字,都是该图对应的知识点总结,方便读者更快理解图片内容。
【考纲内容】 王道 P249 ~ 296
(一) 文件
(二) 目录
(一)、(二) 网课总耗时:4 h
(三) 文件系统
网课耗时:0.5 h
【复习提示】
本章内容较为具体,要注意对概念的理解;
| 文件系统的结构及其实现 | ✔ | |
| 文件分配 | ✔ | |
| 空闲空间管理 | ✔ | |
| 文件控制块 | ✔ | |
| 物理分配方法 | ✔ | |
| 索引结构 | ✔ | |
| 树形目录结构 | ✔ | |
| 文件共享原理 | ✔ | |
| 文件系统的布局 | ✔ | |
| 虚拟文件系统原理 | ✔ |
【问题】
本节内容较为抽象,要注意区分文件的 逻辑结构 和 物理结构 ;
在学习过程中,可尝试以上面的两个问题为线索,构建整个文件系统的概念;
在前面的学习中,曾经提醒过读者不要忽略对基本概念的理解。
从历年的情况来看,大部分同学对进程管理、内存管理有较好的掌握,但对于文件管理及后面的I/O管理,往往理解不太深入。
在考试中,即使面对一些基本问题也容易失分,这十分可惜。主要原因还是对概念的理解不够全面和透彻,希望读者能够关注这个问题。
1. 文件的属性
2. 文件内数据的组织方式
3. 文件之间的组织方式
![]](https://img-blog.csdnimg.cn/b18bbb4030ca48f7a8cd14d85a7333c4.png)
4. 操作系统 对 文件管理 向上提供哪些服务 ?
5. 文件如何存放在外存 ?
初步认识 文件共享 和 文件保护
小结
1. 文件控制块
文件控制块 (FCB) 是用来存放控制文件需要的各种信息的数据结构,以实现 按名存取;
FCB的有序集合称为 ==文件目录,==一个FCB就是一个文件目录项;
为了创建一个新文件,系统将分配一个FCB并存放在文件目录中,称为 目录项;
2. 目录结构
① 单级目录结构
② 两级目录结构
③ 树形目录结构
树形目录结构 不便于实现文件的共享 ;
④ 无环图目录结构
在树形结构的基础上,允许 ==使用不同的文件名指向同一个文件或目录,==需要为每个共享结点设置一个 共享计数器;
3. 索引结点
文件除文件名之外的文件描述信息,由索引结点( i 结点)保存;
文件目录中的目录项由 文件名 和 指向该文件所对应的 i 结点 的指针构成;
小结
1. 无结构文件
2. 有结构文件
记录式文件,由一组相似的 记录 组成,每条记录又由若干个 数据项 组成;
记录 还可以分为 定长记录 和 可变长记录;
有结构文件在逻辑上如何被组织起来,分成三种方式:
① 顺序文件
② 索引文件
上面提到,可变长记录文件无法实现随机存取,那又想快速查找、又想使用可变长记录,该怎么办?
③ 索引顺序文件
如果为每个记录对应一个索引表项,那就太占用空间了;
但如果先对记录分组,只给各组对应一个索引表项,那就很大程度减小索引表所要占用的空间;
对于记录数量较大的情况,可以建立 ==多级索引表,==进一步提高检索效率;
小结
1. 文件块、磁盘块
文件分配,是指如何为文件分配磁盘块,常用的磁盘空间分配方法包括:
2. 文件分配方式 - 连续分配
每个文件在磁盘上占用一组连续的块;
连续分配的文件不方便拓展,需要整体迁移到合适大小的连续空间去;
存储空间利用率低
3. 文件分配方式 - 链接分配
① 隐式链接
② 显式链接
4. 文件分配方式 - 索引分配
索引分配
与 显式链接 不同,显式链接是整个磁盘的所有文件的索引信息都集中在一张索引表上;
索引表的 逻辑块号 可以是隐含的,进一步节约空间;
一个很大的索引表,一个磁盘块装不下,针对这个问题有以下三种解决方法:
① 链接方案
使用多个索引块存储索引表,并采用链接的方式将它们连起来
② 多层索引
K + 1 次读磁盘操作:K次读索引表 + 1次读数据块
③ 混合索引
对于小文件,一个数据块就存储的了;若采用多级索引方式,就要访存多次,影响效率;
采用 ==混合索引,==既可以解决大文件存储问题,还可以减少对于小文件多次访存;
小结
小结
1. 创建文件
2. 删除文件
3. 打开文件
有两种打开文件表
4. 关闭文件
5. 读文件
6. 写文件
小结
注意 共享 与 复制 的区别;
1. 硬链接 - 基于索引结点
2. 软链接 - 基于符号链
小结
为了防止 文件共享 可能会导致 文件被破坏 或 未经核准的用户修改文件,文件系统必须要控制用户对文件的存取;
所以,必须在文件系统中建立相应的 文件保护机制 ;
1. 口令保护
2. 加密保护
3. 访问控制
设置一个 访问控制表
小结
【问题】
① 什么是 文件系统 ?
答:操作系统中 负责管理和存储文件信息的软件机构 称为文件管理系统,简称文件系统。
文件系统由三部分组成:与文件管理有关的软件、被管理文件及实施文件管理所需的数据结构;
② 文件系统要完成哪些 功能 ?
答:对于用户而言,文件系统最主要的功能是实现对文件的基本操作,让用户可以按名存储和查找文件,组织成合适的结构,并
应当具有基本的文件共享和文件保护功能。
对于操作系统本身而言,文件系统还需要管理与磁盘的信息交换,完成文件逻辑结构和物理结构上的变换,组织文件在磁盘上的
存放,采取好的文件排放顺序和磁盘调度方法以提升整个系统的性能。
【补充】
本节除了 外存空闲空间管理,其他都是2022年统考大纲的新增考点,基本都是概念知识点(多看几遍);
王道书中的图与王道视频不同,参考教材不同,不影响学习;
小结
1. 物理格式化
==低级格式化:==划分扇区、检测坏扇区、用备用扇区替换坏扇区;
当要访问某一块坏扇区时,会使用备用扇区,默默完成替换工作;
2. 逻辑格式化
==高级格式化:==磁盘分区;
每个区的大小、地址范围等信息,会使用 分区表 来记录;
在每个区里可以建立各自独立的文件系统 ,例如在C盘里建立UNIZX文件系统;
主引导记录 MBR
位于磁盘的 0 号扇区,用来引导计算机。MDR 后面是 分区表,记录各分区的起始、结束地址;
表中的一个分区被标记为 活动分区 ,启动计算机时,BIOS 读入并执行 MBR ;
MBR 会确认活动分区,读入它的第一块 (引导块);
UNIX 文件系统
3. 文件系统在内存中的结构
1. 存储空间的划分与初始化
2. 几种管理方式
(1) 空闲表法
设置了一个空闲盘块表,要搞清楚三个点:
(2) 空闲链表法
① 空闲盘块链
② 空闲盘区链
(3) 位式图法
连续、离散分配 都适应;
(4) 成组链接法
每个分组的盘块数量都是 有上限 的,下图举的例子中,最后一组的磁盘块 比 倒二组 的数量少1
分配一个空闲块的情况
分配100个空闲块的情况
回收未满的情况
回收已满的情况
小结
1. 虚拟文件系统
下图普通的文件系统,不同的外部存储设备,它的文件系统可能是不相同的,对于同一个操作的函数方法定义也许也各不相同;
鉴于上图提到的问题,操作系统内核需要向上层的用户进程提供一个 统一标准的函数调用接口;
这就是 虚拟文件系统 VFS 的一个特点;
UFS文件系统的目录项 和 FAT文件系统的目录项 格式不同,这就造成新的问题:
虚拟文件系统打开不同的文件,得到的文件信息数据格式都不同;
对于不同文件系统的数据结构,VFS 在每打开一个文件,就在主存建立一个 ==vnode,==用 统一的 数据结构表示文件;
注意 vnode 和 inode 的区别;
==函数功能指针:==指向该文件系统的功能函数列表;
通过 函数功能指针 找到对应的函数功能,进而完成所要完成的操作;
2. 文件系统挂载
将一个系统挂载到操作系统;例如:插入一个U盘,就把 U盘的文件系统 挂载到 OS的虚拟文件系统;
1. 文件的物理分配方式的比较
文件的三种物理分配方式的比较如下表:
| 连续分配 | 需访问磁盘1次 | 顺序存取时速度快,文件定长时可根据文件起始地址及记录长度进行随机访问 | 文件存储要求连续的存储空间,回产生碎片,不利于文件的动态扩充 |
| 链接分配 | 需访问磁盘n次 | 可解决外存的碎片问题,提高外存空间的利用率,动态增长较方便 | 只能按照文件的指针链顺序访问,查找效率低,指针信息存放消耗外存空间 |
| 索引分配 | m级需访问磁盘m+1次 | 可以随机访问,文件易于增删 | 索引表增加存储空间的开销,索引表的查找策略对文件系统效率影响较大 |
2. 文件打开的过程描述
① 检索目录,要求打开的文件应该是已经创建的文件它应登记在文件目录中,否则会出错。
在检索到指定文件后,就将其磁盘iNode复制到活动iNode表中。
② 把参数 mode所给出的打开方式与活动inode 中在创建文件时所记录的文件访问权限相比较,如果合法,则此次打开操作成功。
③ 当打开合法时,为文件分配用户打开文件表表项和系统打开文件表表项,并未后者设置初值,通过指针建立表项与活动iNode之间的联系,再把文件描述符fd返回给调用者。