ext文件系统(我的翻译【本人英语不咋滴】)
2013-09-24 16:05
316 查看
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字节映射的是对应地址。
好了,先翻译到这吧,之后的翻译还会进行(= =||主要是图片太大了,我又懒得去把它剪裁下来)
为什么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字节映射的是对应地址。
好了,先翻译到这吧,之后的翻译还会进行(= =||主要是图片太大了,我又懒得去把它剪裁下来)
相关文章推荐
- OCP-1Z0-051-V9.02-114题
- Linux iostat监测IO状态(转)
- 使用Eclipse RCP进行桌面程序开发
- J2EE WEB项目中获取相对路径与绝对路径的方法
- D3.JS 基于javascript的图表展示库<七>
- Disable Portrait in app
- Spring ClassPathXmlApplicationContext和FileSystemXmlApplicationContext
- java反射机制
- iOS培训教程——Break/Continue语句
- 解决putty+screen无法翻屏的问题
- Spring MVC 国际化
- 正则表达式 平衡组
- ORM数据层框架的设计热点:更新指定的列的几种设计方案
- 黑马程序员-字符编码
- JS 实现导航栏悬停效果(续)
- xcode5适应不支持arc的类库
- 基于Platinum库的DLNA开发
- 常用的幻灯片播放简单实现
- mongodb操作
- xcode5适应不支持arc的类库