Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2875
  • 博文数量: 2
  • 博客积分: 80
  • 博客等级: 民兵
  • 技术积分: 30
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-03 20:47
文章分类
文章存档

2008年(2)

我的朋友
最近访客

分类: LINUX

2008-11-03 21:12:15

这两天看鸟哥的网络文章,特别是对ext2文件系统的描述,写的非常好,很快就了解大概的数据结构:

1。super block 存放整个file system information,占1024Byte,可以使用dumpe2fs -h /dev/sda1来查看信息。
2。group description,存储data group信息,主要是BB,IB,IT的指针。占32Byte
3。inode 结构存放文件/目录 的权限信息和指向block数据的指针数组,这数组长度为15,前12存放的指针直接指向block,第13和第14位为间接指针,第15位为三间接指针。inode的长度一般为128Byte
4。接在group desription后面的是GDT,是留给扩展文件系统用的。
5。super block 和group description存在于block group 0 中,备份存在于block group 的3,5,7及其他们的幕数中。


IBM上有篇文章中的有句话自己推敲了很久才发现作者写错了,“硬盘分区上的所有这些 group descriptors 要能塞在一个 block 里面。也就是说 groups_count * descriptor_size 必须小于等于 block_size。”其实当group的size很大的时候,group descriptor size是会大于block size的。计算公式是:

G = ((group descriptor size * group count) +(block size -1)) & -block size

如果block size = 4k时,那group count >128,G就会大于block size。



阅读(343) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:Mysql 字符集设定

给主人留下些什么吧!~~