APFS简要指南(Apple File System Guide)

APFS是为苹果设备创建的下一代的文件系统(代替HFS+)。可以在iOS、macOS、tvOS、watchOS全平台运行。APFS在构建的时候是以加密为主要特征的,它可以充分利用SSD存储和Flash闪存。

说起APFS,就免不了提到HFS+:

HFS+

HFS+是苹果公司为替代他们的分层文件系统(HFS)而开发的一种文件系统。它被用在运行macOS的电脑上。HFS+也被称为 macOS Extended(mac OS 扩展)。和HFS一样,HFS+也使用B树来存储大部分分卷元数据。

HFS+最初的设计已经距今有30多年了,在使用软盘和硬盘驱动器的时代,HFS+的设计是最先进的,但是现在情况已经不一样了。人们现在已经开始使用SSD和一些其他的存储技术了。经过长期发展,HFS+针对不同类型的设备衍生出不同功能的多种分支,但它毕竟太老、太混乱了。更重要的是,该文件系统不具备当今大多数企业所需要的一些基本功能,例如纳秒级时间戳、校验、快照、稀疏文件等。Apple生态圈急需一种能够取代HFS+的全新文件系统。

APFS的特性

APFS是一个64位的文件系统,在一个卷(volume)里可容纳超过9百亿亿个文件。APFS有如下的特性。

Clones

APFS中的Clone就是一种几乎瞬时发生的对文件或目录的拷贝,同时这种拷贝不会占用额外的空间。其原理是因为clone会创建一个指向源文件的引用,而不是创建一个源文件的副本。这样,clone就允许操作系统在同一个卷(volume)下实现快速、节能同时不占据额外空间存储空间的文件拷贝。

Clone示意图

不论在什么地方对文件进行修改、写入数据,未修改的存储块将会继续被共享。对文件的修改会被当做被clone文件的变化量被存储下来,这样就能减少拷贝和修改占用的存储空间。
Clone后的文件修改

Snapshots

一个卷的快照(Snapshots)是文件系统在某个时间点上只读的实例。

Snapshots_1

操作系统使用快照来使备份工作变得更加有效,同时也提供了一个将文件改动恢复到某个
特定时间点的方式。

Snapshots_2

Space Sharing

空间共享允许多个文件系统在一个物理卷下共享相同的底层自由空间。不像预先为每个文件系统分配固定大小空间的严格分区方案。采用APFS的卷可以在卷不重新分区的情况下增大或缩小空间。

一个APFS容器(container)向其中的卷(volume)报告相同的可用磁盘空间,这个可用磁盘空间等于容器(container)的总可用磁盘空间。

举个例子

如果一个容量为100 GB的APFS容器中有一个volume A占20 GB的空间,volume B占10GB的空间,那么这个APFS容器向volume A和volume B报告的可用磁盘空间都将是70 GB。

Encryption

安全和隐私是APFS中的基本设计。这就是为什么苹果公司文件系统实现了强大的全盘加密,加密文件和的所有的敏感元数据。
硬件和操作系统的支持性决定了哪一种加密方法是可用的,加密方法在Mac, iPhone,,iPad,,Apple TV 和 Apple Watch上可能是不同的。

APFS对一个APFS容器中的所有卷都提供了如下的加密模式:

  • 不加密
  • 对应元数据和用户数据的单一密钥
  • 对应元数据、文件,甚至是文件一部分的多个密钥

多密钥加密保证了用户数据的完整性。即使有人危及设备的物理安全性并获得对设备密钥的访问权限,他们仍然无法解密用户的文件。
APFS使用AES-XTS或者AES-CBC加密模式,取决于硬件。

Crash Protection

Apple文件系统使用一种新型的写时复制元数据方案,以确保对文件系统的更新是受保护的,没有日志的写二次开销。

Sparse Files

Apple文件系统支持稀疏文件,这是一种在磁盘上表示空块的更有效的方法。 使用稀疏文件存储仅在实际需要时分配。

Fast Directory Sizing

快速目录大小调整允许Apple文件系统快速计算目录层次结构使用的总空间,并在层次结构演变时对其进行更新。

Atomic Safe-Save

Apple文件系统为bundle和目录引入了一个新的Atomic Safe-Save原语。 原子安全保存在单个事务中执行重命名,从用户的角度来看,操作完成或根本不发生。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值