操作系统中的文件系统:结构、属性、类型

什么是文件系统?

文件是相关信息的集合,存储在二次存储或非易失性存储器中,如磁盘、光盘和磁带。它是一种数据收集方法,用作程序输入和输出的媒介。

通常,文件是位、字节或记录的序列,其含义由文件创建者和用户定义。每个文件都有一个逻辑位置,用于存储和检索。

文件管理系统的目标

文件管理系统主要目标如下:

  • 它为各种存储设备类型提供 I/O 支持。
  • 最大限度地减少数据丢失或损坏的可能性。
  • 帮助操作系统为用户进程标准化 I/O 接口例程。
  • 它为多用户系统环境中的多个用户提供 I/O 支持。

文件系统的属性

文件系统的一些重要属性如下:

  • 文件存储在磁盘或其他存储设备上,当用户注销时不会消失。
  • 文件具有名称并关联访问权限,从而实现受控共享。
  • 文件可以被组织成更复杂的结构,以反映它们之间的关系。

文件结构

文件结构需要预定义格式,以便操作系统能够理解。它具有独特的定义结构,该结构基于其类型。

操作系统中的三种文件结构

  • 文本文件:它是由行组织的字符序列。
  • 对象文件:它是由块组织的字节序列。
  • 源文件:它是由函数和过程组成的序列。

阅读建议:什么是操作系统?解释操作系统类型、功能和示例。

文件属性

文件具有名称和数据。此外,它还存储元信息,如文件创建日期和时间、当前大小、最后修改日期等。所有这些信息都称为文件系统的属性。

操作系统中使用的一些重要文件属性如下:

  • 名称:这是以人类可读形式存储的唯一信息。
  • 标识符:每个文件在文件系统中都由一个唯一的标签号标识,称为标识符。
  • 位置:指向设备上的文件位置。
  • 类型:对于支持各种文件类型的系统,需要此属性。
  • 大小:用于显示当前文件大小的属性。
  • 保护:此属性分配并控制文件的读、写和执行访问权限。
  • 时间、日期和安全:用于保护、安全以及监控。

文件类型

它指的是操作系统区分不同类型文件(如文本文件、二进制文件和源文件)的能力。但是,MS_DOS 和 UNIX 等操作系统具有以下类型的文件:

字符特殊文件

它是一种硬件文件,逐个字符地读取或写入数据,例如鼠标、打印机等。

普通文件

  • 这些类型的文件存储用户信息。
  • 它可以是文本、可执行程序和数据库。
  • 它允许用户执行添加、删除和修改等操作。

目录文件

  • 目录包含文件以及有关这些文件的其他相关信息。它基本上是一个用于保存和组织多个文件的文件夹。

特殊文件

  • 这些文件也称为设备文件。它代表物理设备,如打印机、磁盘、网络、闪存驱动器等。

文件功能

  • 创建文件,在磁盘上查找空间,并在目录中创建条目。
  • 写入文件,需要定位到文件内
  • 读取文件涉及在文件内定位
  • 删除目录条目,回收磁盘空间。
  • 重新定位:移动读/写位置。

文件系统中常用的术语

字段

此元素存储单个值,可以是静态的或可变长度的。

数据库

相关数据的集合称为数据库。数据元素之间的关系是明确的。

文件

文件是相似记录的集合,被视为单个实体。

记录

记录类型是一种复杂的数据类型,允许程序员创建具有所需列结构的新数据类型。它将一个或多个列组合起来形成新的数据类型。这些列将有自己的名称和数据类型。

文件访问方法

文件访问是一个过程,它确定文件被访问并读入内存的方式。通常,操作系统始终支持单一访问方法。尽管有些操作系统也支持多种访问方法。

有三种文件访问方法:

  • 顺序访问
  • 直接随机访问
  • 索引顺序访问

顺序访问

在此类文件访问方法中,记录按预定义的顺序访问。在顺序访问方法中,文件中存储的信息也逐一处理。大多数编译器使用此访问方法访问文件。

随机访问

随机访问方法也称为直接随机访问。此方法允许直接访问记录。每个记录都有自己的地址,可以用于读写。

顺序访问

这种访问方法基于简单的顺序访问。在此访问方法中,为每个文件构建一个索引,并带有指向不同内存块的直接指针。在此方法中,顺序搜索索引,其指针可以直接访问文件。可以使用多级索引来提高访问效率。它还减少了访问单个记录所需的时间。

空间分配

在操作系统中,文件总是被分配磁盘空间。

三种空间分配方法是:

  • 链接分配
  • 索引分配
  • 连续分配

连续分配

在此方法中,

  • 每个文件使用内存中的连续地址空间。
  • 在这里,操作系统按线性顺序分配磁盘地址。
  • 在连续分配方法中,外部碎片是最大的问题。

链接分配

在此方法中,

  • 每个文件包含一个链接列表。
  • 目录包含文件第一个块的链接或指针。
  • 使用此方法,没有外部碎片。
  • 此文件分配方法用于顺序访问文件。
  • 此方法不适用于直接访问文件。

索引分配

在此方法中,

  • 目录包含特定文件的索引块的地址。
  • 创建索引块,其中包含特定文件的所有指针。
  • 所有文件都应具有单独的索引块来存储磁盘空间的地址。

文件目录

单个目录可能包含也可能不包含多个文件。它还可以包含主目录内的子目录。文件信息由目录维护。在 Windows 操作系统中,它被称为文件夹。

File Directories
单级目录

目录维护的信息如下:

  • 名称:显示给用户的名称。
  • 类型:目录的类型。
  • 位置:当前下一个读/写指针。
  • 位置:文件头存储在设备上的位置。
  • 大小:文件中字节、块和字的数量。
  • 保护:对读/写/执行/删除的访问控制。
  • 使用:创建、访问、修改时间。

文件类型——名称、扩展名

文件类型 常用扩展名 函数
可执行文件 exe、com、bin 或无 可运行的机器语言程序
对象 obj、o 已编译的机器语言,未链接
源代码 c、p、pas、177、asm、a 各种语言的源代码
批次 bat、sh 要执行的命令序列
文本 txt、doc 文本数据文档
文字处理器 doc、docs、tex、rrf 等。 各种文字处理器格式
lib、h 例程库
存档 arc、zip、tar 相关文件分组到一个文件中,有时会压缩。

摘要

  • 文件是相关信息的集合,存储在二次存储或非易失性存储器中,如磁盘、光盘和磁带。
  • 它为各种存储设备类型提供 I/O 支持。
  • 文件存储在磁盘或其他存储设备上,当用户注销时不会消失。
  • 文件结构需要预定义格式,以便操作系统能够理解它。
  • 文件类型是指操作系统区分不同类型文件(如文本文件、二进制文件和源文件)的能力。
  • 创建文件,在磁盘上查找空间,并在目录中创建条目。
  • 索引顺序访问方法基于简单的顺序访问。
  • 在顺序访问方法中,记录按预定义的顺序访问。
  • 随机访问方法也称为直接随机访问。
  • 三种空间分配方法是:
  • 链接分配
  • 索引分配
  • 连续分配
  • 文件信息由目录维护。