whutxuan
驱动小牛
驱动小牛
  • 注册日期2002-03-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:2172回复:5

linux文件系统中超级块的困惑。

楼主#
更多 发布于:2005-03-29 13:01
看到有个资料写着
一个文件系统总是由它的superblock来定义的,所以创建文件系统的同时superblock也被创建。它包含了文件系统的一些基本参数,例如文件系统中的数据块(data blocks)数和最大文件数等等。因为superblock包含了一些临界数据,以便于进行灾难性的恢复。缺省的superblock总是固定地位于文件系统所在磁盘分区的开始处。Superblock还有一个备份叫做冗余superblock,就像DOS中的文件分配表的副本。冗余superblock和缺省的superblock不一样,它被分散地保存在磁盘分区上。
从这个解释来看超级块就象是windows系统的文件分配表。

可是又看到一个资料:
Block group:包含如下信息:
Super block,Group descripts,block bitmap,inode bitmap,inode table,Data block

从这个来看,super block又好象是包含在block group中,如果是这样的话,那么
操作文件的时候,文件系统又是通过什么来查找到该文件对应的block group呢?







  
youmans
驱动牛犊
驱动牛犊
  • 注册日期2004-03-18
  • 最后登录2005-12-14
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-03-29 23:48
My opnion is, Linux get block group information through super block. when you regist a file system, the read_super function tell system how to read the super block. When you mount the file system, it tells the system, where to read the file system (e.g. /dev/hd1). Through these two information, linux could get the super block information, then it can get the block group information.
whutxuan
驱动小牛
驱动小牛
  • 注册日期2002-03-05
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-03-30 09:03
那到底这个superblock是类似一个文件分配表一样保存在磁盘的头几个磁道。
还是分散分配到各个block group中呢?
youmans
驱动牛犊
驱动牛犊
  • 注册日期2004-03-18
  • 最后登录2005-12-14
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-03-30 11:47
我的感觉是,每个block group 上面就是一个文件系统。
xi_qh
驱动牛犊
驱动牛犊
  • 注册日期2003-05-06
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-04-16 20:51
ext3中是把分区分成很多个block group的,block group里面的结构就如你所说的,包括super block ,group description等。要决定一个文件在哪个block里面  要首先看super block的结构,确定很多的基本信息,包括每个block group包含多少个block,每个block的大小等。然后顺序到相应的block group的inode table里面去找文件的inode,以得到文件的信息。
比如每个block group包含200个inode,而你要找的文件的inode是203,那么你就要去第三个block group的第3个inode。以找到文件的内容的blok号码。
详细的内容可以看 ULK 2nd
dhjzww
驱动牛犊
驱动牛犊
  • 注册日期2005-04-22
  • 最后登录2005-04-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-04-22 22:43
每个block group就是一个磁盘分区,也就是一个文件系统,它的开始是super block,里面有各种信息,当然也包括你要查找的文件在哪个block中!这样说对吗?
游客

返回顶部