华为超级文件系统EROFS是如何节省内存的?

【智友问答】华为超级文件系统EROFS是如何节省内存的?

EROFS全称为Extendable Read-Only File System(可译为“可扩展只读文件系统”),可提供比其他只读文件系统方案更好的性能,且可以节省存储空间。EROFS还提供了一种不同的压缩模式设计,作为华为“吓人”技术之一,到底是如何给手机节省内存的呢?

EMUI手机系统属于Android的二次开发版本,底层实质上依赖的是Linux操作系统,其主要包含的文件系统有好多,常见的有ext2、ext3、ext4、ms-dos、vfat。熟悉Linux系统指令的,可以通过运行df –T 命令进行查看当前已经存在的系统格式。

2016年搭载EMUI 4.1的华为P9,首次在业界规模商用F2FS文件系统,替代了传统的EXT4文件系统,F2FS将整个卷分成多个段(segment),每个段固定为2 MB。一个节(section)由连续的段组成,一个区(zone)由一组节组成。默认情况下,节与区被设置为相同的大小,但用户可以用mkfs轻松修改大小。

F2FS是基于日志的文件系统(LFS)有两种空闲空间管理方案:穿插记录(threaded log)与复制并压缩(copy-and-compaction)。后者也称为清理(cleaning),很适合有良好顺序写入性能的设备,因为空闲空间总用于写入新数据。但它会在发生高利用率时遭遇“清理”的开销。穿插记录则受到随机写入性能的影响,但没有“清理”过程。F2FS采用混合方案,默认采用“复制并压缩”,但根据文件系统的状态将策略动态变更为“穿插记录”方案,F2FS在需要时和后台闲置时进行清理。按需清理在没有足够的空闲分段(segments)服务VFS调用时触发。后台清理器由一个内核线程执行,在系统空闲时触发清理作业。

对比EXT4的使用情况,F2FS令用户分区的文件读写流畅度提升20%;而超级文件系统(EROFS)采用专利压缩算法加持,使得系统分区随机读性能平均提升20%。

和Ext4的文件系统可以写的权限不同,EROFS 文件系统的特点是只读的,没有写的权限。如果你浏览网页不小心安装了陌生APP,或者点击了恶意的弹窗,也不用太担心。病毒或者异常文件是没有任何方法进行修改你的数据,从而做到了保护手机的使用空间与设备的安全。

基于EMUI 9.1的EROFS使用了独创的方舟编译器使得系统流畅度提升24%,系统响应性能提升44%。此外第三方应用使用方舟编译器后,操作流畅度提升高达60%,超级文件系统EROFS,随机读取速度平均提升 20%,而类似穿插记录(threaded log)与复制并压缩(copy-and-compaction)的文件系统管理方案也让手机系统时常保持空间的优化状态;天然只读设计,隔绝第三方改写,让你的系统更安全,内存更优化。

最后这张图从EROFS和EXT4文件系统的读写效率就可以看出两种文件系统的效果,EROFS到底有多快了。

了解更多
举报
评论 0