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)

用户喜欢...

三相无刷PMSM 支持所有电机控制解决方案的快速开发系统

The FlexMC Motor Control Development PlatformTM是支持所有电机控制解决方案的快速开发系统。 FlexMC KitTM通过基于模型的强大设计工具帮助您加快产品上市并提高性能。 ADI/Boston Engineering解决方案集硬件、...


电路设计人员对健壮,可穿戴的健康传感器系统设计的需求

今年全球可穿戴技术市场价值300亿美元,预计未来3年将增长9%,但从2019年开始,到2023年,增长率几乎将呈指数增长至100亿美元。 电路设计工程师需要快速将产品推向市场,但由于时间紧迫,...


如何设计-130-dB超低失真数据采集系统

数据采集​​系统(DAS)是工业,医疗和电信应用的标准测量和分析仪器,包括医学成像,音频和振动分析以及模拟和数字调制系统的测试。在大多数情况下,采集和数字化信号通过快速傅里叶...


DRAx 信息娱乐系统 SOC – 音响主机

JacintoTMDRAx 应用处理器系列可实现丰富的汽车信息娱乐解决方案,其中涵盖了各种系统功能和不同分辨率的显示尺寸,包括从基本 AM/FM 数字音频广播、媒体播放、远程信息处理和手机镜像,一...


JacintoTM DRAx 信息娱乐系统 SOC – 汽车音频放大器

使用 JacintoTMDRAx 汽车处理器系列可以设计出创新的下一代车载音频系统。传统的环绕声产品经过扩展后包括: 噪声消除(道路和发动机) 噪声生成(电动发动机) 每名乘客自定义(声泡) 音...


Jacinto DRAx 信息娱乐系统 SOC – 数字驾驶舱

功能强大的 Jacinto DRAx 汽车处理器可用于实现汽车数字驾驶舱解决方案,能够将多个车辆 ECU 的功能集成到单个功能强大的 Jacinto DRAx SoC 中,而该 SoC 可支持所有的用户界面和通信功能,其中包...


Jacinto DRAx 信息娱乐系统 SOC – 数字仪表组

汽车仪表板是汽车业持续实现数字驾驶舱变革的一个重要部分。汽车行业正在进行全面升级,将仪表组从模拟解决方案升级到混合型解决方案以及完全可重新配置的数字解决方案,旨在呈现丰...


OPC UA,TSN和经典工业以太网系统将在未来发挥什么作用?

合作实现更大的普遍性 OPC UA通过其地址空间形成通用应用程序接口,而TSN为标准以太网增加了实时功能,并实现了千兆位数据速度。因此,通过发布/订阅(发布/订阅)模型组合这两种技术是...


基础型后视摄像头

概述 后视摄像头系统可以帮助驾驶员发现车后的物体或人员,以便在确保安全的情况下倒车并顺利停车入位。高级系统中部署1万像素的高动态范围(HDR)摄像头,并通过非屏蔽双绞线实现高性价...


5G新无线电系统设计和验证仿真

在白皮书5G新无线电系统设计和验证仿真中,是德科技讨论了与5G NR相关的一些常见技术挑战。由于LTE / NR DC共存问题以及在移动设备中实现毫米波(mmWave)组件,出现了这样的挑战。...