赞
踩
3月26号华为在法国巴黎发布了年度最新旗舰P30系列,除了花式逆天的拍照功能之外,系统本身的升级也值得一提。其中特别亮眼的是P30系列使用了EROFS文件系统,据称能显著提升文件访问性能,那其中究竟有何玄机呢?
文件系统,听上去是个很专业的词汇。
即使是最资深的科技粉,在看手机规格的时候,可能也不会注意到文件系统,顶多关注到闪存的接口是eMMC还是UFS,UFS又是什么版本。
那华为P30上独家推出的神秘的黑科技EROFS文件系统究竟是个什么东西?能给消费者带来什么好处?和这几年被广为追捧的F2FS又是什么关系?
文件系统是伴随着PC操作系统对存储介质的管理而出现的。文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。
打个比方,家里面有不同的储物空间,衣柜,储物柜,床头柜,橱柜等等。文件系统就是一个记录本,既知道什么东西存储在哪里,也知道哪里还有空间可以储藏什么物品,取东西就相当于读取数据,放东西就相当于写入数据。比如日常都是女主人收拾物品,相当于她的大脑中有这样一个文件系统和记录,那么如果换一个人去取放物品,他就需要把柜子都清理一遍(对于操作系统就是需要每次扫描一遍存储介质),才知道该如何操作。所以有一个高效的匹配存储空间特性的文件系统可以极大地提升计算机/手机存取数据的效率。
PC文件系统经过几十年的发展差不多有几十种。之所以有这么多种类,既和存储介质相关,比如光盘与硬盘,也和网络形态有关,比如单机文件系统,网络文件系统,分布式文件系统等,也和操作系统类型相关。下面这张图就按照操作系统类型的不同对单机的文件系统作了一个简单的总结。
文件系统的发展都有现实的驱动,比如从Windows体系的FAT 12到FAT 32,支持的单个文件大小从32 MB到4GB,可以支持的分区大小从32 MB到2TB(2048GB)。而exFAT不但在支持容量上进一步提升,对于闪存的支持更好。这种格式同时可以支持Windows和MAC OS,也使它成为U盘最普遍使用的文件系统。
单机文件系统的发展历史
在功能机时代,各个厂家的手机相应的功能都是通过Java ME or BREW这样程序运行环境或者是Framework来配合底层的固件(Firmware)来实现的,各厂家Firmware都各自不同,支持的文件系统也各自不同,但基本都是沿用Windows或Linux的文件系统。
进入到我们熟悉的Android与iOS两大阵营的年代,iOS从诞生之初使用的比较老旧的HFS+系统切换到了当前的APFS(Apple File System)。而在2010年,Android从最初的YAFFS2切换到了Ext4,主要的原因YAFFS2只支持单线程,无法发挥多核CPU的潜力。
2016年,和Mate 9一同发布的华为EMUI 5.0率先提出"天生快,一生快"的方案,解决了安卓平台一直以来的一个顽疾:长期使用后的卡顿。这是一套"组合拳",就是通过智能判断用户的行为,和APP的优先级,提前分配包括CPU,内存,存储等资源,并及时合理的整理和回收空闲资源,最终实现用户使用体验的流畅与平衡。
"天生快 一生快"系统原理图
最值得一提的是智能存储调度, 将用户数据分区ROM采用了全新的文件系统F2FS, 以前Linux内核沿用的Ext4文件系统适合老的机械硬盘,F2FS可以说是为闪存量身定制,能极大地改善闪存长期使用后的读写性能。为了解决性能问题,华为在做了大量的测试和优化后,果断地率先"吃螃蟹",成为了"天生快,一生快"方案中重要的一部分,使用F2FS相对于Ext4文件读写流畅度提升了20%。而2年之后,谷歌也在自己的旗舰Pixel 3中使用了F2FS,其他的厂商也在华为之后陆续跟进。
上面提到F2FS只是将用户数据分区ROM(相当于电脑的D盘)从Ext4升级成了F2FS,但F2FS并不适用于系统ROM(相当于电脑的C盘),系统ROM是只读的属性,对于大量的随机读操作,F2FS收益有限。
针对这种情况,P30/P30 Pro本次搭载的EROFS系统是华为自研的只读文件操作系统,将系统ROM从Ext4演进到EROFS,和F2FS实现了"双剑合璧"的效果。
EROFS强在哪?
EROFS全称为Extendable Read-Only File System(可译为"可扩展只读文件系统"),可提供比其他只读文件系统方案更好的性能,且可以节省存储空间。因为文件系统本身是只读的设计,也加强了对于数据的安全防护。
一、系统ROM的随机读性能大幅提升
这得益于EROFS是一个具有实时压缩能力的文件系统。系统文件以不同的压缩率存储在ROM上,而上层应用读取时,读取和解压缩同时进行,通过高效先进的压缩算法,有效缩减了传输的文件大小,提升了读取文件的性能,而对于上层应用,解压操作并不可见,就是一次正常的读取。
在不同的压缩率下,随机读性能的提升有所不同,基于同样的P30机型,在压缩率很高的情况下(如压缩率4%,即100MB文件压缩为4MB),提升高达接近300%。而按照用户的典型使用看,整个系统ROM的随机读性能提升平均为20%,带给用户的体验就是应用启动更快,操作更流畅。
二、更省空间
由于EROFS是一个支持压缩的文件系统。系统文件是以压缩后的形存储在ROM上,自然而然带来了ROM空间的节省。相比EMUI之前的版本,大约能够节省2G左右的空间,相当于可以多存500首歌曲和1000张照片,对于用户无意是一个额外的福利。
三、让数据变得更加安全
为了避免系统分区被篡改,Android将系统分区设置成只读的。由于Ext4本身是可写的,Android 是通过Ext4的只读挂载参数 和挂载dm-verity虚拟块设备(用于文件系统校验)来配合实现只读,相当于给系统分区加了两把锁。而通过去除Ext4只读挂载选项并且不挂载dm-verity设备,就可以绕过这两把锁对系统分区进行写操作。
相比之下EROFS是天然只读的,没法通过任何手段挂载成可写的,这就相当于筑了一道难以逾越的墙,使用EROFS的系统分区更加安全了。
我们看到,文件系统的发展是随着硬件的发展以及用户对于性能,容量,安全,易用性的要求的不断提高,而不断发展的。
手机的文件系统从最初的沿袭PC的平台与技术到越来越考虑自身的特点进行创新,不断提升性能,效率和安全。相信随着软硬件的不断发展,以及手机厂商的持续创新,在未来会有更广阔的发展空间。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。