操作系统中的文件系统:结构、属性、类型
什么是文件系统?
文件是相关信息的集合,存储在二次存储或非易失性存储器中,如磁盘、光盘和磁带。它是一种数据收集方法,用作程序输入和输出的媒介。
通常,文件是位、字节或记录的序列,其含义由文件创建者和用户定义。每个文件都有一个逻辑位置,用于存储和检索。
文件管理系统的目标
文件管理系统主要目标如下:
- 它为各种存储设备类型提供 I/O 支持。
- 最大限度地减少数据丢失或损坏的可能性。
- 帮助操作系统为用户进程标准化 I/O 接口例程。
- 它为多用户系统环境中的多个用户提供 I/O 支持。
文件系统的属性
文件系统的一些重要属性如下:
- 文件存储在磁盘或其他存储设备上,当用户注销时不会消失。
- 文件具有名称并关联访问权限,从而实现受控共享。
- 文件可以被组织成更复杂的结构,以反映它们之间的关系。
文件结构
文件结构需要预定义格式,以便操作系统能够理解。它具有独特的定义结构,该结构基于其类型。
操作系统中的三种文件结构
- 文本文件:它是由行组织的字符序列。
- 对象文件:它是由块组织的字节序列。
- 源文件:它是由函数和过程组成的序列。
文件属性
文件具有名称和数据。此外,它还存储元信息,如文件创建日期和时间、当前大小、最后修改日期等。所有这些信息都称为文件系统的属性。
操作系统中使用的一些重要文件属性如下:
- 名称:这是以人类可读形式存储的唯一信息。
- 标识符:每个文件在文件系统中都由一个唯一的标签号标识,称为标识符。
- 位置:指向设备上的文件位置。
- 类型:对于支持各种文件类型的系统,需要此属性。
- 大小:用于显示当前文件大小的属性。
- 保护:此属性分配并控制文件的读、写和执行访问权限。
- 时间、日期和安全:用于保护、安全以及监控。
文件类型
它指的是操作系统区分不同类型文件(如文本文件、二进制文件和源文件)的能力。但是,MS_DOS 和 UNIX 等操作系统具有以下类型的文件:
字符特殊文件
它是一种硬件文件,逐个字符地读取或写入数据,例如鼠标、打印机等。
普通文件
- 这些类型的文件存储用户信息。
- 它可以是文本、可执行程序和数据库。
- 它允许用户执行添加、删除和修改等操作。
目录文件
- 目录包含文件以及有关这些文件的其他相关信息。它基本上是一个用于保存和组织多个文件的文件夹。
特殊文件
- 这些文件也称为设备文件。它代表物理设备,如打印机、磁盘、网络、闪存驱动器等。
文件功能
- 创建文件,在磁盘上查找空间,并在目录中创建条目。
- 写入文件,需要定位到文件内
- 读取文件涉及在文件内定位
- 删除目录条目,回收磁盘空间。
- 重新定位:移动读/写位置。
文件系统中常用的术语
字段
此元素存储单个值,可以是静态的或可变长度的。
数据库
相关数据的集合称为数据库。数据元素之间的关系是明确的。
文件
文件是相似记录的集合,被视为单个实体。
记录
记录类型是一种复杂的数据类型,允许程序员创建具有所需列结构的新数据类型。它将一个或多个列组合起来形成新的数据类型。这些列将有自己的名称和数据类型。
文件访问方法
文件访问是一个过程,它确定文件被访问并读入内存的方式。通常,操作系统始终支持单一访问方法。尽管有些操作系统也支持多种访问方法。
有三种文件访问方法:
- 顺序访问
- 直接随机访问
- 索引顺序访问
顺序访问
在此类文件访问方法中,记录按预定义的顺序访问。在顺序访问方法中,文件中存储的信息也逐一处理。大多数编译器使用此访问方法访问文件。
随机访问
随机访问方法也称为直接随机访问。此方法允许直接访问记录。每个记录都有自己的地址,可以用于读写。
顺序访问
这种访问方法基于简单的顺序访问。在此访问方法中,为每个文件构建一个索引,并带有指向不同内存块的直接指针。在此方法中,顺序搜索索引,其指针可以直接访问文件。可以使用多级索引来提高访问效率。它还减少了访问单个记录所需的时间。
空间分配
在操作系统中,文件总是被分配磁盘空间。
三种空间分配方法是:
- 链接分配
- 索引分配
- 连续分配
连续分配
在此方法中,
- 每个文件使用内存中的连续地址空间。
- 在这里,操作系统按线性顺序分配磁盘地址。
- 在连续分配方法中,外部碎片是最大的问题。
链接分配
在此方法中,
- 每个文件包含一个链接列表。
- 目录包含文件第一个块的链接或指针。
- 使用此方法,没有外部碎片。
- 此文件分配方法用于顺序访问文件。
- 此方法不适用于直接访问文件。
索引分配
在此方法中,
- 目录包含特定文件的索引块的地址。
- 创建索引块,其中包含特定文件的所有指针。
- 所有文件都应具有单独的索引块来存储磁盘空间的地址。
文件目录
单个目录可能包含也可能不包含多个文件。它还可以包含主目录内的子目录。文件信息由目录维护。在 Windows 操作系统中,它被称为文件夹。
目录维护的信息如下:
- 名称:显示给用户的名称。
- 类型:目录的类型。
- 位置:当前下一个读/写指针。
- 位置:文件头存储在设备上的位置。
- 大小:文件中字节、块和字的数量。
- 保护:对读/写/执行/删除的访问控制。
- 使用:创建、访问、修改时间。
文件类型——名称、扩展名
文件类型 | 常用扩展名 | 函数 |
---|---|---|
可执行文件 | 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 支持。
- 文件存储在磁盘或其他存储设备上,当用户注销时不会消失。
- 文件结构需要预定义格式,以便操作系统能够理解它。
- 文件类型是指操作系统区分不同类型文件(如文本文件、二进制文件和源文件)的能力。
- 创建文件,在磁盘上查找空间,并在目录中创建条目。
- 索引顺序访问方法基于简单的顺序访问。
- 在顺序访问方法中,记录按预定义的顺序访问。
- 随机访问方法也称为直接随机访问。
- 三种空间分配方法是:
- 链接分配
- 索引分配
- 连续分配
- 文件信息由目录维护。