📅  最后修改于: 2020-12-07 07:42:03             🧑  作者: Mango
Linux文件系统是磁盘驱动器或分区上文件的结构化集合。分区是内存的一部分,包含一些特定的数据。在我们的机器中,内存可以有各种分区。通常,每个分区都包含一个文件系统。
通用计算机系统需要系统地存储数据,以便我们可以在更短的时间内轻松访问文件。它将数据存储在硬盘(HDD)或某些等效的存储类型上。维护文件系统的原因可能有以下几种:
Linux文件系统包含以下部分:
Linux文件系统通常是Linux操作系统的内置层,用于处理存储的数据管理。它有助于将文件排列在磁盘存储上。它管理文件名,文件大小,创建日期以及有关文件的更多信息。
如果文件系统中的文件格式不受支持,则可以下载软件进行处理。
Linux文件系统包含一个根目录及其子目录,因此具有分层文件结构。可以从根目录访问所有其他目录。一个分区通常只有一个文件系统,但是可能有多个文件系统。
文件系统的设计方式使其可以管理非易失性存储数据并为其提供空间。所有文件系统都需要一个命名空间,该命名空间是一种命名和组织方法。命名空间定义了命名过程,文件名的长度或可用于文件名的字符子集。它还定义了内存段上文件的逻辑结构,例如使用目录来组织特定文件。一旦描述了名称空间,就必须为该特定文件定义元数据描述。
数据结构需要支持分层目录结构。此结构用于描述特定块的可用和已用磁盘空间。它还具有有关文件的其他详细信息,例如文件大小,创建日期和时间,更新和最后修改时间。
此外,它还存储有关磁盘部分的高级信息,例如分区和卷。
高级数据及其表示的结构包含有关驱动器上存储的文件系统的信息;它与文件系统元数据不同且独立。
Linux文件系统包含两部分的文件系统软件实现架构。考虑下图:
文件系统需要一个API(应用程序编程接口)来访问函数调用,以与文件系统组件(如文件和目录)进行交互。 API可简化诸如创建,删除和复制文件之类的任务。它有助于定义文件在文件系统上的排列的算法。
给定文件系统的前两个部分一起称为Linux虚拟文件系统。它为内核和开发人员提供了一组访问文件系统的命令。该虚拟文件系统需要特定的系统驱动程序来提供文件系统的接口。
在Linux中,文件系统创建树形结构。所有文件都排列成一棵树及其分支。最顶层的目录称为根(/)目录。可以从根目录访问Linux中的所有其他目录。
Linux文件系统的一些关键功能如下:
当我们安装Linux操作系统时,Linux提供了许多文件系统,例如Ext,Ext2,Ext3,Ext4,JFS,ReiserFS,XFS,btrfs和swap 。
让我们详细了解每个文件系统:
文件系统Ext代表扩展文件系统。它主要是为MINIX OS开发的。 Ext文件系统是一个较旧的版本,由于某些限制,不再使用。
Ext2是第一个允许管理两个TB数据的Linux文件系统。 Ext3是通过Ext2开发的;它是Ext2的升级版本,并包含向后兼容性。 Ext3的主要缺点是它不支持服务器,因为此文件系统不支持文件恢复和磁盘快照。
Ext4文件系统是所有Ext文件系统中速度更快的文件系统。它是SSD(固态驱动器)磁盘的非常兼容的选件,并且是Linux发行版中的默认文件系统。
JFS代表Journaled File System ,它是由IBM针对AIX Unix开发的。它是Ext文件系统的替代方法。它也可以用来代替Ext4,因为Ext4需要很少的资源来保持稳定性。当CPU功率有限时,它是一个方便的文件系统。
ReiserFS是Ext3文件系统的替代方法。它具有改进的性能和高级功能。在早期,ReiserFS被用作SUSE Linux中的默认文件系统,但后来它更改了一些策略,因此SUSE返回了Ext3。该文件系统动态支持文件扩展名,但是在性能方面存在一些缺点。
XFS文件系统被认为是高速JFS,它是为并行I / O处理而开发的。 NASA仍在使用此文件系统及其高存储服务器(300 TB以上的服务器)。
Btrfs代表B树文件系统。它用于容错,修复系统,有趣的管理,广泛的存储配置等。它不适用于生产系统。
在系统休眠期间,交换文件系统用于Linux操作系统中的内存分页。永远不会进入休眠状态的系统必须具有与其RAM大小相等的交换空间。