操作系统 - 文件系统
文件
文件是记录在磁盘、磁带和光盘等辅助存储设备上的相关信息的命名集合。 一般来说,文件是位、字节、行或记录的序列,其含义由文件创建者和用户定义。
文件结构
文件结构应符合操作系统可以理解的所需格式。
文件根据其类型具有一定的定义结构。
文本文件是组织成行的一系列字符。
源文件是一系列过程和函数。
目标文件是一个字节序列,被组织成机器可以理解的块。
当操作系统定义不同的文件结构时,它也包含支持这些文件结构的代码。 Unix、MS-DOS 支持最小文件结构数。
文件类型
文件类型是指操作系统区分不同类型文件的能力,例如文本文件、源文件和二进制文件等。许多操作系统支持多种文件类型。 MS-DOS 和 UNIX 等操作系统具有以下类型的文件 −
普通文件
- 这些是包含用户信息的文件。
- 这些可能有文本、数据库或可执行程序。
- 用户可以对此类文件进行各种操作,例如添加、修改、删除甚至删除整个文件。
目录文件
- 这些文件包含文件名列表以及与这些文件相关的其他信息。
特殊文件
- 这些文件也称为设备文件。
- 这些文件代表物理设备,如磁盘、终端、打印机、网络、磁带机等。
这些文件有两种类型 −
特殊字符文件 − 在终端或打印机的情况下,数据是逐字符处理的。
屏蔽特殊文件 − 与磁盘和磁带一样,数据是按块处理的。
文件访问机制
文件访问机制是指可以访问文件记录的方式。 有几种方法可以访问文件 −
- 顺序访问
- 直接/随机访问
- 索引顺序访问
顺序访问
顺序访问是按某种顺序访问记录,即文件中的信息按顺序处理,一个记录一个接一个。 这种访问方法是最原始的一种。 示例:编译器通常以这种方式访问文件。
直接/随机访问
随机存取文件组织提供,直接存取记录。
每条记录在文件中都有自己的地址,通过该地址可以直接读取或写入。
记录在文件中不必按任何顺序排列,也不必位于存储介质上的相邻位置。
索引顺序访问
- 这种机制建立在顺序访问的基础上。
- 为每个文件创建一个索引,其中包含指向各个块的指针。
- 按顺序搜索索引,并使用其指针直接访问文件。
空间分配
文件由操作系统分配磁盘空间。 操作系统部署了以下三种主要方式来为文件分配磁盘空间。
- 连续分配
- 链接分配
- 索引分配
连续分配
- 每个文件在磁盘上占用一个连续的地址空间。
- 分配的磁盘地址是线性顺序的。
- 易于实施。
- 外部碎片是这种分配技术的主要问题。
链接分配
- 每个文件都包含指向磁盘块的链接列表。
- 目录包含指向文件第一个块的链接/指针。
- 没有外部碎片
- 有效地用于顺序访问文件。
- 直接访问文件效率低。
索引分配
- 为连续和链接分配问题提供解决方案。
- 创建一个索引块,其中包含所有指向文件的指针。
- 每个文件都有自己的索引块,存储文件占用的磁盘空间地址。
- 目录包含文件索引块的地址。