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文件系统详解的主要内容,如果未能解决你的问题,请参考以下文章