操作系统第四章:文件管理系统

文件基本概念

向操作系统提供的几个基本功能:

  • 创建文件
  • 删除文件
  • 打开文件
  • 读文件
  • 写文件
  • 关闭文件

文件存储

文件的结构

结构包含逻辑结构和物理结构(存储地址),分为无结构文件和有结构文件,类比mangoDB和MySQL

有结构文件根据各条记录占用的存储空间是否相等,分为定长记录和可变长记录

有结构文件的逻辑结构

顺序文件

可以是定长或可变长,各个记录在物理上可以是顺序存储或者链式存储。

题目中所说的顺序文件值得是物理上采用顺序存储的文件

索引文件

索引文件

索引顺序文件

索引顺序文件

文件目录

文件控制块(FCB)

文件控制块

目录结构

单极目录结构:整个系统中只建立一张目录表,每个文件占一个目录项。

两级目录结构:分为主文件目录和用户文件目录

多级/树形目录结构

多级目录结构

无环图目录结构:在树形目录结构的基础上,增加一些指向同一节点的有向边,使整个目录成为一个有向无环图。

无环图目录结构

索引结点

索引结点

存放在外存中的索引结点称为”磁盘索引结点”,当索引结点放入内存后称为”内存索引结点”。

文件分配方式(物理结构)

连续分配

连续分配方式要求每个文件在磁盘上占有一组连续的块。

优点:支持顺序访问和直接访问(即随机访问);连续分配的文件在顺序访问时速度最快

缺点:不方便文件拓展;存储空间利用率低,会产生磁盘碎片

连续分配

链式分配

考试题目中遇到未指明隐式/显式的”链接分配”,默认指的是隐式链接的链接分配

隐式链接

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

优点:很方便文件拓展,不会有碎片问题,外存利用率高。

缺点:只支持顺序访问,不支持随机访问,查找效率低,指向下一个盘块的指针也需要耗费少量的存储空间。

隐式链接

显式链接

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

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

缺点:文件分配表的需要占用一定的存储空间。

显式链接

索引分配

索引分配

链式索引

链接索引

多层索引

多层索引

混合索引

混合索引

文件存储空间管理

空闲块管理与分配

空闲表法

空闲表法

空闲链表法

空闲链表法

位示图法

盘块号计算

位示图法分配

成组链接法

成组链接法

文件基本操作

创建文件:

  1. 在外存中给文件分配所需的内存空间;
  2. 在目录中创建该文件对应的目录项。

删除文件:

  1. 从目录中找到文件名对应的目录项;
  2. 回收该文件占用的磁盘块;
  3. 从目录表中删除文件对应的目录项。

打开文件:

  1. 从目录中找到文件名对应的目录项,检查该用户是否有指定的操作权限;

  2. 将目录项复制到内存中的打开文件表中;

    在内存中进行一定操作并保存后,变会将内存中的文件复制到外存中

打开文件表

关闭文件

  1. 删除进程的打开文件表里的内容
  2. 回收文件资源
  3. 系统打开文件表的打开计数器减一,若count=0,则删除对应表项

读文件

  1. 打开文件
  2. 根据读写指针读入用户指定大小的数据放到指定的内存区域

写文件

  1. 打开文件
  2. 读入内存
  3. 写入数据
  4. 将内存文件数据写出外存

文件共享

基于索引结点的共享方式(硬链接)

索引结点:将文件目录中除了文件名以外的其他信息都放到索引结点当中

基于索引结点的共享方式

基于符号链的共享方式

基于符号链的共享方式

文件保护

口令保护

为文件设置一个口令,用户请求访问该文件时必须提供口令

优点:保存口令的空间开销不多,验证口令的时间开销也很小。.

缺点:正确的”口令”存放在系统内部,不够安全。

加密保护

使用某个密码对文件进行加密,在访问文件时需要使用对应的密码来对文件解密

优点:保密性强,不需要在系统中存储”密码”

缺点:编码/译码,或者说加密/解密要花费一定时间。

访问控制

在文件的FCB中增加一个访问控制列表(ACL),该表中记录了各个用户可以对该文件执行哪些操作

文件系统层次结构

文件系统的层次结构

文件系统布局

虚拟文件系统


操作系统第四章:文件管理系统
http://2819461143wp.github.io/操作系统第四章/
作者
cwdp.sky
发布于
2025年12月30日
许可协议