All Topics  
Universal binary

 

   Email Print
   Bookmark   Link






 

Universal binary



 
 
A universal binary is, in Apple parlance, an executable file or application
Application software

Application software is any tool that functions and is operated by means of a computer, with the purpose of supporting or improving the software user 's work....
 bundle
Bundle (NEXTSTEP)

Under NEXTSTEP, Mac OS X and GNUstep, a bundle is a directory that allows related resources such as software object file to be grouped together....
 that runs natively on either PowerPC
PowerPC

PowerPC is a RISC instruction set architecture created by the 1991 Apple Inc.?IBM?Motorola alliance, known as AIM alliance. Originally intended for personal computers, PowerPC CPUs have since become popular embedded system and high-performance processors....
 or x86
X86 architecture

The generic term x86 refers to the most commercially successful instruction set architecture in the history of personal computing. It derived from the model numbers, ending in "86", of the first few processor generations Backward compatibility with the original Intel 8086....
 (Intel)-based Macintosh computers; it is an implementation of the concept more generally known as a "fat binary
Fat binary

A fat binary is a computer program that is native to multiple Instruction set and thus can be run on multiple processor types. The usual method of implementation is to include a version of the machine code for each ISA, resulting in a file larger than a normal one-architecture binary, thus the name....
". The universal binary format was introduced at the 2005 Apple Worldwide Developers Conference as a means to ease the transition from the existing PowerPC architecture to systems based on Intel processors, which began shipping in 2006.






Discussion
Ask a question about 'Universal binary'
Start a new discussion about 'Universal binary'
Answer questions from other users
Full Discussion Forum



Encyclopedia


A universal binary is, in Apple parlance, an executable file or application
Application software

Application software is any tool that functions and is operated by means of a computer, with the purpose of supporting or improving the software user 's work....
 bundle
Bundle (NEXTSTEP)

Under NEXTSTEP, Mac OS X and GNUstep, a bundle is a directory that allows related resources such as software object file to be grouped together....
 that runs natively on either PowerPC
PowerPC

PowerPC is a RISC instruction set architecture created by the 1991 Apple Inc.?IBM?Motorola alliance, known as AIM alliance. Originally intended for personal computers, PowerPC CPUs have since become popular embedded system and high-performance processors....
 or x86
X86 architecture

The generic term x86 refers to the most commercially successful instruction set architecture in the history of personal computing. It derived from the model numbers, ending in "86", of the first few processor generations Backward compatibility with the original Intel 8086....
 (Intel)-based Macintosh computers; it is an implementation of the concept more generally known as a "fat binary
Fat binary

A fat binary is a computer program that is native to multiple Instruction set and thus can be run on multiple processor types. The usual method of implementation is to include a version of the machine code for each ISA, resulting in a file larger than a normal one-architecture binary, thus the name....
". The universal binary format was introduced at the 2005 Apple Worldwide Developers Conference 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
PowerPC

PowerPC is a RISC instruction set architecture created by the 1991 Apple Inc.?IBM?Motorola alliance, known as AIM alliance. Originally intended for personal computers, PowerPC CPUs have since become popular embedded system and high-performance processors....
 and x86
X86 architecture

The generic term x86 refers to the most commercially successful instruction set architecture in the history of personal computing. It derived from the model numbers, ending in "86", of the first few processor generations Backward compatibility with the original Intel 8086....
 versions of a compiled application. The operating system detects a universal binary by its header, and executes the appropriate section for the architecture in use. This allows the application to run natively on any supported architecture, with no negative performance impact (beyond an increase in the storage space taken up by the larger binary).

Motivation

There are two general alternative solutions. 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, although the confusion can be remedied through improved documentation, or the use of hybrid CD
Hybrid CD

A Hybrid disc is a CD-ROM that has multiple file systems, so that it can be used on various system software, for example both Apple Macintosh and Microsoft Windows based operating systems....
s. The other alternative is to rely on emulation of one architecture by a system running the other architecture. This approach results in lower performance, and is generally regarded an interim solution to be used only until universal binaries or specifically compiled binaries are available (see Rosetta
Rosetta (software)

Rosetta is a lightweight binary translation for Mac OS X distributed by Apple Inc.. It enables applications compiled for the PowerPC family of processors to run on Apple systems that use Intel central processing units....
).

Universal binaries are usually larger than single-platform binaries, because multiple copies of the compiled code must be stored. The size of the resulting universal binary can be, and usually is, smaller than both binaries combined, because some non-executable resources are shared by the two architectures. They also do not require extra RAM because only one of those two copies is loaded for execution.

History

Apple previously used a similar technique during the transition from 68k
68k

