linux文件系统详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux文件系统详解相关的知识,希望对你有一定的参考价值。

主要结构:

  • 磁盘组成与分区
  • 文件系统特性
  • linux的EXT2文件系统
  • 与目录树的关系
  • EXT2/ext3文件的存取与日志式文件系统功能
  • linux文件系统的运行
  • 挂载点的意义
  • 其他linux支持的文件系统与vfs
  • xfs文件系统简介

1.整颗磁盘的组成

  • 圆形的盘片(竹雅颂记录数据的部分)
  • 机械手臂,与机械手臂上的磁头(可读写盘片上的数据)
  • 主轴马达,可以转动盘片,让机械手臂的磁头在盘片上读写数据
    2.盘片上物理组成
  • 扇区为最小的物理存储单位,且依据磁盘设计的不同,目前主要有512Bytes与4K两种格式。
  • 将扇区组成一个圆,那就是柱面。
  • 磁盘分区表主要有两种格式,一种是限制较多的MBR分区表,一种是较新且限制较少的GPT分区表。
  • MBR分区表中,第一个扇区最重要,里面有:(1)主要开机区(master boot record,MBR)及分区表(partition table),其中MBR占有446Bytes,而partition table 则占有64Bytes。
  • GPT分区表除了分区数量扩充较多之外,支持的磁盘容量也可以超过2TB。
    3.实体磁盘及虚拟磁盘
    技术图片
    4.三个数据的意义
  • superblock:记录此filesystem的整体信息,包inode/block的总量,使用量,剩余量,以及文件系统的格式与相关信息等。
  • inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码。
  • block:实际记录文件的内容,若文件太大时,会占用多个block。
    技术图片
    技术图片
    技术图片
    5.区块群组(block group)的六个主要内容
    1)data block(数据区块)
    技术图片
    ext2文件系统的block还有什么限制?
  • 原则上,block的大小与数量在格式化就不能够在改变了(除非重新格式化)。
  • 每个block内最多只能够放置一个文件的数据。
  • 如果文件大于block的大小,则一个文件会占用多个block数量。
  • 若文件小于block,则该block的剩余容量就不能在被使用了(磁盘空间会浪费)。
    2)inode table (inode表格)
    inode记录的文件数据:
  • 该文件的存取模式
  • 该文件的拥有者于群组
  • 该文件的容量
  • 该文件创建或状态改变的时间(ctime)
  • 最近一次的读取时间(atime)
  • 最近修改的时间(mtime)
  • 定义文件特性的旗标
  • 该文件真正内容的指向
    inode特色
  • 每个inode大小均固定为128Bytes(新的ext4与xfs可设置到256Bytes)。
  • 每个文件仅会占用一个inode而已。
  • 因此文件系统能够创建的文件数量与inode的数量有关。
  • 系统读取文件时需要先找到inode,并分析所记录的权限与使用者是否符合,若符合才能开始实际读取block的内容。
    技术图片
    3)Superblock (超级区块)
    记录的信息
  • block与inode的总量
  • 未使用与使用的inode/block数量
  • block与inode的大小(block为1,2,4K,inode为128Bytes或256Bytes)。
  • filesystem的挂载时间,最近一次写入数据的时间,最近一次检验磁盘的使劲按等文件系统相关信息。
  • 一个valid bit数值,若此文件系统已被挂载,则valid bit为0,若未被挂载,则valid bit为1。
    4)Filesystem Description (文件系统描述说明)
  • 这区段可以描述每个block group的开始与结束的block号码,以及说明每个区段分别介于哪一个block号码之间。
    5)block bitmap (区块对照表)
  • 是记录使用与未使用block区块的。
    6)inode bitmap (inode 对照表)
  • inode bitmap是记录使用与未使用的inode号码。
    6.与目录树的关系
    技术图片
    7.文件系统的行为
    技术图片
    技术图片
    8.日志文件系统
    技术图片
    9.linux文件系统的运行
    技术图片
    10.挂载点的意义(mount point)
  • 每个filesystem都有独立的inode/block/
  • superblock等信息,这个文件系统要能够链接到目录树才能被我们使用。将文件系统与目录树结合的动作我们称为“挂载”。
    技术图片
    11.其他linux支持的文件系统与VFS
    技术图片
    12.XFS文件系统简介
    技术图片
    xfs文件系统在数据分布上,主要规划为三个部分:
  • 数据区
  • 文件系统活动登录区
  • 实时运行去
    技术图片
    技术图片
    技术图片

以上是关于linux文件系统详解的主要内容,如果未能解决你的问题,请参考以下文章

linux文件系统详解

[转] Linux文件系统详解

Linux操作系统之文件系统详解

Linux文件系统目录结构详解

第二课:第3讲Linux根文件系统详解

linux文件系统详解