Rosetta (software)

Rosetta is a dynamic binary translator developed by Apple Inc. for macOS.

Rosetta
PowerPC application (Microsoft Word for Mac 2004) running on OS X for Intel in Rosetta
Developer(s)Apple Inc.
Operating systemMac OS X 10.4.4–10.6.8 (Intel)
macOS Big Sur 11.0–present (ARM)
TypePowerPC binary translation (original version)
Intel binary translation (Rosetta 2)
Websitewww.apple.com/asia/rosetta/ 

Apple released the first version of Rosetta in 2006 when it changed the instruction set architecture of the Macintosh platform from the PowerPC to the Intel processor. It was initially included with Mac OS X v10.4.4 "Tiger", the version that was released with the first Intel-based Macs, and allowed many PowerPC applications to run on certain Intel-based Mac computers without modification. The name "Rosetta" is a reference to the Rosetta Stone, the discovery that made it possible to comprehend and translate Egyptian hieroglyphs.[1] Rosetta is based on QuickTransit technology.[2] It has no graphical user interface, which led Apple to describe Rosetta as "the most amazing software you'll never see."[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 Intel Macintosh platform does not support PowerPC applications.[4]

Rosetta 2 is included as of macOS Big Sur to aid in Apple's transition to ARM processors from Intel processors.[5]

Rosetta

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.[6] 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"[7] to a universal binary version to work on Rosetta-supported Intel-based Macs.

Rosetta does not support the following:[8]

  • 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 cannot 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. By contrast, the 68k emulator accesses 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, which means that the nanokernel is able to intercept PowerPC interrupts, translate them to 68k interrupts (then doing a mixed mode switch, if necessary), and then execute 68k code to handle the interrupts. This allows lines of 68k and PPC code to be interspersed within the same fat binary.

Rosetta 2

Rosetta 2 is included as of macOS Big Sur to aid in Apple's transition to ARM processors from Intel processors.[5][9] In addition to the just-in-time (JIT) translation support available in Rosetta, Rosetta 2 includes support for translating an application at installation time, effectively creating a Universal 2 application.

See also

References

  1. Core Duo iMacs debut speedy new chips Archived March 3, 2012, at the Wayback Machine
  2. "The brains behind Apple's Rosetta: Transitive". CNET News.com. June 8, 2005. Archived from the original on July 14, 2014. Retrieved July 4, 2007.
  3. "Rosetta". Apple. Archived from the original on November 16, 2010. Retrieved September 5, 2011.
  4. AppleInsider Staff (February 26, 2011). "Mac OS X Lion drops Front Row, Java runtime, Rosetta". AppleInsider. AppleInsider, Inc. Archived from the original on April 29, 2014. Retrieved February 27, 2011.
  5. Warren, Tom (June 22, 2020). "Apple is switching Macs to its own processors starting later this year". The Verge. Retrieved June 22, 2020.
  6. "Rosetta" (PDF). Universal Binary Programming Guidelines, Second Edition. Apple. Archived from the original (PDF) on August 3, 2012. Retrieved September 5, 2011.
  7. "Universal Applications". Apple. Archived from the original on March 3, 2016. Retrieved August 5, 2019.
  8. "What Can Be Translated?" (PDF). Universal Binary Programming Guidelines, Second Edition. Apple. Archived from the original (PDF) on August 3, 2012. Retrieved September 5, 2011.
  9. Mayo, Benjamin (June 22, 2020). "Apple announces Mac architecture transition from Intel to its own ARM chips, offers emulation path". 9to5Mac. Retrieved June 23, 2020.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.