一、文件管理核心概述

1.1 文件系统作用

文件管理是操作系统四大核心管理模块之一(进程、内存、文件、设备),主要负责外存空间分配与回收、文件存取、目录管理、权限保护、数据持久化,解决磁盘数据有序存储、快速检索、安全管控的核心问题。

1.2 文件完整组成

一个完整文件由两部分构:

  • 文件体:文件真实存储的业务数据、内容信息

  • 文件说明(FCB文件控制块):操作系统管理文件的元数据,包含文件名、存储地址、文件大小、访问权限、创建/修改时间、所属用户等信息

1.3 文件两大结构分类

  • 逻辑结构:用户视角,分为流式文件(无结构字符流)、记录式文件(结构化数据)

  • 物理结构:磁盘存储视角,决定文件在磁盘的存放方式,考试核心考点


二、文件三大物理结构

磁盘文件物理结构分为:连续结构、链式结构、索引结构,三者优缺点、读写特性、适用场景是选择题高频考点。

2.1 连续分配(顺序结构)

核心原理:文件数据连续存放在磁盘相邻物理块中,起始块号+文件长度即可定位整个文件。

优点

  • 读写速度最快,支持随机访问、顺序访问

  • 寻址简单,系统开销小

缺点

  • 产生磁盘外部碎片,空间利用率低

  • 文件动态扩容困难,需预留连续空间

适用场景:静态文件、只读文件、系统镜像、视频大文件

2.2 链式分配(链接结构)

核心原理:文件分散存储在不同磁盘块,每个物理块预留指针,指向下一个数据块,块与块链式串联。分为隐式链接、显式链接(FAT文件系统)。

优点:无磁盘碎片、空间利用率高、支持文件动态扩容

缺点仅支持顺序访问,不支持随机访问;任意一块损坏,后续数据全部丢失,可靠性差;读写效率低。

适用场景:日志文件、文本文件、无需随机读写的动态文件

2.3 索引分配(架构师核心重点)

核心原理:单独建立索引块,专门存放文件数据块的物理地址,数据块与索引块分离,通过索引表精准定位数据。

优点:既支持顺序访问+随机访问,无碎片、扩容灵活、可靠性高

缺点:索引块占用额外磁盘空间,小文件空间开销浪费明显

适用场景:现代主流文件系统(Ext2/Ext3/NTFS)、大小文件通用、业务数据文件

2.4 三大结构考场秒杀对比表

物理结构

访问方式

碎片情况

扩容性

读写速度

连续分配

随机+顺序

外部碎片

最快

链式分配

仅顺序

无碎片

优秀

最慢

索引分配

随机+顺序

无碎片

优秀

中等


三、inode索引文件结构

3.1 标准索引结构

计算机系统中采用的索引文件结构如下图所示:

系统中有13个inode索引节点,分为接索引、一级间接、二级间接、三级间接

  • 0~9:10个直接索引——直接指向数据块。每个索引节点存放的是内容,假设每个物理盘大小为 4KB,共可存4KB*10=40KB数据;

  • 10:1个一级间接索引——索引块存数据块地址。10号索引节点为一级间接索引节点,大小为4KB,存放的并非直接数据,而是链接到直接物理盘块的地址,假设每个地址占4B,则共有1024个地址,对应1024个物理盘,可1024*4KB=4098KB数据。

  • 11:1个二级间接索引——一级索引→二级索引→数据块。二级索引节点类似,直接盘存放一级 地址,一级地址再存放物理盘快地址 ,而后链接到存放数据的物理盘块, 容量又扩大了一个数量级,为 1024*1024*4KB数据。

  • 12:1个三级间接索引——三级嵌套索引指向数据块

3.2 万能计算公式

已知条件:盘块大小、地址项大小

单块地址数N = 盘块大小 / 地址项大小

总块数 = 10 + N + N² + N³

最大文件大小 = 总块数 × 盘块大小

3.3 IO访问次数对比

  • 直接块:1 次读盘

  • 一级间接:2 次读盘(索引块 + 数据块)

  • 二级间接:3 次读盘

  • 三级间接:4 次读盘


四、目录结构与文件链接

5.1 目录层级

  • 单级目录:无分层,易重名、检索慢(老旧系统)

  • 二级目录:用户目录+文件目录,解决重名问题

  • 树形目录:现代主流,层级清晰、支持绝对/相对路径、权限精细管控

5.2 硬链接 VS 软链接

对比维度

硬链接

软链接(符号链接)

inode

共用同一个inode

独立inode,存储路径信息

跨文件系统

不支持

支持

删除原文件

链接仍有效,数据保留

链接失效,红色报错

目录链接

不支持目录硬链接

支持目录软链接

5.3 树形目录

树形结构主要是区分相对路径和绝对路径,如下图所示:

• 相对路径:是从当前路径开始的路径。

• 绝对路径:是从根目录开始的路径。

• 全文件名:绝对路径+文件名。

注意:绝对路径和相对路径是不加最后的文件名的,只是单纯的路径序列。

5.4 文件名的组成

完整格式:[驱动器号:][\路径\]主文件名[.扩展名]

  1. 驱动器号磁盘分区标识,如 C:D:E:,代表文件所在逻辑磁盘;网络共享路径无驱动器号。

  2. 路径各级目录层级,用反斜杠 \ 分隔,如 \Users\Admin\Desktop\,分为绝对路径(从根目录起始)、相对路径(当前目录起始)。

  3. 主文件名文件核心名称,用户自定义标识,Windows 支持中文、字母、数字,最长 255 字符,不能包含 \/:*?"<>| 非法字符。

  4. 扩展名(后缀). 分隔,标识文件类型,如 .txt 文本、.docx Word 文档、.exe 可执行程序;省略扩展名时系统默认无类型。


五、文件保护与安全

文件系统安全管控三大手段:

  • 访问权限控制:读、写、执行权限细分,区分所有者、组用户、其他用户

  • 文件加密:对文件内容加密,防止数据泄露

  • 备份恢复:全量备份、增量备份,保障数据容错,防止误删、损坏丢失

四大文件属性(DOS/Windows 标准 4 种属性):

标识名称作用说明
R只读属性 (Read)文件只能读取,禁止修改、删除、覆盖;目录设为 R 仅限制目录内文件修改,目录本身仍可删除
A存档属性 (Archive)备份标记,文件被修改后自动打上 A;备份软件完成备份后会清除 A,用于区分「已备份 / 未备份文件」
S系统文件 (System)操作系统核心文件,默认隐藏、禁止普通用户删除,系统启动依赖的文件会自动标记 S
H隐藏文件 (Hidden)文件默认不显示在资源管理器,需开启「显示隐藏项目」才能看见,用于保护系统关键文件

六、位示图法

磁盘空间存储的几种方式

• 空闲区表法:将所有空闲空间整合成一张表,即空闲文件目录。

• 空闲链表法:将所有空闲空间链接成一个链表,根据需要分配。

• 成组链接法:既分组,每组内又链接成链表,是上述两种方法的综合。

位示图法:对每个物理空间用一位标识,为1则使用,为0则空闲,形成一张位示图


七、高频易错考点总结

  1. 连续结构速度最快、有碎片;链式结构无碎片、仅顺序读;索引结构兼顾速度与灵活

  2. 多级索引计算,核心是单块地址数N,是所有计算题的突破口

  3. 位示图计算严格区分从0开始/从1开始,考题默认从0计数

  4. 硬链接不跨分区、不失效;软链接跨分区、原文件删除即失效

下期预告:系统架构师备考:操作系统基础 | 设备管理

系统架构师备考:操作系统基础

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