精华内容
下载资源
问答
  • 最近华为发布了其P30系列的手机,在发布会上宣称其采用了EROFS文件系统,那么华为EROFS文件系统是什么呢?下面小编就为大家带来华为EROFS文件系统介绍,感兴趣的小伙伴快来看看吧。华为EROFS文件系统介绍:打个比方...

    最近华为发布了其P30系列的手机,在发布会上宣称其采用了EROFS文件系统,那么华为EROFS文件系统是什么呢?下面小编就为大家带来华为EROFS文件系统介绍,感兴趣的小伙伴快来看看吧。

    华为EROFS文件系统介绍:

    17c894140973ca395727e826ab48bc09.png

    打个比方,家里面有不同的储物空间,衣柜,储物柜,床头柜,橱柜等等。文件系统就是一个记录本,既知道什么东西存储在哪里,也知道哪里还有空间可以储藏什么物品,取东西就相当于读取数据,放东西就相当于写入数据。比如日常都是女主人收拾物品,相当于她的大脑中有这样一个文件系统和记录,那么如果换一个人去取放物品,他就需要把柜子都清理一遍(对于操作系统就是需要每次扫描一遍存储介质),才知道该如何操作。所以有一个高效的匹配存储空间特性的文件系统可以极大地提升计算机/手机存取数据的效率。

    Android手机底层实质上依赖的是Linux操作系统,其主要包含的文件系统有好多,常见的有ext2、ext3、ext4、ms-dos、vfat。在Linux系统中可以使用df

    –T 命令进行查看当前已经存在的系统格式

    b747618786831c039e8d30bda4cecbc7.png

    2016年,和Mate 9一同发布的华为EMUI

    5.0率先提出“天生快,一生快”的方案,解决了安卓平台一直以来的一个顽疾:长期使用后的卡顿。这是一套“组合拳”,就是通过智能判断用户的行为,和APP的优先级,提前分配包括CPU,内存,存储等资源,并及时合理的整理和回收空闲资源,最终实现用户使用体验的流畅与平衡。

    0579fa934aff5b363ecc3ca9466dcf56.png

    EROFS也是这其中文件系统的一种,全名为ExtendableRead-Only File

    System,可译为“可扩展只读文件系统”。这是一个基于ROM的只读文件系统。

    01、性能更强

    平均提升20%,最大300%

    根据官方发布的测试数据,EROFS相较ext4系统而言,随机读写性能平均提升20%,最大可以300%

    ,不仅如此,使用此文件系统,系统可以降低2G的存储占用,从此系统变得不再臃肿。

    9d84a6c0a022e6ffb58aec266e551d0b.png

    02、速度更快

    读取加速,一马平川

    读写性能的增强,最直接的感受就是大型APP打开速度明显变快,时间更短。这个尤其是在大型游戏类APP读取进度的时候更为明显。

    ed0091db3075d3a31ca9d7d471d19597.png

    03、安全性更高

    只读特性,保护安全

    和Ext4的文件系统可以写的权限不同,EROFS 文件系统的特点是只读的,没有写的权限。以下出自百科“只读文件”的描述

    所谓“只读”(Read-Only)(简称为ROM),表示这个文档只能打开来观看,不能修改也不能储存。有些重要的档案会设定成只读状态,免得一不小心修改这些文档的内容,除非解除只读的状态,不然这些文档是不能修改的。就像是一个密闭的透明玻璃瓶子,如果不打开盖子,只能看到里面的东西,却无法取出或放入东西。

    684e09da6e4a054206be05720bba28d0.png

    这个是此文件系统本身的特性。如果你浏览网页不小心安装了陌生APP,或者点击了恶意的弹窗,也不用太担心。病毒或者异常文件是没有任何方法进行修改你的数据,从而做到了保护手机设备的安全。

    目前移动市场中,手机存储的文件系统大多采用ext4格式,而华为的主流手机的文件系统方案采用的是F2FS (Flash Friendly File

    System) ,它是一种开源 flash 文件系统,即使是F2FS文件系统也比ext4格式的强大很多,更不要说在华为P30系列上的EROFS了

    9ce50f5c6b079a90b4de0cfc5f568c17.png

    相信随着技术的不断发展,成本的降低,厂家的不断创新,将来会有越来越多的手机能够使用到此技术,造福广大的消费者。

    以上就是小编为大家带来的华为EROFS文件系统介绍,希望能对您有所帮助,更多相关教程请关注酷下载!

    展开全文
  • EROFS(Extendable Read-Only File System)是华为最近发布的一个新的Linux文件系统,它是一个基于ROM的只读文件系统。目前已经并入内核主线4.19分支。该文件系统因为其所宣传的“可提升随机读写速度数倍”引起了业...

    EROFS(Extendable Read-Only File System)华为最近发布一个新的Linux文件系统,是一个基于ROM的只读文件系统。目前已经并入内核主线4.19分支该文件系统因为其所宣传的“可提升随机读写速度数倍”引起了业内外广泛关注。下面将从两个方向对该文件系统取得如此成效的原因进行解读。

     

    通过fixed output压缩缓解读放大问题

    一般存储器以4K为最小的读写单元,要找到一个读写单元就要寻址。如果有一组数据大小在5K左右,压缩后占用3.5K的空间。当这3K的数据全部在一个单元内时,一次读写就能完成我们的操作,但是如果这3K的数据前1.5K在第一个存储单元内,后2K在另一个存储单元内,就需要进行至少两次读写会导致性能下降

    在以往Linux内核使用的压缩只读文件系统squashfs中,每4K数据进行一次压缩。数据不同,压缩率也不一样,有的数据可以压缩到很,有的数据几乎没办法压缩。这样就会压缩出很多大小不一的数据块。尽管这些数据块全部小于4K,然而可以说,这些数据块几乎完全不能和4K单元对齐,因此读写时会造成很多的额外消耗。

    例如一个128k的文件, squashfs会采用固定大小(比如32K)为输入,即会将每32k数据压缩成不确定的大小,如可能是12K;那么读取文件中的任意4k数据,都需要至少读取完整的12k压缩数据,然后解压再读取其中的4k,这多读取的8K就是所谓的读放大问题

     

    EROFS是一种压缩文件系统,采用了一种叫做fixed-sized output文件压缩算法该算法在EROFS中应用的示意图如下:

    一个文件4K不对齐的结尾的部分会作为内联文件数据和inode head连接在一起压缩后的物理块大小为固定值(4K)。相比于以固定大小为输入,变长输出的fixed-size input能够有效的缓解读放大问题,降低I/O读取量。对于上面的情况,EROFS采用的是固定大小为压缩输出,即可能会将这128k数据的0-7k压缩成4k,7-25k也压缩成4k,25-32k也压缩成4k,以此类推那么读取文件中的任意4k数据,只要读取最少4k,最多8k(任意4k数据压缩后最多分布到两个block中的压缩数据相比squashfs读放大问题明显减少了。

     

    只读特性

    EROFS被应用于Android的只读系统分区。以往Android只读系统分区使用ext4文件系统的只读挂载参数和挂载dm-verity虚拟块设备(用于文件系统校验)来配合实现只读。这并非是一种结构上的限制,通过去除Ext4只读挂载选项并且不挂载dm-verity设备,就可以对系统分区进行写操作。

    而EROFS在结构上即为天然只读,由于时间有限,其具体实现我还没有了解的很清楚,但根据网络上的一些讲解,EROFS存储单元间通过一种类似链表的结构进行连接,前面的存储单元保存着其后一个存储单元的位置,不通过全局bitmap管理所有可写区域。因此外来者无法知道哪个区域是有效可写入的,即使强行写入,其内容也不会被其它存储单元承认。

     

    保障只读为整个系统的设计带来了很多好处,由于数据空间大小已经事先确定,文件系统可以消除直接inode/间接inode这样的设计,也省略掉了inode bitmap和block bitmap(记录空的block)这种区域来节省空间。直接把每个文件压缩后的数据顺序储存,然后保留压缩后每个簇对应的原始数据范围作为元数据即可。这样一来对文件的顺序访问变成了顺序读取,性能得到了很大提升。EROFS磁盘层数据结构示意图如下:

    实现细节上,EROFS的inode table是变长的,里面包含了inode结构体和少量的内联文件数据。xattr和压缩特性都是可选的,未选择的情况下inode table空间将进一步缩小。

    展开全文
  • 华为EROFS文件系统浅析

    万次阅读 2018-12-09 17:13:18
    华为最近发布了一个新的linux文件系统EROFS ( Extendable Read-Only File System ),是一个基于ROM的只读文件系统。目前已经并入内核主线4.19分支,代码可以在driver/staging/erofs目录上获取 ...

    华为最近发布了一个新的linux文件系统,EROFS ( Extendable Read-Only File System ),是一个基于ROM的只读文件系统。目前已经并入内核主线4.19分支,代码可以在driver/staging/erofs目录上获取

    https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/drivers/staging/erofs?h=v4.19.8

    支持xattr,支持LZ4文件压缩节约存储空间。目标针对的是android手机文件系统中的只读分区,当然也可以用于其他对存储和性能都有要求的嵌入式系统领域。

    目前开放出来的mkfs tools可以在github上下载到

    https://github.com/hsiangkao/erofs_mkfs_binary

    maintainer贴的一段性能测试如下:

    https://lkml.org/lkml/2018/5/31/306

    Kirin970 (A73 Big-core 2361Mhz, A53 little-core 0Mhz, DDR 1866Mhz):
    compression  EROFS seq read  EXT4 seq read        EROFS random read  EXT4 random read
    ratio           bw[MB/s]       bw[MB/s]             bw[MB/s] (20%)    bw[MB/s] (20%)
      4              546.7          544.3                    157.7              57.9
    10              535.7          521.0                    152.7              62.0
    15              529.0          520.3                    125.0              65.0
    26              418.0          526.3                     97.6              63.7
    35              367.7          511.7                     89.0              63.7
    48              415.7          500.7                     78.2              61.2
    53              423.0          566.7                     72.8              62.9
    66              334.3          537.3                     69.8              58.3
    76              387.3          546.0                     65.2              56.0
    85              306.3          546.0                     63.8              57.7
    94              345.0          589.7                     59.2              49.9
    100              579.7          556.7                     62.1              57.7

    测试结果上看低压缩比的下性能比传统EXT4要好近3倍,高压缩比的情况下性能也与EXT4相当。

     

    下面对EROFS做一个简单的剖析

    1. EROFS on-disk layout

    由于是只读文件系统,因此省略掉了inode bitmap和block bitmap这种区域节省空间。inode table是变长的,里面包含了inode结构体体和少量的内联文件数据。xattr和压缩特性都是可选的,未选择的情况下inode table空间将进一步缩小。

    EROFS目前基本以4K大小为block,一个文件4K不对齐的结尾的部分会作为内联文件数据和inode head连接在一起,以提高page cache的利用和命中率。

    2. EROFS 目录项结构

    EROFS的目录项每项12字节,文件名被联合在一起放在目录项的后面节约存储空间,inode number用64字节大小保存。紫色部分是一个inode结构体的启始,可以简单的通过inode number * 32 + super block offset = paddr来得到inode结构体的分区物理存放位置,缩小了dirent结构体的大小,因为不用保存inode结构体的位置。

    3. 文件压缩

    EROFS支持LZ4压缩,节约空间的同时能保证性能。按maintainer的说法,EROFS支持的是一种叫做fixed output文件压缩形式,与之对应的是fixed-sized input文件压缩形式。

    fixed output压缩据说可以提高压缩率,提高缓存利用率,节省内存消耗。

    • fixed-sized input压缩例子

    fixed-size input就是总是以固定大小,如4K作为压缩输入,压缩输出是变长的。这样每4K的文件逻辑块对应的压缩后的文件块会小于或等于4K。如果文件随机访问block 2的话,物理块block 1和block 2的灰色部分的读取会造成写放大。

    • fixed-sized outpu压缩例子

    fixed-sized output就是压缩后的物理块的大小总是4K。压缩率要比fixed-sized input高些。

    展开全文
  • 华为EROFS文件系统的性能测试

    千次阅读 2019-10-11 18:19:36
    测试对象:压缩erofs文件系统,压缩squashfs文件系统和标志ext4文件系统 测试项目:顺序读,随机读和分散读。(enwik9是标准测试数据,android是以android framework为主要内容的数据,两者差别主要是在压缩比上) ...

    为什么华为不直接使用squashfs,而是要另辟蹊径开发新的erofs。

    1. Fio性能测试比较

    测试环境:高通8核+eMMC。

    测试对象:压缩erofs文件系统,压缩squashfs文件系统和标志ext4文件系统

    测试项目:顺序读,随机读和分散读。(enwik9是标准测试数据,android是以android framework为主要内容的数据,两者差别主要是在压缩比上)

    顺序读表现最好的依然是老牌的ext4,但是erofs明显好于squashfs,但是squashfs在加上谷歌打patch之后,性能提升很多(红色柱子),但依然还是比erofs差。

     

    随机读上由于有缓存的作用,squashfs看起来表现更好,但实质会造成更大的读放大问题,特别是块比较大的128KB squashfs。4KB的erofs和ext4还是比较相当的。

    分散读主要是要排除掉读缓存的效果,测试方法是每128kb只读取前4kb,结果是显然squashfs因为读放大很多,导致了性能最差。但是erofs的表现没有比ext4差很多,考虑到它本身还压缩了,已经非常不错。

    2. 压缩比率测试

    如果作为android系统分区使用的话,erofs因为使用LZ4压缩算法,压缩比率在70%

    如果面对纯文本数据enwik9,erofs的压缩比率会更高一些达到56%

     

    3. 读放大测试

    测试内容:文件系统读取10MB文件内容,测试实际块设备读取数量。数值大于10表示有读放大,越大则读放大问题越明显。数值小于10则表示没有读放大问题。

    顺序读由于采用了压缩,因此压缩文件系统都没有读放大问题,所以顺序读是最有利于压缩文件系统

    随机读和分散读,压缩文件系统都有不同程度的读放大,但是erofs表现明显好于squashfs。

    10MB sizeseq read (MB)rand read (MB)stride read (MB)
    squashfs 8K android7.39 23.98 22.24 
    squashfs 8K enwik96.39 21.12 21.83 
    squashfs 128K android6.52 177.36 169.75 
    squashfs 128K enwik94.51 114.72 141.86 
    erofs android7.72 15.82 15.87 
    erofs enwik96.84 17.09 16.38 
    ext410.96 10.01 

    10.02 

    展开全文
  • LWN: 华为EROFS文件系统

    2019-08-26 19:31:00
    点击上方蓝色“Linux News搬运工”关注我们~erofs: promote erofs from staging从LWN上看到,华为的Gao Xiang正在向文件系...
  • 再过几天华为就要发布荣耀Play手机,其中最...不管是不是真的,华为在这方面确实投入了很大精力,华为工程师日前宣布了新的Linux文件系统EROFS,相比ext4系统能大幅提升性能,部分测试甚至提升5-6倍性能。使用什么样...
  • 但安卓的开源性也让不少人搞机党趋之若鹜,难道安卓真的就意味着卡顿吗日前,华为发布了全新Linux只读文件系统EROFS。根据华为的说法,一旦EROFS被运用到安卓系统中,将会使目前卡慢的系统得到极大提升,并且还能够...
  • 导读 近期,Linux内核5.4系列宣布全面可用,添加了许多新功能,更强的安全性和更新的驱动程序,以提供更好...根据最新消息,Linux内核5.4中也正式将华为EROFS超级文件系统合入了主线。 Linux 5.4将成为文件系统...
  • 据Phoronix/XDA报道,华为工程师Gao Xiang在开源社区分享了一套新的Linux只读文件系统EROFS (Extendable Read-Only File System,暂译为扩展的只读文件系统)。文件系统虽然听起来有些晦涩,但其实有些常识的用户都...
  • 华为发布EROFS文件系统

    千次阅读 2018-06-09 19:27:00
    北京时间今日,XDA在援引自Phoronix的报道中表示,华为新发布了一个名为EROFS的Linux只读文件系统,将来可以用于安卓设备上。据悉,该文件系统华为文件系统上寻求的全新解决方案。EROFS全称为Extendable Read-...
  • Android系统映像文件如果用EROFS文件系统来发布的话,通常都会经过例如dm-verify这一类的验证流程,因此文件系统代码本身其实处理的都是签名并验证过的文件系统数据。尽管如此,EROFS开发者也赞同这类bug也应该得到...
  • Huawei EROFS 初探

    千次阅读 2019-03-28 00:59:11
    因为太小众,所以当时没有太留意,只是因为EROFS这个名字和写只读文件系统时返回的错误名字一样,所以就留下了印象,其实都没注意到是华为的人做的。最近华为推出新手机,并宣扬自己为手机系统新写的文件系...
  • EROFS——扩展只读文件系统 EROFS 文件系统,元数据部分采用高内聚数据结构存储,数据部分采用普通、inline和压缩模式存储。 在支持完整读取功能情况有效降低存储空间,特别适合存储空间敏感的领域,如手机、...
  • 原标题:安卓手机文件系统的二次革命,F2FS后再看EROFS2019年开年,智能手机市场异常热闹,各家厂商都使出浑身解数吸引眼球,各种黑科技简直眼花缭乱。华为P30凭借无可匹敌的摄影效果和逆天颜值成功跑出,傲视群雄...
  • 像Windows分盘一样,Android 设备上也有几个重要分区,用来组织和存储特定的数据 ...这个分区主要包含 android kernel映像 和 ramdisk(一种将一部分RAM模拟为硬盘的技术,用于提高文件访问速度)。如...
  • 原标题:Linux内核5.4正式将华为EROFS超级文件系统合入主线11月28日消息 近期,,添加了许多新功能,更强的安全性和更新的驱动程序,以提供更好的硬件支持。Linux内核5.4增加对微软exFAT文件系统的支持,另外还支持...
  • 华为鸿蒙系统app

    2020-12-24 22:43:54
    华为鸿蒙系统是一款由华为自主研发的手机操作系统,华为鸿蒙系统手机版为用户提供前所未有的...此前,华为推出自研EROFS超级文件系统、仅是基于华为方舟编译器开发的应用,就能够让安卓系统性能提升数倍来看,底层整...
  • 8月9日,在华为的开发者大会上,华为消费业务首席执行官余承东正式推出了华为鸿蒙操作系统!鸿蒙的英文名“Harmony OS”,翻译为“Harmony”,是一个基于微内核全场景分布式的技术,可以支持手机、物联网、智能屏幕...
  • 华为的鸿蒙系统,确实需要生态去支撑,但是对于华为而言,这也是势在必得的,别人都欺负到家门口了,我们自然要选择放弃,而电脑慢慢抛弃微软,而手机慢慢抛弃安卓,这是华为现在正在做,以及之后的一个趋势。...
  • 鸿蒙的技术特征:微内核、方舟静态编译器、EROFS 文件系统 。我们预计,鸿蒙系统将采用微内核架构提升系统稳定性,借助方舟编译器提升鸿蒙性能,通过 EROFS 稳健系统从系统底层提升系统流畅度,三大底层技术支持与...
  • 大家可以找一下以前安卓联盟的贡献,华为稳定前三,而且华为也从来没像高通那样收过专利费,类似碎片管理,文件直读之类的专利公开和并并入安卓,华为对安卓贡献确实大,还有一个原来也会帮友商适配还提供源代码,...
  • 虽然华为开发者大会比不上谷歌、苹果这一量级的同类活动,但在国内依然拥有极高的关注度。其中,在主题演讲一项,华为会给我们带来关于 HMS Core 5.0 的最新进展,更重要的是还将会揭开鸿蒙 OS、EMUI11的神秘面纱!...
  • 华为鸿蒙系统HarmonyOS学习之十四:方舟编译器
  • 前段时间谷歌与华为终止合作之后,华为就迅速公布了自家自研的鸿蒙系统,这也让很多科技圈的人都非常振奋,毕竟这是我国真正意义上的一款国产系统,而且还是世界上第一款将电脑、平板、手机、手表和电视等众多电子...
  • 前几天,美国商务部的工业和安全局(BIS)把华为公司加入其Entity List(实体清单)。华为面临着美国供应商“断供”的巨大压力。根据美国政府要求,Google将对...
  • 安卓10内核,全新UI设计虽然华为还没有正式宣布EMUI 10,但是该系统的测试版已经秘密进行,从开发者反馈的信息看,该系统基于安卓10.0内核,不过华为进行了一定的调整,比如内置了方舟编译器、超级文件...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 246
精华内容 98
关键字:

华为erofs文件系统