原标题:F2FS保你18个月不卡?手机文件系统相关科普

华为在mate9发布会上,标榜能保持18个月不卡,顿时引起轩然大波,至于什么技术给了华为如此宣传的底气,大多论调都集中在了它所采取的F2FS文件系统上。我们这次就来说说Android文件系统相关的知识,再分析一下这“18个月不卡”的宣传到底有何玄机。

文件系统:

文件系统这个词不常说,普通数码爱好者也不一定知道,但换成“硬盘分区格式”就明白了,我们更熟悉的FAT32、exFAT、NTFS、HFS+等其实都是同一层级的并列概念,不过文件系统才是更正式准确的名称,毕竟叫成分区格式总会和GPT、MBR代表的那些分区表格式相混淆。

具体来说,文件系统其实就是存储器内的数据组织形式,以及数据的索引寻址方式。更白话一点,就类似一本书,它的内容一般都是以章节或者章回来分节,按照逻辑顺序分页排列,并建立目录来实现部分标志内容和页数的对应来便于查阅,有些甚至自带书签,这种内容的排列和找寻方式,其实就是文件系统。

MTP、大容量存储模式和转移应用至SD卡:

说到这,倒是还可以先提几点困扰很多用户的东西,因为它们正好就和文件系统相关。

首先需要讲的是,文件系统其实可以算是操作系统的一部分,不同操作系统的文件数据存储器,都要使用其对应支持的文件系统格式,否则要么无法读写,要么只能作为一些非系统和应用关键文件的存储,比如音乐、视频、图片之类。

而现在,仍是以运行Windows系统的PC机占据桌面设备的统治地位,但在移动端,要么是基于Linux的Android,要么是基于Unix的iOS,这样桌面和移动端都需要不同且不兼容的文件系统,互相之间不能直接读写。因此,iOS设备插到电脑上,都是被读取为一个独立的便携设备,而不是一个U盘,再加上iOS自己的沙盒等特性,Windows自己只能把它当成相机看图片,想做些更高级的文件交换必须以iTunes为基础来进行。

Android这边相对复杂一点,上古时代,Android4.0之前,手机连到电脑上,都还是我们熟悉的大容量存储模式,文件传起来比现在的MTP顺很多,老用户们普遍都很怀念。但这也带来了一些问题,一是PC挂载了sdcard分区,导致手机无法正常读取文件,二是因为采用大容量存储,就意味着sdcard的文件系统必须和Windows相同,并不被Android本身足够兼容,所以data、system、cache等分区必须和sdcard严格隔离,从而被固定大小不能调整,这样闪存空间无法得到有效的利用,应用也无法装到用户分区,用户们也经常面临存储空间不足的问题。

而在Android2.2、2.3时谷歌曾采取过一些数据转移手段来转移应用数据到SD卡,也是因为文件系统的不同,这种数据转移能支持的非常有限,无法治本,唯一更好的处理方式只有在SD卡建立EXT4分区强行增加Linux内核可用空间而已。

谷歌最终的解决办法在Android4.0、4.1时代被推出和完善,也就是现在看到的MTP设备,PC通过手机来读取手机内文件而非PC自己直接挂载,这样整个闪存都可以使用Linux自己支持的文件系统,data和sdcard也可以“二合一”共享闪存资源动态调整解决数据空间问题,同时手机本身也不会失去对文件的读取。当然这样PC读文件就变得复杂,MTP传输效率低于大容量存储,各种失去响应、出错和驱动问题,也在所难免。

F2FS:

接下来我们就说说F2FS,这其实是和EXT4本质同级,都是Linux专属的文件系统。它的全名叫Flash Friendly File System,顾名思义对闪存友好,自称针对于NAND闪存有特别设计。最开始它是由三星电子在2012年秋季公布,开发者叫Jaegeuk Kim,彼时是三星员工,在后来被MOTO挖走,于是我们见到了用F2FS的MOTO X系列,去年又被挖到了华为,故而有了全线F2FS的EMUI5.0,号称流畅度提升20%。当然F2FS倒没什么版权纠纷,Linux体系下的东西自然遵守开源协定,只是既然有大神坐镇,可能会有点别的改进吧。

