ext文件系统(我的翻译【本人英语不咋滴】)

来源:互联网 发布:爱国者淘宝店没了? 编辑:程序博客网 时间:2024/06/06 04:41

why fork ext4

为什么fork ext4?(这个fork英文翻译为叉子,但是我觉得不是这么翻译的,首先fork是linux的一个创建进程的函数,所以我认为,fork还是保留吧)

Many features require on­-disk format changes

许多特征需要在磁盘上改变格式

Keep large ext3 user community unaffected
保持许多EXT3用户社区不受影响

Allows more experimentation than if the work is done outside of
mainline
允许更多的实验如果完成主线的工作

Make sure users understand that ext4 is risky: mount ­t ext4dev

确信用户理解ext4是有风险的:挂载ext4的设备

bug fixes must be applied to two code bases

漏洞填充必须被申请到2个代码基础(我真不知到这句怎么翻译哈)

smaller testing community
较小的测试社区


(根据此图可以看出原先的ext2/3文件系统使用的是块映射到inode这个原理)【我的见解,本人还是新手,所以我说错的地方,希望有大神可以纠正】

Extents

扩展

Indirect block maps are incredibly inefficient for large files
对于大文件来说,间接映射块图是令人难以置信的效率丢下的。

One extra block read (and seek) every 1024 blocks
一个额外的块读(和寻找)每1024个块(我真的不知到这句的意思哈,希望能得到高人指点)

Really obvious when deleting big CD/DVD image files
非常明显的当删除大CD/DVD的img文件

An extent is a single descriptor for a range of contiguous blocks
在一定程度上,一个扩展是一个单一的描述一系列的块(说白了就是extent是用来描述一系列的块)

a efficient way to represent large file
一个高效率的方式莱表示大文件

Better CPU utilization, fewer metadata IOs
更好的cpu利用率,减少ios的元数据(元数据是啥,希望得到高人指点)

12 bytes ext4_extent structure
12字节的ext4扩展结构

address 1EB filesystem (48 bit physical block number)
地址为1EB的文件系统(48位物理块数)【说白了就是支持1EB大小的文件系统】

max extent 128MB (15 bit extent length)
大扩展128兆(15位扩展长度)

address 16TB file size (32 bit logical block number)
地址16TB文件大小(32位逻辑块数)【支持16TB大小的文件】

接下来看extent的结构了

struct ext4_extent {
        __le32  ee_block;       /* first logical block extent covers */【第一逻辑块扩展覆盖】
        __le16  ee_len;           /* number of blocks covered by extent */【块的覆盖数量by扩展】= =||我这句翻译不好
        __le16  ee_start_hi;    /* high 16 bits of physical block */【高16位物理地址块】
        __le32  ee_start;         /* low 32 bits of physical block */【第32为物理地址快】
};

看结构图就可以知道,首先声明变量的是_le32,说宁这个变量长度是32位,然后可以知道extent的结构占用12字节。

咱们根据图看,首先可以知道,i-node有个头部,之后就是使用extent结构来对连续的块进行映射(准确的说来就是映射地址,只不过它这里用到了合并的技术,把这些块给合并了),从6个蓝色的框框可以知道,每个框框2字节,最后6字节映射的是对应地址。

好了,先翻译到这吧,之后的翻译还会进行(= =||主要是图片太大了,我又懒得去把它剪裁下来)

原创粉丝点击