Skip to content

操作系统的文件管理

文件的逻辑结构

  • 逻辑结构的文件类型
    • 有结构文件
      1. 文本文件
      2. 文档
      3. 媒体文件
    • 无结构文件
      1. 二进制文件
      2. 链接库
    • 有结构文件细节
      • 文件内容由定长记录和可变长记录组成
      • 定长记录存储文件格式、文件描述等结构化数据项
      • 可变长记录存储文件具体内容
      • 例如:PNG文件
    • 无结构文件细节
      • 也称为流式文件
      • 文件内容长度以字节为单位
      • 例如:exe文件、dll文件、so文件
  • 顺序文件
    • 顺序文件是指按顺序存放在存储介质中的文件
    • 磁带的存储特性使得磁带文件只能存储顺序文件
    • 顺序文件是所有逻辑文件当中存储效率最高的
  • 索引文件
    • 可变长文件不适合使用顺序文件格式存储
    • 索引文件是为了解决可变长文件存储而发明的一种文件格式
    • 索引文件需要配合索引表完成存储的操作

辅存的存储空间分配

  • 辅存的分配方式

    • 连续分配
      • 优点:顺序读取文件内容非常容易,速度很快
      • 缺点:对存储要求高,要求满足容量的连续存储空间
      • 图示
        总结
    • 链接分配:链接分配可以将文件存储在离散的盘块中、需要额外的存储空间存储文件的盘块链接顺序。
      • 隐式链接
        • 隐式分配的下一个链接指向存储在当前盘块内
        • 隐式分配适合顺序访问,随机访问效率很低
        • 可靠性差,任何一个链接出问题都会影响整个文件
        • 图示:假设已分配的盘块为2, 9, 7, 18, 16
          隐式链接
      • 显式连接:FAT(file allocation table)文件系统
        • 不支持高效的直接存储(FAT记录项多)
        • 检索时FAT表占用较大的存储空间(需要将整个FAT加载到内存)
        • 图示
          显式连接
    • 索引分配
      • 把文件的所有盘块集中存储(索引)
      • 读取某个文件时,将文件索引读取进内存即可
      • 优势
        • 每个文件拥有一个索引块,记录所有盘块信息
        • 索引分配方式支持直接访问盘块
        • 文件较大时,索引分配方式具有明显的优势
      • 图示:
        索引分配
  • 存储空间管理

    • 空闲表
      • 空闲盘区的分配与内存分配类似
      • 首次适应算法、循环适应算法等
      • 回收过程也与内存回收类似
      • 图示
        空闲表
    • 空闲链表
      • 空闲链表是把所有空闲盘区组成一个空闲链表
      • 每个链表节点存储空闲盘块喝空闲的数目
    • 位示图
      • 位示图维护成本很低,只需要维护一个表就可以了
      • 位示图可以非常容易找到空闲盘块
      • 位示图使用0/1比特位,占用空间很小
      • 图示
        位示图

目录管理

  • 目录树概念图示
    位示图