Home > Applications >
Legacy Application Support

This comparison has been updated for Windows Vista and moved to our new website Mac vs. Windows

Overview

Both operating systems let you run applications originally written for older versions of the operating system. Such applications are known as "legacy" applications. An operating system's legacy support is important, because when users upgrade their operating system or purchase a new computer, they often need to continue running the applications they already own.

Mac OS X

Note: As of August 7th, 2006, all of Apple's computers use Intel chips, which are based on an x86 processor architecture. Although we stray from hardware-releated issues on this site, this distinction is important, because these chips replace the PowerPC that all of Apple's prior Macs were based on. The PowerPC is an entirely different architecture, and, as such, it has its own set of legacy support issues. For the benefit of readers, we will outline the level of legacy support for both architectures.

Legacy Application Support, PowerPC

Because Mac OS X is not an incremental upgrade to Mac OS 9, but rather a brand new operating system, OS 9 applications cannot natively run in OS X. To help offset this issue, Apple has 2 methods for running older OS 9 applications under Mac OS X:

  1. OS X supports "carbonized" applications (OS 9 applications that have been stripped of a small amount of legacy code). Developers only need to make minor adjustments to their OS 9 applications to make them run natively in OS X. These "carbonized" updaters have been supplied for free by application developers.
  2. Use Classic mode for non-carbonized OS 9 applications.

"Classic" is Apple's term for a separate environment within OS X in which OS 9 runs. As such, Classic mode requires that you have a copy of OS 9 on your computer. Since 2002, when OS X became the default operating system on all Macs, OS 9 has been supplied as "Classic support" on an installer CD. Since this is a separate installation, it requires extra effort from the user. Once installed, when you launch an OS 9 application, the Classic environment will load; it resembles OS 9 booting within OS X. This "Classic boot time" creates a lag when initially launched. You may then leave Classic running, launching as many OS 9 applications as your computer can handle (memory-wise).

Since Classic is its own environment, OS 9 applications do not inherit any of the benefits of OS X. For instance, they don't get to take advantage of protected memory. This means that if an OS 9 application crashes, it is likely that it will bring down the entire Classic environment, including any other OS 9 applications currently running. Furthermore, OS 9 applications that make direct hardware calls using unsupported methods will not work under Classic (Rave or Glide video acceleration, for instance, or the third-party Free Midi framework).

Legacy Application Support, Intel

The Intel chips in Apple's computers use an x86 architecture, which is entirely different from that of the PowerPC. OS X itself has actually been compiled for both PowerPC and Intel architectures since its inception, so it runs on these computers without a hitch. However, Intel-powered Macs are completely incapable of running OS 9 or any "classic" applications. And what of OS X applications, which were also all originally written for PowerPC? Apple has solutions to this dilemma:

  1. Universal Binaries: Through Apple's Xcode suite of developer tools, developers can recompile their applications as universal binaries. Essentially, this means that applications will be compiled for both PowerPC and Intel architectures. When the user goes to launch an application, the system will load the binary appropriate for the specific system. Thus, an application recompiled as a universal binary will run natively on either architecture.


    iTunes will run natively on both PowerPC and Intel

  2. Rosetta: Though universal binaries essentially solve the problem, they require extra time and money on the part of the developer. Just because the capability to build a universal binary exists doesn't mean that all of a user's applications will magically be rebuilt this way when they buy an Intel-powered Mac. Thus, users still need a way to run their existing PowerPC-only applications.

    This is where Rosetta steps in. This technology allows PowerPC applications to run on top of x86. Rosetta is a built-in part of OS X, so it is fully automatic and seamless - the user does not need to take any extra steps to get a PowerPC-only application to run in such a manner. Rather, they simply launch it as they always would, and Rosetta invisibly translates the application's instructions so that they work with the Intel processor. So what's the problem? This translation process eats up additional CPU power, so applications that run under Rosetta will suffer from a decrease in speed when compared to how they would run on a PowerPC chip. In addition, according to Apple's documentation, Rosetta is incapable of running the following:

    • Classic Environment, and subsequently any Mac OS 9 or earlier applications
    • Screensavers written for the PowerPC
    • System Preference add-ons
    • Applications which specifically require the PowerPC G5
    • Kernel extensions
    • Java applications with JNI (PowerPC) libraries

Windows XP

Since XP is an incremental upgrade from former Windows versions, it has few issues running legacy applications. All NT-compliant applications are supported (Windows NT and 2000), as well as Windows 95/98/ME, Windows 3.x, and DOS applications. These applications run fine with little to no change in speed. Because legacy applications may not have the same rigid rules regarding sharing/registering of DLL files, installing or uninstalling legacy applications may overwrite or remove these files, which in turn may cause other applications to behave undersirably. It should be noted that XP protects shared DLLs that it deems to be "system-critical." If any of these DLLs is removed or overwritten, XP seamlessly restores it upon reboot.

If you do happen to come across an application that doesn't work in Windows XP, you can run it in Compatibility mode. To do so, right-click the application's shortcut, then select Properties. Click the Compatibility tab, and then choose a Windows version that the program did work with. When the application is launched, it will be "tricked" into thinking it is running on the older operating system it was designed for, which may resolve any XP-specific issues.


Compatibility mode settings for a legacy application


Conclusion

Overall, both operating systems take steps to let the user run older applications on their current system. That being said, OS X suffers not only from a greater number of legacy issues than XP, but more serious issues as well:

For PowerPC-based Macs:

  • Classic support must be installed separately
  • The Classic environment has its own "boot time"
  • Classic does not fully support all OS 9 applications

For Intel-based Macs:

  • The Classic environment (thus, all OS 9 applications) is not supported
  • Applications that run under Rosetta will suffer from a decrease in speed
  • Rosetta does not fully support all PowerPC-based OS X applications

One could argue that Apple's legacy support is in fact impressive given the situation - an operating system transition and an architecture transition all within six years' time. However, the fact remains that in real world use, Windows XP's legacy support is far superior. It's only true negative point is that older applications won't respect XP's more rigid rules for sharing DLL files, which is to be expected (since those rules didn't exist at the time those applications were written). Most applications will simply run without issue, regardless of the initial version of Windows they were written for. Windows applications that do have issues can usually be run in Compatibility mode. In addition, support extends all the way back to MS-DOS. Thus, Windows XP users can effectively run nearly any DOS or Windows application written within the last 25 years. This level of legacy support is unrivaled in the industry.

Mac OS X: 3
Windows XP: 9

Back Accessing | Next Audio Playback