Classic OS applications running alongside native Mac OS X applications.
|Developer(s)||Apple Inc. (formerly Apple Computer, Inc.)|
|Stable release||1.9 / March 21, 2005|
|Operating system||Mac OS X|
Classic, or Classic Environment, is a hardware and software abstraction layer in early versions of Mac OS X that allows applications compatible with Mac OS 9 to run on the Mac OS X operating system. The name "Classic" is also sometimes used by software vendors to refer to the application programming interface available to "classic" applications, to differentiate between programming for Mac OS X and the previous version of the Mac OS. Classic is supported on PowerPC-based Macintosh computers running versions of Mac OS X up to v10.4 "Tiger", but is not supported with v10.5 "Leopard", nor on Intel-based Macintosh computers running any version of Mac OS X.
Classic is a descendant of Rhapsody's "Blue Box" emulation layer, which served as a proof of concept. It uses a Mac OS 9 System Folder, and a New World ROM file to bridge the differences between the older PowerPC Macintosh platforms and the XNU kernel environment. Classic was created as a key element of Apple's strategy to replace the "classic" Mac OS (versions 9 and below) with Mac OS X as the standard operating system (OS) used by Macintosh computers by eliminating the need to use the older OS directly.
Classic Environment can be loaded at login (for faster activation when needed later), on command, or whenever a Mac OS application that requires it is launched (to reduce the use of system resources when not needed). It requires a full version of Mac OS 9 to be installed on the system, and loads an instance of that OS in a sandbox environment, replacing some low-level system calls with equivalent calls to Mac OS X via updated system files and the Classic Support system enabler. This sandbox is used to launch all "classic" Mac OS applications—there is only one instance of the Classic process running for a given user, and only one user per machine may be running Classic at a time.
If the "load-when-needed" option is selected, launching a "classic" application first launches Classic, which can be configured to appear in a window resembling the display of a computer booting into Mac OS 9. When Classic is finished loading, the application launches. When a "classic" application is in the foreground, the menu bar at the top of the screen changes to look like the older Mac OS system menu. Dialog boxes and other user-interface elements retain their traditional appearance.
Compatibility and performance
The Classic Environment provides a way to run "Classic" applications on Apple's G5 systems as well as on most G4 based computers sold after January 2003. These machines cannot boot Mac OS 9 or earlier without the bridging capabilities of Classic or other software (see SheepShaver). Classic is not supported on versions of Mac OS X that run on Apple systems incorporating Intel microprocessors, which includes all new shipping Apple computers, as of September 2006. The last version of Mac OS to support Classic on PowerPCs was Mac OS X v10.4 "Tiger".
Classic's compatibility is usually very good, provided the application using it does not require direct access to hardware or engage in full-screen drawing. However, it is not a perfect clone of a Mac OS 9 computer. The Finder included with Mac OS X v10.2 and later does not support the "Reveal Object" Apple events used by some Mac OS 9 applications, causing the "Reveal In Finder" functionality for those applications to be lost. Early releases of Mac OS X 10.2 would often fail to draw window frames of Classic applications correctly, and after Classic windowing was made double buffered in Mac OS X v10.3, some older applications and games sometimes failed to update the screen properly, such as the original Macintosh port of Doom. However, Classic "resurrected" some older applications that had previously been unusable on the Macintosh Quadra and Power Macintosh series; this is because Mac OS X replaced Mac OS 9's virtual memory system with a more standard and less fragile implementation.
Classic's performance is also generally acceptable, with a few exceptions. Most of an application is run directly as PowerPC code (which would not be possible on Intel-based Macs). Motorola 68k code is handled by the same Motorola 68LC040 emulator that Mac OS 9 uses. Some application functions are actually faster in Classic than under Mac OS 9 on equivalent hardware, due to performance improvements in the newer operating system's device drivers. These applications are largely those that use heavy disk processing, and were often quickly ported to Mac OS X by their developers. On the other hand, applications that rely on heavy processing and which did not share resources under Mac OS 9's co-operative multitasking model will be interrupted by other (non-Classic) processes under Mac OS X's preemptive multitasking. The greater processing power of most systems that run Mac OS X (compared to systems intended to run Mac OS 8 or 9) helps to mitigate the performance degradation of Classic's emulation.
- Apple's Macintosh Application Environment
- Apple's Rosetta – PowerPC emulator
- SheepShaver – PowerPC emulator
- Basilisk II – 68000 emulator
- vMac – 68000 emulator