Rosetta (software)

Rosetta es un traductor dinámico binario para Mac OS X que permite a muchas aplicaciones PowerPC correr en ciertas arquitecturas Intel de las computadoras Macintosh sin modificaciones. Apple publicó el software Rosetta en 2006 cuando hicieron la transición de las plataformas Macintosh basadas en procesadores PowerPC a la de Intel. El nombre de "Rosetta" es una referencia a la piedra rosetta, el descubrimiento que hizo posible comprender y traducir los jeroglíficos egipcios.

Una ilustración de un procesador de silicio de Apple.


Rosetta está basada en la tecnología QuickTransit.[1]​ No tiene interfaz de usuario, lo que llevó a Apple a describir la aplicación de Rosetta como "el software más sorprendente que jamás se ha visto".[2]

Rosetta inicialmente estuvo incluido en el sistema operativo Mac OS X v10.4.4 "Tiger", la versión que fue inicialmente puesta a la venta junto con los primeros modelos de arquitectura Intel de Macintosh.[3]

El software de Rosetta no está instalado por omisión en la versión Mac OS X v10.6, conocido también como "Snow Leopard", pero puede conservarse como una opción mediante el instalador o haciendo uso de la aplicación actualización de software de Apple para usuarios que necesitan correr aplicaciones basadas en PowerPC.[4]

Rosetta no está incluido ni soportado por la versión Mac OS X v10.7 "Lion" o superior. Por lo tanto, con Lion y para futuros lanzamientos, la actual plataforma Macintosh no tiene soporte con aplicaciones de PowerPC.[4]

Compatibilidad

editar

Rosetta es parte de Mac OS X para sistemas operativos Intel anteriores a Lion. El programa traduce G3, G4, e instrucciones AltiVec; sin embargo, no puede traducir instrucciones G5. Por lo tanto, las aplicaciones que dependen de conjuntos de instrucciones específicos G5 necesariamente deben ser modificados por los respectivos desarrolladores. Según Apple, la aplicaciones con alta interacción con el usuario pero con bajas necesidades computacionales (como el procesador word) pueden ser perfectamente traducidas por Rosetta, mientras que las aplicaciones con altas necesidades computacionales (como trazador de rayos), videojuegos, o Adobe Photoshop) no es posible.[5]​ Las versiones existentes de las aplicaciones de producción multimedia "Pro" de Apple (como Final Cut Pro, Motion, Aperture, y Logic Pro) no son soportadas por Rosetta y requiere hacer "crossgrade" a una versión binaria universal para trabajar en computadoras Macintosh basadas en Intel con soporte en Rosetta.

Rosetta no soporta lo siguiente:[6]

  • El entorno clásico, y por lo tanto ninguna aplicación desarrollada para Mac OS 9 o versiones anteriores
  • Código que inserte preferencias dentro el panel de preferencias del sistema
  • Aplicaciones que requieran un procesador G5
  • Aplicaciones que requieran un preciso manejo de excepción.
  • Protectores de pantalla.
  • Extensiones de Kernel y aplicaciones que dependan de éstas
  • Aplicaciones Java instalados por omisión o aplicaciones Java con librerías JNI que no puedan ser traducidas
  • Applets de Java en aplicaciones ya traducidas por Rosetta. Lo que significa que una aplicación de un navegador de internet nativo de Intel, en vez de una versión "legacy PowerPC", debe usarse para ejecutar applets de Java.

La razón por la cual la compatibilidad de Rosetta comparada con las transiciones anteriores de Apple como el emulador de 68k para PPCs reside en la implementación. Rosetta es un programa de Espacio de usuario que solo puede interceptar y emular código de nivel usuario, mientras que la anterior emulación fue integrada al sistema a un nivel mucho menor. El emulador de 68k le fue permitido tener acceso a los niveles más bajos del sistema operativo tras estar en el mismo nivel, y muy estrechamente conectado, al nanokernel de Mac OS en Macs PPC (usado posteriormente para multiprocesamiento bajo Mac OS 8.6 o superior), lo que significa que el nanokernel fue capaz de interceptar interrupciones de PowerPC, traducirlas a 68k, después interrumpe (haciendo un switch de modo mezclado), y finalmente ejecutando el código de 68k para manipular las interrupciones. Esto permite que las líneas de 68k y código PPC a ser intercaladas dentro de la misma aplicación FATbinaria. Mientras que un efecto similar pudo posiblemente haber sido logrado para un Mac OS X tras ejecutar Rosetta dentro de XNU, Apple decidió mejor implementar Rosetta como un proceso de nivel usuario para evitar un debugging excesivo y problemas potenciales de seguridad.[cita requerida]

Véase también

editar
  • Emulador Mac de 68k - programa de nivel bajo usado para un propósito similar durante la transición del procesador 680x0 a la PowerPC
  • Universal binary - Es una combinación de aplicaciones PPC/Intel que corren nativamente en los dos procesadores.
  • Fat binary - Es una combinación de aplicaciones PPC/68k que se ejecutan en viejas Macintosh

Referencias

editar
  1. «The brains behind Apple's Rosetta: Transitive». CNET News.com. 8 de junio de 2005. Archivado desde el original el 21 de junio de 2006. Consultado el 4 de julio de 2007. 
  2. «Rosetta». Apple. Archivado desde el original el 16 de noviembre de 2010. Consultado el 5 de septiembre de 2011. 
  3. Core Duo iMacs debut speedy new chips Archivado el 3 de marzo de 2012 en Wayback Machine.
  4. a b AppleInsider Staff (26 de febrero de 2011). «Mac OS X Lion drops Front Row, Java runtime, Rosetta». AppleInsider. AppleInsider, Inc. Archivado desde el original el 29 de abril de 2014. Consultado el 27 de febrero de 2011. 
  5. «Rosetta». Universal Binary Programming Guidelines, Second Edition. Apple. Archivado desde el original el 27 de marzo de 2012. Consultado el 5 de septiembre de 2011. 
  6. «What Can Be Translated?». Universal Binary Programming Guidelines, Second Edition. Apple. Archivado desde el original el 27 de marzo de 2012. Consultado el 5 de septiembre de 2011. 

Enlaces externos

editar