Apple File System

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

APFS
Developer(s) Apple Inc.
Full name Apple File System
Introduced March 27, 2017 with iOS 10.3
Partition identifier 7C3457EF-0000-11AA-AA11-00306543ECAC (GPT)
Structures
Directory contents B-tree[1]
Limits
Max. file size 8 EiB (263 bytes)[2]
Max. number of files 263 [2]
Allowed characters in filenames Unicode 9.0 encoded in UTF-8[3]
Features
Dates recorded access, attributes modified, contents modified, created
Date resolution 1 ns[2]
File system permissions Unix permissions, NFSv4 ACLs
Transparent compression No[4]
Transparent encryption Yes[5]
Copy-on-write Yes[3][5]
Other
Supported operating systems macOS, iOS, tvOS, watchOS and audioOS

Apple File System (APFS) is a proprietary file system for macOS High Sierra and later, iOS 10.3 and later, tvOS 10.2 and later,[6] and watchOS 3.2 and later,[7] developed and deployed by Apple Inc.[8][9] It aims to fix core problems of HFS+ (also called Mac OS Extended), APFS's predecessor on these operating systems. Apple File System is optimized for flash and solid-state drive storage, with a primary focus on encryption.[10][11]

History[edit]

Apple File System was announced at Apple's developers conference (WWDC) in June 2016 as a replacement for HFS+, which had been in use since 1998.[10][11] APFS was released for iOS devices on March 27, 2017, with the release of iOS 10.3, and for macOS devices on September 25, 2017, with the release of macOS 10.13.[12][7]

Design[edit]

The file system can be used on devices with relatively small or large amounts of storage. It uses 64-bit inode numbers,[2] and allows for more secure storage. The APFS code, like the HFS+ code, uses the TRIM command, for better space management and performance. It may increase read-write speeds on iOS and macOS,[7] as well as space on iOS devices, due to the way APFS calculates available data.[13]

Clones[edit]

Clones allow the operating system to make efficient file copies on the same volume without occupying additional storage space. Changes to a cloned file are saved as deltas, reducing storage space required for document revisions and copies.[9]

Snapshots[edit]

Apple File System supports snapshots for creating a point-in-time, read-only instance of the file system.[9]

Encryption[edit]

Apple File System natively supports full disk encryption,[2] and file encryption with the following options:

  • no encryption
  • single-key encryption
  • multi-key encryption, where each file is encrypted with a separate key, and metadata is encrypted with a different key.[9]

Increased maximum number of files[edit]

APFS supports 64-bit inode numbers, supporting over 9 quintillion files on a single volume.[2][5]

Data integrity[edit]

Apple File System uses checksums to ensure data integrity for metadata, but not user data.[14]

Crash protection[edit]

Apple File System is designed to avoid metadata corruption caused by system crashes. Instead of overwriting existing metadata records in place, it writes entirely new records, points to the new ones and then releases the old ones. This avoids corrupted records containing partial old and partial new data caused by a crash that occurs during an update. It also avoids having to write the change twice, as happens with an HFS+ journaled file system, where changes are written first to the journal and then to the catalog file.[14]

Space sharing[edit]

APFS adds the ability to have multiple logical drives (referred to as Volumes) in the same container where free space is available to all volumes in that container.[15]

Limitations[edit]

In its first generation, Apple File System does not provide checksums for user data, but does for metadata integrity.[16] It also does not take advantage of byte-addressable non-volatile random-access memory,[17] and does not support compression yet.[4]

Unlike versions of HFS+ since Leopard, APFS has no support for hard links to directories.[3] This is in line with many other modern file systems, but Time Machine still relies on them, so APFS is not yet an option for its backup volumes (as of macOS 10.13 High Sierra).[18]

Support[edit]

macOS[edit]

macOS High Sierra automatically converts the file system on devices with all flash storage to APFS.[19] FileVault volumes are also converted, but Fusion Drives and hard disk drives are not.[19] The primary user interface to upgrade does not present an option to opt out of this conversion, and devices formatted with the High Sierra version of APFS will not be readable in previous versions of macOS.[19] Users can disable APFS conversion by using the installer's startosinstall utility on the command line and passing --converttoapfs NO[20].

An experimental version of APFS, with some limitations, is available in the previous version of macOS (Sierra) through the command line diskutil utility. Among these limitations, it does not perform Unicode normalization while HFS+ does,[21] leading to problems with languages other than English.[22] Drives formatted with Sierra’s version of APFS may also not be compatible with future versions of macOS or the final version of APFS, and the Sierra version of APFS cannot be used with Time Machine, FileVault volumes, or Fusion Drives.[23]

