TITLE
    System 7.1: System Enablers Described (7/93)
Article ID:
Created:
Modified:
10815
10/12/92
7/16/93

TOPIC


    System enablers are software modules, each specific to a given CPU (hardware
    model). A system enabler overrides system resources at startup to allow
    existing system software to support new Macintosh models. This mechanism
    eliminates the need to release CPU-specific system software each time a new
    Macintosh model is released. System Enablers are located at the top level
    of the System Folder -- not in the Extensions folder.

    The System 7.1 base system has built-in support for all Macintosh models
    that shipped before the release of System 7.1 (from the Macintosh Plus
    through the Macintosh Quadra 950 and PowerBook 145). All new Macintosh
    models shipping after the release of System 7.1 will include System Enabler
    software specific for that model or a particular family of models, like the
    Macintosh PowerBook family.

    This article describes System Enablers in more detail.


DISCUSSION


    New CPUs No Longer Require New System Releases
    ----------------------------------------------
    System enablers (which were called "gibblies" in early documentation and
    system development releases) replace the release strategy that Apple used in
    the past for minor system changes needed for new hardware. The old strategy
    was to release a new version of the system software, such as version 6.0.8
    or 7.0.1. With enablers, the differences in hardware no longer require a
    new system release, but instead each new computer has its own enabler (if
    necessary) to make the system work for that hardware.

    This change was made for two reasons:

    * Creating an enabler instead of a whole new system release reduces Apple's
    quality assurance and testing time. By creating an enabler, we're testing
    new code only on new computers. Past computers aren't affected since the
    new enabler won't run on those computers. This also reduces third-party
    testing time, since they will no longer have to install a new system
    release on all older computers and test for compatibility.

    * Enablers reduce user confusion and unnecessary upgrades. In the past,
    every time a computer was released, with its corresponding new software
    release, users of older computers were unsure if they needed to upgrade
    to the new system. Many assumed that since it was newer, it was better.
    This usually wasn't the case. For instance, upgrading from 7.0 to 7.0.1
    on a Macintosh IIcx, gives you nothing new.

    Apple will continue to use system extensions or components to add new
    functionality across the product line, as with QuickTime and Macintosh Easy
    Open.

    Some General Rules About Their Behavior
    ---------------------------------------
    System enablers are system software, designed and intended solely for the
    use of Apple Computer. Their functionality and implementation will change.
    An enabler is essentially an extension to the System file; from a
    programmatic standpoint it is the System file.

    The Resource Manager was changed slightly to recognize references to the
    System file (CurResFile(0), for example) as being references to the System
    file and the current enabler. The code or other resources included in the
    enabler file appear to actually reside in the System file.

    If there are multiple enablers in a computer's System Folder, the system
    will use only one of them. The system software (System file plus enabler)
    is responsible for arbitrating which enabler is used on a specific computer.
    It looks at the computer type it's currently running on, the computers that
    the enabler supports, and some enabler-internal applicability flags. Note
    that this is how the decision is currently made; as enablers are used for
    more computers and in different situations, more variables may be added to
    the decision process.

    Enablers and Reference Releases
    -------------------------------
    A specific enabler may not stay around forever. Apple has announced its
    intention to have "reference releases" every year to 18 months. These are
    the system upgrades that all users will be encouraged to install. Some
    enablers may be rolled into a reference release, so a computer that needed
    an enabler for System 7.1 may not need one for System 8. This isn't a hard
    and fast rule; some enablers may stay around forever, depending on the
    functionality they enable.

    Article Change History:
    07 July 1993 - This article was adapted from a column in Issue 14 of "develop"
    magazine.


Document Information
Product Area: Mac OS System Software
Category: System 7.0x-7.1.x
Sub Category: General Topics

Copyright © 2000 Apple Computer, Inc. All rights reserved.