当前位置: 首页 > news >正文

第29-30讲:计算机操作系统文件管理——文件系统、目录结构与文件共享

第二十九课:文件系统基础


一、为什么需要文件系统?

先思考一个问题:

计算机里的数据:

最终:

存在哪里?

答案:

磁盘(Disk)


例如:

你保存:

照片.jpg

实际上:

硬盘:

只认识:

010101010101

它不知道:

什么叫:

“照片”。


所以需要:

一个管理者。

负责:

- 给数据命名 - 组织数据 - 查找数据 - 保存数据 - 删除数据

这个管理者:

就是:

文件系统(File System)


二、什么是文件?

教材定义:

文件是具有符号名的、在逻辑上具有完整意义的一组相关信息的集合。

简单理解:

文件:

就是:

操作系统给数据集合:

起的名字。


例如:

硬盘:

实际:

可能:

存:

101010101 110010101 001010101

操作系统:

组织:

成为:

photo.jpg music.mp3 game.exe

三、文件包含什么?

一个文件:

不仅仅:

包含:

数据。

还包含:

很多属性。


例如:

一个文件:

test.txt

系统还需要知道:

文件名: test.txt 大小: 10KB 创建时间: 2026-01-01 权限: 可读可写 位置: 磁盘哪里

这些信息:

叫:

文件控制块 FCB(File Control Block)


四、文件控制块 FCB(★★★★★)

FCB:

是操作系统管理文件的重要数据结构。

可以理解为:

文件的身份证。


人的身份证:

包含:

姓名 年龄 身份证号

文件身份证:

包含:

文件名 文件大小 权限 存储位置

FCB通常包括:

1. 文件基本信息

例如:

文件名。


2. 文件存取权限

例如:

Linux:

rwx

表示:

read

write

execute


3. 文件物理位置

最重要。

告诉系统:

数据:

在磁盘哪里。


4. 文件状态

例如:

是否打开。


五、文件系统层次结构

操作系统:

不会:

直接:

操作磁盘。

中间:

有很多层。

大概:

如下:

用户程序 ↓ 文件系统接口 ↓ 目录管理 ↓ 文件组织 ↓ 磁盘管理 ↓ 硬件磁盘

用户:

只需要:

打开文件。

下面:

全部:

由系统完成。


六、文件的基本操作

用户:

对文件:

有哪些操作?


1. 创建文件

create。

例如:

新建:

test.txt。


2. 删除文件

delete。

释放:

空间。


3. 打开文件

open。


4. 关闭文件

close。


5. 读文件

read。


6. 写文件

write。


这些:

是操作系统:

提供的:

系统调用。


七、文件的逻辑结构

文件:

从用户角度:

怎么看?

叫:

逻辑结构。

主要:

两种。


第一种:无结构文件

也叫:

流式文件。

特点:

没有明显结构。

就是:

一串字符。

例如:

hello world abcdef 123456

常见:

文本文件。


第二种:有结构文件

也叫:

记录式文件。

文件:

由:

记录组成。


例如:

学生信息:

学号 姓名 成绩 001 张三 90 002 李四 85

每一行:

就是:

一个记录。


八、文件物理结构

重点来了。

逻辑:

是:

用户看到的。

物理:

是:

磁盘怎么存。


主要:

三种。


1. 连续分配

思想:

文件占用连续磁盘块。

例如:

文件:

占:

磁盘:

10~15块。

10 11 12 13 14 15

优点:

速度快。

为什么?

因为:

连续。

读取:

顺序。


缺点:

产生:

外部碎片。

类似:

连续内存分配。


2. 链接分配

思想:

文件块可以分散,但是用指针连接。

例如:

块5 ↓ 块20 ↓ 块8 ↓ 块30

优点:

没有外部碎片。


缺点:

随机访问慢。

为什么?

因为:

找第100块:

必须:

从头找。


3. 索引分配(★★★★★)

思想:

建立:

一个索引块。

记录:

所有数据块地址。

例如:

索引:

文件A 索引块 ↓ 5 ↓ 20 ↓ 8 ↓ 30

优点:

支持随机访问。


缺点:

需要额外索引空间。


九、三种分配方式比较

方式特点优点缺点
连续分配连续存储速度快外部碎片
链接分配指针连接无外部碎片随机访问慢
索引分配索引表随机访问快需要索引块

口诀:

连续快,链接稳,索引灵活。


十、目录是什么?

文件很多。

怎么办?

不能:

全部堆一起。

所以:

需要:

目录。


目录:

本质:

也是:

一种特殊文件。

它保存:

文件信息。


例如:

Windows:

C盘 ├── 用户 │ └── 图片 │ └── photo.jpg └── 软件

