写点什么

Apple 静悄悄地升级了数百万 iOS 设备的文件系统

  • 2017-03-31
  • 本文字数:1003 字

    阅读完需:约 3 分钟

随着 iOS 10.3 的正式发布,数百万设备即将升级为使用Apple 的全新文件系统 APFS 。然而根据多方评论,这是一次大胆,同时暗藏一定风险的举措。

APFS 亮相于去年 WWDC,InfoQ 也对其进行了报道,该文件系统将取代最初伴随Mac OS 8.1问世,沿用将近20 年的老旧HFS+ 文件系统。APFS 增加了与 ZFS HAMMER 类似的大量新功能,包括对加密、写入时复制、灵活的分区、快照、原子化保存等功能提供了更好的支持。

与曾经安装过 iOS 10.3 测试版的开发者类似,在自己设备上安装 10.3 正式版的用户也会面临一个极为漫长的升级过程,似乎是因为要对文件系统进行转换,截至撰写本文时尚未听说这一过程出现过什么重大已知问题。

有趣的是,这是APFS 首次正式登场,之前该文件系统仅通过开发者预览的形式出现在macOS Sierra 中,并且包含诸多局限,例如无法将APFS 格式的磁盘用作启动磁盘。因此Apple 决定通过推送文件系统转换操作让上千万设备同时使用该文件系统,这一决定让人有些吃惊,毕竟这会导致任何潜在的问题被无限放大。正如Ars Technica 的Andrew Cunningham所说,考虑到Apple 实际上控制着整个iOS 平台,对于该平台所用硬件和分区架构的所有细节了然于胸,这一举措似乎显得很合理。此外iOS 设备封闭的本质也使得未越狱用户基本不可能破坏掉设备的存储系统,这也让转换的效果更为可控。

然而这并不意味着升级到APFS 的所有用户都不会遇到任何非预期的后果。macOS 和iOS 开发者Michael Tsai 在他的博客中写到,一些因素导致APFS 与HFS+ 之间存在一些固有的冲突,例如APFS 并不会对Unicode 文件名进行标准化,并且APFS 允许同一个目录下使用多个同名文件,而仅名称字符的大小写有所差异。InfoQ 也将密切关注此类问题,如果有任何有趣的发现将在第一时间报道。

尽管技术上可以做到使用对用户来说完全透明的方式升级文件系统,但Reddit 用户 applishish 介绍说,迁移工作实际上并未实际移动数据,而是直接将 APFS 元数据写入 HFS+ 的可用空间。这种方法的优势在于,如果转换过程中出现任何错误,用户依然具备一个可用的 HFS+ 分区。在同一个帖子中,Reddit 用户 1337Gandalf 称,Apple 的此番举措让人回想起 Microsoft 在推广 Windows XP 时应对 FAT32 卷升级未 NTFS 文件系统时的做法,不过当时用户可以自行选择是否要在升级系统的过程中同时升级到NTFS 文件系统。

阅读英文原文 Apple Quietly Upgrades the File System of Millions of iOS Devices

2017-03-31 19:004920
用户头像

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

关注

评论

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

黄金圈法则解读数据中台(1):为什么需要数据中台

水滴

数据中台 黄金圈法则 8月日更

2020-2021京东Java面试真题解析

Geek_f90455

Java 程序员 后端

一个好的产品需要一个好的产品

刘宇

产品经理

Elasticsearch VS ClickHouse

Se7en

SpringBoot 中的事务处理

xcbeyond

事务 springboot 8月日更

Linux之watch命令

入门小站

Linux

Hbase 入门详解

Se7en

「SQL数据分析系列」15. 元数据

Databri_AI

sql 脚本 元数据

Windows10下JDK8下载及java环境配置

Bob

8月日更

JDK 从8升级到11,使用 G1 GC,HBase 性能下降近20%。JDK 到底干了什么?

毕昇JDK社区

2020-2021华为Java面试真题

Geek_f90455

Java 程序员 后端

网络攻防学习笔记 Day94

穿过生命散发芬芳

网络攻防 8月日更

弱口令到底是什么牛马?

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞挖掘

第一次凡尔赛,字节跳动3面+腾讯6面一次过,谈谈我的大厂面经

编程菌

Java 编程 程序员 面试 计算机

缓存数据历险记(一)--被缓存警察上课一天

卢卡多多

redis 缓存 8月日更

【最不佳实践】函数计算的函数是什么意思

刘宇

Serverless

从未如此简单:基于Serverless架构的博客

刘宇

Serverless Hexo 博客

在线网页快捷方式创建工具

入门小站

工具

DDD领域驱动设计·学习应用·一

小诚信驿站

领域驱动设计 领域驱动模型DDD 中台架构 领域驱动

Vue组件通信之ref

Augus

8月日更

各种消息队列设计要点与对比

海明菌

消息队列 消息队列对比 消息队列系统设计

趁着课余时间学点python(二)缩进 标识符 保留字 注释 输入输出的理解

ベ布小禅

8月日更

我测了啊,我真测了!

QualityFocus

测试 质量保障 线上问题 缺陷

NLP随笔(三)

毛显新

人工智能 自然语言处理 神经网络 深度学习

再见 Jenkins!几行脚本搞定自动化部署,这款神器有点厉害

编程菌

Java 编程 程序员 计算机 技术宅

奥运“哮喘”运动员为什么越来越多?

脑极体

12年高级工程师的“飞升之路”

Geek_f90455

Java 程序员 后端

【最不佳实践】文件上传并不简单

刘宇

Python Serverless 文件上传

王者并发课-钻石2:分而治之-如何从原理深入理解ForkJoinPool的快与慢

MetaThoughts

Java 多线程 并发

为什么需要数据库连接池

赖猫

MySQL 数据库 后端 连接池

2020-2021阿里巴巴Java面试真题解析

Geek_f90455

Java 程序员 后端

Apple静悄悄地升级了数百万iOS设备的文件系统_移动_Sergio De Simone_InfoQ精选文章