首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >操作系统之文件管理(王道)

操作系统之文件管理(王道)

作者头像
十二.
发布2025-10-22 15:34:50
发布2025-10-22 15:34:50
550
举报

学习了文件属性的、文件的逻辑结构、文件目录、文件的物理结构、文件的分配方式、文件的存储管理、文件系统的层次结构。 在博客末尾,附有学习日记

知识大纲(文件管理)

文件的属性:

文件名、标志符、类型、位置、大小、创建时间、....保护信息

文件内部的数据应该怎样组织起来?

多种举例方式

详细:

文件内部的数据应该怎样组织起来?

操作系统应该向上提供哪些功能?

某些复杂功能,可以由这些简答功能组合。

open\close\create\delete\read\write

理解:
具体:
从上往下看,文件应如何存放在外存?

存放在磁盘块中

其他需要操作系统实现的文件管理功能
知识点回顾与重要考点

知识大纲(文件的逻辑结构)

本知识讲解呢,首相从文件的逻辑结构进行讲解(无结构文件、有结构文件)

其中,无结构文件有又被称为流式文件

有结构文件分为顺序文件(不方便增删操作)、索引文件(解决了顺序文件问题,但是浪费内存,检索时间不优)、索引顺序文件(结合了索引与顺序文件的优点。取其精华、去其糟粕)

无结构文件
有结构文件
有结构文件的逻辑结构
顺序文件
顺序文件拓展
索引文件
索引顺序文件

先吐槽下普通 “索引文件” 的缺点(为啥要搞索引顺序文件)

你想啊,要是每个小记录都单独配一个索引项(就像给每个文件单独做个超详细标签),但记录本身可能很小(比如一个记录才占 8 个字节 ),索引项却很大(比如占 32 个字节 ),这样索引的总大小会比实际内容还大好多(比如大 4 倍 ),太浪费空间啦!就像你给每片小树叶都做个巨大标签,装树叶的袋子没多大,装标签的袋子却超大,不划算~

索引顺序文件是咋解决的?(核心思路)

它把 “索引文件” 和 “顺序文件” 的思路混一起用! 不再给每个记录单独配索引项,而是 “一组记录” 共用一个索引项 。

举例子里的学生记录:按姓名开头字母分组(比如 A 开头、B 开头… ),每组就是一个小的 “顺序文件” 。索引表只需要给每个组配一个索引项,不用管组里具体多少条记录~

索引顺序文件效率计算
多级索引顺序文件
知识回顾(逻辑结构)
知识回顾(有结构文件)

知识大纲(文件目录)

首先引出一个整个文件目录,包含多个目录项(也就是文件控制块--FCB)。

一个文件对应一个FCB、一个FCB就是一个目录项,多个目录项合为一个目录

然后讲解了单级目录结构 -- 文件无法重名

两级文件目录 -- 解决了单级问题(并且安全性增加)

多级文件目录 -- 两级文件目录的拓展版本,但共享不方便

无环图目录结构 -- 解决了,文件共享问题

索引结点,对文件控制块的优化。

引入
文件控制块(TCB)
引入
作用
目录结构:
单级目录
两级目录
多级目录
无环图目录结构
索引结点(FCB的改进)

如图,两个FCB的改变,你就能看出来优化的策略。

优化的结果
知识回顾

知识大纲(文件的物理结构)

知识总览

物理分配方式--

连续分配,支持随机查询,但是会产生外部碎片,且不方便拓展

链接分配,隐式,不支持随机查询,但是高效利用存储空间。显式,既支持随机查询,又能高效利用空间,但需要在内存中创建FAT

一个磁盘只有一个FAT,而一个FAT链接着好多文件

文件块、磁盘块
文件分配方式--连续分配

图解:

总结

链接分配 - 隐/显式
隐式链接
总结
显式链接

一个磁盘只有一个FAT,而一个FAT链接着好多文件

总结
文件分配方式--索引分配

索引分配就是 -- 一个逻辑块号与物理块号一一对应。

索引方案
多层索引
混合索引
总结:
对比:

逻辑结构VS物理结构

大概看一下吧,捋清楚也蛮重要的呢

知识大大纲(文件存储空间管理)

知识大纲(文件存储管理)

存储空间的划分与初始化
储存空间管理--空闲表法
存储空间管理--空闲链表法
空闲盘块链
空闲盘区链
存储空间管理--位示图法
详细:
存储空间--成组链接法(超级块)
分配
知识回顾
知识大纲(文件的基本操作)

先从创建/删除文件--TCB的创建与删除

然后过度到打开/关闭文件 -- 创建打开文件表

在此基础上,可进行读写操作

创建文件:
删除文件:
打开文件:
拓展:
读文件:
写文件:
知识回顾:

知识大纲(文件的共享)

基于索引节点的共享方式(硬链接)
基于索引节点的共享方式(软链接)
Link类型
知识回顾:
文件保护:
口令保护
加密保护
访问保护
知识点回顾与重要考点

文件系统的层次结构

