Binario universal

Un binario universal es, en lenguaje de Apple, un archivo ejecutable o bulto de aplicación que corre natalmente en PowerPC o en IA-32 fabricado por Intel u ordenadores del Macintosh basados en Intel 64; es una realización del concepto más generalmente conocido como un binario gordo.

Con la liberación de Mac OS X Snow Leopard, y antes de que esto, desde el movimiento a arquitecturas de 64 bites en general, algunos editores del software como Mozilla haya usado el término Universal para referirse a un binario gordo que incluye adaptado construye para ambos i386 (Intel de 32 bites) y sistemas x86_64. El mismo mecanismo que está acostumbrado escogido entre PowerPC de encargo o Intel construye de una aplicación, también está acostumbrado escogido entre el de 32 bites o el de 64 bites construye de arquitecturas de Intel o de PowerPC.

Apple, sin embargo, sigue requiriendo la compatibilidad natal tanto con PowerPC como con Intel a fin de conceder a permiso de editores del software del tercero de usar las marcas registradas de Apple relacionadas con binarios Universales. Al mismo tiempo, Apple no especifica si tales editores del software del tercero deben (o si) el bulto separado construye tanto para las variantes de 32 bites como para de 64 bites de la una o la otra arquitectura.

El formato binario universal se introdujo en Apple de 2005 Conferencia de Reveladores Mundial como un medio de aliviar la transición de la arquitectura de PowerPC existente a sistemas basados en procesadores de Intel, que comenzaron a transportar en 2006. Los binarios universales típicamente incluyen tanto PowerPC como las versiones x86 de una aplicación compilada. El sistema operativo descubre un binario universal por su jefe y ejecuta la sección apropiada para la arquitectura en el uso. Esto permite que la aplicación corra natalmente en cualquier arquitectura apoyada, sin el impacto de rendimiento negativo más allá de un aumento del almacén tomado por el binario más grande.

Comenzando con Mac OS X Snow Leopard, Macs sólo basados en Intel se apoyan, por tanto el software que expresamente depende de capacidades sólo presenta en OS X 10.6 o más nuevo ya no requieren binarios gordos Intel/PPC. Además, comenzando con Mac OS X Lion, Intel Macs sólo de 64 bites se apoya; por lo tanto, el software que expresamente depende de nuevos rasgos en Mac OS X 10.7 o más nuevo ya no requiere binarios 32-bit/64-bit gordos. Actualmente, los binarios gordos sólo serían necesarios para el software que se diseña para tener la compatibilidad con versiones anteriores con versiones más viejas de Mac OS X que corre en el hardware más viejo.

Motivación

Hay dos soluciones alternativas generales. El primer debe proporcionar simplemente dos binarios separados, un compilado para la arquitectura x86 y un para la arquitectura de PowerPC. Sin embargo, esto puede ser confuso para usuarios del software desconocidos con la diferencia entre los dos, aunque la confusión se pueda remediar a través de la documentación mejorada o el uso de CDs híbridos. La otra alternativa debe confiar en la emulación de una arquitectura por un sistema que dirige la otra arquitectura. Este enfoque causa el rendimiento inferior y generalmente se considera una solución interina sólo para usarse hasta los binarios universales o los binarios expresamente compilados están disponibles (ver a Rosetta).

Los binarios universales son más grandes que binarios de la plataforma sola, porque copias múltiples del código compilado se deben almacenar. Sin embargo, porque algunos recursos no ejecutables son compartidos por las dos arquitecturas, la talla del binario universal que resulta puede ser, y por lo general es, más pequeña que ambos binarios combinados. También no requieren la RAM suplementaria porque sólo una de aquellas dos copias se carga para la ejecución.

Historia

Apple antes usó una técnica similar durante la transición de procesadores 68k a PowerPC a mediados de los años 1990. Éstos plataforma dual executables se llamaron binarios gordos, refiriéndose a su talla del archivo más grande.

NEXTSTEP, otro precursor de Mac OS X, apoyó el binario gordo de modo que un bulto de aplicación se pudiera dirigir en arquitecturas múltiples, incluso x86 de Intel, SPARC de Sun Microsystems y el PAPÁ-RISC de Hewlett-Packard. El formato binario que es la base del binario universal, un archivo Macho, es el mismo formato usado para el binario gordo en NEXTSTEP.

Xcode de Apple 2.1 apoyos la creación de estos archivos, un nuevo rasgo en esa liberación. Una aplicación simple desarrollada con la independencia del procesador en mente podría requerir que muy pocos cambios compilaran como un binario universal, pero una aplicación compleja diseñada para aprovechar rasgos específicos para la arquitectura podría requerir la modificación sustancial. Las aplicaciones al principio construyeron la utilización de otras herramientas de desarrollo podría requerir la modificación adicional. Han dado estas razones de la tardanza entre la introducción de ordenadores del Macintosh basados en Intel y la disponibilidad de aplicaciones del tercero en el formato binario universal. La entrega de Apple de ordenadores basados en Intel varios meses delante de su horario antes anunciado es otro factor en este hueco.

Xcode de Apple 2.4 toma el concepto de binarios universales aún adelante, permitiendo binarios de cuatro arquitecturas crearse (32-y de 64 bites tanto para Intel como para PowerPC), por lo tanto permitiendo a un single ejecutable tomar la ventaja llena de las capacidades de la CPU de cualquier máquina de Mac OS X.

Aplicaciones universales

Muchos reveladores del software han proporcionado actualizaciones binarias universales a sus productos desde WWDC de 2005. Desde el diciembre de 2008, el sitio web de Apple ahora pone más de 7,500 aplicaciones Universales en una lista.

El 16 de abril de 2007, el Adobe anunció la liberación de Adobe Creative Suite 3, la primera versión de la suite de aplicación en un Formato binario Universal.

Desde el marzo de 2008, muchas solicitudes para Mac OS X se han virado a babor al binario Universal, incluso QuarkXPress, propio Estudio de la Versión final de Apple, Adobe Creative Suite, Microsoft Office 2008 y Jugador Shockwave que comienza con la versión 11. Los programas no universales correrán en Intel Macs que dirige a Mac OS X 10.4, 10.5, y 10.6 (en mayoría de los casos), pero con el rendimiento no óptimo, ya que deben ser traducidos en marcha por Rosetta. Los programas PowerPC no universales no dirigirán en Mac OS X 10.7 León ya que Rosetta ya no es la parte del OS.

Identificación de binarios universales

La orden de Unix (en OS X y varios otros sistemas parecidos a Unix) puede identificar binarios universales Machos e informe qué arquitectura (s) apoyan.

El Procontribuyente del Sistema del Leopardo de la nieve proporciona esta información sobre la etiqueta Applications.

Véase también

Enlaces externos



Buscar