APFS Retrofit Kit for macOS is a free system driver by Paragon Software which enables read-only access to APFS volumes under macOS 10.12 or earlier versions. For Mac users working on legacy versions of Mac OS X and macOS where APFS is natively not supported, the driver allows instant, read-only access to APFS-formatted data stored on hard disk drives, solid-state storage, or flash thumb drives.[24]

iOS, tvOS, and watchOS[edit]

iOS 10.3, tvOS 10.2, and watchOS 3.2 convert the existing HFSX file system to APFS on compatible devices.[12][7][25]

See also[edit]

References[edit]

  1. ^ Hansen, K.H.; Toolan, F. (September 21, 2017). "Decoding the APFS file system". Digital Investigation. 22: 107–132. doi:10.1016/j.diin.2017.07.003. ISSN 1742-2876. Retrieved May 25, 2018. 
  2. ^ a b c d e f "Volume Format Comparison". Apple Developer. Retrieved May 25, 2018. 
  3. ^ a b c "Apple File System Guide / Frequently Asked Questions". Retrieved May 25, 2018. 
  4. ^ a b Adam Leventhal (June 19, 2016). "APFS in Detail: Overview". Retrieved October 1, 2017. 
  5. ^ a b c Apple Inc. "Apple File System Guide (Features)". Retrieved May 25, 2018. 
  6. ^ "tvOS 10.2". What's New in tvOS. Apple Inc. 
  7. ^ a b c d Warren, Tom (March 27, 2017). "Apple is upgrading millions of iOS devices to a new modern file system today". The Verge. Vox Media. Archived from the original on March 27, 2017. Retrieved March 27, 2017. 
  8. ^ Roger Fingas (June 13, 2016). "'Apple File System' will scale from Apple Watch to Macs, replace HFS+". Apple Insider. Archived from the original on July 23, 2016. 
  9. ^ a b c d Hutchinson, Lee (June 13, 2016). "Digging into APFS, Apple's new file system". Ars Technica UK. Retrieved June 15, 2016. 
  10. ^ a b Weintraub, Seth (June 13, 2016). "Apple File System (APFS) announced for 2017, scales 'from Apple Watch to Mac Pro' and focuses on encryption". 9to5Mac. Archived from the original on March 28, 2017. Retrieved March 27, 2017. 
  11. ^ a b Hutchinson, Lee (June 13, 2016). "New file system spotted in macOS Sierra [Updated]". Ars Technica. Condé Nast. Archived from the original on March 28, 2017. Retrieved March 27, 2017. 
  12. ^ a b Clover, Juli (March 27, 2017). "Apple Releases iOS 10.3 With Find My AirPods, APFS, App Store Review Tweaks and More". MacRumors. Archived from the original on March 27, 2017. Retrieved March 27, 2017. 
  13. ^ Alan Loughnane. "Updating your iPhone will give you one major benefit". joe.co.uk. Archived from the original on May 20, 2017. 
  14. ^ a b Adam Leventhal (June 19, 2016). "APFS in Detail: Data Integrity". Archived from the original on June 21, 2016. 
  15. ^ "Archived copy" (PDF). Archived (PDF) from the original on October 23, 2016. Retrieved June 10, 2017. 
  16. ^ A ZFS developer’s analysis of the good and bad in Apple’s new APFS file system Archived February 2, 2017, at the Wayback Machine.
  17. ^ Why Apple's APFS won't last 30 years Archived April 6, 2017, at the Wayback Machine.
  18. ^ "Disks you can use with Time Machine". Retrieved December 10, 2017. 
  19. ^ a b c "Prepare for APFS in macOS High Sierra". Apple.com. September 7, 2017. Retrieved September 19, 2017. 
  20. ^ Trouton, Rich (September 26, 2017). "Using the macOS High Sierra OS installer's startosinstall tool to avoid APFS conversion". Der Flounder. Retrieved January 16, 2018. 
  21. ^ APFS’s “Bag of Bytes” Filenames
  22. ^ APFS is currently unusable with most non-English languages – The Eclectic Light Company Archived June 8, 2017, at the Wayback Machine.
  23. ^ "How to Format a Drive With the APFS File System on macOS Sierra". Archived from the original on October 26, 2016. Retrieved October 26, 2016. 
  24. ^ "How to access APFS volumes on older versions of macOS". Cult of Mac. February 20, 2018. Retrieved March 30, 2018. 
  25. ^ "jakepetroules/Filesystem". GitHub. Retrieved March 29, 2017. 

External links[edit]