ext2文件系统

来源:互联网 发布:香港手机网络运营商 编辑:程序博客网 时间:2024/06/06 20:08

1.元数据:metadata

保存的是文件名称,文件位置等相关信息,这种信息通常只是为了查找数据块在哪个位置和大小设定的。在ext2上,元数据变得复杂了,于是就有了inode,超级块等概念。

2.BLOCK:块

磁盘是由一个一个区连接起来,每个区是512字节。设计者把连续若干个区连成一组,抽象出block的概念。通常在设计block的时候,8个区连成一组,即一个block就是4KB;

3.Boot Block

无论如何,boot block都占用1kb,它不以你划分的block大小来改变自己。即使划分4KB,那么Boot Block也占用1KB。这个块是为了启动CPU保留的(不是操作系统)。按下开机键,CPU通电,那么硬件主动把Boot Block复制到0x7c00这个位置,然后CPU就从这个位置开始执行,然后就是引导起来操作系统。

4.ext2元数据

4.1inode表和inode节点

inode表里存放的是一个个inode节点,在ext2中,inode表要占用若干个block。
而实际上inode节点就是一个比较大的结构体;
inode节点存储了更加丰富的内容,除了记录文件在哪个block,还包含了文件权限位,最近访问时间,最近修改时间等。但是文件名字没有存放在inode节点里,而是保存在一个称为目录项的结构体中

4.2inode位图和block位图

位图,是一种常用的数据结构。它就像是一张地图,每个bit代表一个位置,如果为0,表示这个位置没有被占用,如果为1,表示该位置被占用。那么inode位图就是用来记录inode表中哪个位置被占用,block位图,就是记录哪个block被占用了。

4.3组描述符

一个组描述符表,不仅存储当前组的信息,还存储其他的信息。这是一种备份信息。组描述符表中存储的组描述符;
组描述符中记录的是inode位图和block位图在哪个block上。此外还有inode表的位置等

4.4超级块

超级块记录了一全局信息,比如inode节点个数,第一个数据块的位置,block大小(1KB还是2KB?),block的个数

5.总结

不是所有组都有组块描述符;
块组描述符描述的是所有组信息,一般来说只是使用第0组就够了,其他组只是备份而已。

0 0
原创粉丝点击