EXT4 之superblock 结构体剖析

直接上一张图把,

左边是在ext4文件系统下的dd出来的一个镜像,右边是ext结构体向的表述。

superblock

这里是使用dumpe2fs命令得到的信息

caopeng@yep:~/tmp $ dumpe2fs version_da.img
dumpe2fs 1.42 (29-Nov-2011)
Filesystem volume name:   version
Last mounted on:          <not available>
Filesystem UUID:          d8003b02-a900-9650-8909-c6d9835f2dd9
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode filetype extent sparse_super large_file uninit_bg
Filesystem flags:         unsigned_directory_hash
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Remount read-only
Filesystem OS type:       Linux
Inode count:              2016
Block count:              8052
Reserved block count:     0
Free blocks:              6562
Free inodes:              1946
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      7
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         2016
Inode blocks per group:   126
Last mount time:          n/a
Last write time:          Thu Jan  1 08:00:00 1970
Mount count:              0
Maximum mount count:      10
Last checked:             Thu Jan  1 08:00:00 1970
Check interval:           0 (<none>)
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   tea
Journal backup:           inode blocks
Journal features:         (none)
Journal size:             4096k
Journal length:           1024
Journal sequence:         0x00000001
Journal start:            0


Group 0: (Blocks 0-8051)
  Checksum 0x9cd3, unused inodes 0
  Primary superblock at 0, Group descriptors at 1-1
  Reserved GDT blocks at 2-8
  Block bitmap at 9 (+9), Inode bitmap at 10 (+10)
  Inode table at 11-136 (+11)
  6562 free blocks, 1946 free inodes, 22 directories
  Free blocks: 1161, 1164, 1166, 1168, 1378, 1380, 1382, 1384, 1386, 1388, 1390, 1392, 1394, 1397, 1400, 1403, 1406, 1409, 1412, 1415, 1418, 1421, 1424, 1427, 1430, 1433, 1436, 1438, 1440, 1443, 1445, 1447, 1449, 1451, 1453, 1455, 1457, 1459, 1461, 1465, 1469, 1471, 1473, 1495, 1497, 1499, 1516, 1518, 1520, 1522, 1524, 1526, 1531, 1537, 1539, 1541, 1543, 1545, 1547, 1549-8051
  Free inodes: 71-2016


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ext4(第四扩展文件系统)是Linux操作系统中最常用的文件系统之一。下面是对ext4文件系统的一些基本原理进行简要分析: 1. 超级块(Superblock):ext4文件系统的每个文件系统都有一个超级块,其中包含了文件系统的元数据信息,如块大小、inode表的位置等。 2. 块组(Block Group):ext4将磁盘分成多个块组,每个块组包含一组数据块和相关的元数据结构。每个块组都有一个块组描述符表(Block Group Descriptor Table),用于描述该块组的信息。 3. inode表:ext4使用inode(Index Node)来存储文件和目录的元数据,包括文件的权限、所有者、时间戳等。每个inode占用固定大小的空间,并通过索引链接到相应的数据块。 4. 数据块:ext4使用多级索引结构来管理文件数据块,包括直接块、间接块和二次间接块。直接块存储文件的实际数据,而间接块和二次间接块则存储对其他数据块的索引。 5. 日志(Journaling):ext4采用了日志功能来提高文件系统的可靠性和恢复性。通过在事务提交前将元数据更改写入日志中,可以确保在发生系统崩溃或断电等情况下,文件系统可以快速恢复到一致的状态。 6. 内存缓存:ext4利用Linux内核的页缓存机制来提高文件系统的读写性能。文件系统的数据和元数据通常会被缓存在内存中,当需要读取或写入数据时,可以避免直接访问磁盘。 7. 特性(Features):ext4引入了一些新的特性,如支持更大的文件和文件系统、更高的性能、更好的容错能力等。同时还支持一些高级功能,如文件系统加密、透明压缩、快照等。 这只是对ext4文件系统原理的简要概述,实际上,ext4还有许多其他的细节和特性。深入了解和理解这些原理可以帮助你更好地使用和管理ext4文件系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值