Linux ext2文件系统

Linux最传统的磁盘文件系统(filesystem)使用的是ext2

1.ext2文件系统结构
ext2文件系统划分为多个块组,每个块组拥有独立的inode/block,一个文件系统只有一个Superblock。
如下图所示:

1)Boot Sector:启动扇区。
启动扇区可以安装引导装载程序,这样可以将不同的引导装载程序安装到不同的文件系统
不用覆盖整块硬盘唯一的MBR,才能制作出多重引导的环境。

2)Data Block:存放文件内容。
ext2系统中block的大小有1KB,2KB,4KB三种,block大小由文件系统总容量决定,如下图所示:

每个block只能放一个文件的数据,若文件大小超过block,则占用多个;
若小于block,block剩余的空间也不能被其他文件使用。

3)Inode Table:存放文件属性和权限等。
inode存放的文件数据至少有:
文件的访问权限(rwx)
文件的所有者与组(ower/group)
文件的大小
文件创建和状态改变时间
最近一次读的时间
最近修改的时间
文件类型标识
文件指向的block号

inode的大小固定为128B
我们重点看一下最后一项,“文件指向的block号”
inode是通过12个直接指针,1个间接指针,1个双间接指针,1个三间接指针来指向block的。
如下所示:

12个直接指针:直接取得block号码
如果文件太大,就会使用间接指针,双间接指针,三间接指针来记录编号

4)Superblock:存放文件系统的基本信息。
一个文件系统只有一个Superblock,存放的信息有:
inode,block的总量
未使用和已使用的inode,block数量
inode,block的大小
文件系统挂载时间,最近写入数据时间,最近检查磁盘时间
validbit值,文件系统已挂载,则validbit为0,否则为1

5)File system Description(文件系统描述):每个块组的开始结束号码

6)block bitmap(block对照表):标识block是否使用
便于系统快速找到空间来处置文件

7)inode bitmap(inode对照表):标识inode是否使用
与block bitmap相似。

2.文件系统树型结构之间的关系
1)目录
新建一个目录时,ext2会分配一个inode和至少一块block给该目录。
inode记录目录权限和属性,以及分配的block号。
block记录目录下的文件名和文件名占用的inode号。

2)文件
新建一个文件时,ext2会分配一个inode和对应文件大小的N个block块给该文件。
inode和文件名会同时被记录在目录的block中,以便通过目录访问到该文件。
block存放文件内容。

3)文件查找
查找文件时,会先找到文件所在目录,目录的inode对应的block中,
存放着文件的名称和inode,找到文件名对应的inode,
然后找到文件inode对应的block,找到文件内容。

3.ext3文件系统
ext3是ext2的升级,加入了日志文件系统。

4.挂载文件系统
文件系统要挂载到目录树,才能使用
文件系统与目录树结合的操作,称为挂载。
挂载点是目录,该目录为进入该文件系统的入口。

posted on   迪米特  阅读(2746)  评论(1编辑  收藏  举报

努力加载评论中...

导航

点击右上角即可分享
微信分享提示