6-2Linux文件系统.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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结构

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档