Extensions Manager (Mac OS)
   HOME

TheInfoList



OR:

Extension conflicts were sometimes a common nuisance on
Apple Macintosh The Mac (known as Macintosh until 1999) is a family of personal computers designed and marketed by Apple Inc. Macs are known for their ease of use and minimalist designs, and are popular among students, creative professionals, and software en ...
computers running the
classic Mac OS Mac OS (originally System Software; retronym: Classic Mac OS) is the series of operating systems developed for the Macintosh family of personal computers by Apple Computer from 1984 to 2001, starting with System 1 and ending with Mac OS 9. The ...
, especially
System 7 System 7, codenamed "Big Bang", and also known as Mac OS 7, is a graphical user interface-based operating system for Macintosh computers and is part of the classic Mac OS series of operating systems. It was introduced on May 13, 1991, by Apple Co ...
.
Extension Extension, extend or extended may refer to: Mathematics Logic or set theory * Axiom of extensionality * Extensible cardinal * Extension (model theory) * Extension (predicate logic), the set of tuples of values that satisfy the predicate * E ...
s were bundles of code that extended the
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
's capabilities by directly patching OS calls, thus receiving control instead of the operating system when applications (including the Finder) made system calls. Generally, once an extension completed its task, it was supposed to pass on the (possibly modified) system call to the operating system's routine. If multiple extensions want to patch the same system call, they end up receiving the call in a chain, the first extension in line passing it on to the next, and so on in the order they are loaded, until the last extension passes to the operating system. If an extension does not hand the next extension in line what it is expecting, problems occur; ranging from unexpected behavior to full system crashes. This is triggered by several factors such as carelessly programmed and malicious extensions that change or disrupt the way part of the system software works. In addition, extensions sometimes competed for system resources with
applications Application may refer to: Mathematics and computing * Application software, computer software designed to help the user to perform specific tasks ** Application layer, an abstraction layer that specifies protocols and interface methods used in a c ...
, utilities and other extensions, leading to crashes and general instability. Some users happily loaded every extension they could find on their computer, with little or no impact. Others fastidiously avoided any non-essential extensions as a way of avoiding the problem. Many were judicious in the addition of extensions. This problem increased during the mid-1990s as resource-hungry
multimedia Multimedia is a form of communication that uses a combination of different content forms such as text, audio, images, animations, or video into a single interactive presentation, in contrast to tradition ...
technologies such as
QuickTime QuickTime is an extensible multimedia framework developed by Apple Inc., capable of handling various formats of digital video, picture, sound, panoramic images, and interactivity. Created in 1991, the latest Mac version, QuickTime X, is avai ...
were installed as extensions. In addition, a number of applications, especially
Microsoft Office Microsoft Office, or simply Office, is the former name of a family of client software, server software, and services developed by Microsoft. It was first announced by Bill Gates on August 1, 1988, at COMDEX in Las Vegas. Initially a marketin ...
, required a large number of extensions. Many Macintosh users had hundreds of extensions running on their systems, all of varying age and quality. Buggy, damaged and outdated extensions were the most common cause of problems. Some users had to remember to turn off problematic extensions when running certain programs. Later versions of System 7 included the Extensions Manager, which allowed users to disable specific extensions or groups of extensions at startup when troubleshooting the conflict by pressing the spacebar while the computer boots. This tool was also accessible by opening the Extensions CDEV in the Control Panels found in the
Apple menu The Apple menu is a drop-down menu that is on the left side of the menu bar in the classic Mac OS, macOS and A/UX operating systems. The Apple menu's role has changed throughout the history of Apple Inc.'s operating systems, but the menu has ...
.
Conflict Catcher Conflict Catcher is a discontinued utility software application that was written by Jeff Robbin and published by Casady & Greene for classic Mac OS. It aided Macintosh users in solving conflicts between Mac OS that could occur on startup when ...
and Now Startup Manager were third party utilities that automatically detected conflicts and problematic extensions and other software executing at boot, otherwise a time-consuming task that required users to turn off extensions in sets until they found the conflict, as well as allowing load order to be altered without renaming items. Extensions were only loaded at startup time, meaning that any attempted change required a reboot. The most common time for extension conflicts to start was the release of a new version of the operating system, followed closely by the installation of a complex new application that either conflicted with existing extensions, or installed extensions that conflicted with the existing set. All of this was mitigated by the ease with which extensions and the operating system itself could be swapped in and out: Instead of modifying configuration files as on other operating systems, extensions and other automatically run software simply had to reside in a particular subfolder of the System Folder to be picked up. And load their order could be altered by renaming items in the Finder, based on descending
ASCIIbetical order ASCII ( ), abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. Because of ...
for each System subfolder. In addition, the Mac was perfectly happy to have two (or more) System Folders present on a hard drive. Only the "blessed" System Folder would be loaded at startup. So, when a new version of the operating system was to be installed, or a new application, the user could easily duplicate the system folder, perform the install, and then fall back if a problem resulted. Extension conflicts came to an end with the release of
Mac OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
, which uses a different extension mechanism. Software can still add new features to the Mac but instead of requiring a
kernel extension In computing, a loadable kernel module (LKM) is an object file that contains code to extend the running kernel, or so-called ''base kernel'', of an operating system. LKMs are typically used to add support for new hardware (as device drivers) and/o ...
, the new method has allowed Apple to push more and more extensions into
user space A modern computer operating system usually segregates virtual memory into user space and kernel space. Primarily, this separation serves to provide memory protection and hardware protection from malicious or errant software behaviour. Kernel ...
, which is a safer and more organized approach that cannot destabilize the entire machine.


See also

*
Configuration management Configuration management (CM) is a process for establishing and maintaining consistency of a product's performance, functional, and physical attributes with its requirements, design, and operational information throughout its life. The CM proc ...
* Dependency management *
Dependency hell Dependency hell is a colloquial term for the frustration of some software users who have installed software packages which have dependencies on specific versions of other software packages. The dependency issue arises when several packages have d ...
*
DLL hell In computing, DLL Hell is a term for the complications that arise when one works with dynamic-link libraries (DLLs) used with Microsoft Windows operating systems, particularly legacy 16-bit editions, which all run in a single memory space. DLL Hel ...
*
JAR hell The Java Class Loader is a part of the Java Runtime Environment that dynamically loads Java classes into the Java Virtual Machine. Usually classes are only loaded on demand. The Java run time system does not need to know about files and file system ...
*
Portable application A portable application (portable app), sometimes also called standalone, is a program designed to read and write its configuration settings into an accessible folder in the computer, usually in the folder where the portable application can be f ...
*
Portable application creators Portable application creators allow the creation of portable applications (also called portable apps). They usually use application virtualization. Creators of independent portable No agent or client is required for these (also called "agentless" ...


References

{{DEFAULTSORT:Extension Conflict Anti-patterns Classic Mac OS