Mac OS X uses a unique file system, the Mac OS Extended format, that provides both
perceived simplicity and enhanced metadata attributes. These file system features are
responsible for the simplification of the Mac OS X file structure. A prominent example of
this simplification is that an entire application can be represented as a single icon to the
user in the Finder. The enhanced metadata attributes make advanced technologies such as
Spotlight and Time Machine possible.
The downside to these file system features is the increased complexity of the underlying
file system. This complexity affects both compatibility and deployment practices. In this
section, you will briefly explore the unique file elements used in Mac OS X and why you
need to use file containers to deploy these items.
Unique File Elements
The Mac OS Extended file system uses several unique file elements to hide complexity
from the user: file attributes, resource forks, bundles, and packages. These file elements
need special attention when using deployment tools.
File Attributes
Every file and folder on a Mac OS Extended volume has additional file attributes that are
not immediately visible to the user but are an essential part of the file system. These attributes
include creation date, modification date, ownership, permissions, access control lists,
Spotlight information, Finder labels, and legacy file type information. They also include
file system flags, which are used to identify special file types such as aliases and locked files. Some of these attributes are accessed from the Get Info
window of the Finder.
Other file systems have similar file attributes and, in general, offer
support for common attributes such as ownership and permissions.
However, these attributes can change or even be lost when
files are copied using traditional methods. Even when items are
copied between Mac OS X systems, file ownership is usually
modified to match the account of the user who is performing the
operation. When files are transferred to third-party file systems
that don’t support all of the attributes of the Mac OS Extended file
system, unsupported attributes are simply stripped away.
Resource Forks
Resource forks have a long history in the Macintosh operating
system, dating back to the original Mac OS. To simplify the user
experience, Apple created a forked file system to make complex items, such as applications,
appear as a single icon, allowing multiple pieces of data to appear as a single item in
the file system. For instance, a file will appear as a single item, but it will actually be composed
of two separate pieces: a data fork and a resource fork. For many years, the Mac OS
used forked files when working with both applications and documents.
This system made the user experience simpler in most cases, but because most other operating
systems don’t use a forked file system, compatibility was an issue. Only volumes formatted
with the Mac OS Extended file system could properly use forked files.
However, when using Mac OS X to copy a forked file to any other third-party file system,
the resource fork information will be separated and stored as a hidden file. For example,
if you were to copy a forked file called Report.doc on a Windows FAT32 volume, the Mac
file system would automatically split the forked file and write it as two discrete pieces
on the FAT32 volume. The data fork would have the same name as the original, but the
resource fork would end up in a file called ._Report.doc, which would remain hidden
from the user in the Finder.
|