- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux代码导读-ext2文件系统
Linux内核源代码导读 中国科学技术大学计算机系 陈香兰(0551-3606864) xlanchen@ustc.edu.cn Spring 2009 Ext2文件系统简介 EXT2文件系统是EXT文件系统的升级,在Linux中得到了广泛的使用。 介绍EXT2文件系统的 磁盘组织 目录项和支持的文件类型 (一)EXT2文件系统的磁盘组织 除了引导扇区之外,EXT2磁盘分区被顺序划分为若干个磁盘块组(Block Group)。 每个块组由若干个磁盘块,按照相同的方式组织,具有相同的大小。 EXT2磁盘块组中的磁盘块按顺序被组织成: 一个用作超级块的磁盘块。 在这个磁盘块里,存放了文件系统超级块的一个拷贝; N个记录组描述符的磁盘块; 1个记录数据块位图的磁盘块; 1个记录索引结点位图的磁盘块; N个用作索引结点表的磁盘块; N个用作数据块的磁盘块。 EXT2的超级块 每个块组的第一个磁盘块用来保存所在EXT2 fs的超级块 多个块组中的超级块形成冗余 在某个或少数几个超级块被破坏时,可用于恢复被破坏的超级块信息。(e2fsck) 注意:大多数数据结构存在两个版本 磁盘存储版本,例如ext2_super_block(阅读) 内存版本,例如ext2_sb_info (阅读) 组描述符 组描述符用来描述一个磁盘块组的相关信息 数据结构为ext2_group_desc(阅读) 索引结点 EXT2中所有的索引结点大小相同,都是128个字节。 数据结构 磁盘存储数据结构ext2_inode(阅读) 内存中结构ext2_inode_info(阅读) 理论基础:文件数据块的组织方式 链式(显式 vs 隐式) 索引方式(直接索引,一级索引,二级索引,等等;组合索引) 关于索引节点中的i_block[] ext2的索引结点中使用了组合索引方式。 前12项用作直接索引 第13项用作间接索引 第14项用作二次间接索引 第15项用作三次间接索引 索引节点表 EXT2的一个磁盘块组中的索引结点存储在一组连续的磁盘块中,形成一个索引结点表。 这组磁盘块中的第一个磁盘块的块号存储在超级块的bg_inode_table数据项中。 根据磁盘块的大小,可以计算出每个磁盘块能容纳多少个索引结点 根据索引结点的总个数,可以计算出索引结点表所需要占用的磁盘块的个数。 数据块位图和索引结点块位图 EXT2的空闲盘块分配算法采用了位图法 位图:便于查找数据块或索引结点的分配信息 每个位(bit)都对应了一个磁盘块: 0,表示对应的磁盘块(或索引结点)空闲 1,表示占用。 2个位图分别占用一个专门的磁盘块。 根据磁盘块的大小,可以计算出每个块组中最多能容纳的数据块个数和索引节点块个数。 (二)EXT2中的目录项和文件类型 在EXT2中,目录是一种特殊的文件,这种文件的数据块中存放了该目录下的所有目录项 新版的目录项结构 EXT2支持的文件类型 EXT2在目录项中存放了文件的类型信息。文件类型可以是0~7中的任意一个整数。它们分别代表如下含义: 0:文件类型未知; 1:普通文件类型; 2:目录; 3:字符设备; 4:块设备; 5:有名管道FIFO; 6:套接字; 7:符号链接。 注意: (三)创建一个ext2文件系统 在磁盘上创建文件系统通常有两个步骤: 格式化磁盘 Linux中:superformat或者fdformat 创建文件系统 Ext2:mke2fs mke2fs的缺省参数 磁盘块大小:1024字节 分片:目前不支持,因此与磁盘块一样 分配inode的个数:1/8192B 永久保留的块的个数:5% 创建流程 初始化超级块和组描述符 Optionally, 检查是否有坏块,若有创建坏块列表 对每个块组,保留所有用来存放超级块、组描述符、inode表、2个位图的磁盘块 初始化每个块组中的位图 初始化每个块组中的inode表 创建 /root 目录 创建 lost+found 目录(供e2fsck 使用,与坏块相关) 为上述两个目录而更新位图信息 若有坏块,则将其在 lost+found 目录中组织起来 以1.44MB的软盘为例,创建ext2文件系统后 (四)Ext2提供的各种对象方法 超级块对象方法 索引节点对象方法 文件对象方法 (五)管理ext2的磁盘空间 存储在磁盘上的文件与用户所“看到”的文件有所不同: 用户感觉,文件在逻辑上是连续的 而在磁盘上,存储文件数据的磁盘块可能分散在磁盘各处 用户感觉,文件可能比较大 而在磁盘上,由于文件空洞的存在,分配给文件的磁盘空间可能小于用户感觉到的文件大小。 涉及到如下操作: 创建/删除一个索引节点 数据块的寻址 文件空洞 分配/释放一个数据块 创建/删除一个索引节点
您可能关注的文档
- 第6章 AP Div.ppt
- 第5章_人工神经网络_matlab工具箱.ppt
- 网络分析仪精编.ppt
- 计算机图形学 圆的扫描转换.ppt
- 弧度制-精编版.ppt
- 常用代码的简单使用方法.ppt
- ARM编程实例.ppt
- 精编高二物理课堂教学课件_选修3-1恒定电流第六节_2-6.ppt
- 精编vfp教程 第3章.ppt
- 02 代码评审.ppt
- 2025年中国铸管沥青漆喷涂机市场调查研究报告.docx
- 2025至2031年中国聚四氟乙割管料行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国屏蔽箱行业投资前景及策略咨询研究报告.docx
- 2025年中国B级电源电涌保护器市场调查研究报告.docx
- 2025至2031年中国陶瓷印章行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国保冷材料行业投资前景及策略咨询研究报告.docx
- 2025至2031年中国金彩立雕玻璃行业投资前景及策略咨询研究报告.docx
- 2025至2030年中国机箱螺母柱数据监测研究报告.docx
- 2025至2030年中国小GS管装饰头数据监测研究报告.docx
- 2025至2030年中国气动电阻焊机数据监测研究报告.docx
最近下载
- 2024年12月大学英语四级考试真题及答案(第 1 套).pdf
- 三位数内(三位数+两位数)加减法口算题 9900道题 .pdf
- 护理在线考试试题心脏外科试题一.docx
- 2024年注册土木工程师(水利水电)之专业知识题库含答案【新】.docx
- 部编人教版九年级上册语文期末复习生字词专项练习题(有答案).pdf VIP
- 人教版高中英语单词表(必修1-选修8)打印专用 .pdf
- 交管12123学法减分复习题库500道含完整答案(历年真题).docx
- 东北电力大学2023-2024学年第2学期《线性代数》期末试卷(A卷)及参考答案.docx
- 优秀公诉人竞赛笔试试卷8+答案 .pdf
- 资产负债表模板范本.docx
文档评论(0)