EXT2文件系统
11.1 概述
Linux 使用 EXT2(Card等1995)作为默认文件系统。
EXT3是EXT2的扩展,EXT3中增加的主要内容是一个日志文件,它将文件系统的变更记录在日志中。日志可在文件系统崩溃时更快地从错误中恢复。没有错误的EXT3文件系统与EXT2文件系统相同。
EXT4 (Cao 等 2007 )是EXT3的最新扩展,EXT4 的主要变化是磁盘块的分配。在EXT4中,块编号为48位。EXT4不是分配不连续的磁盘块,而是分配连续的磁盘块区,称为区段。除了这些细微的更改之外,文件系统结构和文件操作保持不变。
11.2 EXT2文件系统数据结构
11.2.1 通过mkfs创建虚拟磁盘
在一个名为vdisk的虚拟磁盘文件上创建一个EXT2文件系统,有1440个大小为1KB的块:
通过man命令可以查看相关介绍:
11.2.2 虚拟磁盘布局
上述文件系统的布局如图:
Block#0:引导块。文件系统不会使用它,它用来容纳一个引导程序,从磁盘引导操作系统。
11.2.3 超级块
Block#1:超级块。用于容纳整个文件系统的信息。
11.2.4 块组描述符
Block#2:块组描述符(硬盘上的s_first_data_block+1)。EXT2将磁盘块分成几个组,每个组有8192个块(硬盘上的大小为32K)。每组用一个块组描述符结构体来描述。
11.2.5 块和索引节点位图
11.2.6 索引节点
Block#10:索引节点,每个文件都用一个128字节(EXT4的是256字节)的独特索引节点结构体表示。
直接块:i_block[0]至i_block[11]指向直接磁盘块
间接块:i_block[12]指向一个包含256个块编号的磁盘块
双重间接块:i_block[13]指向一个指向256个块的块
重间接块:i_block[14],对于“小型”EXT2文件系统可以忽略
11.2.7 数据块
紧跟在索引节点块后面。
11.2.8 目录条目
目录包含dir_entry结构,即:
向ChatGpt请求苏格拉底式问答
学习总结
本次学习简单了解了EXT2文件系统的数据结构,学习它的总体布局有助于我们把握文件系统的操作及改编。
标签:EXT4,EXT2,文件系统,11.2,第六周,Linux,磁盘,block From: https://www.cnblogs.com/20211115fyq/p/17765556.html