Linux的EXT2文件系统详解

来源:互联网 发布:php分割价格函数 编辑:程序博客网 时间:2024/05/22 17:51

Linux的EXT2文件系统(inode)

1.   文件系统将inodeblock初始是就规划好了,如果想要改变就需要格式化分区;


2.   为什么分区中要有多个块组(block  group):因为文件系统太大的时候,因为inode和block的数量太大不容易管理,每个块组中都有独立的inode、block、superblock系统;


3.    为什么可以一个硬盘上可以安装多个系统(也就是多重引导的环境):文件系统最前面有一个启动扇区,这个启动扇区可以将不同的引导装载程序安装到别的文件系统最前端,不用覆盖整块硬盘的唯一MBR;

对于每个组块,有6个主要部分

a.data block 1. 存放数据的地方,EXT2支持block的大小1kb2kb4kb

      2. 每个block可以放一个文件数据;


b. inode  table: 1. 记录了文件的访问模式、所有组、大小、创建和改变的时间、指向的内容

              2. 每个inode大小为128bytes,每个文件只会占用一个inode,因此文件系统能够创建的文件数量与inode的数量有关;

            3. 文件系统将inode记录的block号码的区域定义为12个直接、一个间接、一个双间接与一个三间接记录区

           4.为什么需要将inode记录block号码的区域分开:因为一个inode的大小为128bytes,而inode记录一个blocks需要4bytes,当文件 有400M时,就需要10万*4bytes的空间,远远大于128bytes,所 以采用inode不同的记录区;

         5. 为什么文件系统采用1kblock方式最大的单一文件为16GB:12+256+256*256+256*256*256(K) = 16GB;


c. superblock 1. 记录block与inode的总量,未使用与已使用的inode、block数量,文件系统挂载的时间,最近写入数据的时间

                                   2.validbit,如果此文件系统被挂载,valid bit0,否则1

                                   3.superblock的大小为1024bytes;可以使用命令dumpe2fs查看;


        d. 如何使用dumpe2fs查看superblockdf #查看当前挂载的设备

                                                      dumpe2fs /dev/磁盘设备名

原创粉丝点击