linux 文件系统

简介: Linux 的正规文件系统则为 Ext2(Linux second extended file system,Ext2fs),之后又出现了ext3, ext4,xfs,btreefs,zfs等等: 我们可以先看看 Ext2 文件系统的数据访问方式,如下图所示。

 Linux 的正规文件系统则为 Ext2(Linux second extended file system,Ext2fs),之后又出现了ext3, ext4,xfs,btreefs,zfs等等:

我们可以先看看 Ext2 文件系统的数据访问方式,如下图所示。

  假设一个文件的属性和权限信息是存放在 3 号的 inode 上,而文件的实际数据是存放在 1、4、6、11 这四个 block 中,那么当操作系统要访问该文件时,就能据此来排列磁盘的阅读顺序,可以扫描一次就将 4 个 block 内容读出来。这种访问方式称为索引式文件系统(indexed allocation)。而且 ext 在每两个文件之间都留有相当巨大的空闲空间。当文件被修改、体积增加时,它们通常有足够的空间来扩展。因此在一定程度上保证了 block 的访问范围不会跨度很大,减小了磁头的移动距离。

  

ext2/ext3 文件系统

  我们知道文件数据除了文件的实际内容外,通常还包括非常多的属性,例如 Linux 中的文件权限(rwx)和文件属性(拥有者、用户组、时间、大小等)。ext 文件系统将这两部分存放在不同的块,权限和属性存放在 inode 中,至于文件的实际数据则存放在 block 块中。另外还有一个超级块(super block)会记录整个文件系统的整体系统。每个 inode 和 block 都有自己的编号。

  ext 文件系统在格式化的时候基本上是区分为多个块组(block group)的,每个块组都有独立的 inode/block/super block 系统。其整体展示图如下所示:

  

其中各个块的含义如下:

  • super block:记录此文件系统的整体系统,包括 inode 和 block 的总量、使用量、剩余量,以及文件系统类型等。
  • file system description:文件系统描述说明。描述每个 block group 的开始与结束的 block 号码。
  • block bitmap:块对照表。用来快速寻找可用的 block 块。
  • inode bitmap:inode对照表。用来快速寻找可用的 inode 块。
  • inode table:存放 inode 块的地方。它们是文件系统的关键。记录了文件的属性,一个文件占用一个 inode,同时包含多个指针,指向了属于该文件的各个 data block 块
  • data block:真正存放数据的地方。文件太大会占用多个 block 。 

 

相关文章
|
2月前
|
存储 Linux 索引
Linux 下最主流的文件系统格式——ext
【9月更文挑战第8天】硬盘被划分为若干相同大小的块(Block),默认大小为4K,便于灵活管理文件数据。文件数据分散存放于这些块中,提高了数据添加、删除和插入的便利性。
|
3月前
|
编解码 Linux 程序员
深度探索Linux操作系统 —— 构建根文件系统2
深度探索Linux操作系统 —— 构建根文件系统
43 12
|
3月前
|
Linux Shell 网络安全
深度探索Linux操作系统 —— 构建根文件系统1
深度探索Linux操作系统 —— 构建根文件系统
48 6
|
3月前
|
存储 人工智能 数据管理
深入理解Linux操作系统之文件系统管理探索人工智能:从理论到实践的旅程
【8月更文挑战第30天】在探索Linux的无限可能时,我们不可避免地会遇到文件系统管理这一核心话题。本文将深入浅出地介绍Linux文件系统的基础知识、操作命令及高级技巧,帮助你更有效地管理和维护你的系统。从基础概念到实践应用,我们将一步步揭开Linux文件系统的神秘面纱。
|
3月前
|
存储 Linux 数据安全/隐私保护
在Linux中,如何创建文件系统的备份?
在Linux中,如何创建文件系统的备份?
|
3月前
|
存储 监控 Linux
|
3月前
|
存储 监控 Linux
|
3月前
|
存储 缓存 Linux
在Linux中,文件系统概念是什么?
在Linux中,文件系统概念是什么?
|
3月前
|
存储 Linux 文件存储
在Linux中,文件系统是如何组织的?
在Linux中,文件系统是如何组织的?
|
3月前
|
监控 Linux
在Linux中,如何使用文件系统监控工具?
在Linux中,如何使用文件系统监控工具?