实验五EXT4文件系统结构分析一、实验目的:掌握文件系统的工作机理;理解文件系统的主要数据结构;学习较为复杂的Linux下的编程;了解EXT4文件系统的结构。二、实验平台:虚拟机:VMWare9操作系统:Ubuntu12.04文件系统:EXT4编辑器:Gedit|Vi三、实验内容:(1)该实验要求编写程序,完成以下功能(注意保存截图):获取ext4文件系统超级块,并显示超级块数据结构ext4_super_block的字段信息;获取块组描述符表,并能根据输入的块组号显示该块组描述符ext4_group_desc的字段信息;获取索引节点表,并能根据输入的索引节点号(比如根目录文件的索引节点号是2),显示其索引节点数据结构ext4_inode的字段信息。程序编译:进入check_ext4fs目录,输入makeclean;make编译程序,生成check_ext4fs程序:Make编译:程序运行#./check_ext4fs/dev/sda1成功运行程序进入命令输入状态。命令使用共有以下命令:infosb查看超级块信息infoinodenum查看序号为num的inode信息quit退出(2)分析上述实验代码,回答下列问题:大小(单位用字节):逻辑块、超级块ext4_super_block、组描述符ext4_group_desc、索引节点ext4_inode;分析:逻辑块:262118超级块ext4_super_block:5242368组描述符ext4_group_desc:4096索引节点ext4_inode:1310720个数及位置:块组0中组描述符占用的块数及所占块号、inode个数及inode表占用的块数、块位图blockbitmap占用块数及所在块号、索引节点位图inodebitmap占用块数及所在块号;验证:执行sudodumpe2fs/dev/sda1|more命令,验证上述分析是否正确。经验证分析正确。四.实验心得通过本次试验我基本掌握文件系统的工作机理,理解文件系统的主要数据结构,学习较为复杂的Linux下的编程,了解EXT4文件系统的结构,收获很大。