ext2文件系统

Ext2磁盘结构

ext2分区和ext2分组的分布图(下图是借用其他博客的)

块组中的每个块包含的信息:

超级快(1个块):描述该分区中的整个文件系统的信息,包括有多少个快组,每个快组有多少个块,多少个索引节点等。

组描述符块(n块):

块位图(1块):

索引节点位图(1块):

索引节点(n块):

数据块(n块):

块大小:ext2块大小可以设置为1K,2K或4K。

 

超级块:

ext2_super_block结构,重点字段:

s_inodes_count; 索引节点的总数

s_blocks_count; 文件系统中块的总数

s_free_blocks_count; 空闲块的数目

s_free_inodes_count;  空闲节点的数目

s_first_data_block; 第一个使用的块号(总是1)

s_log_block_size;   块的大小,1K,2K,4K

s_blocks_pre_group; 每个块组的块数

s_inodes_pre_group;每个快组的索引节点数

 

组描述符:

每个块组都有自己的组描述符,将所有分组的分组描述符都保存在一起。

ext2_group_desc结构,32个字节大小。重点字段:

bg_block_bitmap; 数据块位图的块号

bg_inode_bitmap;索引节点位图的快号

bg_inode_table ; 第一个索引节点表块的块号

bg_free_blocks_count; 该组中的空闲块的数目

bg_free_inodes_count;该组中的空闲索引节点的数目

bg_used_dirs_count; 改组中的数目的个数。

 

块位图:

块位图用来描述整个块组中哪些块是空闲的,那些块是占用的,0代表空闲,1代表占用。

如果块大小为1K,那么每个组块,最多有1024*8个块,也就是8M

如果块大小为4K,那么每个组块最多4K*8个块,也就是128M

 

索引节点位图:

占用一个块。

 

索引节点表:

每个索引节点占128字节,块大小为1K时,每块包含8个索引节点,块大小为4K时,每块可以包含32个索引节点。

索引节点ext2_innode 包含的重要字段:

i_mod; 文件类型、访问权限

i_uid; 拥有者标识

i_size; 以字节为单位,文件大小

i_links_count;  硬链接计数器,也就是有多少个目录指向该文件

i_blocks;  文件的数据块

[] i_block;   指向数据块的指针。默认包含15个元素,0-11元素,对应文件最初的12个块,后面则是2级,3级,4级索引。

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值