Universal Binary Article Index for
Universal
Website Links For
Universal
 

Information About

Universal Binary




A universal binary is — in Apple Computer 's parlance — an Executable File that runs natively on both PowerPC - and X86 ( Intel )-based Macintosh computers. It was introduced at the 2005 WWDC as a means to ease the transition from the existing PowerPC architecture to systems based on Intel processors, which began shipping in 2006. Universal binaries typically include both PowerPC and X86 versions of a compiled application. The specification for a universal binary does allow for more than two versions of the binary, with another possibility including separate code for PowerPC, PowerPC 64-bit and x86. The operating system detects a universal binary by its header, and executes the appropriate section depending on the architecture in use. This allows the application to run at full speed on any architecture, with no appreciable performance impact.

There are two general alternative solutions to this one. The first is to simply provide two separate binaries, one compiled for the x86 architecture and one for the PowerPC architecture. However, this can be confusing to software users unfamiliar with the difference between the two. The other alternative is to rely on Emulation of one architecture by a system running the other architecture. This approach results in slower performance, and is generally regarded an interim solution to be used only until universal binaries or specifically-compiled binaries are available. (See Rosetta .)

Universal binaries are usually substantially larger than single-platform binaries, because two copies of the compiled code must be stored. The size of the resulting universal binary is usually not double as a significant portion will be resources which are shared between the two architectures. They do not require extra RAM , however, because only one of those two copies is loaded for execution.

Apple previously used a similar technique during the transition from 68k processors to PowerPC in the mid-1990s. These dual-platform executables were called " Fat Binaries ", referring to their larger file size.

Apple's Xcode 2.1 supports the creation of these files, a new feature in that release. A simple application developed with Processor-independence in mind might require very few changes to compile as a universal binary, but a complex application designed to take advantage of architecture-specific features might require substantial modification. Applications originally built using other development tools might require additional modification. These reasons have been given for the delay between the introduction of Intel-based Macintosh computers and the availability of third-party applications in universal binary format. Apple's delivery of Intel-based computers several months ahead of their previously announced schedule is another factor in this gap.


UNIVERSAL APPLICATIONS


Productivity



Games



EXTERNAL LINKS