This is an old revision of the document!


HFS

The Hierarchical File System (HFS) 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 other features required for their GUI oriented OS. As time has passed, new requirements have been added to the OS and the filesystem has had to adapt: many new features like delayed allocation and journalling were added to the point of renaming it “HFS Plus”.

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.

References

This page is a dumping ground for HFS related information. Maybe in the future it will be useful.

  • hfs.1305302241.txt.gz
  • Last modified: 2011/05/13 15:57
  • by PedroGiffuni