Ext_a.Ext文件系统总括概述

一、 概述

版本、来历:

Ext2 和 Ext3 是许多Linux 操作系统发型版本的默认文件系统, 一般情况下将其统称为“ ExtX” 。

ExtX : ExtX 基于UFS(Unix File System); 是一种快速、稳定的文件系统。

与其他操作系统不同, Linux 可以选择多种文件系统, 而且每个发行版本可以选择默认的文件系统。 目前Ext3 是大多数发行版本的默认文件系统, 它在Ext2的基础上增加了“日志功能”, ExtX 在文件系统中用多个位置存放 “重要数据结构的备份” ,使得其具有良好的恢复性。

字节顺序: ExtX 对多字节数据的排列顺序是 Little-endian 顺序, 即低位在前, 高位在后。

存储单位: (等同于FAT/NTFS 的“簇”)ExtX 将整个文件系统划分为许多个 “块(Block)”, 用“块” 作为数据的存储单元。同时将文件系统内的所有块划分为若干个块组。

· “块”:类似于FAT/NTFS 的“簇”,由若干连续的扇区组成, 通常为2个扇区(1024字节)、4个扇区或8个扇区, 这个值通常会记录在位于文件系统 “2~3号” 扇区 的 “超级块”中。

· 所有的块都被赋予一个地址(逻辑文件地址), 块地址由0开始进行编号, 0号块起始于 文件系统的 第一个扇区(0号扇区)(类似于NTFS 系统,但不同于FAT 文件系统)

“超级块”: 位置(文件系统 的2号扇区开始占用两个扇区。) 、 作用:描述文件系统内的布局结构信息(当然其中包含了 保留区的信息)

“块组”:所有的块被划分成若干个相等的“块组”, 每个块组包含同样数量的“块”。 但由于整个文件系统可能会不是“块组”大小的整倍数因此最后一个“块组”有可能小于其他的“块组”

保留区域: 如果“超级块”定义了在“文件系统开始处”设定保留区域, 则保留区域不属于任何块组, “0号块组” 也相应的跟在保留扇区后面开始。

块的块组归属: 为了确定一个块属于哪个块组, 我们可以利用一下公式计算(其中的每组块数在超级块中给出):

Group=(Block-FIRST_DATA_BLOCK) DIV BLOCKS_PER_GROUP :即用 当前块号减去第一个数据块号(0号块组起始块号)的差, 对每组块数取整运算, 得数即为这个块所在的块组号。

· ExtX 的“基本布局信息”存储在 一个称为 “超级块”的结构中, “第一个超级块” 位于文件系统的 2号扇区,占用两个扇区的大小。ExtX 默认激活一种称为“稀疏超级块”的特性。

提示: “稀疏超级块” 特性就是只在“某些块组”中存放“超级块”的备份, 而不是在所有的块组中都存放“超级块的备份”。

文件系统多类型同用:如果遇见一个“带有它所不支持的功能特性” 的“文件系统”时, ExtX 根据操作系统的可能处理方式将其列入三种可选的特征种类:

· 第一类为“兼容特征”。 如果操作系统遇到这种特征, 仍然将其挂载为正常的文件系统。这种情况包括分配方法、文件系统日志的存在集扩展属性。

· 第二类为“非兼容特征” 遇到这种特征时,将不对其进行挂载。

· 第三种为“只读兼容特征” 遇到这种特征时, 文件系统将以只读方式挂载; 这种情况下,包括对大文件的支持,用B-tree 对目录进行排序,代替非B-tree 排序目录。

图片改天加上

你可能感兴趣的:(Ext_a.Ext文件系统总括概述)