相比EXT4,F2FS理论上主要特性有两点,一个是能提升小文件的随机读写性能,再就是降低回收数据块,即碎片整理的开销,这在华为的宣传中也有所提及。不过也有缺点,一是需要Linux内核支持,二是占用存储空间更多,另外还有说法认为出错率更高并影响闪存的寿命,以及EXT4优化好了完全不怕F2FS。

当然刚才说的其实都有些虚无缥缈了,我们要知道的还是F2FS实际上比EXT4有多少优势,笔者查阅到了Phoronix上于今年8月3日发表的测试成绩(除了第一项都是越大越好),在Linux4.4-4.7内核下,F2FS优势在于两个规格的FS-Mark、BlogBench的读取以及DBench,其他项目3项小负,1项大败,剩下4项打平,可见整体上和EXT4算互有胜负,还谈不上有明显优势,更别说20%了,远不如换一块素质更好的闪存颗粒来得实在。

此外,我们发现,mate9的闪存也并非所有都是F2FS,diskinfo显示只有data分区(包括data和sdcard)使用了F2FS,而系统和缓存都还是EXT4,这样F2FS只会影响到第三方应用一段时间内首次读写文件时的速度,这只是使用流畅度的一部分而已。此外比较重要的系统和较小的缓存分区仍采用EXT4,似乎印证了F2FS出错率更高和占空间更多的问题。

真能18个月不卡?

说实话就凭借总体优势并不明显的F2FS,想在流畅度上搞出什么大新闻显然还是欠火候。当然华为的原话并不是F2FS就流畅,还有权限控制和吹上天的智能学习。权限控制不用说,大家都有成熟的体系,Android6.0还标配,而智能学习按照华为官方的解释其实就是前后台资源分配的问题,换成大白话就是杀挂后台应用的做法,看起来高大上,实际上也没什么大不了的,别人把后台管理做严格了,前台应用不会比它卡。

再讲下去,其实卡不卡的概念根本没有什么明确的定义和标准,每个人都有不同的标准。如果设为2K16全高运行,那很抱歉mate9现在的帧数就挺卡了,更别说18个月以后怎么样;而若是设为普通人日常使用,那同样抱歉,千元机都不卡,要是mate9过了18个月就变千元机那连mate8都不如,再说还有战了40多个月的骁龙801在一旁偷笑。

所以,多久不卡什么的,只是营销上吹的牛皮罢了,和3年前P6那句“PK iPhone6,领先友商一年”没什么区别,大家都懂。返回搜狐,查看更多

责任编辑:

