iOS 10.3 中的APFS系统到底有多强大?
- 03 月 28 日
- 爱思助手
- 9710
iOS 10.3开始之后的iOS系统都将采用新的文件系统APFS,得益于此iPhone的开机速度上提高不少。
APFS(Apple File Systme)
APFS 最重要的改进在于三点:
1. 为 SSD 而设计。
2. 原生支持加密。
3. 安全性(断电保护),并且解决了很多遗留问题。
可以说 APFS 很多特性之所以能存在,都是基于一个前提:Apple 平台中的 SSD 已经比较普及了。对于机械硬盘来说,我怀疑用 APFS 在一些情况下还不如用 HFS+。近几年 SSD 的普及可能才促使 Apple 现在推出了 APFS 预览版。
SSD 于 HDD 的最大区别是什么?在于 SSD 不需要旋转,所以不同位置的读取速度都是一样的,文件也不需要被连续存储。为此我们不需要磁盘整理了,但是更重要的是,我们在设计文件系统的时候,可以不用再思考「如何优化才能尽可能连续的保存文件?」抛弃了这个假设,文件系统设计师们就可以放心添加很多新功能(注:读写连续保存的文件在 SSD 下依旧会快一点)。
修改时复制
大意就是说,如果你复制一个文件,只是创建了一个快捷方式,而非复制原文件本身。那么如果修改了文件怎么办?APFS 只会把修改的部分另找区域单独保存。也就是说,两个文件一样的部分还是只存在一份。
磁盘快照
和修改时复制的原理一样,磁盘快照不会占用额外的硬盘空间。对,你同时创建一百个,占用空间的增长也是可以忽略不计的。这个功能可以大幅简化本机上 Time Machine 的实现。
动态修改分区大小
为了读取连续性,再加上实现上比较简单不容易出错,HFS+ 中分区大小是固定的。想要修改分区大小,必须抹除整个分区再重新创建。而 APFS 在分区满了的时候,可以动态扩大分区。讲座中 Apple 并没有提及这个新特性,加上上面的「修改时复制」,可能会造成更多的磁盘碎片,而这些磁盘碎片对 HDD 硬盘性能有怎样的影响也是未知数。不过 SSD 并不太需要担心磁盘碎片。
加密
APFS 是唯一原生支持多种加密级别的文件系统(从无加密,到磁盘加密,再到最高级别的文件分别加密)。APFS 同时也支持不同的加密方式。
文件操作安全
APFS 基本上所有操作都是绝对安全的。绝对安全是指:不会因为断电而损坏文件系统。一个操作要不然成功,要不然失败,不会有中间状态。对于以往文件系统来说,因为设计原因,替换文件
夹的时候断电有几率出错。
向后兼容性
对于支持 APFS 的操作系统,APFS 可以让旧版本操作系统忽略新版本 APFS 的功能。
保存文件夹大小
打开一个大文件夹的时候,再不需要等很久才知道这个文件夹有多大了。因为 SSD 的特性,可以在几乎不损耗性能的情况下实现这个功能(需要规避 deadlock)。
更高精度和更大空间
这条没啥可说的,不具备这些,怎么敢号称新时代的文件系统?
兼容性
API和现有 API 兼容,增加了几个新的 API。
统一
现在 iOS,macOS 和其它 Apple 的 OS 都在用不同版本的 HFS+,更新到 APFS 之后就可以统一为一个了。小到 Apple Watch,大到 Mac Pro。这条也算是一个好消息。