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-),女,浙江杭州人,硕士,主要从事计算机图形学,人工智能等方向的研究。

linux ext4文件系统分析,LinuxEXT4文件系统分析相关推荐

  1. linux ext4文件系统分析

    1.ext4文件系统注册 路径 fs\ext4\super.c 源码 static int __init ext4_init_fs(void) {int i, err;ratelimit_state_ ...

  2. linux ext4 文件大小,[svc]为何linux ext4文件系统目录默认大小是4k?

    linux ext4普通盘为什么目录大小是4k? Why does every directory have a size 4096 bytes (4 K)? To understand this, ...

  3. linux 往文件写4k大小,[svc]为何linux ext4文件系统目录默认大小是4k?

    linux ext4普通盘为什么目录大小是4k? Why does every directory have a size 4096 bytes (4 K)? To understand this, ...

  4. linux读苹果格式文件,mac os 如何读取 Linux ext4 格式的硬盘

    mac os 如何读取 Linux ext4 格式的硬盘 很多时候需要在macOS上操作Linux的ext4分区,然后macOS系统默认并不支持ext4等分区格式.而MacOS并不支持读取这个格式的文 ...

  5. 读取linux分区工具,Windows XP下直接读取Linux ext4分区文件工具

    用了好久的Linux, Firefox的插件都放在Linux的ext4分区上. 想要在Windows XP中读取ext4分区的文件,接着就有了一段惊心动魄的经历. 首先是到google上搜索" ...

  6. linux删除文件_【Linux实战】Vim编辑器和恢复ext4下误删除的文件

    学神IT教育:XueGod-IT 良心教育 贴心服务 1.  vim主要模式介绍,vim命令模式. 确保系统已经安装了VIM工具 [root@panda ~]# rpm -qf `which vim` ...

  7. Linux系统中创建大文件,并作为文件系统使用

    在LInux系统的使用过程中,有时候会遇到诸如某个磁盘分区的大小不够用了,导致其下的文件系统不能正常写入数据.亦或者是系统swap分区太小,不够用或者不满足条件而导致的其他一系列问题.如果我们系统上挂 ...

  8. 在 Linux 上创建一个加密文件保险库

    关注微信公众号:厦门微思网络 最近,我演示了如何在 Linux 上使用统一密钥设置(Linux Unified Key Setup)(LUKS)和 cryptsetup 命令 实现全盘加密.虽然加密整 ...

  9. linux存储pdf伟岸_Linux 文件恢复的原理

    inode 和 block 首先简单介绍一下 Linux 文件系统的最基本单元:inode.inode 译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份 ...

最新文章

  1. TCP编程函数和步骤
  2. 参数检验——当总体分布已知(如总体为正态分布),根据样本数据对总体分布的统计参数进行推断 非参数检验——利用样本数据对总体分布形态等进行推断的方法。...
  3. IDEA Reference - Essentials(基本要义)
  4. 《HTML5 界面设计与开发》 读书笔记
  5. 索泰显卡超频软件测试要多少时间,显卡超频测试_索泰 GTX 760 2GD5 至尊OC+_显卡评测-中关村在线...
  6. C# 打印PDF文档的10种方法
  7. rust火箭基地主楼开启方法_Rust 为什么能成为 Stack Overflow 最受欢迎的语言?
  8. 使用Spring WebFlux进行操作
  9. Kaggle新上比赛:地震图像的盐体分割
  10. How to change context root of a dynamic web project in Eclipse
  11. 如何使用react-tools将jsx编译成JavaScript
  12. 黑马程序员-android视频播放器
  13. Android开发环境搭建
  14. 电压源和电流的关联参考方向_什么是电流,电压的关联参考方向?
  15. linux soruce 命令,Linux source命令是干啥的?
  16. uni-app如何发送请求调用接口
  17. 汉语数字转换成阿拉伯数字
  18. 2021.11_Coggle组队学习_Linux命令
  19. 推荐三款实用的录音转文字软件给你
  20. 计算机考试怎么考申论,公务员考试申论评分标准,这些你都知道吗?

热门文章

  1. Linux中移动光标cw什么意思,linux常用指令详解
  2. 金融帝国2(Capitalism2)完美中文版下载
  3. CakePHP中文教程4
  4. 2007年 西安站 西到东开 列车时刻表
  5. 家庭食品包装密实袋的前世今生和未来
  6. langid 代码对应的语种名
  7. 最全pink老师JavaScript笔记-JavaScript 基础部分(同步PPT)
  8. 微型计算机系统结构有哪五大,计算机有五大部分组成,分别是哪五大部分?各有什么用处?...
  9. 修改虚拟机下的网络和ip设置
  10. 使用trac进行项目管理