10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

Apple 为 iOS 和 macOS 提供全新文件系统 APFS

  • 2016-06-29
  • 本文字数:1199 字

    阅读完需:约 4 分钟

Apple 在 WWDC 2016 大会上还发布了一个名为 APFS 的全新文件系统,一经发布就引起了大量开发者的关注。根据 Apple 提供的初版开发者文档介绍,APFS:

针对闪存 /SSD 存储进行优化,提供了更强大的加密、写入时复制(Copy-on-write)元数据、空间分享、文件和目录克隆、快照、目录大小快速调整、原子级安全存储基元(Atomic safe-save primitives),以及改进的文件系统底层技术。

与 HFS+ 的简单对比

根据 Apple 的介绍,APFS 支持 HFS+ 的全部功能,并在下列几方面有所改进:

  • 与使用 32 位文件 ID 的 HFS+ 不同,APFS 可支持 64 位索引节点(Inode)编号,借此一个卷最多可存储超过 900 亿亿个文件。
  • HFS+ 只能同时对整个存储设备的文件系统进行初始化,APFS 提供了一种可扩展存储块分配程序(Extensible block allocator),借此可对数据结构进行延迟初始化(Lazy initialization),进而大幅改善大容量卷的性能。
  • APFS 支持三种模式的加密:不加密、单密钥加密,以及多密钥加密,并可管理每个文件所用的密钥和元数据密钥。

在 HFS+ 的基础上 APFS 还提供了其他改善和新功能,包括稀疏文件(Sparse file)、改进的 TRIM 操作,内建对扩展属性的支持等。

APFS 的新功能

APFS 还包含多个与 ZFS 以及 HAMMER 等现代化文件系统相似的高级功能,多年前 Apple 曾尝试将其移植到 OS X:

  • 为确保发生崩溃等故障后文件不受损,APFS 提供了一种全新的写入时复制(Copy-on-write)机制。
  • 空间分享(Space sharing)技术使得共享物理卷上的多个文件系统可以灵活扩展,而无需进行硬性分区操作。
  • 克隆功能使得用户能够为文件和目录创建副本,在对这些副本进行更改前,副本完全不占用额外的存储空间,并且修改后也只需要在磁盘上存储改动过的文件块。通过强制使用 copyItemAtURL:toURL:error: copyItemAtPath:toPath:error: NSFileManager 方法,这一过程对用户来说是完全透明的。
  • 快照是指为整个文件系统创建的只读实例,可用于实现差异备份。但目前开发者还无法使用 API 管理快照。
  • 原子化存储(Atomic save)可通过一笔事务将一批文件或目录以整体方式统一更名。这种全新行为是通过强制实施 moveItemAtURL:toURL:error: moveItemAtPath:toPath:error: NSFileManager 方法以透明的方式实现的。

使用 APFS

APFS 目前以开发者预览版的方式通过 macOS 10.12 发布,该版本还提供了一个操作这一全新文件系统的新版 hdutil 命令。用户可以使用下列命令创建 APFS 分区:

$ hdiutil create -fs APFS -size 1GB foo.sparseimage由于是开发者预览版,Apple 也提醒了开发者在使用 APFS 时可能遇到故障和数据丢失等情况。此外 APFS 还存在一些局限,例如:

  • 无法用于启动磁盘。
  • 文件和目录名称大小写敏感。
  • 无法用于 Time Machine、FileVault 或 Fusion 驱动器。

按照计划 APFS 将于 2017 年正式发布,最终将取代 Apple 已沿用超过 30 年的 HFS+ 文件系统。

查看英文原文: A Look at APFS, Apple’s New File System for iOS and macOS

2016-06-29 19:005927
用户头像

发布了 283 篇内容, 共 119.8 次阅读, 收获喜欢 63 次。

关注

评论

发布
暂无评论
发现更多内容

【YashanDB知识库】YAS-02605 the current instance is not master role

YashanDB

数据库 yashandb

拿了一个奖:年度高价值技术团队

阿里云云效

阿里云 云原生 通义灵码

AKI跨语言调用库神助攻C/C++代码迁移至HarmonyOS NEXT

HarmonyOS开发者

HarmonyOS NEXT

工业互联网市场矛盾全解析:现状、成因与应对之道

不在线第一只蜗牛

工业互联网

2025年,天润融通助力超市用AI感知读懂年轻消费者

天润融通

通义灵码入选南方日报 2024 数字化年度标杆

阿里巴巴云原生

阿里云 云原生 通义灵码

探秘低代码,JNPF悄然助力

伤感汤姆布利柏

鸿蒙原生页面高性能解决方案上线OpenHarmony社区 助力打造高性能原生应用

HarmonyOS开发者

HarmonyOS HarmonyOS NEXT

通义灵码入选南方日报 2024 数字化年度标杆

阿里云云效

阿里云 云原生 通义灵码

共筑AI新生态,火山引擎释放新生产力潜能

极客天地

豆包 MarsCode AI 编程助手提效实战

TRAE.ai

HPE Aruba Networking创新网络产品斩获多项行业荣誉

科技热闻

2025低代码前瞻:平台赋能的无限可能

JeeLowCode低代码平台

低代码 低代码开发 低代码平台 低代码开发工具

燕京啤酒:全面预算助力燕京啤酒数智化管理转型升级

用友智能财务

会计

拿了一个奖:年度高价值技术团队

阿里巴巴云原生

阿里云 云原生

风起云涌,跌宕起伏:盘点 2024 年以太坊变迁与历程

TechubNews

“越用越上瘾”,中华财险 60% 研发人员用通义灵码提效

阿里巴巴云原生

阿里云 云原生 通义灵码

“越用越上瘾”,中华财险 60% 研发人员用通义灵码提效

阿里云云效

阿里云 云原生 通义灵码

【YashanDB知识库】YAS-02547 there is a gap in the restored archived logs on instance 1, reason: start of restored archive 35 is great

YashanDB

数据库 yashandb

【YashanDB知识库】YAS-04379 invalid alteration of datatype

YashanDB

数据库 yashandb

OgLive:高性价比的海外直播网络专线方案

Ogcloud

海外直播专线 海外直播 tiktok直播专线 海外直播网络 tk直播专线

Databend 产品月报(2024年12月)

Databend

提升TikTok直播稳定性的方法

Ogcloud

Tik Tok tiktok直播 tiktok直播专线 tiktok直播网络 tk直播专线

【YashanDB知识库】YAS-02287 audit policy cannot be dropped as it is currently enabled

YashanDB

数据库 yashandb

【YashanDB知识库】YAS-02507 base incremental backup set does not exist

YashanDB

数据库 yashandb

Pythond采集器扩展可观测能力最佳实践

观测云

数据采集

Apple为iOS和macOS提供全新文件系统APFS_移动_Sergio De Simone_InfoQ精选文章