Rosetta (software)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Rosetta
250px
PowerPC application (Microsoft Word for Mac 2004) running on OS X for Intel
Developer(s) Apple Inc.
Operating system Mac OS X 10.4.4–10.6.8 (Intel)
Type PowerPC binary translation
Website {{#property:P856}}

Rosetta is a dynamic binary translator for Mac OS X that allows many PowerPC applications to run on certain Intel-based Macintosh computers without modification. Apple released Rosetta in 2006 when it changed the instruction set architecture of the Macintosh platform from the PowerPC to the Intel processor. The name "Rosetta" is a reference to the Rosetta Stone, the discovery that made it possible to comprehend and translate Egyptian hieroglyphs.

Rosetta is based on QuickTransit technology.[1] It has no graphical user interface, which led Apple to describe Rosetta as "the most amazing software you'll never see."[2]

Rosetta was initially included with Mac OS X v10.4.4 "Tiger", the version that was released with the first Intel-based Macintosh models.[3]

Rosetta is not installed by default in Mac OS X v10.6 "Snow Leopard", but can be retained as an option via the installer or Apple Software Update for users who need to run PowerPC applications.[4]

Rosetta is neither included nor supported in Mac OS X v10.7 "Lion" or later. Therefore, with Lion and later releases, the current Macintosh platform does not support PowerPC applications.[4]

Compatibility

Lua error in package.lua at line 80: module 'strict' not found. Rosetta is part of Mac OS X for Intel operating systems prior to Lion. It translates G3, G4, and AltiVec instructions; however, it does not translate G5 instructions. Therefore, applications that rely on G5-specific instruction sets must be modified by their developers to work on Rosetta-supported Intel-based Macs. According to Apple, applications with heavy user interaction but low computational needs (such as word processors) are well suited to translation via Rosetta, while applications with high computational needs (such as AutoCAD, games, or Adobe Photoshop) are not.[5] Pre-existing PowerPC versions of Apple "Pro" media-production applications (such as Final Cut Pro, Motion, Aperture, and Logic Pro) are not supported by Rosetta and require a "crossgrade" to a universal binary version to work on Rosetta-supported Intel-based Macs.

Rosetta does not support the following:[6]

  • The Classic environment, and thus any non-Carbon application built for Mac OS 9 or earlier
  • Code that inserts preferences into the System Preferences pane
  • Applications that require a G5 processor
  • Applications that require precise exception handling
  • Screen savers
  • Kernel extensions and applications that depend on them
  • Bundled Java applications or Java applications with JNI libraries that can’t be translated
  • Java applets in Rosetta-translated applications, meaning that a native Intel web browser application, rather than a legacy PowerPC version, must be used to load Java applets

The reason for Rosetta’s reduced compatibility compared to Apple’s earlier 68k emulator for PPCs lies within its implementation: Rosetta is a user-level program and can only intercept and emulate user-level code, while the older emulator was integrated with the system at a much lower level. The 68k emulator was given access to the very lowest levels of the OS by being at the same level as, and tightly connected to, the Mac OS nanokernel on PPC Macs (later used for multiprocessing under Mac OS 8.6 and later), which means that the nanokernel was able to intercept PowerPC interrupts, translate them to 68k interrupts (then doing a mixed mode switch, if necessary), and then executing 68k code to handle the interrupts. This allowed lines of 68k and PPC code to be interspersed within the same binary of a fat application. While a similar effect could likely have been achieved for Mac OS X by running Rosetta within XNU, Apple instead chose to implement Rosetta as a user-level process to avoid excessive debugging and the potential for security issues.[citation needed] Additionally, Steve Jobs was not at Apple at the time the 68k emulator was implemented.

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Core Duo iMacs debut speedy new chips Archived March 3, 2012 at the Wayback Machine
  4. 4.0 4.1 Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.

External links