android sd卡 f2fs,F2FS保你18个月不卡?手机文件系统相关科普相关推荐

  1. 卡片android手机排行榜,安卓手机流畅度排名,号称18个月不卡的华为无一上榜

    原标题:安卓手机流畅度排名,号称18个月不卡的华为无一上榜 近期,鲁大师发布了2018Q1季度最流畅安卓手机排行榜,表示:谁说安卓永远卡顿?它们,拥有最流畅的UI.从榜单中我们可以看到努比亚最为惊艳, ...

  2. 华为nova5鸿蒙os,18个月不卡?这四款华为2年还流畅,支持鸿蒙OS

    但凡是对手机圈有了解的朋友都听过,余承东最被津津乐道的一句话就是"18个月不卡",第一次听到18个月不卡的说法是在华为Mate 9发布会上,当时大家觉得余总在吹牛,很多网友对安卓手 ...

  3. 华为nova5pro以后会不会有鸿蒙系统,18个月不卡?这四款华为2年还流畅,支持鸿蒙OS...

    但凡是对手机圈有了解的朋友都听过,余承东最被津津乐道的一句话就是"18个月不卡",第一次听到18个月不卡的说法是在华为Mate 9发布会上,当时大家觉得余总在吹牛,很多网友对安卓手 ...

  4. android 更新 18个月,MIUI迎接史上最大更新:18个月内绝不卡顿,友商羡慕!

    原标题:MIUI迎接史上最大更新:18个月内绝不卡顿,友商羡慕! 大家都知道,早年间安卓手机比iPhone卡多了,尤其是iPhone1-4的时代,初始化的安卓手机UI流畅度都成问题.而随着近五年安卓系 ...

  5. android 不卡 华为,荣耀Magic是什么系统 华为荣耀Magic手机是不是也不卡?

    此前传闻荣耀Magic将不再使用安卓系统,而采用自主操作系统,令不少花粉兴奋,不过随着荣耀Magic正式发布,该机搭载的操作系统也正式得到了确认,那么,荣耀Magic是什么系统?是否是和华为Mate9 ...

  6. 华为mate8 android 9,华为Mate 9的安卓8.0突然来袭!升级后36个月不卡顿?

    10月16日,华为将在德国慕尼黑正式发布年度旗舰Mate 10,该机一大亮点就是预装基于Android 8.0深度定制的EMUI 6.0.在该机发布前,华为首款升级到安卓8.0的EMUI 6.0的旧机 ...

  7. 号称36个月不卡顿!网友:就是有点贵

    昨日,OPPO官方通过微博表示,OPPO Reno5系列全新配色"恋恋清风"正式开售,该机为Reno5 K独有配色,提供8+128GB版本,售价2699元. 据悉,OPPO Ren ...

  8. 关于Android SD卡

    android手机的SD卡像电脑的硬盘,现在很多手机都自带一个内置的SD卡,是不可插拔的,现在许多手机都称这个SD卡为ROM,感觉非常的不恰当,因为ROM是Read Only Memory只读存储,然 ...

  9. 快速更新android sd卡,如何修复损坏的Android SD卡和SD卡恢复[2020更新]

    SD卡不是将您的数据保存在手机上的100%安全的地方,因为有一天它可能会损坏. 如果不幸发生,请冷静. 在这里,您将了解一些方法 修复损坏的Android SD卡 并避免您的数据丢失在损坏的SD卡中. ...

  10. Unity3d android 通信之 unity3d读取android SD卡文件

    此篇博文解决的问题是: 1.unity3d如何访问android SD卡的文件 2.如果把android端代码以jar包形式由unity3d调用 闲话不多说,现在咱们进入正题. 一.unity3d如何 ...

最新文章

  1. Jürgen Schmidhuber发文纪念10年前的研究,网友:转折点非AlexNet?
  2. O/R Mapping 研究报告(转)
  3. 如何玩转跨库Join?跨数据库实例查询应用实践
  4. mysql_upgrade --force_社区投稿 | MySQL 8.0.16 告别mysql_upgrade升级方式
  5. ModuleNotFoundError: No module named 'django.core.urlresolvers'
  6. 在windows storage server 2008上创建iscsi磁盘
  7. springboot启动时的一个bug
  8. nginx支持php5,配置nginx支持php
  9. centos7 jenkins 安装
  10. composer:php的依赖管理工具
  11. Android最佳实践之流畅设计
  12. 静态成员变量.xml
  13. Creo:Creo2.0安装实例教程之图文详细攻略
  14. NOAA GSOD数据中 国家与地区缩写对应全称
  15. java读取文件之BufferedReader
  16. mysql 逗号_在MySQL字段中使用逗号分隔符的方法分享
  17. IntelliJ IDEA里面配置任何路径的时候路径里面的反斜杠分隔符变成了钱币符号
  18. 2021好看小说推荐(持续更新中)
  19. protobuf在C++和Python的使用
  20. Eclipse 3.6 M7(太阳神版)发布

热门文章

  1. 计算几何模板(kuangbin)
  2. Excel表格数据生成sql插入语句
  3. 如何用产品经理思维写一篇商业计划书
  4. 原生JS实现HTML文件上传,简单实现js上传文件功能
  5. NI Multisim 14.0蜂鸣器为什么不响_Multisim软件操作介绍及记分电路的绘制
  6. endnotex8使用教程_EndnoteX8快速使用详细步骤
  7. 使用svn merge 实现回退版本
  8. 使用IDEA回退SVN到某个历史版本
  9. 随机字符 php,PHP生成随机字符
  10. CAPL学习之路-以太网函数