Friday, May 24, 2013

What is Mac OS HFS+ format ?

The Mac OS Extended Format (HFS+) is a volume format compatible with Mac OS 8.1 and higher, including Mac OS X. In terms of volume, folder, and file size limits, it is similar to the Macintosh Standard Format (HFS). 
HFS+ or HFS Plus is a file system developed by Apple Computer Inc. to replace their Hierarchical File System (HFS) as the primary file system used in Macintosh computers (or other systems running Mac OS). It is also one of the formats used by the iPod music player. HFS+ is also referred to as Mac OS Extended Volume Hard Drive Format, where its predecessor, HFS, is also referred to as Mac OS Standard.

HFS+ is an improved version of HFS, supporting much larger files (block addresses are 32-bit length instead of 16-bit) and using Unicode (instead of Mac OS Roman or any of several other character sets) for naming the items (files, folders) - names which are also character encoded in UTF-16 and normalized to a form very nearly the same as Unicode Normalization Form D (NFD) (which means that precomposed characters like é are decomposed in the HFS+ filename and therefore count as two characters and UTF-16 implies that characters from outside the Basic Multilingual Plane - often seldom used and characters from ancient writing systems - also count as two characters in an HFS+ filename). HFS Plus permits filenames up to 255 UTF-16 characters in length, and n-forked files similar to NTFS, though until recently, almost no software takes advantage of forks other than the data fork and resource fork. HFS+ also uses a full 32-bit allocation mapping table, rather than HFS’s 16 bits. This was a serious limitation of HFS, meaning that no disk could support more than 65,536 allocation blocks under HFS. When disks were small, this was of little consequence, but as larger-capacity drives became available, it meant that the smallest amount of space that any file could occupy (a single allocation block) became excessively large, wasting significant amounts of space. For example, on a 1 GB disk, the allocation block size under HFS is 16 KB, so even a 1 byte file would take up 16 KB of disk space.

How do I know a hard disk is HFS+ format?

Select the hard disk in the Finder and choose the Get Info command in the File menu. The format information will specify either Mac OS Standard (hfs) or Mac OS Extended (hfs+). 

What are the differences between HFS+ format and HFS format?

The most visible difference between HFS+ format and HFS format, other than the minimum file size, is the maximum number of files. 

An HFS+ volume contains five special files:

  1. Catalog file - Describes the folder and file hierarchy of the volume. It is organized as a "balanced tree" for fast and efficient searches
  2. Allocation file - Specifies whether an allocation block is free (similar to $Bitmap in NTFS). This is stored in a bitmap, specifying a free allocation block with a "clear bit"
  3. Attributes file - Contains attribute information regarding files or folders
  4. Extents overflow file - Additional extents (contiguous allocation blocks allocated to forks) are stored in a b-tree in this file
  5. Startup file - Allows computers to boot that do have built in support for HFS+ file systems