linux逻辑块和数据块,Linux文件系统分析之二(超级块,i节点位图和逻辑块位图)...

第二个扇区和第一个扇区一样属于引导块,这里就不列举出其内容了,这里的一块是两个扇区即1024B。接下来的一块就是大名鼎鼎的超级块了。其内容如下:

00000400h: E0 01 A0 05 01 00 01 00 13 00 00 00 00 1C 08 10 ; ??............

00000410h: 7F 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ...............

00000420h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................

00000430h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................

00000440h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................

00000450h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................

00000460h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................

后面一直到该磁盘块结束的地方全部都是0:

000007f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................

下面列出这个超级块的结构:

struct super_block{

unsigned short s_ninodes; i节点数(1E0=480)

unsigned short s_nzones; 逻辑块数(5A0=1440刚好是软盘的容量)

unsigned short s_imap_blocks; i节点位图所占用的数据块数(1块)

unsigned short s_zmap_blocks; 逻辑块位图所占用的数据块数(1块)

unsigned short s_firstdatazone; 第一个数据逻辑块号(13H=19块)

unsigned short s_log_zone_size; log(数据块数/逻辑块)

unsigned long  s_max_size; 文件最大长度

unsigned short s_magic;  文件系统魔数(137F)

...//后面的成员仅出现在内存中,不列举出来。

这个superblock的信息就这么多,它表示该文件系统有480个i节点,逻辑块数是1440,每块是1024B,所以总容量就是软盘容量了。i节点位图和逻辑块位图都只占用一个数据块。第一个数据块块号是19号,这里存放的是"/"根文件了,等会儿就可以看到了。

接下来的一个磁盘块就是所谓的i节点位图块了,这已经是第3个磁盘块了。

00000800h: FF FF FF FF FF FF DD FF 7F 01 00 00 00 00 00 00 ; ???????.......

00000810h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................

00000820h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; ................

00000830h: 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF ; ............????

00000840h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ; ????????????????

00000850h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ; ????????????????

00000860h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ; ????????????????

后面一直到该磁盘块结束的地方全部都是1:

00000bf0h: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ; ????????????????

这里到00000830h行0结束的地方,总共有60个字节,即480位,与超级块中的i节点数480吻合。这480个位中,为1的表示i节点在用,为0的表示空闲。

逻辑块位图的原理和i节点位图一模一样,这里省略其分析。到此已经分析完了4个磁盘块。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值