close
当前位置: 物联网在线 > 技术文库 > ios >

iOS 10.3的APFS系统

iOS 10.3的APFS系统

何为APFS

在iOS 10.3中,苹果新增了APFS新文件系统,最早在2016年WWDC大会上公布。APFS是Apple File System的简称,用于替代目前所使用的HFS+格式。APFS对HFS的所有变体进行了统一,这是Apple从底层代码开始从零打造的全新文件系统。与使用32位文件ID的HFS+不同,APFS可支持64位索引节点(Inode)编号,借此一个卷最多可存储超过900亿亿个文件。HFS+只能同时对整个存储设备的文件系统进行初始化,APFS提供了一种可扩展存储块分配程序(Extensible block allocator),可对数据结构进行延迟初始化(Lazy initialization),进而大幅改善大容量卷的性能。

APFS针对闪存/SSD存储进行优化(但依然可用于传统机械硬盘),提供了更强大的加密、写入时复制(Copy-on-write)元数据、空间分享、文件和目录克隆、快照、目录大小快速调整、原子级安全存储基元(Atomic safe-save primitives),以及改进的文件系统底层技术。此外APFS还包含其他改善和新功能,例如稀疏文件、改进的TRIM操作,内建对扩展属性的支持等。

安全与隐私是APFS的设计基础。Apple的很多设备和操作系统早已具备加密功能,OS X 10.7 Lion开始提供全磁盘加密功能;iOS 4开始可通过专用数据保护技术将每个文件使用一个专用密钥进行加密。APFS对这两种功能进行整合,为文件系统元数据提供了一种统一的加密模式。APFS支持三种模式的加密:不加密;适用于元数据和用户数据的单密钥加密;以及适用于元数据、文件,甚至文件中特定部分的多密钥加密。多密钥加密功能,内置有针对每个文件的密钥,其针对敏感元数据也都有独立的密钥,在确保可靠性的基础上优化性能。多密钥加密可确保哪怕设备物理安全受到威胁,依然可以保障用户数据的完整性。取决于具体硬件,APFS加密可使用AES-XTS或AES-CBC算法。

这种加密机制还实现了一个额外的功能:更为快速的数据擦除。通常情况下当用户从设备中删除文件后,可以通过市面上提供的很多(免费或收费的)反删除软件找回删掉的内容。为避免这种情况,以往如果需要删除包含机密信息的文件,或需要将存储过私密数据的设备退役给他人使用,必须首先使用抹掉功能擦除存储设备,并可能要将这一过程执行多遍。取决于存储设备容量,整个过程将耗费极多时间。对于使用APFS文件系统的存储设备,在启用加密功能后,安全擦除的过程将变得大为简便和快捷,不再需要耗费大量时间多次给存储设备填充随机数据,只需要删除加密所用的密钥即可。

APFS包含一个名为“空间共享”的新功能,借助该功能,多个文件系统可以共享同一个物理卷上的同一块底层可用空间。也就是说,设备上的一个APFS“容器”内部可以包含多个“卷”(文件系统)。HFS+需要为每个文件系统预先分配固定大小的容量,这种做法较为“僵硬”,而APFS的空间共享功能可以让用户在无需重分区的情况下动态、灵活地扩大或缩小卷容量。在这样的设计下,APFS容器内的每个卷都会显示同等的可用空间容量,而所显示容量会等同于该容器的可用存储空间总量。例如,假设有个容量100GB的APFS容器,其中包含已用10GB容量的卷A和已用20GB容量的卷B,卷A和卷B都会显示自己有70GB(100GB-10GB-20GB)的可用容量。

现代化的文件系统往往会通过压缩和去重(Deduplication)等方式减小文件占用的空间量。压缩很好理解,去重是指找出大量文件中相同的数据块,并只将这样的块存储一次,在访问文件时,会根据实际情况动态“拼装”出最终的文件。这样的功能最适合保存大量用户文件或大量虚拟机映像的服务器环境。APFS可以用恒定的速度对多个文件和目录创建副本。举例来说,如果要在同一个文件系统(或同一个容器)内部复制文件,实际上并不需要为数据创建副本,只需要对文件的元数据进行适当的更新就可以让磁盘上存储的数据实现“共享”,此时相同的文件“实际体积”不变,但产生了两个副本,对任何一个副本进行改动则需要为其分配新的存储空间(这种方式也叫做“写入时复制”)。APFS中复制的文件实际上只是对文件创建了轻量级克隆,实际数据并没有重复保存,底层设备的故障会导致所有“副本”受损。

APFS专门针对闪存进行了优化。SSD虽然可以模拟传统机械硬盘的“块”,但底层技术与机械硬盘截然不同。SSD底层的管理工作是由一种名为闪存转换层(FTL,Flash Translation Layer)的软件负责处理的。FTL与文件系统极为类似,可以在块地址和介质内部的位置之间创建虚拟映射(转换)。整个堆栈,包括SSD、FTL,以及文件系统都由Apple控制,可以更有针对性地对不同组件进行优化。


(责任编辑:ioter)

用户喜欢...

为什么摄像头接口对ADAS系统设计至关重要

汽车正在快速演化成一台安全联网的自动驾驶机器人,能够感测环境、进行思考并采取自主措施。变化更快的也许是小型自动驾驶公共车辆——出租车、拼车或公交车,能够将我们从公共交通...


揭秘FPGA电机测速系统经典电路

现场可编程门阵列即FPGA,是从EPLD、PAL、GAL等这些可编程器件的基础上进一步发展起来的。作为专业集成电路领域中的半定制电路而出现的FPGA,不但解决了定制电路的不足,而且克服了原有可...


利用I2C GPIO扩展器最大化复用信息娱乐系统设计

随着系统复杂性的增加,缺乏通用输入/输出(GPIO)实现外设控制或电路板布线问题开始出现。本文重点介绍了信息娱乐...


大数据处理框架的类型、比较和选择

前言 说起大数据处理,一切都起源于Google公司的经典论文:《MapReduce:Simplied Data Processing on Large Clus...


是德科技先进的DynaFET建模系统在中电十三所搭建成功

DynaFET是以非线性矢量网络分析仪(NVNA)和人工神经网络(ANN)为基础的创新性的化合物半导体晶体管非线性模型。与...


对话斑马网络CEO施雪松:系统正式走向开放,撬动市场只需百万装机量 |钛媒体独家

一方是国企背景的汽车界龙头,一方是IT行业的体量之最,话语权和基因冲突曾让早期的斑马公司进展缓慢。斑马CE...


可穿戴设备与其它小型系统为何青睐锂电池电源?

物联网将改善现代生活的几乎各个方面。通过收集和分析大量数据,物联网可以帮助我们管理身体健康、减少在家居...


新兴生态系统:数据科学与机器学习软件分析

作者:Gregory Piatetsky, KDnuggets 本文为36大数据独译,译者ya楠 本文中我们将对现有大数据的顶级工具做项测验:Python和...


物联网商机11万亿美元 一条龙系统 规模年飙三成

物联网近年悄然走进我们的日常生活。亚马逊股价早前一度冲破1000美元,主打相关技术的Amazon Echo可谓功不可没。物...


上厕所没卫生纸怎么办?智能厕所神救援!

根据《苹果日报》报导,资策会工程师陈韦凡与松山车站秘书盛婉茹,今年5月集思广益发明出了“智能公厕系统”,...