尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

计算机 408 · 操作系统 · 文件管理

计算机 408 · 操作系统 · 文件管理 计算机 408 · 操作系统第 4 章「文件管理」学习笔记[!NOTE]文件系统做的事情可以概括为给磁盘上的一堆块建立名字、目录、权限和可靠的存取方法。学习时始终追问三个问题文件信息存在哪里数据块如何找到用户如何被允许访问快速导航0. 全章地图1. 文件与逻辑结构2. 目录与文件控制块3. 文件共享与保护4. 文件分配5. 空闲空间管理6. 文件系统层次、VFS 与挂载7. 高频易错点与自测学习进度能解释文件、文件名、扩展名和文件属性能比较顺序、链式、索引式分配能画出单级、两级、树形和无环图目录能区分 FCB、inode、目录项、打开文件表能说出位示图、空闲表、成组链接的管理方法0. 全章地图用户 open/read/write/close ↓ 目录解析 → 文件控制信息 → 逻辑块映射 → 物理磁盘块 ↓ ↓ 权限检查 文件分配与空闲空间管理 ↓ ↓ 文件系统层次、缓存、设备驱动、磁盘1. 文件与逻辑结构1.1 文件是什么文件是具有符号名、被操作系统管理的一组相关信息的集合。文件属性通常包括名称、类型、位置、大小、创建/修改时间、所有者和访问权限。文件打开后系统会返回一个文件描述符或句柄后续读写用它指向打开文件表而不是每次重新解析路径。1.2 逻辑结构类型组织方式适用场景无结构文件字节流/字符流文本、二进制流顺序文件记录按顺序排列批处理、磁带索引文件单独索引记录位置按关键字查找索引顺序文件顺序记录 多级索引兼顾顺序访问和随机访问逻辑结构回答“用户如何理解文件内容”物理结构回答“文件数据块如何放在磁盘上”两者不要混为一谈。2. 目录与文件控制块2.1 目录的作用目录把“文件名”映射到文件控制信息支持查找、创建、删除、重命名和遍历。目录项可能直接存放 FCB也可能只存放文件名和 inode 号。2.2 FCB 与 inode结构主要内容关键理解FCB文件名、类型、权限、大小、地址、时间等传统文件系统的文件管理记录inode文件元数据和数据块索引不含文件名文件名保存在目录项inode 可被多个目录项引用打开文件表当前打开状态、读写位置、引用计数、权限进程打开后重复使用在 Unix 风格系统中路径名 → 目录项文件名 inode 号 → inode → 数据块2.3 目录结构结构优点局限单级目录简单文件名冲突无法分类两级目录用户之间隔离用户内部仍不便组织层次树形目录层次清晰路径唯一共享文件需要额外机制无环图目录支持共享禁止环删除和引用计数更复杂通用图目录最灵活可能形成环遍历和回收困难绝对路径从根目录开始相对路径从当前目录开始。.表示当前目录..表示父目录。3. 文件共享与保护3.1 硬链接与软链接方式本质删除原文件后硬链接多个目录项指向同一 inode只要还有链接数据仍存在软链接一个独立文件内容是目标路径目标消失后链接失效硬链接适合同一文件系统内共享同一数据软链接可以跨文件系统或指向目录。3.2 文件保护常见机制口令保护、加密、访问控制。访问控制表ACL可按用户或用户组设置读、写、执行权限Unix 权限常按“所有者/组/其他用户”表示。保护的底层目标是认证“你是谁”授权“你能做什么”审计“你做过什么”。4. 文件分配4.1 连续分配文件占据一串连续磁盘块。目录项只需保存起始块和长度。优点顺序和随机访问都快寻道少缺点会产生外部碎片文件扩展困难。4.2 链接分配每个磁盘块含有下一块的指针目录项保存首块可再保存尾块。隐式链接指针放在数据块内随机访问慢。显式链接把指针集中放在 FAT 中查找更方便但 FAT 可能很大。4.3 索引分配设置索引块索引块中保存文件各数据块的地址。支持随机访问但索引块本身占空间大文件可使用多级索引。分配方式随机访问外部碎片文件增长典型问题连续快有不便需要连续空间链接慢无方便指针开销、随机访问差索引较快无较方便索引块开销5. 空闲空间管理5.1 空闲表记录每个连续空闲区的起始地址和长度。适合连续分配分配时可采用首次、最佳等策略。5.2 空闲链表把空闲块串成链表分配时从链表中取块回收时插回。实现简单但查找连续大块不便。5.3 位示图用一个二进制位表示一个磁盘块0表示空闲、1表示已分配具体约定以题目为准。若字长为w第i个字的第j位对应的块号通常为i×wj。题目若从 1 编号要按题干修正。5.4 成组链接将一组空闲块号存入一个空闲块最后一个块号再指向下一组。适合大型文件系统减少频繁访问空闲链表的开销。6. 文件系统层次、VFS 与挂载6.1 文件系统层次用户程序 / 系统调用 ↓ 逻辑文件系统目录、保护、FCB/inode ↓ 文件组织模块逻辑块 → 物理块 ↓ 基本文件系统块读写、缓存 ↓ I/O 控制与设备驱动 ↓ 磁盘控制器与硬件分层的好处是接口清晰上层关心“打开哪个文件”下层负责“如何移动磁头和读块”。6.2 虚拟文件系统 VFSVFS 为不同文件系统提供统一接口例如无论底层是 ext4、NTFS 还是 FAT用户都可以使用统一的open/read/write语义。VFS 维护统一的 vnode/inode 抽象并把操作分派给具体文件系统。6.3 文件系统挂载与打开挂载是把某个存储设备上的文件系统接入目录树中的挂载点。路径解析遇到挂载点后继续进入新文件系统的根目录。典型open(/a/b.txt)流程解析路径 → 检查目录权限 → 找到目录项和 inode → 建立系统级打开文件表项 → 建立进程级文件描述符 → 返回描述符。7. 高频易错点与自测易错点正确判断目录就是普通文件夹没有管理信息目录本质上也是特殊文件保存名称到文件控制信息的映射inode 包含文件名Unix inode 通常不含文件名文件名在目录项硬链接是复制一份文件硬链接共享同一 inode 和数据链接分配完全不能随机访问可随机但需沿链查找速度较慢FAT 可改善查找位示图的 0/1 永远固定含义需按教材或题目给定约定判断逻辑结构等于物理分配一个描述内容组织一个描述磁盘块布局轻量自测为什么连续分配访问快但不利于文件增长一个文件有 100 个数据块索引分配至少需要解决什么问题硬链接和软链接在目标被删除时有何不同open返回的文件描述符为什么不能直接等同于 inode 号展开答案连续块可减少寻道并便于计算地址但扩展时后面未必有连续空闲空间。需要一个索引块或多级索引保存这些数据块地址还要考虑索引块容量。硬链接只要仍有目录项引用数据可继续访问软链接保存的是路径目标删除后会失效。文件描述符是进程打开文件表中的索引inode 是文件元数据结构多个描述符可共享或指向同一 inode。记忆卡片目录名字 → 文件控制信息 FCB/inode文件的元数据与数据块定位 连续分配快但扩展难链接分配易增长但随机访问慢索引分配折中 空闲表、空闲链表、位示图、成组链接是四类空间管理方法 VFS 用统一接口屏蔽不同文件系统差异复习日志日期学习内容能否脱稿讲解仍然困惑的点
返回列表