AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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:005672
用户头像

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

关注

评论

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

如何更高效传输非结构化数据?Zilliz 推出全新数据迁移服务

Zilliz

AI 数据迁移 向量数据库

【YashanDB知识库】YAS-04110 invalid variant name

YashanDB

yashandb 崖山数据库 yashandb知识库

基础的点云转换

芯动大师

点云转换

RTE大会报名丨 重塑语音交互:音频技术和 Voice AI,RTE2024 技术专场第一弹!

声网

python中的小坑

SkyFire

Python 浅拷贝

API 蔓延问题出现的六大迹象

NGINX开源社区

读书笔记 程序员 个人成长 最佳实践 API Gateway

【YashanDB知识库】如何配置jdbc驱动使getDatabaseProductName()返回Oracle

YashanDB

yashandb 崖山数据库 yashandb知识库

云资源高效运维就用云管平台!

行云管家

云计算 云管平台 云资源

解锁新型旅游方式, 当代人的出游体验究竟多丝滑

最新动态

mac苹果电脑奈飞客户端:Netflix Mac 激活版

你的猪会飞吗

Netflix Mac激活版 Netflix客户端 Netflix mac版破解版下载

利用Kafka,实时挖掘企业数据的价值

NineData

MySQL oracle kafka NineData 数据管道

【YashanDB知识库】客户端字符集与数据库字符集兼容问题

YashanDB

yashandb 崖山数据库 yashandb知识库

【YashanDB知识库】查询YashanDB表空间使用率

YashanDB

yashandb 崖山数据库 yashandb知识库

Rainbond 助力城建智控,从传统开发到敏捷开发转型

北京好雨科技有限公司

云原生 k8s rainbond 企业号9月PK榜

数据飞轮:驱动企业持续增长的新引擎

松子(李博源)

数据分析 增长 #大模型

智源研究院与百度达成战略合作 共建AI产研协同生态

智源研究院

声网发布 aPaaS 灵动会议:RTE + AI,打造下一代会议产品

ToB行业头条

阿里巴巴商品详情API返回值中的商品标签与关键词

技术冰糖葫芦

api 货币化 API 接口 API 测试 pinduoduo API

支持离线模式:iOS 移动应用程序的关键策略和优势

哦豁完蛋了

ios

NLP技术在营业选址中的实践与探索

鲸品堂

大模型 企业号2024年9月PK榜

实时邮政快递查询:用 Python 轻松跟踪包裹动向

幂简集成

API 快递

美团VS饿了么,到底谁更胜一筹?

王中阳Go

美团 面经 饿了么 面试问题

这样的SQL太吓人了

江南一点雨

三明市等保测评机构有几家?在哪里?

行云管家

等保 等保测评 三明企业

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