APFS And Why You Should Care.

On 5 June, Apple held the keynote for 2017’s World Wide Developer Conference. A whole slew of things were announced and spoken about at great length. We got the announcement of iOS 11, and we also saw new features of Mac OS 10.13 or “High Sierra.” They lightly touched on Apple moving the Mac to a new file system, and indicated that it had been on iPhones for a little while. And then we sprang into something else that was flashy.It was all fluff. APFS is the ballgame. And you should care. Now, let me tell you why.

Apple dropped the HFS+ file system on us in 1998. It was part of Mac OS 8.1. It was a step up from where we were before, and it allowed for the eventual addition of journaling and such, but it was missing things like checksumming, and snapshotting, and it wasnt really designed for a unix based operating system. A prime example of this would be the fact that the HFS file system was designed for things like Motorola and PowerPC processors used by legacy Mac’s, as opposed to the intel architecture now standard. That means that all metadata in the OS has to be stored in one format and then gets swapped when its read into memory, or written from memory. because this happens without checksumming or copy-on-write protection, there’s the possibility of directory corruption across the catalog file extents overflow file, and the attributes files. Or rather, all the B-tree data structures. So that random moment when your mac boots to a flashing question mark, or the hard drive wont mount, or has an error that cant be repaired? Welcome to the land of directory corruption, and data loss.

Now, whats the big deal, why do you care, and whats the difference here? Well, there’s a lot to that question. So we’ll focus on some specifics.

Copy on write is supported. This leads to instantaneous copying of file across the disk. this also leads to benefits in crash protection.

Snapshotting is supported. A snapshot is a read only instance of a specific moment. It allows the OS to make backups more efficient and makes reversion easier.

Space Sharing. APFS volumes can grow and shrink without needing to be repartitioned. Unlike allocated space file systems the free space for multiple volumes is shared across the disk.

So what does all of this techno-babble mean? Its leading towards an operating foundation thats both more stable, and more efficient. Less directory corruption, faster data movement, quicker backups, and faster overall responsiveness, all with more data level security.

Now, whats a good example of this, at the user level, in order to explain? easy. I copied a 5GB video file to the desktop of a test machine. I then duplicated it. Historically, this was a process of reading the old file, and writing the new file. Depending on data, this could take a minute or 5. With an APFS based machine, the process is instantaneous.

The other big reason you should care? All the stuff on your computer. the whole point of a computer, is what you do with it. If you cannot rely on it for your data, the entire point is moot. given this, a more functional, more secure, more reliable file system is key to absolutely everything that sits on top of it, and everything that you do with it.

Finally, the last reason you should care. Speed. Its the other big one. If you look over my article on web browser GPU acceleration, the whole point was speed. Traditionally, when we load a newer operating system onto an older machine, we see some performance loss, due to the fact that the new OS is demanding more of the hardware. But if we circumvent some of those limitations with a more modern file system, we mitigate some of the bottlenecks, and we have ourselves a more functional machine, for longer. And when you consider that a business, looking at machine life cycle for both usability and budgetary concerns, wants more life per unit, this plays out as offering a more robust computing solution, over a longer period of time, thus giving the user, and the provider more bang for their buck.

In short, you care because APFS makes things more stable, more secure, faster, and allows you to get more life out of a machine, which lowers the cost of ownership.