Skip to main content

文件和文件系统

概述

我们在日常生活中使用了许多不同的文件类型,例如文本文件、图像文件和音乐文件。

在本教程中,我们将了解文件是如何工作的,以及计算机如何通过使用文件系统来处理它们的组织。

什么是文件和文件格式?

文件是一系列位、字节或记录。其含义由文件的作者和用户定义。每个文件都有一个存储或检索它的逻辑位置。文件中的数据以某种方式组织起来,我们称之为文件格式。我们也可以创建自己的格式,但是,使用现有标准(如 JPEG、PNG 和 TXT)是最简单和最好的。基本上,文件包含元数据和有效负载。让我们看看位图 (BMP) 格式,以及它的元数据如何在下一节中工作。

位图格式
在准确读取数据之前,我们应该了解比特率以及是否为单磁道等几个细节。所以,它实际上是关于数据的数据,我们称之为元数据。下面我们来看看位图格式的元数据:

image-1658787746065.png


正如我们所见,位图的元数据包括一些重要的值,如文件总大小、图像宽度、图像高度和颜色深度。与位图格式一样,所有其他文件格式(如 TXT、PNG、PPT、ZIP)都有元数据。他们都是一样的。他们有很长的数字列表,这些数字在存储设备上是二进制格式。文件格式在阅读和理解内部数据方面起着至关重要的作用。

如何存储文件?

我们已经了解了文件的工作原理,现在我们将继续讨论计算机如何存储这些文件。无论底层存储单元是磁带、鼓还是磁盘,硬件和软件抽象都允许我们将存储视为存储值的长线容器。当计算机只执行一次计算时,整个存储系统就相当于一个大文件。在早期的存储系统中,数据在存储开始时直接开始,并按照输出创建的顺序加载。重复此过程,直到存储单元已满。然而,随着存储和计算技术的进步,一次存储多个文件变得实用且有益。在这种情况下,将文件背靠背存储是第一个想法,这个想法是可行的。这就像将个人 ID 连续存储在一个整数数组中,并且没有存储有关个人 ID 大小的信息。在这种情况下,存储的数据毫无意义。这就是为什么计算机必须知道文件在哪里开始和结束的原因。存储单元没有该操作的特定部分。他们只是存储很多位。

目录文件、碎片和碎片整理
为了处理这个问题,我们需要有一个特殊的文件来记录其他文件的开始和结束位置。虽然我们称它为许多其他名称,但最了解的是目录文件。目录文件将所有其他文件的名称保存在存储中,文件开始和结束的地方。它还存储有关这些文件的元数据以及它们的长度。当我们要添加文件或删除文件时,我们必须更新目录文件中的信息。此目录系统是文件系统的一小部分,它是操作系统的一部分并管理所有存储的文件。当我们尝试向某些文件添加一些数据时,这个单级系统可能会出现问题。因为在不覆盖存储单元中的下一个文件的情况下,将没有空间来执行它。因此,现代操作系统中的现代文件系统有两种方法。第一个是它们将文件存储在块中。这种方法为修改节省了更多空间,称为slack space。它还使所有文件数据共享一个共同的大小。这简化了管理。文件系统执行的第二件事是允许将文件分成几块并存储在几个块中。我们称之为碎片化。虽然这对于磁带等许多存储技术来说可能是一个令人头疼的问题,但要在短时间内打开大文件,碎片整理就应运而生并解决了这个问题。计算机执行的是实际复制数据并尝试以正确的顺序存储它们。碎片整理后,我们可以打开我们的文件。

文件层次系统
到目前为止,我们假设所有文件都在同一个目录中,但是当然,将所有文件保持在同一级别是不切实际的。它实际上就像现实世界中的文档,将相关文件一起存储在文件夹中非常有用。然后我们可以把相关的文件夹放到其他文件夹中。这被称为文件层次系统和我们的计算机使用的东西。我们可以在下图中看到一个例子:

image-1658787852294.png

文件系统

文件系统是操作系统用来跟踪磁盘或分区上的文件的一组方法和数据结构。通过使用文件系统,存储单元中的数据可以被操作系统解释。除此之外,它只是我们不知道它从哪里开始和结束的数据的很大一部分。有很多不同种类的文件系统。让我们看看一些类型的文件系统。

磁盘文件系统
磁盘文件系统具有在短时间内随机访问磁盘存储介质上的数据的能力。有很多磁盘文件系统的例子,例如FAT、NTFS、HFS、UFS和ZFS。光盘也是磁盘文件系统的成员。ISO 9660和UDF是 CD、DVD 和蓝光光盘的常见格式。

闪存文件系统
闪存文件系统考虑了闪存设备的独特功能、性能和限制。尽管闪存设备可以使用磁盘文件系统作为底层存储介质,但最好使用专门为闪存设备实现的文件系统。

数据库文件系统
另一种类型的文件系统是基于数据库的文件系统。文件不是按层次组织的管理,而是通过文件类型、作者和主题等属性来标识的。

网络文件系统
通过网络文件系统提供对服务器上文件的访问。程序可以使用本地接口创建、管理和访问远程网络连接机器上的文件和目录。网络文件系统包括用于 FTP 和 WebDAV 的类似文件系统的客户端。

磁带文件系统
磁带文件系统是一种磁带格式和文件系统,旨在将文件存储在磁带上。它们大多采用磁带格式。磁带是连续的存储单元,访问随机数据的时间比磁盘长得多。这使得通用文件系统的创建和维护变得困难。尽管存在这些问题,IBM 可以为磁带开发一种文件系统,并将其称为线性磁带文件系统。他们将该系统作为开源 IBM 线性磁带文件系统 - 单驱动器版 (LTFS-SDE) 发布。

结论

文件系统使我们能够隐藏存储在磁盘上的原始位,它们实际上使我们能够将数据视为有序且易于访问的文件。在本文中,我们描述了文件和文件格式是什么,并且我们还详细介绍了计算机如何在存储单元中存储文件。我们还提到了文件系统并提供了有关不同类型文件系统的详细信息。