Mac and Windows PC Files

File Systems

A file system organizes large numbers of files on some sort of data storage medium (most commonly a disk drive, CD-ROM or DVD). Mac and PC computers use different primary file systems which is why a program like TransMac is necessary.

The newest version of Mac file system (or volume format) is Apple File System (APFS) which first appeared in macOS High Sierra (version 10.13). Older versions of Mac file systems are Mac OS Standard (or HFS Standard) and Mac OS Extended (or HFS+). HFS Standard came about early on in the life of the Macintosh line when disks had relatively small capacities. Limitations appeared in this format when disk drives grew very large in size. Mac OS Extended (or HFS+ as it was originally called) is similar to HFS but some of its internal structures were changed to accommodate the changing needs of modern personal computing. The major differences between the two are outlined below. HFS was required on older systems (before OS8.1). Mac OS 10.3 brought a new iteration of HFS+ called HFSX. HFSX is basically the same as HFS+, but it allows for new file system features to be specified. One such feature is case sensitive file/folder names. The file names "fname", "Fname" and "FNAME" would all refer to the same file in HFS/HFS+, but they would refer to different files in HFSX if the case sensitive feature was turned on. APFS is an overdue redesign that supports modern file system architecture including larger drives and optimizations for solid state disks (SSD). TransMac can open APFS volumes from Windows (read-only) starting with version 12.1.

Apple File System(APFS):
  • New in High Sierra (version 10.13).
  • More efficient use of very large drives.
  • File/Folder cloning. Instead of a full copy, only changes are saved to reduce storage space.
  • Volume snapshots to revert changes easily.
  • Space Sharing allows multiple volumes in a single container to share space. Volume size changes without repartitioning.
  • Copy-on-write instead of journaling for crash recovery.
  • Entire disk encryption.
  • SSD optimization.
Mac OS Extended (HFSX):
  • New in OS X 10.3.
  • Purpose is to allow extended features that will not be compatible with HFS+.
  • One major feature is to allow case sensitive file names.

Mac OS Extended (HFS+):
  • Compatible with Mac OS8.1 and later.
  • 255 character Unicode file names.
  • No file size limit.
  • Less wasted space.
Mac OS Standard (HFS):
  • Compatible with all Mac OS versions.
  • File names limited to 31 characters.
  • File sizes limited to 2GB.
  • Large volumes with small files waste a lot of space.

Windows uses two primary types of file systems FAT (File Allocation Table) and NTFS (New Technology File System). There are three variations of the FAT file system: FAT12, FAT16 and FAT32. FAT12 and FAT16 originated in the DOS days. They had the same sort of problems HFS had due to growing  disk sizes. FAT32 was created to alleviate some of these problems, but it still has limitations like a maximum file size of 4GB. NTFS was created for Windows NT. It does not have as many limitations as the FAT systems and also includes much needed security and reliability features. Very old versions of Windows (95, 98, Me) do not natively support NTFS.

Disk Image Files

A Mac disk image is a file based representation of a file system. When a disk image file is opened on a Mac, a disk icon appears just as if a removable disk was inserted. There are several different types each with different options and volume formats (APFS, HFS+, etc). Below are descriptions of the types TransMac supports:

  • dmg: Files with a "dmg" extension are commonly used to transfer data or software installation packages. They can be compressed (read only) to save space or uncompressed (read/write) to allow writing. See the article "DMG Files in Windows" for more information.
  • sparseimage: Files with a "sparseimage" extension leave out unused blocks of the volume to save space. They start out small but grow as data is added. Sparse image files are read/write. They have no internal compression, but shrink well using external compression like zip.
  • sparsebundle: Sparsebundles also leave out unused blocks but save the used blocks (or bands) in multiple files instead of a single file. A "plist" file (usually called "Info.plist") has information on how to assemble the bands that exist in the "bands" folder. There is no internal compression, but shrink well using external compression like zip.

File Types

It is useful to be able to determine what type of data a file contains and what application should be used to open it. This is done by attaching an extension to the name of the file separated by a period. A text file would be indicated by a ".txt" extension as in "file.txt" or an acrobat file by ".pdf" as in "document.pdf". Each extension can be associated with a single application and assigned a unique icon. The appropriate application can then be invoked by clicking the files icon.

Both Mac and PC can use file extensions but the Mac has an alternate mechanism. This consists of two four character fields called the type and creator. These fields are stored in the file system separate from the file name and not directly viewable by the user. The type field tells the Mac what type of data is in the file. This may be "TEXT" to designate a text file or "TIFF" for a tiff graphic image. A Mac application can use the type field to show only certain pertinent files in an Open dialog box or to determine how to handle the file. The creator field tells the Mac what application should be used to open the file. This field is used when a data file is double-clicked to open it. These fields are invisible to the user, but can be displayed and changed with special utilities.

Recent versions of OS X have moved to using file name extensions instead of the type and creator.