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个磁盘块。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值