操作系统 - 文件系统

  • 文件

    文件是记录在磁盘、磁带和光盘等辅助存储设备上的相关信息的命名集合。通常,文件是位、字节、行或记录的序列,其含义由文件创建者和用户定义。
  • 文件结构

    文件结构应该根据操作系统可以理解的所需格式。
    • 文件根据其类型具有一定的定义结构。
    • 文本文件是组织成行的一系列字符。
    • 源文件是一系列过程和函数。
    • 目标文件是被组织成机器可以理解的块的字节序列。
    • 当操作系统定义不同的文件结构时,它也包含支持这些文件结构的代码。Unix、MS-DOS 支持最小数量的文件结构。
  • 文件类型

    文件类型是指操作系统区分不同类型文件的能力,例如文本文件、源文件和二进制文件等。许多操作系统支持多种文件类型。MS-DOS 和 UNIX 等操作系统具有以下类型的文件 -

    普通文件

    • 这些是包含用户信息的文件。
    • 这些可能有文本、数据库或可执行程序。
    • 用户可以对此类文件应用各种操作,例如添加、修改、删除甚至删除整个文件。

    目录文件

    • 这些文件包含文件名列表和与这些文件相关的其他信息。

    特殊文件

    • 这些文件也称为设备文件。
    • 这些文件代表物理设备,如磁盘、终端、打印机、网络、磁带驱动器等。
    这些文件有两种类型 -
    • Character special files− 数据按照终端或打印机的情况逐个字符处理。
    • Block special files− 与磁盘和磁带一样,数据按块处理。
  • 文件访问机制

    文件访问机制是指可以访问文件记录的方式。有几种访问文件的方法 -
    • 顺序访问
    • 直接/随机访问
    • 索引顺序访问

    顺序访问

    顺序访问是按某种顺序访问记录,即文件中的信息按顺序处理,一个记录一个接一个。这种访问方法是最原始的一种。示例:编译器通常以这种方式访问​​文件。

    直接/随机访问

    • 随机存取文件组织提供,直接存取记录。
    • 每条记录在文件上都有自己的地址,借助该地址可以直接访问以进行读取或写入。
    • 记录在文件中不必按任何顺序排列,也不必位于存储介质上的相邻位置。

    索引顺序访问

    • 这种机制是建立在顺序访问的基础上的。
    • 为每个文件创建一个索引,其中包含指向各种块的指针。
    • 索引按顺序搜索,其指针用于直接访问文件。
  • 空间分配

    文件由操作系统分配磁盘空间。操作系统部署以下三种主要方式来为文件分配磁盘空间。
    • 连续分配
    • 链接分配
    • 索引分配

    连续分配

    • 每个文件在磁盘上占用一个连续的地址空间。
    • 分配的磁盘地址是线性顺序的。
    • 易于实施。
    • 外部碎片是这种分配技术的主要问题。

    链接分配

    • 每个文件都带有指向磁盘块的链接列表。
    • 目录包含指向文件第一个块的链接/指针。
    • 没有外部碎片
    • 有效地用于顺序访问文件。
    • 在直接访问文件的情况下效率低下。

    索引分配

    • 提供连续和链接分配问题的解决方案。
    • 创建一个索引块,其中包含所有指向文件的指针。
    • 每个文件都有自己的索引块,存储文件占用的磁盘空间地址。
    • 目录包含文件索引块的地址。