尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

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

第29-30讲:计算机操作系统文件管理——文件系统、目录结构与文件共享 第二十九课文件系统基础一、为什么需要文件系统先思考一个问题计算机里的数据最终存在哪里答案磁盘Disk例如你保存照片.jpg实际上硬盘只认识010101010101它不知道什么叫“照片”。所以需要一个管理者。负责- 给数据命名 - 组织数据 - 查找数据 - 保存数据 - 删除数据这个管理者就是文件系统File System二、什么是文件教材定义文件是具有符号名的、在逻辑上具有完整意义的一组相关信息的集合。简单理解文件就是操作系统给数据集合起的名字。例如硬盘实际可能存101010101 110010101 001010101操作系统组织成为photo.jpg music.mp3 game.exe三、文件包含什么一个文件不仅仅包含数据。还包含很多属性。例如一个文件test.txt系统还需要知道文件名 test.txt 大小 10KB 创建时间 2026-01-01 权限 可读可写 位置 磁盘哪里这些信息叫文件控制块 FCBFile Control Block四、文件控制块 FCB★★★★★FCB是操作系统管理文件的重要数据结构。可以理解为文件的身份证。人的身份证包含姓名 年龄 身份证号文件身份证包含文件名 文件大小 权限 存储位置FCB通常包括1. 文件基本信息例如文件名。2. 文件存取权限例如Linuxrwx表示readwriteexecute3. 文件物理位置最重要。告诉系统数据在磁盘哪里。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优点支持随机访问。缺点需要额外索引空间。九、三种分配方式比较方式特点优点缺点连续分配连续存储速度快外部碎片链接分配指针连接无外部碎片随机访问慢索引分配索引表随机访问快需要索引块口诀连续快链接稳索引灵活。十、目录是什么文件很多。怎么办不能全部堆一起。所以需要目录。目录本质也是一种特殊文件。它保存文件信息。例如WindowsC盘 ├── 用户 │ └── 图片 │ └── photo.jpg └── 软件这个就是目录结构。十一、目录管理常见目录结构1. 单级目录所有文件放一起。例如文件1 文件2 文件3问题文件多容易冲突。2. 两级目录每个用户一个目录。例如用户A ├ 文件1 用户B ├ 文件23. 树形目录★★★★★现代系统采用。例如WindowsC: ├ Program Files ├ Users └ WindowsLinux/ ├ bin ├ home ├ etc十二、本课重点总结今天必须掌握文件一组具有逻辑意义的数据集合。FCB文件控制块是文件的身份证。文件逻辑结构两种无结构文件有结构文件文件物理分配三种连续快但碎片。链接灵活但随机访问慢。索引支持随机访问。目录组织文件。现代系统树形目录。第三十课文件目录与文件共享一、为什么需要目录假设你的硬盘有100万个文件如果所有文件直接放在一起a.txt b.jpg game.exe music.mp3 ...会发生什么问题- 文件名字容易重复 - 查找困难 - 管理混乱所以操作系统引入目录Directory二、目录是什么很多人以为目录就是文件夹。这个理解没错。但是从操作系统角度更准确目录是一种特殊的文件它保存文件的相关信息。也就是说目录里面保存的不是照片、视频。而是例如目录我的文件夹里面可能保存文件名位置a.txt磁盘100块b.jpg磁盘200块所以目录实际上像一本文件索引表。三、文件查找过程★★★★★用户打开C:\test\a.txt操作系统怎么找到一步一步第一步找到根目录。例如WindowsC: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 └── binWindows类似C: ├── Windows ├── Program Files └── Users优点层次清晰查找方便支持大量文件五、路径是什么路径就是文件在目录树中的位置。分两种① 绝对路径从根目录开始。例如Linux/home/user/a.txtWindowsC:\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 软链接★★★★★硬链接软链接本质同一个文件多个名字一个路径指向另一个文件是否复制数据否否目标删除仍可访问失效是否跨文件系统通常不能可以类似别名快捷方式口诀硬链接是同一个人多个名字软链接是地址条。十一、inodeLinux重点现在进入Linux文件系统。Linux有一个非常重要概念inodeWindows喜欢用FCB理解。Linux用inode。inode是什么简单理解文件的身份证。inode保存例如文件大小 权限 时间 数据块位置 引用数量注意inode不保存文件名。为什么因为文件名属于目录。结构目录 文件名 ↓ inode ↓ 数据块十二、Linux为什么删除文件快因为删除文件实际上删除目录中的名字。然后inode引用数减1。不是马上擦除整个数据。所以Linux删除大文件为什么很快因为不用马上清空几十GB数据。十三、本课重点总结★★★★★必须掌握目录保存文件信息的特殊文件。文件查找流程路径 ↓ 目录 ↓ FCB/inode ↓ 数据块目录结构现代树形目录。硬链接多个名字指向同一个文件。软链接类似快捷方式。保存目标路径。inodeLinux文件核心结构保存文件属性和位置。不保存文件名。十四、口诀目录目录存名字inode存信息。链接硬链接同文件软链接像快捷。
返回列表