【操作系统】24王道考研笔记——第四章 文件管理

第四章 文件管理

一、文件系统基础

1.基本概念

【操作系统】24王道考研笔记——第四章 文件管理_第1张图片

2.文件的逻辑结构

【操作系统】24王道考研笔记——第四章 文件管理_第2张图片

【操作系统】24王道考研笔记——第四章 文件管理_第3张图片

顺序文件:

【操作系统】24王道考研笔记——第四章 文件管理_第4张图片

索引文件:

【操作系统】24王道考研笔记——第四章 文件管理_第5张图片

索引顺序文件:

【操作系统】24王道考研笔记——第四章 文件管理_第6张图片

效率分析:

【操作系统】24王道考研笔记——第四章 文件管理_第7张图片

多级索引顺序文件:

【操作系统】24王道考研笔记——第四章 文件管理_第8张图片

总结:

【操作系统】24王道考研笔记——第四章 文件管理_第9张图片

3.文件目录

文件控制块(FCB)

【操作系统】24王道考研笔记——第四章 文件管理_第10张图片

目录的基本操作:

【操作系统】24王道考研笔记——第四章 文件管理_第11张图片

目录结构:

【操作系统】24王道考研笔记——第四章 文件管理_第12张图片

【操作系统】24王道考研笔记——第四章 文件管理_第13张图片

【操作系统】24王道考研笔记——第四章 文件管理_第14张图片

树形目录结构可以很方便地对文件进行分类,层次结构清晰,也能够更有效地进行文件的管理和保护。但是,树形结构不便于实现文件的共享。为此,提出了“无环图目录结构”。

【操作系统】24王道考研笔记——第四章 文件管理_第15张图片

索引结点:

【操作系统】24王道考研笔记——第四章 文件管理_第16张图片

总结:

【操作系统】24王道考研笔记——第四章 文件管理_第17张图片

4.文件的物理结构

(文件分配方式)

文件块、磁盘块:

【操作系统】24王道考研笔记——第四章 文件管理_第18张图片

连续分配:

  • 优点:支持顺序访问和直接访问(即随机访问);连续分配的文件在顺序访问时速度最快
  • 缺点:不方便文件拓展;存储空间利用率低,会产生磁盘碎片

【操作系统】24王道考研笔记——第四章 文件管理_第19张图片

链接分配:

链接分配采取离散分配的方式,可以为文件分配离散的磁盘块。分为隐式链接和显式链接两种。

隐式分配:

隐式链接——除文件的最后一个盘块之外,每个盘块中都存有指向下一个盘块的指针。文件目录包括文件第一块的指针和最后一块的指针。

  • 优点:很方便文件拓展,不会有碎片问题,外存利用率高。
  • 缺点:只支持顺序访问,不支持随机访问,查找效率低,指向下一个盘块的指针也需要耗费少量的存储空间

【操作系统】24王道考研笔记——第四章 文件管理_第20张图片

显式分配:

显式链接——把用于链接文件各物理块的指针显式地存放在一张表中,即 文件分配表(FAT,FileAllocation Table)。一个磁盘只会建立一张文件分配表。开机时文件分配表放入内存,并常驻内存。

  • 优点:很方便文件拓展,不会有碎片问题,外存利用率高,并且支持随机访问。相比于隐式链接来说,地址转换时不需要访问磁盘,因此文件的访问效率更高。
  • 缺点:文件分配表的需要占用一定的存储空间。

【操作系统】24王道考研笔记——第四章 文件管理_第21张图片

【操作系统】24王道考研笔记——第四章 文件管理_第22张图片

逻辑结构与物理结构对比总结:

【操作系统】24王道考研笔记——第四章 文件管理_第23张图片

5.文件存储空间管理

存储空间的划分:

【操作系统】24王道考研笔记——第四章 文件管理_第24张图片

空闲表法:

【操作系统】24王道考研笔记——第四章 文件管理_第25张图片

空闲链表法:

分为空闲盘块链以及空闲盘区链

【操作系统】24王道考研笔记——第四章 文件管理_第26张图片

【操作系统】24王道考研笔记——第四章 文件管理_第27张图片

位示图法:

