操作系统--EXT4文件系统结构分析

本文介绍了EXT4文件系统的基本结构,包括超级块、块组描述符和索引节点的数据结构,并详细阐述了如何通过check_ext4fs程序查看这些信息。此外,还讲解了dumpe2fs命令的使用,用于显示EXT4文件系统的详细信息,如超级块、块组等。实验内容涉及获取和解析EXT4的超级块、块组描述符和索引节点数据,并验证了块组描述符、inode表等相关数据的正确性。
摘要由CSDN通过智能技术生成

EXT4文件系统结构分析
一、实验目的:
掌握文件系统的工作机理;理解文件系统的主要数据结构;学习较为复杂的Linux下的编程;了解EXT4文件系统的结构。
二、实验平台:
虚拟机:VMWare9
操作系统:Ubuntu12.04
文件系统:EXT4
编辑器:Gedit | Vi
二、check_ext4fs运行说明
解压命令(解压到指定文件夹)

tar -zxvf test.tar.gz -C  ~/my_dirtory

该程序是一个ext4文件系统查看器.可以打开镜像文件及硬盘设备文件查看具体的文件系统结构信息,如超级块,块组信息,文件inode。
1、查看主硬盘设备名、挂载目录及文件系统信息
在这里插入图片描述

可查出是ext4文件系统,说明可以运行本程序;主硬盘对应/dev/sda1文件;挂载目录为根目录/。
2、程序编译
进入check_ext4fs目录,输入 make clean; make编译程序,生成check_ext4fs程序:

3、程序运行
#./check_ext4fs /dev/sda1
成功运行程序进入命令输入状态。
4、命令使用
共有以下命令:

info sb 查看超级块信息
info inode num 查看序号为num的inode信息
info groups [start, end] 查看inode组描述
quit 退出

三、dumpe2fs命令说明
1、命令名称
dumpe2fs - 显示ext2/ext3/ext4文件系统信息。
2、dumpe2fs命令语法

dumpe2fs [ -bfhixV ] [ -o superblock=superblock ] [ -o blocksize=blocksize ] device

3、dumpe2fs命令描述
显示device中文件系统的超级块和块组信息。
4、dumpe2fs常用命令选项  
选项 描述

-b	打印文件系统中的坏块
-o	不常用,检查严重损坏文件系统时指定
-f	强制显示所有信息,即便dumpe2fs对有些文件系统功能标识不能识别。
- i	显示image文件系统信息。device指定image文件的路径
-h	只显示超级块信息
-x	将已分组的块的数量用十六进制显示
-v	显示dumpe2fs的版本号并推出

三、实验内容:
(1)该实验要求编写程序,完成以下功能(注意保存截图):
获取ext4文件系统超级块,并显示超级块数据结构在这里插入图片描述
ext4_super_block的字段信息;在这里插入图片描述

获取块组描述符表,并能根据输入的块组号显示该块组描述符ext4_group_desc的字段信息;
在这里插入图片描述

获取索引节点表,并能根据输入的索引节点号(比如根目录文件的索引节点号是2),显示其索引节点数据结构ext4_inode的字段信息。
在这里插入图片描述

(2)分析上述实验代码,回答下列问题:
大小(单位用字节):逻辑块、超级块ext4_super_block、组描述符ext4_group_desc、索引节点ext4_inode;
逻辑块:209702
超级块:4194048
组描述符:4096
索引节点:1048576
个数及位置:块组0中组描述符占用的块数及所占块号、inode个数及inode表占用的块数、块位图block bitmap占用块数及所在块号、索引节点位图inode bitmap占用块数及所在块号;
在这里插入图片描述在这里插入图片描述

验证:执行sudo dumpe2fs /dev/sda1 | more命令,验证上述分析是否正确。

在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值