文件系统(ext2) inode、block、superblock概念整理

文件系统:一个可被挂载的数据称为文件系统,每个操作系统可以使用的文件系统并不一样,windows98是FAT或者FAT16文件系统,而windows2000以后有了NTFS文件系统,linux是ext2、ext3,现在出现了ext4。


文件系统通常将档案的属性和权限放置在inode中,至于实际数据则放置到data block中,另外还有一个超级区块(superblock)会记录整个文件系统的整体信息,包括inode与block的总量、 使用情况,剩余量等。


inode:记录档案的属性,同时记录此档案所在的block号码,每个档案都只会占用一个inode,因此文件系统内可以放置的档案数量和inode的数量是对应的,系统读取档案时先要读取inode,查看档案的权限与用户是否符合才能继续根据inode对应的档案block编号去寻找文档的内容。

block:记录档案的实际内容,一个block只能存放一个档案,如果档案容量比block大,则占用多个block,如果小,则剩下的空间会浪费掉,block的大小为1K,2K,4K,在文件系统格式化的时候这个大小就会被确定下来,而且每个block会有各自的编号,以方便inode记录寻找。

superblock:记录整个文件系统的整体信息。


文件系统一开始就会规划好inode和block,除非重新格式化(或者指令resize2fs来进行更改)外不然不会更改,由于有些文件系统非常庞大,所以把inode和block放在一起不容易管理,所以文件系统将inode和block分为block group区块群组进行管理。


block group区块构成:

block group都有单独的inode、block以及superblock。


以ext2文件系统为例,ext2文件系统格式化后会变为:boot sector(启动扇区)和多个block group,boot sector可以存放开机管理程序,这样可以将不同的开机管理程序安装在文件系统最前端,而不用覆盖硬盘唯一的MBR,而block group分为六个部分,下面详述:


block group分为以下六个部分:

1:superblock :大小为1024bytes,记录filesytstem相关信息的地方,记录inode和block的数量,未使用和已使用的inode和block数量,记录inode和block的大小,例如inode是128bytes,而block是1k或者2k或者4k,记录filesystem的挂载时间,最近一次写入数据的时间,最近一次检验磁盘(fsck)的时间等文件系统相关信息。最后还要记录一个valid bit数值,文件系统已被挂载为0,反之为1。

这部分信息可以用dumpe2fs呼叫出来进行查看。


2:档案系统描述 (filesystem description):这个区块可以描述么个block group的开始与结束的block号码,以及说明每个区段分别介于哪一个block号码中,这部分也能够用dumpe2fs来观察。


3:区块对应表(block bitmap):block bitmap记录哪些block是空的,以便新建文档可以快速调出空的block进行储存,同时当删除文档时,block bitmap也会将对应释放的block号码改为未使用。

4:Inode对应表(inode bitmap):这个功能和block bitmap类似,只是block bitmap记录的是使用与未使用的block号码,而inode bitmap记录的是使用与未使用的inode号码。 


5:inode table:也就是上面讲过的inode,这里记录档案的属性以及档案内容放在哪些编号的block里。同时inode的大小均固定为128bytes,inode记录一个block需要花费4bytes,由于有些档案非常巨大,需要占用大量的block,但是记录一个block需要花费4bytes,而inode只有128bytes,因此系统将inode记录block号码的区域分为12个直接,一个间接,一个双间接,一个三间接记录区。

具体记录的数据为:

1)档案存取模式(rwx)

2)档案拥有者(owner、group)

3)档案的容量

4)档案建立或状态改变(例如权限)的时间(ctime)

5)档案最近一次的读取时间(atime)

6)最近修改的时间(mtime)

7)定义档案特性的旗杆(flag)

8)该档案内容真正的指向(pointer)


6:data block:data block是放置档案数据的地方,就是上面说的block,是一个东西。








  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值