这个:

就是:

目录结构。


十一、目录管理

常见:

目录结构:


1. 单级目录

所有文件:

放一起。

例如:

文件1 文件2 文件3

问题:

文件多:

容易冲突。


2. 两级目录

每个用户:

一个目录。

例如:

用户A ├ 文件1 用户B ├ 文件2

3. 树形目录(★★★★★)

现代系统:

采用。

例如:

Windows:

C: ├ Program Files ├ Users └ Windows

Linux:

/ ├ bin ├ home ├ etc

十二、本课重点总结

今天必须掌握:


文件

一组具有逻辑意义的数据集合。


FCB

文件控制块,是文件的身份证。


文件逻辑结构

两种:

  • 无结构文件
  • 有结构文件

文件物理分配

三种:

连续

快,但碎片。

链接

灵活,但随机访问慢。

索引

支持随机访问。


目录

组织文件。

现代系统:

树形目录。


第三十课:文件目录与文件共享


一、为什么需要目录?

假设:

你的硬盘:

有:

100万个文件

如果:

所有文件:

直接放在一起:

a.txt b.jpg game.exe music.mp3 ...

会发生什么?

问题:

- 文件名字容易重复 - 查找困难 - 管理混乱

所以:

操作系统:

引入:

目录(Directory)


二、目录是什么?

很多人以为:

目录就是:

文件夹。

这个理解:

没错。

但是从操作系统角度:

更准确:

目录是一种特殊的文件,它保存文件的相关信息。


也就是说:

目录里面:

保存的不是照片、视频。

而是:


例如:

目录:

我的文件夹

里面:

可能保存:

文件名位置
a.txt磁盘100块
b.jpg磁盘200块

所以:

目录实际上:

像一本:

文件索引表。


三、文件查找过程(★★★★★)

用户:

打开:

C:\test\a.txt

操作系统:

怎么找到?


一步一步:

第一步:

找到根目录。

例如:

Windows:

C:

Linux:

/

第二步:

查找:

test目录。

目录中:

寻找:

test

第三步:

进入test。

继续查找:

a.txt

第四步:

读取FCB。

得到:

文件物理位置。


过程:

可以表示:

路径 ↓ 目录 ↓ FCB ↓ 磁盘位置 ↓ 读取文件

四、目录结构

操作系统:

经历了:

几个发展阶段。


1. 单级目录

所有文件:

放一个目录。

例如:

/ ├ a.txt ├ b.txt ├ c.txt

优点:

简单。


缺点:

文件名冲突。

例如:

两个用户:

都想创建:

test.txt

怎么办?


2. 两级目录

为每个用户:

建立目录。

例如:

系统 ├ 用户A │ └ test.txt │ └ 用户B └ test.txt

解决:

不同用户:

文件名冲突。


3. 树形目录(★★★★★)

现代操作系统:

采用。


例如:

Linux:

/ ├── home │ ├── user1 │ │ └── a.txt │ ├── etc └── bin

Windows:

类似:

C: ├── Windows ├── Program Files └── Users

优点:

  • 层次清晰
  • 查找方便
  • 支持大量文件

五、路径是什么?

路径:

就是:

文件在目录树中的位置。


分两种:


① 绝对路径

从根目录开始。

例如:

Linux:

/home/user/a.txt

Windows:

C:\Users\a.txt

② 相对路径

从当前目录开始。

例如:

当前:

/home/user

访问:

a.txt

六、文件共享

问题:

来了。

如果:

两个用户:

都需要:

同一个文件。

怎么办?


例如:

公司:

多个员工:

需要:

访问:

同一个报告。


方法:

不能:

复制多份。

因为:

浪费空间。

所以:

需要:

文件共享。


七、文件共享方式

主要:

两种。


方法一:硬链接(Hard Link)

思想:

多个目录项指向同一个文件。


例如:

文件:

A.txt

目录:

记录:

A.txt ↓ 文件FCB

现在:

创建:

B.txt。


结果:

A.txt ↓ 文件数据 ↓ B.txt

两个名字:

指向:

同一个文件。


特点:

删除:

A.txt。

B.txt:

仍然存在。

为什么?

因为:

文件本身:

没有删除。

只是:

删除一个名字。


八、硬链接的核心:引用计数

系统:

会记录:

有多少个目录项:

指向文件。

例如:

开始:

引用数=1

创建:

B.txt:

变成:

引用数=2

删除:

A.txt:

变成:

引用数=1

只有:

引用数=0。

文件数据:

才真正删除。


九、方法二:软链接(Symbolic Link)

也叫:

符号链接。

类似:

Windows:

