Universal Binary
読み方:ユニバーサルバイナリ
Universal Binaryとは、Appleのパソコン「PowerBook」と「MacBook Pro」が持つ異なった環境でも同じように動作することのできるアプリケーションのことである。それぞれに最適化されたバイナリファイルを持ち、両方で動作させることができる。
PowerBookとMacBook Proは、それぞれApple社のOS「Macintosh」を搭載するパソコンの名称である。そのうち在来機種となるPowerBookでは、CPUにAppleによる独自設計のCPU「PowerPC」が搭載されている。他方、2006年1月に発表された新設計パソコンであるMacBook Proは、PowerPCの採用を取りやめ、新たにIntel社のデュアルコアプロセッサ「Intel Core Duo」(開発コード名は「Yonah」)が搭載されることとなった。そのようにしてCPUの設計のレベルからMacintoshの仕様が移行した経緯がある。
CPUがデュアルコアに移行したことによってパソコンの性能は飛躍的に向上することとなったが、しかしPowerBookとMacBook Proは異なるCPU上で動作するため、ソースコードから実行ファイルを生成する作業(ビルド)が著しく異なる。そのため共通化のされていないアプリケーションは、操作の同一性が保証できないという難点がある。
Unversal Binaryは、PowerBookとMacBook Proの両方に最適化されたバイナリファイルを複数収録しているため、PowerPCを搭載のMacでもIntel Core Duoを搭載したMacでも動作することができる。Intel Core Duoを搭載したMacは、PowerPC搭載機に比べても性能が4倍まで向上するとされる。
Universal Binaryなコードを生成するためには、多くの場合、ソースコードをコンパイルする際に設定を多少変更するだけでよい。それでなくても、既存のプログラムコードのほとんどは特定のプロセッサに依存しない高次元なコーディングが行われているため、コードの数か所を調整するだけでUniversal Binaryを作成することができる。
なお、アプリケーションをIntel Macに対応させる方法としては、Universal Binaryを作成する以外に「Rosetta」と呼ばれるプログラムを動作させる方法がある。アプリケーションのアイコンをダブルクリックするだけで、バックグラウンドでRosettaがPowerPC向けアプリケーションをIntel Mac向けに変換する。RosettaはMac OS Xに組み込まれており、意識することも見ることもなく、コードの変換を行なう。
参照リンク
アップル~Universal
アップル~Rosetta
|