- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OS9计算机组成原理
第九章 Linux文件系统 北京理工大学计算机学院 9.1 Ext2磁盘涉及的数据结构 Linux最初采用的是Minix的文件系统,但是Minix只是一种试验性的操作系统,其文件系统的大小仅限于64M字节。当Linux成熟时,引入了扩展文件系统( Extended Filesystem, Ext FS),但提供的性能不令人满意。在1994年引入了第二扩展文件系统(Ext2),它相当高效和强健,已成为广泛使用的Linux文件系统。 9.1.1 Ext2文件卷的布局 Ext2把磁盘块分为组,每组包含存放在相邻磁道的数据块和索引节点。块组的大小相等并顺序安排。 Ext2用“块组描述符”来描述这些块组本身的结构信息,同时将超级块和所有的块组描述符重复存储于每个块组中。 Ext2通过“位图”来管理每个块组中的磁盘块和索引节点。盘块位图,索引节点位图。 Ext2示意图 超级块存放整个文件卷的资源管理信息。 索引节点存放文件的管理控制信息。 只有块组0中所包含的超级块和组描述符才由内核使用,而其余的超级块和组描述符保持不变,事实上,内核甚至不考虑它们。当系统对文件系统的状态执行一致性检查时,就引用存放在块组0中的超级块和组描述符,然后把它们拷贝到其它所有的块组中。 块组的多少取决于分区的大小和块的大小。盘块位图必须存放在一个单独的块中(盘块位图的每1位对应着块组中的一个盘块,1表示已分配,0表示空闲)。 考虑一个8GB的分区,盘块的大小为4KB。每个4KB的盘块位图可描述32K个磁盘块,即128MB。因此,最多需要64个块组。 9.1.2 超级块 struct ext2_super_block { __le32 s_inodes_count; 索引节点的总数 __le32 s_blocks_count; 盘块的总数 __le32 s_free_blocks_count; 空闲块计数 __le32 s_free_inodes_count; 空闲索引节点数 __le32 s_log_block_size; 盘块的大小 __le32 s_blocks_per_group; 每组中的盘块数 __le32 s_inodes_per_group; 每组索引节点数 __le16 s_inode_size; 磁盘上索引节点结构的大小 ……}; s_log_block_size字段以2的幂次方表示盘块的大小,且以1024B为单位。幂指数为0表示盘块大小为1024B,为1表示盘块大小为2048B等等。 假设每个块组包含4096个索引节点,若想确定索引节点13021在磁盘上的地址。 13021/4096=3……733 该索引节点在第3个块组的索引节点表的第733个表项中。 9.1.3 块组描述符 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;组中空闲索引节点的个数 __le16 bg_used_dirs_count; 组中目录的个数 ……}; 9.1.4 文件目录与索引节点结构 把通常的文件目录项分成简单目录项和索引节点两部分。 简单目录项包含了文件名和索引节点号等,可以提高文件目录的检索速度。 系统只保留一个索引节点,就可实现多条路径共享文件,减少信息冗余。 目录项结构 struct ext2_dir_entry_2{ __le32 inode; 索引节点号 __le16 rec_len; 目录项长度 __u8 name_len; 实际文件名长度 __u8 file_type; 文件类型 char name[255]; 文件名,变长数组 } 文件类型 0:不可知 1:普通文件 2:目录文件 3:字符设备文件 4:块设备文件 5:有名管道 6:套接字文件 7:符号链接 name字段存放文件的名字,最多为255B,实际字符数为name_len。 文件名必须是4B的整数倍。 目录结构是变长的 目录项 索引节点(128B) struct ext2_inode { __le16 i_mode; 文件类型和访问权限 __le16 i_uid; 拥有者的标识符 __le32 i_size; 以字节为单位的文件长度 __le16 i_gi
您可能关注的文档
- No.22第七章 脉冲波形的产生与变换.ppt
- NO.8_——_如何建立HPLC法测定有关物质的方法.ppt
- NOC大赛四上《图形的旋转》陈述说课课件-sd.ppt
- NRF24l01一对一双向通信程序(已调通).doc
- NO2 TTL74系列.ppt
- nuaa气象学教材习题.doc
- NRL512说明书.doc
- n水的电离和溶液的酸碱性.ppt
- n第十四章 第二审程序.ppt
- NTC热敏陶瓷.ppt
- 中考语文总复习语文知识及应用专题5仿写修辞含句子理解市赛课公开课一等奖省课获奖课件.pptx
- 湖南文艺版(2024)新教材一年级音乐下册第二课《藏猫猫》精品课件.pptx
- 湖南文艺版(2024)新教材一年级音乐下册第三课《我向国旗敬个礼》精品课件.pptx
- 高中生物第四章生物的变异本章知识体系构建全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 整数指数幂市公开课一等奖省赛课微课金奖课件.pptx
- 一年级音乐上册第二单元你早全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 八年级数学上册第二章实数27二次根式第四课时习题省公开课一等奖新课获奖课件.pptx
- 九年级物理全册11简单电路习题全国公开课一等奖百校联赛微课赛课特等奖课件.pptx
- 八年级语文下册第五单元19邹忌讽齐王纳谏省公开课一等奖新课获奖课件.pptx
- 2024年秋季新人教PEP版3年级上册英语全册教学课件 (2).pptx
文档评论(0)