【操作系统】24王道考研笔记——第四章 文件管理_第28张图片

  • 如何分配:若文件需要K个块,①顺序扫描位示图,找到K个相邻或不相邻的“0”;②根据字号、位号算出对应的盘块号,将相应盘块分配给文件;③将相应位设置为“1”。
  • 如何回收:①根据回收的盘块号计算出对应的字号、位号;②将相应二进制位设为“0”

成组链接法:

空闲表法、空闲链表法不适用于大型文件系统,因为空闲表或空闲链表可能过大。UNIX系统中采用了成组链接法对磁盘空闲块进行管理。

文件卷的目录区中专门用一个磁盘块作为“超级块”,当系统启动时需要将超级块读入内存。并且要保证内存与外存中的“超级块”数据一致

【操作系统】24王道考研笔记——第四章 文件管理_第29张图片

如何分配?

Eg :需要1个空闲块

①检查第一个分组的块数是否足够。1<100,因此是足够的。

②分配第一个分组中的1个空闲块,并修改相应数据

【操作系统】24王道考研笔记——第四章 文件管理_第30张图片

【操作系统】24王道考研笔记——第四章 文件管理_第31张图片

总结:

【操作系统】24王道考研笔记——第四章 文件管理_第32张图片

6.文件的基本操作

【操作系统】24王道考研笔记——第四章 文件管理_第33张图片

7.文件共享

注意:多个用户共享同一个文件,意味着系统中只有“一份”文件数据。并且只要某个用户修改了该文件的数据,其他用户也可以看到文件数据的变化。

如果是多个用户都“复制”了同一个文件,那么系统中会有“好几份”文件数据。其中一个用户修改了自己的那份文件数据,对其他用户的文件数据并没有影响。

硬链接:

【操作系统】24王道考研笔记——第四章 文件管理_第34张图片

软链接:

【操作系统】24王道考研笔记——第四章 文件管理_第35张图片

总结:

【操作系统】24王道考研笔记——第四章 文件管理_第36张图片

8.文件保护

口令保护:

【操作系统】24王道考研笔记——第四章 文件管理_第37张图片

加密保护:

【操作系统】24王道考研笔记——第四章 文件管理_第38张图片

访问控制:

【操作系统】24王道考研笔记——第四章 文件管理_第39张图片

总结:

【操作系统】24王道考研笔记——第四章 文件管理_第40张图片

二、文件系统

1.文件系统结构

【操作系统】24王道考研笔记——第四章 文件管理_第41张图片

【操作系统】24王道考研笔记——第四章 文件管理_第42张图片

2.文件系统布局

逻辑格式化

【操作系统】24王道考研笔记——第四章 文件管理_第43张图片

在外存中

【操作系统】24王道考研笔记——第四章 文件管理_第44张图片

在内存中

【操作系统】24王道考研笔记——第四章 文件管理_第45张图片

用open系统打开文件的过程

【操作系统】24王道考研笔记——第四章 文件管理_第46张图片

3.虚拟文件系统

普通的文件系统

【操作系统】24王道考研笔记——第四章 文件管理_第47张图片

虚拟文件系统

【操作系统】24王道考研笔记——第四章 文件管理_第48张图片

特点:

  • ①向上层用户进程提供统一标准的系统调用接口,屏蔽底层具体文件系统的实现差异
  • ②VFS要求下层的文件系统必须实现某些规定的函数功能,如:open/read/write。一个新的文件系统想要在某操作系统上被使用,就必须满足该操作系统VFS的要求
  • ③每打开一个文件,VFS就在主存中新建一个 vnode,用统一的 数据结构表示文件,无论该文件存储在哪个文件系统。
  • 注意:vnode 只存在于主存中,而 inode(索引结点) 既会被调入主存,也会在外存中存储

存在的问题:

【操作系统】24王道考研笔记——第四章 文件管理_第49张图片

实现函数的过程:

【操作系统】24王道考研笔记——第四章 文件管理_第50张图片

文件系统挂载

【操作系统】24王道考研笔记——第四章 文件管理_第51张图片

主要参考:王道考研课程
后续会持续更新考研408部分的学习笔记,欢迎关注。
github仓库(含所有相关源码):408数据结构笔记

你可能感兴趣的:(操作系统,考研,笔记,操作系统)