• 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.挂载文件系统
    文件系统要挂载到目录树,才能使用
    文件系统与目录树结合的操作,称为挂载。
    挂载点是目录,该目录为进入该文件系统的入口。

  • 相关阅读:
    oracle oltp系统索引使用监控
    lock检查
    关于报错:django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11.None
    Django 统计文章阅读量(或热度排名)
    HighCharts数据可视化
    KindEditor编辑器
    [SDOI2008] 洞穴勘测
    [Luogu3768]简单的数学题
    [BZOJ4916]神犇和蒟蒻
    杜教筛小结
  • 原文地址:https://www.cnblogs.com/shijingjing07/p/5630747.html
Copyright © 2020-2023  润新知