快捷方式。


例如:

桌面:

有:

游戏快捷方式

但是:

游戏:

真正位置:

D:\Game\xxx.exe

快捷方式:

只是:

保存:

目标路径。


结构:

快捷方式 ↓ 目标文件

特点:

如果:

目标文件删除。

软链接:

失效。


十、硬链接 vs 软链接(★★★★★)

硬链接软链接
本质同一个文件多个名字一个路径指向另一个文件
是否复制数据
目标删除仍可访问失效
是否跨文件系统通常不能可以
类似别名快捷方式

口诀:

硬链接是同一个人多个名字,软链接是地址条。


十一、inode(Linux重点)

现在:

进入Linux文件系统。

Linux:

有一个非常重要概念:

inode


Windows:

喜欢:

用FCB理解。

Linux:

用:

inode。


inode:

是什么?

简单理解:

文件的身份证。


inode保存:

例如:

文件大小 权限 时间 数据块位置 引用数量

注意:

inode:

不保存:

文件名。


为什么?

因为:

文件名:

属于:

目录。


结构:

目录 文件名 ↓ inode ↓ 数据块

十二、Linux为什么删除文件快?

因为:

删除文件:

实际上:

删除:

目录中的名字。

然后:

inode引用数减1。


不是:

马上:

擦除:

整个数据。


所以:

Linux删除大文件:

为什么:

很快?

因为:

不用马上清空几十GB数据。


十三、本课重点总结(★★★★★)

必须掌握:


目录

保存文件信息的特殊文件。


文件查找

流程:

路径 ↓ 目录 ↓ FCB/inode ↓ 数据块

目录结构

现代:

树形目录。


硬链接

多个名字:

指向:

同一个文件。


软链接

类似:

快捷方式。

保存:

目标路径。


inode

Linux文件核心结构:

保存:

文件属性和位置。

不保存:

文件名。


十四、口诀

目录:

目录存名字,inode存信息。

链接:

硬链接同文件,软链接像快捷。

http://www.jsqmd.com/news/1359158/

相关文章:

  • 为什么Switch游戏安装工具总让你抓狂?Awoo Installer如何用“零废话“设计改变游戏规则
  • Visual Studio调试技巧:监视窗口的高级应用
  • UTF-8编码原理与乱码问题实战解决方案
  • 终极指南:5分钟搞定Windows和Office永久激活
  • QGIS几何处理实战:质心、提取、简化与泰森多边形操作指南
  • 二阶锥松弛在配电网最优潮流计算中的应用与优化
  • VMware虚拟机网络连接故障排查与优化指南
  • AI驱动计算机操作:基于视觉大模型的自动化实践指南
  • 雅安营业性演出许可证报批推荐哪家正规靠谱 - 品牌品鉴馆
  • 腾讯云企业级智能体如何重塑游戏研运效能:从概念到落地实践
  • AI智能体安全风险剖析:从英国AISI事故看自主执行的安全防线
  • Simulink变压器饱和与励磁涌流建模实践
  • 2026年安徽省成人高考在哪报名?如何报名?联系方式是多少? - 最新资讯
  • 终极RPFM编辑器:5步掌握全面战争模组制作工具,让创意轻松实现
  • IO面试核心考点:阻塞非阻塞IO与多路复用技术解析
  • Total War MOD开发革命:RPFM工具深度应用指南
  • 终极指南:5分钟快速上手JPEXS免费Flash反编译器
  • INAV飞行控制软件7步快速入门指南:从零配置到稳定飞行的完整教程
  • Beyond Compare 5密钥生成器:3分钟免费激活的完整解决方案
  • 调查记者采访素材整理2026年iOS端实用短视频总结工具推荐
  • 3个关键步骤:用Krita AI Diffusion插件将创意草图变成精美艺术作品
  • OpenClaw轻量化智能体框架:从架构设计到实战部署全解析
  • 嘉峪关抖音公会营业性演出许可证代办服务商推荐 - 品牌品鉴馆
  • Model Context Protocol 接入百万文档后,我的召回率翻倍但幻觉率暴涨 300%——RAG 分层架构止血实录
  • 数字信号处理(DSP)核心原理与实践指南:从傅里叶变换到滤波器设计
  • 破解港区信号波动,电动集装箱堆高机调度通讯方案
  • MySQL ZIP安装包配置与优化全指南
  • API-First剪贴板管理工具JCJC的设计与开发实践
  • 2026、8 月泰州海陵区防水、防水公司、屋面防水、楼顶防水、正规公司 ** 推荐 + 避坑指南 - 万至防水
  • 解锁网页视频保存:如何用VideoDownloadHelper实现一键下载