E X P
正努力加载中…
  • 编辑
  • 评论
  • 标题
  • 链接
  • 查错
  • 图文
  • 拼 命 加 载 中 ...

    这年头智能手机的硬件水平都已达一定的高度,特别是旗舰级手机,各家的机皇都是有多强上多强,所搭载的SoC、存储性能都在伯仲之间、难分高下,所以便有厂商开始在软件方面着手配合硬件进行优化,比如我们在前几期超能课堂中,提到过华为Mate 9上使用的F2FS文件系统,而从今年二月初iOS 10.3开始,苹果也在iPhone上加入了对APFS文件系统的支持,这其实早在去年WWDC 2016上,苹果便已经公布这个全新的文件系统,那么APFS文件系统究竟有什么革新之处?

    APFS是什么?

    APFS的英文全称为Apple File System,这也就很简单地直译为“苹果文件系统”,为64位文件系统,单个分区支持9百亿亿文件,为取代苹果延用了30多年之久的HFS+文件系统而生,加入了很多现代文件系统应有的新功能特性。

    作为新一代文件系统,苹果在去年的WWDC 2016开发者大会上表示,APFS通用于iOS、macOS、watchOS和tvOS这四个苹果主要的操作系统上,由于目前苹果大部分设备都采用闪存或SSD,所以APFS完全为这类存储作了优化设计(这点与F2FS文件系统的特性一样),并把加密性作为新文件系统最主要的功能改进。

    APFS对苹果有多重要?

    现有的HFS+实在太落后了

    APFS文件系统对苹果有多重要,这就要提到苹果现有的文件系统HFS+。HFS+文件系统由苹果从HFS文件改进而来, 早在1998年就开始在苹果设备上使用(HFS在1984年),推出之时市面上仍以软盘和HDD作为主要存储设备,所以HFS+基本没有为现在流行的闪存和SSD作优化。HFS+在应付现代硬件和软件都已经力不从心,HFS+文件系统存在元数据以大字节序保存、单线程访问、不支持稀疏文件、写时复制等等一大堆缺点。

    苹果现有设备的文件系统不统一

    尽管苹果几乎所有设备和系统都是基于HFS文件系统,但实际上每个设备由于需要的特性不同(这其实也归咎于HFS的落后),导致采用的 文件系统却有多种,比如macOS上有HFS、HFS+和HFS+J,而iPhone、Apple Watch有用到HFS+和HFS+ Per-File Crypto,存储管理又有Fusion Drive和CoreStorage等等,相当混乱,所以苹果希望功能更先进、更齐全的APFS能改变这个现状,成为苹果设备中统一的文件系统。


    苹果现在的文件系统太混乱

    APFS功能特性?

    APFS在基本的文件系统设计上就远比HFS+先进,HFS+为32位文件ID,而APFS支持64位索引节点,时间戳间距从HFS+的1秒降低至1纳秒,适应回现代处理器和SSD远低于1秒的文件操作时间,具备低延迟的特性,APFS还原生支持SSD的FTL和Trim,所以性能理论上会更强、空间利用率更高,另外与HFS+固定形式的文件系统结构不同,APFS是个具有扩展性的文件系统,可以在未来增加更多新特性、API。


    APFS与HFS+对比

    APFS文件系统上新增的Clone、Snapshot、Crash Protection等多个功能,这得益于Copy-On-Write(写时复制、简称COW),该技术主要作用为文件在进行修改操作时, 会先复制一份新文件,用户修改的实际是在这份新文件上,原来文件不会作修改,而等修改完成后新文件再替换掉原文件,这能充分发挥存储的读写性能和保持文件的完整性 ,而在修改过程中就算出现意外,也能保证原文件不掉失。

    Clone(克隆)

    Clone指的是APFS在执行复制文件操作时,实际只是创建了一个类似快捷方式的副本,文件本身并没有增加多一份出来、占多一份空间,而当文件作了修改后,也只会保存修改的部分,这对于苹果系统采取的沙盒运行APP机制相当有用,可以节省APP的占用空间。


    Clone演示

    Snapshot(快照)

    在APFS文件系统中作了分区快照后,无论原分区内的文件作了增加还是删除操作,快照分区内的文件都不会发生变化,这提高了文件备份效率,还可以实现撤销操作,这有利iTunes、Time Machine等备份功能。


    Snapshot演示

    Space Sharing(空间共享)

    Space Sharing为解决在单个磁盘上分区固定位置、固定大小的限制,允许在不用重新分区的情况下,动态调整分区的大小,APFS格式的磁盘实际为单个容器(container),多个分区共享容器的空余容量。


    支持动态调整容量

    比如在一个100GB的APFS格式磁盘上,有一个10GB的A分区和一个20GB的B分区,那么A和B分区都可以任意用到剩下的70GB,这样在A分区中,即使存储一个超过10GB的文件也没问题,最大可以去到80GB。

    Encryption(加密)

    APFS可同时支持无加密、单密钥(Single-key)到多密钥(Multi-key)三种加密方式,单密钥即为普遍采用的全盘加密,而多密钥加密为APFS独有的加密方式,文件数据采用单个文件级别加密,而元数据采用独立密匙,这使得就算用户的硬件加密被破解,也无法在系统中获取用户的文件。

    Crash Protection(防崩溃)

    由于Copy-on-write的加入,现在APFS不再需要两次写入的日志式文件保护来确保元文件数据不会崩溃。

    Sparse Files(稀疏文件)

    稀疏文件为一种文件存储方式,在创建文件时就预留连续存储信息,但未实际占用存储空间,而到只有真正写入数据时,才会分配空间,现在APFS文件系统也加入支持。

    Fast Directory(快速目录大小统计)

    在以往的HFS+文件系统计一个目录的总大小需要花费较长的时间,但在APFS中,目录的大小信息文件为分开保存,并用原子操作(Atomic Operation)来更新这个信息文件,这部分额外占用的文件为小增量增长。

    Atomic Safe-Save(原子级安全保存)

    在一个集群或目录类文件中进行重命名等原子级文件操作时,如果无法完全完成,原文件数据不会被替换或删除,这也体现了APFS的绝对一致性,要求文件只有一定能够修改成功的情况下,文件才会被保存,否则不会进行操作。

    HFS compatibility(向下兼容)

    APFS依然向下兼容HFS、HFS+文件系统,包括原来大部分的开发特性。

    APFS在什么设备上可以用到?

    APFS将统一iOS、watchOS、macOS和tvOS上的文件系统,所以包括有支持iOS 10.3及以后系统的iPhone、iPad、iPod Touch,Apple Watch(系统版本未定),支持macOS Sierra 10.12.4及以后系统的MacBook、MacBook Air、MacBook Pro、Mac mini、iMac、Mac Pro和Apple TV(系统版本未定)等苹果设备都将用到这个新的文件系统。


    苹果主流的设备都支持APFS

    最新iOS 10.3 beta版上已经换成APFS系统、而macOS Sierra早已在底层支持APFS,但macOS 10.12.4 beta上才换用为主要文件系统。普通用户在即将到来iOS 10.3正式版和macOS Sierra 10.12.4正式版上,就能体验到APFS带来的新变化。

    APFS实际表现初体验?

    目前APFS文件尚未正式、完整地应用到苹果设备上,所以这里仅为简单的初体验。在macOS Sierra 10.12.3正式版系统中,使用hdiutli命令创建一个1GB的APFS文件系统分区后,与一个1GB的Mac OS扩展(即HFS+J)文件系统分区对比,在占用空间上APFS确实会更小。


    左为APFS,右为Mac OS扩展

    iOS方面,这里选择把iPhone SE刷至iOS 10.3 beta3,用Passmark和Geekbench简单跑了一下测试,并对比回iOS 10.2正式版,在两个测试结果中,APFS的表现略差于原来的文件系统,但也不排除是这两个测试APP还没有对APFS文件系统作优化支持。


    存储性能


    GeekBench 4

    这样来看,APFS文件系统在当前对于开发者的意义更大,很可能普通消费者还不会从中获得很大的体验改善,至少在所谓的节省空间、提升性能和加强安全性上,APFS还需要点时间来发挥出优势,但APFS是足够先进和优秀的文件系统,对于未来苹果设备有极其重要的意义,未来更成熟的表现值得我们期待。

    ×
    热门文章
    1“肚”有两张顶级显卡的性能怪兽,外星人AURORA R11主机评测
    2高效且亲民,雅浚ProArtist W15导热硅脂实物图赏
    3如何启用Windows 10 Version 2004中的硬件加速GPU调度?
    4【7.9更新】当当称李国庆撬保险柜抢资料,李国庆回应接管当当开始办公
    5八位堂发布Xbox版本的SN30 Pro手柄:为xCloud云游戏保驾护航
    6携号转网已服务940万人次,全国“携号转网”服务监管系统正式上线
    7小米正在增强MIUI 12的相机功能,后续将支持Pixel 4系列“拍星星”模式
    8微星推出4款龙魂系列机箱新品:售价299元起
    9Intel正式推出Thunderbolt 4标准:兼容USB4,支持8K显示输出
    已有 20 条评论,每一条合规评论都是对我们的褒奖。
    • 游客 01-04 15:20

      一塌糊涂

      支持(0)  |   反对(0)  |   举报  |   回复

      21#

    • appleache教授 2017-02-26 11:19  加入黑名单

      应该拿mac跑分的,ios的beta各种不稳

      支持(0)  |   反对(0)  |   举报  |   回复

      20#

    • 游客 2017-02-24 22:04

      wasili8888 高中生

      ntfs什么时候更新wfs呀
      2017-02-23 20:36
    • 支持(0)  |   反对(0)  |   举报  |   回复
    • 微软在5年前就推出了更先进的ReFS

      支持(1)  |   反对(0)  |   举报  |   回复

      19#

    • 游客 2017-02-24 15:44

      游客

      应该和BtrFS、ZFS、EXT4什么的比一下
      2017-02-23 19:19
    • 支持(2)  |   反对(0)  |   举报  |   回复
    • 不要想当然以为文件系统必须以性能为出发点,例如坑人又要收钱的M$家的exFAT

      支持(4)  |   反对(0)  |   举报  |   回复

      18#

    • 游客 2017-02-24 12:19

      游客

      吹B了半天,结果跑分不如旧的性能好就说还未支持.. 这洗地也是尴尬的可以。
      2017-02-23 23:51
    • 支持(1)  |   反对(11)  |   举报  |   回复
    • 那你意思是现阶段很多游戏DX12模式帧数不如DX11模式代表着DX12不如DX11?

      支持(7)  |   反对(0)  |   举报  |   回复

      17#

    • alexallen编辑 2017-02-24 09:24  加入黑名单

      游客

      小编对于COW的解释是有问题的,这里指出一下。Copy-on-Write其实指的是隐式共享,在支持COW的文件系统上,文件的复制只会产生一个指针引用,而不是将文件的实际数据拷贝为相同的一份。只有在复制的文件被修改时,才对被修改的块进行实际的拷贝修改。COW的意义在于可以实现快速的snapshot或者备份,以支持cow特性的btrfs为例,无论分区已经使用的数据空间是多少,备份整个分区的状态都是瞬间完成并且占用的空间几乎为零(全部是递归引用)。在snapshot之后的修改,都仅会对有修改的块进行COW。
      2017-02-23 20:23
    • 支持(2)  |   反对(0)  |   举报  |   回复
    • 感谢指出。因为不想让大部分人阅读困难,所以解释偏简单、通俗,也就存在部分表述不准确。

      已有1次举报

      支持(0)  |   反对(2)  |   举报  |   回复

      16#

    • alexallen编辑 2017-02-24 09:18  加入黑名单

      游客

      你有见过 btrfs、zfs 性能吊打 ext4 么?所以不懂的,不要学会了 Google 和 wiki 就装模作样,请去隔壁逼乎。。。
      2017-02-23 21:39 已有4次举报
    • 支持(1)  |   反对(0)  |   举报  |   回复
    • 这里就没提过APFS的性能如何如何出众,苹果出APFS为了自家的生态圈发展,为开发者提供更好的开发环境和加强系统安全性、稳定性。

      支持(0)  |   反对(0)  |   举报  |   回复

      15#

    • 游客 2017-02-24 01:30

      这玩意早该出了吧, HFS+ 时间戳不是到 2040 年就崩溃么. 一直没搞懂 1998 年苹果的设计为何如此没有远见

      支持(0)  |   反对(0)  |   举报  |   回复

      14#

    • 游客 2017-02-23 23:51

      吹B了半天,结果跑分不如旧的性能好就说还未支持.. 这洗地也是尴尬的可以。

      支持(1)  |   反对(11)  |   举报  |   回复

      13#

    • 游客 2017-02-23 22:04

      我选择 btrfs

      支持(2)  |   反对(0)  |   举报  |   回复

      11#

    • 游客 2017-02-23 21:39

      你有见过 btrfs、zfs 性能吊打 ext4 么?所以不懂的,不要学会了 Google 和 wiki 就装模作样,请去隔壁逼乎。。。

      已有4次举报

      支持(1)  |   反对(0)  |   举报  |   回复

      10#

    • wasili8888高中生 2017-02-23 20:36  加入黑名单

      ntfs什么时候更新wfs呀

      支持(0)  |   反对(0)  |   举报  |   回复

      9#

    • 游客 2017-02-23 20:23

      小编对于COW的解释是有问题的,这里指出一下。Copy-on-Write其实指的是隐式共享,在支持COW的文件系统上,文件的复制只会产生一个指针引用,而不是将文件的实际数据拷贝为相同的一份。只有在复制的文件被修改时,才对被修改的块进行实际的拷贝修改。COW的意义在于可以实现快速的snapshot或者备份,以支持cow特性的btrfs为例,无论分区已经使用的数据空间是多少,备份整个分区的状态都是瞬间完成并且占用的空间几乎为零(全部是递归引用)。在snapshot之后的修改,都仅会对有修改的块进行COW。

      支持(2)  |   反对(0)  |   举报  |   回复

      8#

    • 游客 2017-02-23 20:13

      游客

      NTFS也落后了
      2017-02-23 18:37
    • 支持(2)  |   反对(1)  |   举报  |   回复
    • ntfs 一直也有更新,文件去重的功能已经有实现了

      支持(0)  |   反对(0)  |   举报  |   回复

      7#

    • 游客 2017-02-23 20:02

      鼓吹了一堆性能优化点,实际测试居然还倒退了。这是闹哪样?
      至于说测试没有优化的那才真是越洗越黑:这不等于是说现版的测试软件为了不暴露当前系统问题而对旧系统做了优化?比如知道你只能单线程就把测试做成单线程的,别家系统多线程讨不了好,结果自家系统改进成多线程并发了也没讨到好,还得等下个版本解锁新姿势。

      已有3次举报

      支持(1)  |   反对(5)  |   举报  |   回复

      6#

    • 游客 2017-02-23 19:59

      Snapshot(快照)

      在APFS文件系统中作了分区快照后,无论原分区内的文件作了增加还是删除操作,快照分区内的文件都不会发生变化,这提高了文件备份效率,还可以实现撤销操作,这有利iTunes、Time Machine等备份功能。

      光这个功能就能节省空间吧感觉,比如qq收了一份文件在wps中打开现在就占一份文件的坑。

      支持(0)  |   反对(0)  |   举报  |   回复

      5#

    • 游客 2017-02-23 19:19

      应该和BtrFS、ZFS、EXT4什么的比一下

      支持(2)  |   反对(0)  |   举报  |   回复

      4#

    • Aultimate等待验证会员 2017-02-23 18:51  加入黑名单

      这种进步正正是我最想见到苹果步向的方向 从底层(这次是文件管理系统)的优化配合对自身硬件的控制从新拉开和行业的差距 metal为ios带来整整3年(或会更长)游戏体验上的优势 p3广色域的全面及即时的应用(由相机到屏幕到应用到系统)加上色彩管理 在广色域领域又由此会有绝对的优势 现在在文件系统的进步有助解决苹果产品根本的问题 及在根本上提升产品的使用体验

      已有2次举报

      支持(4)  |   反对(0)  |   举报  |   回复

      3#

    • liboss大学生 2017-02-23 18:43  加入黑名单

      BETA3更新后,不懂是不是因为这个的关系,响应速度的确是提升不少

      支持(0)  |   反对(0)  |   举报  |   回复

      2#

    • 游客 2017-02-23 18:37

      NTFS也落后了

      支持(2)  |   反对(1)  |   举报  |   回复

      1#

    我来评论
    为你推荐