The Motorola 680x0/m68k/68k/68K is a family of 32-bit Complex instruction set computer microprocessor central processing unit chips and was the primary competition for the Intel x86 family of chips in personal computers of the 1980s and early 1990s....
 processors to PowerPC in the mid-1990s. These dual-platform executables were called "fat binaries
Fat binary

A fat binary is a computer program that is native to multiple Instruction set and thus can be run on multiple processor types. The usual method of implementation is to include a version of the machine code for each ISA, resulting in a file larger than a normal one-architecture binary, thus the name....
", referring to their larger file size.

NEXTSTEP
NEXTSTEP

Nextstep was the original Object-oriented operating system, computer multitasking operating system that NeXT developed to run on its range of proprietary computers, such as the NeXTcube....
, another predecessor of Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
, supported the fat binary so that one application bundle could be run on multiple architectures, including Intel's x86, Sun Microsystems
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
' Sparc
SPARC

SPARC is a Reduced Instruction Set Computer microprocessor instruction set Computer architecture originally designed in 1985 by Sun Microsystems....
 and Hewlett-Packard
Hewlett-Packard

The Hewlett-Packard Company , commonly referred to as HP, is a technology corporation headquartered in Palo Alto, California, United States....
's PA-RISC. The binary format underlying the universal binary, a Mach-O
Mach-O

Mach-O, short for Mach kernel object code file format, is a file format for executables, object code, shared libraries, dynamically-loaded code, and core dumps....
 archive, is the same format used for the fat binary in NEXTSTEP.

Apple's Xcode
Xcode

Xcode is a suite of tools for developing software on Mac OS X, developed by Apple Inc.. Xcode 3.0, the latest major version, is bundled free with Mac OS X v10.5, though it is not installed by default....
 2.1 supports the creation of these files, a new feature in that release. A simple application developed with processor-independence
Porting

In computer science, porting is the process of adapting software so that an executable Computer program can be created for a computing environment that is different from the one for which it was originally designed ....
 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.

Apple's Xcode
Xcode

Xcode is a suite of tools for developing software on Mac OS X, developed by Apple Inc.. Xcode 3.0, the latest major version, is bundled free with Mac OS X v10.5, though it is not installed by default....
 2.4 takes the concept of universal binaries even further, by allowing four-architecture binaries to be created (32 and 64 bit for both Intel and PowerPC), therefore allowing a single executable to take full advantage of the CPU capabilities of any Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
 machine.

Universal applications


Many software developers have provided universal binary updates for their products since the 2005 WWDC. As of December 2008, Apple's website now lists more than 7,500 Universal applications.

On April 16, 2007, Adobe announced the release of Adobe Creative Suite 3
Adobe Creative Suite

Adobe Creative Suite is a collection of graphic design, video editing, and web development Application software made by Adobe Systems. The collection consists of Adobe's applications , that are based on various technologies ....
, the first version of the application suite in a Universal Binary format.

As of March 2008, all high-profile applications for Mac OS X have been ported to Universal binary, including QuarkXPress
QuarkXPress

QuarkXPress is a computer application for creating and editing complex page layouts in a WYSIWYG environment. It runs on Mac OS X and Microsoft Windows....
, Apple's own Final Cut Studio
Final Cut Studio

Final Cut Studio is a professional video and audio production Software suite for Mac OS X from Apple Inc....
, Adobe Creative Suite
Adobe Creative Suite

Adobe Creative Suite is a collection of graphic design, video editing, and web development Application software made by Adobe Systems. The collection consists of Adobe's applications , that are based on various technologies ....
, Microsoft Office 2008, and Shockwave Player beginning with version 11. Non-Universal products will run on Intel Macs (in most cases), but with non-optimal performance, since they must be translated on-the-fly by Rosetta
Rosetta (software)

Rosetta is a lightweight binary translation for Mac OS X distributed by Apple Inc.. It enables applications compiled for the PowerPC family of processors to run on Apple systems that use Intel central processing units....
.

See also

  • Apple-Intel architecture
    Apple-Intel architecture

    The Apple-Intel architecture is an unofficial name used for Apple Inc. Macintosh personal computers developed and manufactured by Apple Inc. that use Intel x86 processors, rather than the PowerPC and 68k processors used in their predecessors....
  • Apple Intel transition
    Apple Intel transition

    The Apple Intel transition was the process of changing the CPU of Apple Macintosh computers from PowerPC processors to Intel x86 processors. The transition became public knowledge at the 2005 Apple Worldwide Developers Conference , when Apple Computer CEO Steve Jobs made the announcement that the company would make a transition from the use o...
  • Fat binary
    Fat binary

    A fat binary is a computer program that is native to multiple Instruction set and thus can be run on multiple processor types. The usual method of implementation is to include a version of the machine code for each ISA, resulting in a file larger than a normal one-architecture binary, thus the name....


External links

  • and
  • Apple
  • Apple