Hierarchical File System

The Macintosh Heirarchical File System (HFS) was introduced by Apple in September 1985 to replace the Macintosh File System with a more robust format that provided support for disks of arbitrary sizes and layouts -- notably, it supported Apple's new HD20 hard disk drives (featuring 20 Mb of storage) and 800Kb double-sided disks instead of just the single-sided 400Kb floppy disks supported by MFS.

Unlike the flat file structure used in MFS (MFS stored the directory listings in a table in the Desktop file), HFS contained an internal catalog file based on B-trees. Data in HFS was stored using 32-bit integers instead of 16-bit integers, providing maximum values of 4096x1024^2 instead of 65536. This impacted things such as maximum file size, which rose from 64Kb to 4Gb. Unfortunately, the one place 16-bit integers were still used was in the Desktop directory file, which limited the maximum number of files on each logical disk to 65536.

HFS was the primary file system format used on Apple computers until HFS Plus was released eleven years later in 1996, finally adding 32-bit support for block addresses and the mapping table, and switching from Mac OS Roman to Unicode for character representation. HFS contained no transaction journal, so mild data corruption due to interrupted cached writes to disk would require a complete rebuild of the B-Tree, often resulting in the loss of files and file data.