再过几天华为就要发布荣耀Play手机,其中最引人注目的就是华为将推出“很吓人”的新技术,从官方表述来看该技术将大幅提升华为手机的性能,号称是天上飞的感觉。这几天围绕这个吓人的技术有很多传闻,称华为将深入改变安卓底层,优化性能。不管是不是真的,华为在这方面确实投入了很大精力,华为工程师日前宣布了新的Linux文件系统EROFS,相比ext4系统能大幅提升性能,部分测试甚至提升5-6倍性能。
使用什么样的文件系统对Linux影响很大,之前大家可能注意到华为招募了F2FS文件系统的开发工程师,后者在三星工作时开发了F2FS系统,不过三星没有大规模使用F2FS系统,这个工程师后来进入了华为,华为在Mate 9手机上开始使用F2FS系统,有关它的优点可以参考我们之前写过的超能课堂文章。
Phoronix网站报道称,华为工程师Gao Xiang日前宣布了一种新的开源文件系统——Extendable Read-Only File System(可扩展的只读文件系统),简称EROFS。根据他的公告,EROFS文件系统改进了压缩模式,目的是在节省磁盘空间的同时提供更高的磁盘性能、速度。
对于这一点,他在提交给开源社区的内核邮件列表中也做了对比,分别在Server服务器及麒麟970安卓平台上与EXT4文件系统做了对比
服务器上EROFS与EXT4的连续读取、随机读取速度对比
在Server上,EROFS的随机读取性能提升很多,第一项中速度从EXT4的11.1MB/s提升到了69.8MB/s,压缩越少的情况下性能就越强。
麒麟970上EROFS与EXT4的连续读取、随机读取速度对比
除了Linux系统,EROFS文件系统还可以用于安卓平台,他在麒麟970处理器上也做了测试,4%压缩情况下EXT4系统随机读取速度是57.9MB/s,EROFS则可以达到157.7MB/s,即便100%压缩下也有一定的性能优势。
目前ERFOS系统还处于开发初期,华为的目标是将其整合到Linux内核中,最终用于安卓系统,不过这需要很长的时间。此外,Linux社区选择什么样的文件系统也是个复杂的过程,即便EROFS性能、压缩上更出色,最终不被选中的可能性依然存在。
很多人都意识到苹果手机的优势仅剩下系统干净、运行速度快,华为也在这方面进行突破
搭载EMUI 9.1的 P30使用的就是EPOFS在法国巴黎发布会上发布,吸引很多人目光的是EROFS使得P30依次启动Google Play法国Top15应用,比iPhone XS Max平均每个应用启动快1秒以上。
如果把手机比作一间屋子,那么手机中的内容就是屋子里的各种各样的物件,而EROFS就是这个房间的智能管家,这位管家非常熟悉房间的每个角落并且非常懂得各种物件的收纳技巧,而不需要你去“翻箱倒柜”去找。
EROFS全称是可扩展只读文件系统(Extendable Read-Only File System)。在电脑上,Windows系统的文件管理系统经历了FAT、FAT16、FAT32、NTFS这样的进化过程,原因在于不断增加的新功能使得文件越来越多、越来越大,以往的处理方式明显落伍了,所以新的模式就会创造出来。比如:当单个文件突破4GB+之后,FAT32格式已经没有办法支持了,于是微软才将Windows文件管理系统升级到NTFS格式。
由于当年Android系统是基于Linux开发的,所以理所当然现在还是沿用了Linux的主流文件管理系统Ext4,那时主流的的存储介质普遍是机械硬盘,闪存却在边沿地带,所以Ext4也没有过多的考虑闪存。很快闪存便取代了机械硬盘成为了主流,Ext4有点不太跟得上了,F2FS便诞生了,用来改善闪存长期使用后的读写性能,流畅度提升20%左右。
华为在Mate 9推出的时候,EMUI5.0采用F2FS来取代Ext4,使得手机运行的流畅度明显提升,其他安卓厂商也全面使用F2FS。但F2FS有一个显著的缺陷,它只对Android底层用户分区进行了改造,而Android内核系统分区仍然保留Ext4结构,内核改造难度相当大,厂商不得不兼顾稳定与效率而保持Android内核分区的Ext4结构。
华为的EROFS文件管理系统系统对系统分区进行“动刀”,大大提升了Android系统分区的随机读取能力,从系统底层提升效率,随机读取速度提升20%。通过AID64可以查看到关于系统文件的类型列表,比如/vendor、/odm、/version、/produsct等目录中均标注了文件系统为EROFS只读样式。
EROFS文件管理系统天然只读,没有办法通过任何的手段挂载成可写,相当于筑起了一道难以逾越的高墙,保护系统分区的安全。EROFS目录项每项12字节,文件名也放在目录项后面节约存储空间,可以简单通过inode number*32+super block offset=paddr来得到inode结构体的分区物理存放位置,缩小了dirent结构体的大小,因为不用保持inode结构体的位置。
因为是只读文件管理系统,所以可以省略掉inode bitmap、block bitmap等区域,xattr、压缩特性也是可选的,在未选择的情况下inode table空间将进一步的缩小。
EROFS支持LZ4压缩,可以提高压缩率、缓存利用率,节省内存的同时保证性能。EROFS在高压缩比性能和Ext4相当,但低压缩比的性能比Ext4要好近3倍。
以华为P30的初始占用空间为例,采用EROFS和Ext4文件管理系统对比,ERROFS比Ext4空间占用少2GB,相当于可以多存储1000张照片或500首歌曲。
华为这几年涌现出了越来越多的黑科技,这和华为投入的研发费用是分不开的。华为的研发费用从2011年之后就一直保持在10%以上,近年来甚至在14%以上,而苹果在2019年才第一次超过6%。2020年的研发预算提高到了1421亿元,超越了微软、苹果、英特尔等一众科技巨头。
伟大成就的背后都是苦难和巨大的投入,华为也是如履薄冰的走上高台,仅仅因为“舍得”,而不光在于眼前的利益。
以上个人浅见,欢迎批评指正。
认同我的看法,请点个赞再走,感谢!
喜欢我的,请关注我,再次感谢!
很高兴能够看到和回答这个问题!
EROFS文件系统(扩展的只读文件系统)是华为最近发布的一个新的Linux文件系统。它是一个基于ROM的只读文件系统,已被收录在内核主线的4.19分支中。该文件系统以其 "随机读写速度翻倍 "的宣传,引起了业内外的广泛关注。文件系统为什么能达到这样的效果,有两个方向可以解释。
一般来说,4K是内存中最小的读写单位。为了找到一个读写单位,需要进行寻址。如一组数据的大小约为5K,压缩后的数据将占用3.5K的空间。当3K数据为一个单元时,我们可以通过读写完成一个操作。但是,如果3K中的前1.5K数据在第一个存储单元中,而最后2K数据在另一个存储单元中,我们至少需要读写两次,这将导致性能下降。
Erofs超级文件系统可以压缩系统空间,提高随机读写速度。rofs超级文件系统的诞生还有很长的路要走。我们使用的操作系统是基于Linux,所以我们首先使用的是Linux的标准文件系统ext4。Ext4的存储结构不适合手机闪存。在Linux内核使用的压缩只读文件系统squashfs中,每一个4K数据都是经过压缩的。不同的数据有不同的压缩比。有些数据可以压缩到很小,有些数据很难压缩。很多数据不会被压缩到这个大小。
虽然这些数据块比4K小,但可以说这些数据块根本无法与4K单元对齐,读写的时候会有很多额外的消耗。2016年,华为推出了优化后的f2fs文件系统,在用户分区上取代了传统的ext4文件系统,提高了文件读写的流畅性。不过,目前操作系统中只读文件的系统分区是ext4。2018年,华为率先采用了erfs超级文件系统,即Linux只读文件系统。在专利压缩算法的支持下,系统分区的随机读取性能平均提升20%,系统空间占用降低14%。举例来说,对于一个128K的文件,squashfs会以一个固定的大小(如32K)作为输入,也就是将每32K的数据压缩成一个不确定的大小,如12K。然后,要读取文件中的任何4K数据,至少要读取完整的12K压缩数据,然后再解压读取4K。这种额外的8K读取被称为 "读取放大问题"。
erofs文件管理系统基本上是只读的,不能以可写的形式挂载。这就相当于筑起了一道不可逾越的墙,以保护系统分区的安全。erofs目录条目的每个条目都是12个字节。为了节省存储空间,文件名也放在目录条目之后。只要将inode数*32+超级块偏移量=paddr,就可以得到分区物理存储位置的inode结构,这样就可以减少dirent结构的大小,因为inode结构的位置是不保留的。
近年来,华为的黑科技不断增加,这与研发是分不开的。D.华为的投资成本。从2011年起,华为的研发支出就一向在10%以上,近几年乃至超越14%,而苹果在2019年初次超越6%。2020年,研发预算将增至1421亿元,超过微软、苹果、英特尔等科技巨头。
前路仍需双脚走,夕阳不够一肩挑,希望华为在未来给我们带来更加精彩纷呈的产品!
以上便是我的一些见解和回答,可能不能如您所愿,但我真心希望能够对您有所帮助!不清楚的地方您还可以关注我的头条号“每日精彩科技”我将竭尽所知帮助您!
码字不易,感觉写的还行的话,还请点个赞哦!
华为工程师日前宣布了新的Linux文件系统EROFS,相比ext4系统能大幅提升性能,部分测试甚至提升5-6倍性能。
使用什么样的文件系统对Linux影响很大,之前大家可能注意到华为招募了F2FS文件系统的开发工程师,后者在三星工作时开发了F2FS系统,不过三星没有大规模使用F2FS系统,这个工程师后来进入了华为,华为在Mate 9手机上开始使用F2FS系统,有关它的优点可以参考我们之前写过的超能课堂文章。
Phoronix网站报道称,华为工程师Gao Xiang日前宣布了一种新的开源文件系统——Extendable Read-Only File System(可扩展的只读文件系统),简称EROFS。根据他的公告,EROFS文件系统改进了压缩模式,目的是在节省磁盘空间的同时提供更高的磁盘性能、速度。
对于这一点,他在提交给开源社区的内核邮件列表中也做了对比,分别在Server服务器及麒麟970安卓平台上与EXT4文件系统做了对比
服务器上EROFS与EXT4的连续读取、随机读取速度对比
在Server上,EROFS的随机读取性能提升很多,第一项中速度从EXT4的11.1MB/s提升到了69.8MB/s,压缩越少的情况下性能就越强。
麒麟970上EROFS与EXT4的连续读取、随机读取速度对比
除了Linux系统,EROFS文件系统还可以用于安卓平台,他在麒麟970处理器上也做了测试,4%压缩情况下EXT4系统随机读取速度是57.9MB/s,EROFS则可以达到157.7MB/s,即便100%压缩下也有一定的性能优势。
目前ERFOS系统还处于开发初期,华为的目标是将其整合到Linux内核中,最终用于安卓系统,不过这需要很长的时间。此外,Linux社区选择什么样的文件系统也是个复杂的过程,即便EROFS性能、压缩上更出色,最终不被选中的可能性依然存在。
华为EROFS文件系统是2018年开始“大发神威”的只读文件系统,它有效提高了华为机型的运作效率,使手机操作更加流畅,同时提高后台空间的利用率。
它是如何提高手机运作效率的呢?
通过高效的压缩算法,缩减传输系统文件的大小,提升随机只读性能。由于可高效压缩传输文件的大小,所以节省很大部分的ROM空间。和EMUI协同发展,摆脱传统PC设备上的Ext4文件系统技术,提升机身能效。本文由作者:用户2504692320 于 2022-11-30 发表,原创文章,禁止转载。
本文链接: https://app.yangtata.com/question/6562398549269545224.html