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 is 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.

Another idea that has been considered is to add a Darwin compatibility layer (similar to the opensolaris layer used by ZFS) to help porting it along with other interesting filesystems in Darwin's codebase like smbfs and ntfs.

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


This page is a dumping ground for HFS related information.

HFS (last edited 2014-02-14 17:32:22 by JustinHibbits)