- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6-2Linux文件系统
Linux文件系统 张斌 文件系统 文件系统是操作系统中负责存取和管理文件信息的机构。它定义了管理文件所需的数据结构和相应的操作。常见的文件系统如Linux下的ext系列等(ext2、ext3、...) 需要知道,Linux支持很多文件系统。其中,VFS为用户建立了一个通用的文件模型,并提供了访问文件的通用方法。 VFS:Visual File System VFS是用户的应用程序与各种各样的文件系统实现之间的抽象层。 硬盘的逻辑结构 硬盘由很多盘片(platter)组成 每个盘片的每个面都有一个读写磁头(Head) 。如果有N个盘片,就有2N个面,对应2N个磁头,从0、1、2开始编号 每个盘片被划分成若干个同心圆磁道,每个盘片的半径为固定值R的同心圆在逻辑上形成了一个个的柱面(Cylinder),从外至里编号为0、1、2… 每个盘片上的每个磁道又被划分为几十个扇区(Sector),通常的扇区的容量是512B,并按一定规则编号为1、2、3… 硬盘共有Cylinders×Heads×Sectors个扇区,这三个参数即是硬盘的物理参数。 ext2文件系统 ext:EXTended file system CentOS默认安装的是ext3文件系统,ext3是在ext2的基础上加入日志功能而成 ext2文件系统的优点体现在数据安全性,数据操作的效率,查找效率,空间使用率等方面 ext2文件系统支持的分区容量可达4TB,支持长文件名(255个字符)等等 了解ext2文件系统的结构 ext2文件系统分区结构 对于ext2文件系统来说,硬盘分区首先被划分成同等大小的若干块(block)。比较典型的block大小有1KB、2KB、4KB等 第一块作为分区的引导块(启动块),由系统负责管理;其余块聚在一起分成几个大的块组(block group) 引导块(启动块)的大小是固定的,就是1KB 块组包含信息 每个块组包含: 超级块(Super Block) 组描述符表(Block Group Descriptors) 数据块位图(Data Block Bitmaps) 索引节点位图(inode Bitmaps) 索引节点表(inode Table) 数据块(Data Block) ext2文件系统分区结构 功能描述 超级块:描述ext2文件系统整体信息的数据结构 组描述符表:每个描述符描述对应块组的整体信息 数据块位图:描述该组中数据块的使用情况 索引节点位图:描述该组中索引节点的使用情况 索引节点表:存放该组所有的索引节点,索引节点是用来描述文件或目录信息的 数据块:该块组中用来保存用户文件数据的数据块 super block结构 结构定义于usr/include/linux/ext2_fs.h,size为1KB struct ext2_super_block { __le32 s_inodes_count; /* inodes计数 */ __le32 s_blocks_count; /* blocks计数 */ __le32 s_r_blocks_count; /* 预留的块数 */ __le32 s_free_blocks_count; /* 空闲块数 */ __le32 s_free_inodes_count; /* 空闲索引节点数 */ __le32 s_first_data_block; /* 第一个数据块 */ __le32 s_log_block_size; /* block的大小 */ __le32 s_blocks_per_group; /* 每个块组中block的个数 */ __le32 s_inodes_per_group; /* 每个块组中inode的个数 */ ... } block group descriptor结构 结构定义于usr/include/linux/ext2_fs.h,size为32B struct ext2_group_desc { ?? __le32?? bg_block_bitmap;?? /* 组中块位图所在块 */ ?? __le32?? bg_inode_bitmap;??/* 组中索引节点位图所在块 */ ?? __le32?? bg_inode_table; ??? /*组中索引节点表的首块 */ ?? __le16?? bg_free_blocks_count; /* 组中空闲块数 */ ?? __le16?? bg_free_inodes_count; /* 组中空闲索引节点数 */ ?? ...} inode结构
您可能关注的文档
- 08 电路分析 第8章 三相交流电路 .ppt
- 08第8章 蛋白质和氨基酸测定2013.ppt
- 《教师参考》苏教版(高中数学)必修4同课异构:3.1.2 两角和与差正弦.ppt
- 第4章 数据库与应用程序开发1_数据库技术基础.ppt
- 5.2 人民代表大会制度:我国根本政治制度 (共33张PPT).ppt
- 8-08 二重积分计算.ppt
- 23.1.4 30°45°60°三角函数.ppt
- 初中人教版历史复习:八上第四单元中华民族抗日战争(共56张PPT).ppt
- 2012 6 26 高效能人士七个习惯 36页 推荐学生.ppt
- 初三4班家长会.ppt.C245619F6045AB6EBB3B29333B744192.20140509203716.ppt
原创力文档


文档评论(0)