知识点回顾与重要考点
物理格式化后
文件系统在外存中的结构
一、先看最下面的 “磁盘”—— 硬盘整体

把整个硬盘想象成一块 “大蛋糕”,最开头有个 主引导记录(MBR) ,它是 “开机启动的钥匙”:

  • 里面存着 “磁盘引导程序”(负责开机时找到系统在哪儿,比如找到 C 盘里的 Windows 系统 )和 “分区表”(记录硬盘被分成了几个区,比如 C 盘、D 盘、E 盘 ,每个区多大 )。
二、再看上面的 “UNIX 文件系统”—— 分区里的结构

每个分区(比如 C 盘、D 盘 )里,文件系统会分成这些 “功能区”,协同管理文件:

1. 引导块
  • 作用:负责启动操作系统 。开机时,电脑先读 MBR ,然后 MBR 会找对应分区的 “引导块”,加载系统(比如 UNIX 系统 )。
  • 白话:相当于分区里的 “小钥匙”,配合 MBR 完成系统启动。
2. 超级块
  • 作用:记录整个分区的关键信息 ,比如分区多大、空闲空间有多少、文件咋组织的… 是分区的 “总档案”。
  • 白话:分区的 “户口本”,存着分区的基本信息,系统要干啥都得先看它。
3. 空闲空间管理(如:位示图 )
  • 作用:记录分区里哪些地方是空的(没存文件 ) ,方便系统存新文件时找空位。“位示图” 就是用二进制(0 和 1 )标记,0 表示空、1 表示被占用。
  • 白话:分区的 “空车位指示牌”,系统存文件前先看这儿,找 “空车位”(空闲空间 )停车(存文件 )。
4. i 结点区(索引结点区 )
  • 作用:给每个文件建 “档案卡” ,存文件的关键信息(比如存在哪个磁盘块、大小、权限、创建时间 )。每个文件对应一个 i 结点,找文件时先查 i 结点。
  • 白话:文件的 “身份证 + 档案”,系统靠它定位文件存在硬盘哪,以及文件的各种属性。
5. 根目录
  • 作用:分区里所有文件 / 文件夹的 “总入口” 。比如打开 C 盘看到的 “此电脑 → C 盘” ,就是根目录开始的结构,里面能找到各种文件、文件夹。
  • 白话:分区的 “大门”,从这儿进去能逛遍分区里所有文件,像进小区大门后能找到每栋楼、每户。
6. 其他文件、目录
  • 作用:就是你存的各种东西 ,比如文档、视频、文件夹,都存在这儿。
  • 白话:分区里的 “住户”,根目录带着你找到这些 “住户”(文件 / 文件夹 )。
三、整体逻辑 —— 硬盘咋管理文件?
  1. 开机时,MBR 先启动,找到对应分区的引导块,加载系统。
  2. 系统运行时,靠 “超级块” 了解分区整体情况,靠 “空闲空间管理” 找空位存新文件。
  3. 打开文件时,先从 “根目录” 进,查 “i 结点区” 的档案,找到文件存在硬盘的具体位置,然后读取内容。

简单说,这张图就是把硬盘分区拆成 “启动区、档案区、空地区、文件区” ,各司其职,让系统能顺利启动、管理文件~ 就像一个小区,MBR 是小区大门的总控制器,每个分区是小区里的楼,引导块是楼里的电梯控制器,超级块是楼的基本信息牌,空闲空间管理是楼里的空房间指示,i 结点区是每户的门牌号档案,根目录是楼里的总走廊,其他文件就是每户里的东西~

open系统调用打开文件的背后过程

知识大纲(文件系统的层次结构)

I/O设备的分类--按传输速率分类
I/O设备的分类--按信息交换的单位分类
知识回顾

借鉴:

1、王道

2、【有道云笔记】第四章文件管理 -- 我的笔记


学习日记:

6.17(周二)

上午

杂事,已经处理完毕 死锁的检测 和 解除, 运用了资源分配图与死锁检测算法 解除共有三种方式:强行剥夺、回退、撤销

下午

学习内存基础、了解了指令。学习装入(静态装入、动态装入、重定位装入) 与链接(与装入类似)的三种方法。 并在内存管理中学习了内存分配(下方三种)、地址转换、内存保护 并且还了解,地址分配是由第一地址分配、固定地址分配、动态分配)三种分配 其中动态分配可由四个算法实现: 首次适应算法(综合性最好)、最佳适应算法(从小到大、需排序)、最坏适应算法(从大到小、需排序)、邻近适用算法(链表) 其中在学习,分页式储存管理时,学习到了: 页、页框、页框号....

晚上

....

6.18(周三)

上午

学习了基本分页式储存管理,从而引出基本地址变换机构(简而言之,将逻辑地址转换成页号与页面偏移量,从而在内存中查找页表,最终计算出物理地址)。 为了加快速度,又引出了高速缓存(TLB)。 基本分页储存太浪费大块内存。所以又发明了两级页表。即可增加内存利用率,也增加了灵活性。 多级页表页也就此被发明。

