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

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

  1. 🥬 第一章 计算机概述
  2. 🥕 第二章 进程与线程
  3. 🥪 第三章 内存管理
  4. 🍊 第四章 文件管理 ⇦当前位置🪂
  5. 🍒 第五章 输入输出管理
  6. 🍔 操作系统 复试精简笔记 (未完成)
  7. 🎨 408 全套初复试笔记汇总 传送门 🏃‍🏃‍🏃‍
     

如果本篇文章对大家起到帮助的话,跪求各位帅哥美女们,求赞👍 、求收藏 👏、求关注!👀
你必考上研究生!我说的,耶稣来了也拦不住!😀😀😀

在这里插入图片描述

 

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

 


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

【考纲内容】 王道 P249 ~ 296
 
(一) 文件

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

(二) 目录

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

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

(三) 文件系统

​ 网课耗时:0.5 h

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

 

【复习提示】

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

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

 

4.1 文件系统基础

【问题】

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

​本节内容较为抽象,要注意区分文件的 逻辑结构物理结构
 
​在学习过程中,可尝试以上面的两个问题为线索,构建整个文件系统的概念;
 
在前面的学习中,曾经提醒过读者不要忽略对基本概念的理解。
 
从历年的情况来看,大部分同学对进程管理、内存管理有较好的掌握,但对于文件管理及后面的I/O管理,往往理解不太深入。
 
​在考试中,即使面对一些基本问题也容易失分,这十分可惜。主要原因还是对概念的理解不够全面和透彻,希望读者能够关注这个问题。

 

4.1.1 文件的基本概念

在这里插入图片描述

 

1. 文件的属性

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

在这里插入图片描述

 

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

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

在这里插入图片描述

在这里插入图片描述

 

3. 文件之间的组织方式

 

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返回给调用者。

  • 23
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
王道操作系统重点笔记包含了该书上的几乎所有重点内容,是一份全面而量比较大的笔记。可以在电脑和手机上查看,使用iPad竖屏查看方式效果最佳。这份笔记涵盖了操作系统的各个方面,包括单道批处理系统的批处理阶段,早期操作系统中的监督程序,以及坏块的管理。单道批处理系统中,用户打好的点交给磁带,然后磁带将数据读入计算机,虽然速度快得多,但利用率仍然很低。对于坏掉的扇区,可以通过简单的在FAT中标记出来防止被使用,但对于复杂的磁盘,会交给磁盘控制器来维护坏块链表,并保留一些备用分区。这些内容都是王道操作系统笔记的重点之一。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [操作系统.xmind](https://download.csdn.net/download/m0_37738114/12246068)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [王道操作系统笔记合集](https://blog.csdn.net/jtwqwq/article/details/128310178)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的clz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值