参考 《鸟哥的Linux私房菜》7.1节
1.文件系统特性
- Linux系统的文件拥有两种东西,一种是元信息,也就是文件的属性和权限等,另外一种是文件的内容。元信息被放在inode中,文件内容被放在data block中。另外还有一个superblock记录整个文件系统的整体信息,包括inode与block的总量,使用量,剩余量。
- 每个inode与block都有编号
- 每个文件都会占用一个inode,inode中的属性会指向block
2.Linux的EXT2文件系统
- 文件系统一开始就将inode与block规划好了,除非重新格式化(或利用resize2fs等指令变更文件系统大小),否则inode与block固定后就不再变动
-
Ext2文件系统在格式化的时候回区分为多个区块群组,每个区块群组都有独立的inode/block/superblock系统
- 文件系统最前面有一个启动扇区,这个启动扇区可以安装开机管理程序
- data block:
- 所谓block就是一块存放数据的地方
- ext2文件系统中支持的block大小有1K,2K,4K三种而已
- inode table
- inode记录的就是文件的元信息
- 一个文件系统能创建的文件数量是定死的,因为inode的数量会在格式化的时候定死
- 一个inode的大小为128bytes,新的文件系统可以设定到256bytes
-
inode记录block好矛盾区域定义了12个直接,1个间接,一个双间接与一个三间接记录区。什么意思呢?12个直接表示这12个slot内的地址直接指向具体的data block,1个间接区域里存放了一个block的地址,这个block地址里存放的都是其他data block的地址,当block大小定为1K的时候,这个一级block可以存放1K/4bytes=256个data block的地址,二级间接和三级间接同理
- super block(超级区块)
- super block是记录正filesystem相关信息的地方
- super block的大小一般为1024bytes
- filesystem description
描述每个block group开始于结束的block号码,说明每个区段(super block,bitmap,inodemap,data block)分别介于哪一个block号码之间 - block bitmap
记录哪个block是空闲的,哪个是忙的 - inode bitmap
记录哪个inode是空闲的,哪个是忙的