下午

学习了段式存储(是按照逻辑设计分段、提供内存保护)结合页式储存又演进成了段页式存储(=段表+页表)。而虚拟内存技术拓充了内存。通过请求分页管理与页面置换算法实现。 期中,请求分页管理包含:页表机制(段号、状态号、访问字段、修改位、外存地址),缺页中断、地址转换-计算题 而页面置换算法又分为(OPT-最佳、FIFO-最次但简单、LRU-最接近最优但实现代价大、CLOCK+改良版-这俩挺不错) 之后又讲了,页面分配策略(像什么工作集、驻留集、抖动现象....)其中最精彩的,还是局部分配与全局分配。一个是用自己进程的内存块,一个是全局进程调用。

晚上

... ...

6.19(周四)

上午

操作系统共主打四大管理(处理机、存储、文件、设备..管理)而,今天初识文件管理(认识了FCB、操作系统向上提供的功能、磁盘块、文件的各个属性...)粗广学习后,(细入)又引入了文件结构(无结构-流式、有结构-又称记录型文件)。其中结构文件分为,顺序文件、索引文件、索引顺序文件(拓展)--多级索引顺序文件。跳出框架后,又学得将各个文件组织起来的方式-TCB。也就是,单级目录、两级目录、多级目录。无环图目录--方便共享文件、并方便查询、不同目录可重命名。

下午

学习了连续分配,链接分配,索引分配。其中索引分配又细化为链接索引,多层索引,混合索引。而这些是为了解决文件存储在硬件问题

晚上

......

6.20(周五)

上午

这个回顾一下,这几天学习了逻辑结构与物理结构。其中逻辑机构(由用户决定--与内存息息相关,且操作系统并不关心)-专门用来管理内存中的文件。其次就是物理结构(由操作系统决定,将文件采用什么样的方式存储在外存上。并负责逻辑块与物理块的转化) 其中,他们都包含顺序、链式、索引分配。

下午

学习了文件存储管理(空闲表法、空闲链表法、位视图法、 成组链表法) 学习完储存,然后学习了文件的基础操作(从创建删除,到打开关闭,又组合出读写功能)有了存储、操作,之后又学习了软硬链接的操作--为共享文件而生,软连接为Link法。口令/加密/访问保护,其中我认为访问保护的发放权限功能最绝。

晚上

.....

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-10-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 知识大纲(文件管理)
    • 文件的属性:
    • 文件内部的数据应该怎样组织起来?
    • 操作系统应该向上提供哪些功能?
    • 从上往下看,文件应如何存放在外存?
    • 其他需要操作系统实现的文件管理功能
    • 知识点回顾与重要考点
  • 知识大纲(文件的逻辑结构)
    • 无结构文件
    • 有结构文件
    • 有结构文件的逻辑结构
    • 顺序文件
    • 顺序文件拓展
    • 索引文件
    • 索引顺序文件
    • 索引顺序文件是咋解决的?(核心思路)
    • 索引顺序文件效率计算
    • 多级索引顺序文件
    • 知识回顾(逻辑结构)
    • 知识回顾(有结构文件)
  • 知识大纲(文件目录)
    • 文件控制块(TCB)
    • 目录结构:
    • 知识回顾
  • 知识大纲(文件的物理结构)
  • 知识总览
    • 文件块、磁盘块
    • 文件分配方式--连续分配
    • 链接分配 - 隐/显式
    • 显式链接
    • 总结
    • 文件分配方式--索引分配
    • 索引方案
    • 多层索引
    • 混合索引
    • 总结:
    • 对比:
  • 逻辑结构VS物理结构
  • 知识大大纲(文件存储空间管理)
  • 知识大纲(文件存储管理)
    • 存储空间的划分与初始化
    • 储存空间管理--空闲表法
    • 存储空间管理--空闲链表法
    • 存储空间管理--位示图法
    • 存储空间--成组链接法(超级块)
    • 知识回顾
    • 知识大纲(文件的基本操作)
    • 创建文件:
    • 删除文件:
    • 打开文件:
    • 拓展:
    • 读文件:
    • 写文件:
    • 知识回顾:
  • 知识大纲(文件的共享)
    • 基于索引节点的共享方式(硬链接)
    • 基于索引节点的共享方式(软链接)
    • Link类型
    • 知识回顾:
    • 文件保护:
    • 口令保护
    • 加密保护
    • 访问保护
    • 知识点回顾与重要考点
  • 文件系统的层次结构
    • 知识点回顾与重要考点
    • 物理格式化后
    • 文件系统在外存中的结构
    • 一、先看最下面的 “磁盘”—— 硬盘整体
    • 二、再看上面的 “UNIX 文件系统”—— 分区里的结构
    • 三、整体逻辑 —— 硬盘咋管理文件?
  • 知识大纲(文件系统的层次结构)
    • I/O设备的分类--按传输速率分类
    • I/O设备的分类--按信息交换的单位分类
    • 知识回顾
  • 学习日记:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档