写点什么

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

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

关注

评论

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

行云洞见 | 为何都在将研发环境搬上云端?

行云创新

云端IDE 云原生集成开发环境

基于数字孪生技术的船舶智能机舱

Openlab_cosmoplat

开源社区 数字孪生 智能制造

快速解决 Linux 内核问题,一站式运维工具 oc-ops 介绍

OpenCloudOS

Linux 开源 操作系统

触控板手势增强软件:Multitouch激活版

真大的脸盆

Mac Mac 软件 触控板 触控板增强

小度沈健:以闭环服务赋能场景化智能家居

极客天地

【被夸爆的教学!】ChatGPT注册全攻略!新手必看!省时省力又省心!

frank

ChatGPT

软件测试/测试开发丨app自动化测试(iOS)元素定位(新手篇)

测试人

软件测试 自动化测试 测试开发

沐曦与百度飞桨完成兼容性测试,助力计算机视觉应用发展

飞桨PaddlePaddle

WorkPlus SE专业版即时通讯IM办公平台,赋能中小企业数字化转型

BeeWorks

StyleGAN 调整面部表情,让虚拟人脸更生动

江户川码农

人工智能 机器学习 图像处理 StyleGAN

类似钉钉和企微的企业IM,为什么说私有化部署是企业更好的选择?

BeeWorks

分片压缩、分片上传,融云 IM 视频文件高速传输方案

融云 RongCloud

视频 IM 方案

初学React useEffect Hook

devpoint

React useEffect

JVM 堆体系结构及其内存调优

Java JVM

数字孪生的安全挑战和机遇

Openlab_cosmoplat

开源社区 数字孪生

低代码引擎动作编排

codebee

低代码

Redis连接失败问题排查和解决

量化合约对冲交易软件|合约一键跟单社区平台系统开发源码

开发微hkkf5566

头部险企如何打造低代码数据集市,快速构建指标体系

Kyligence

金融科技 指标体系

RabbitMq 环境搭建

流火

专业、简单、稳定,融云重新定义互联网通信云服务

融云 RongCloud

互联网 数字化 办公 泛娱乐 通讯

2022 年云原生安全现状报告

York

容器 云原生 安全

地表最强AI,GPT-4专治各种不服

引迈信息

AI ChatGPT

CCF BDCI“大数据平台安全事件检测与分类识别”赛题,奇点云夺冠

奇点云

数据安全 奇点云 个人信息保护

老马闲评数字化【4】做数字化会不会被供应商拿捏住

行云创新

云原生 数字化转型 企业数字化

火山引擎EMR StarRocks场景案例分享

字节跳动数据平台

EMR

科技+卫生=智慧公厕,城市焕然一新!

光明源智慧厕所

智慧城市

低内存、高性能,磁盘索引可以这样玩

Zilliz

非结构化数据 Milvus 向量数据库

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