HFS stands for the Hierarchical File System is a filesystem designed by Apple Inc. in the mid 80's for Mac OS, it became part of Openstep, and has become ubiquitous with the success of the OS X and related devices like iPods and iPads.

HFS was known for it's revolutionary design, introducing "resource forks" (somewhat like Extended Attributes) and specific features required for their GUI oriented OS. As time has passed, new requirements have been added to the OS and the filesystem evolved: many new features like journalling and delayed allocation were added to the point of renaming it "HFS Plus". HFS Plus includes most of the capabilities one can find in UFS or Berkeley FFS: long file names, hard and soft links, special nodes, owner and group information, access permissions.

The HFS and HFS Plus source code has been released under APSL as part of Apple Darwin's XNU kernel and userland utilities. In 2004 an initial port to FreeBSD 5.3 was made but the port was left unattended and eventually abandoned. It would be a good reference for a renewed port.

NetBSD had a GSoC project that resulted in limited HFS support under a BSD license.

For good or bad, Apple has replaced HFS with it's own Apple File System (APFS) in recent versions of macOS and iOS.


This page is a dumping ground for HFS related information.


HFS (last edited 2023-01-18T03:53:23+0000 by PedroGiffuni)