ISSN1009-3044
第7卷第年5月)14期(2011电脑知识与技术ComputerKnowledgeandTechnology
Vol.7,No.14,May2011,pp.3443-3446,3472E-mail:kfyj@http://doc.xuehai.net电脑知识与技术ComputerKnowledgeandTechnologyhttp://doc.xuehai.netTel:+86-551-56909635690964LinuxEXT4文件系统分析
陆亚文
(杭州科技职业技术学院,浙江杭州310016)
摘要:介绍EXT4文件系统的原理和数据结构,重点与EXT3文件系统做了比较,通过分析WRITE操作来解释EXT4文件系统的工作,为用户选择Linux内核提供参考。
关键词:EXT4;日志;句柄;i节点
中图分类号:TP391文献标识码:A文章编号:1009-3044(2011)14-3443-04
TheAnalysisofLinuxEXT4FileSystem
LUYa-wen
(HangzhouVocationalCollegeofScienceandTechnology,Hangzhou310016,China)
Abstract:ComparedwithEXT3filesystem,thetheoryanddatastructureofEXT4filesystemwasintroduced.ByanalyzingtheWRITEoperation,theprocedcureofEXT4filesystemwasexplained,andthestudywillsupplysomereferencesforuserswhochoosingcoreofLinux.Keywords:EXT4;dailyrecord;handle;inode
EXT4文件系统是日志文件系统,100%兼容EXT3文件系统,与EXT3文件系统相比的主要区别是它能快速更新文件存储。计算机开始从磁盘上读取或写入数据都必须保证文件系统中文件与目录的一致性,所有日志文件中的数据均以数据块的形式存放在存储设备中,当磁盘分区时文件系统即被创建,按照文件形式、目录形式支持存储数据,组织数据的使用。EXT4提供并使用了一个通用日志层(jbd)[1],该层既可在文件系统中使用,还能够应用到其它设备中,对NVRAM设备,EXT4就能支持。当由于软件或硬件错误导致文件系统崩溃时,EXT4使用与e2fsck同样代码来修复崩溃的文件系统,因此在出现数据崩溃时,EXT4具有和EXT3同样的防止数据丢失的优点[2]。但是,上述这些优点不是EXT4独有的,但只有EXT4才尽数具备,这正是EXT4的优势。
1EXT4文件系统的重要数据结构
以下的数据结构都来自2.6.28内核。
1.1超级块super_block
/include/linux/EXT4_fs.h
structEXT4_super_block{
/*00*/__le32s_inodes_count;/*节点数目*/
__le32s_blocks_count;/*文件块数*/
__le32s_r_blocks_count;/*保留未用的文件块数*/
__le32s_free_blocks_count;/*可用的文件块数*/
/*10*/__le32s_free_inodes_count;/*可用的节点数*/
__le32s_first_data_block;/*第一个数据块的索引*/
__le32s_log_block_size;/*数据块大小*/
__le32s_log_frag_size;/*文件碎片大小*/
/*20*/__le32s_blocks_per_group;/*每一组文件块的数目*/
__le32s_frags_per_group;/*每一组碎片数目*/
__le32s_inodes_per_group;/*#每一组节点数目*/
__le32s_mtime;/*最近被安装到内存的时间*/
…………
/*150*/__le32s_blocks_count_hi;/*文件块数的高32位*/
__le32s_r_blocks_count_hi;/*保留未用的文件块数高32位*/
__le32s_free_blocks_count_hi;}/*可用文件块数高32位*/
合适的特定设备和不适合的特定设备的不同是在,如果在不合适的特定设备中有一位设备是内核无法识别的,内核将会拒绝启动文件系统。在EXT4中,e2fsck的要求更加严格,如果他既不能在合适的特定设备中,也不能在不合适的特定设备中识别出一个设备,他一定会终止程序并且不会将它所不能识别的设备模块化。
收稿日期:2011-03-25
基金项目:本文的研究得到2009浙江省青年教师资助项目以及浙江省教育厅科研项目(20071302)资助
作者简介:陆亚文(1978-),女,浙江杭州人,硕士,主要从事计算机图形学,人工智能等方向的研究。