Universal Binary

Universal Binary(ユニバーサルバイナリ)は、Appleが開発した、互換性のない複数種類のCPU(例えばPowerPCx86、もしくはx64ARM64など)でソフトウェアを動作させることができるようにするためのバイナリである。自社で販売しているパーソナルコンピュータMacintosh」に搭載されているCPUを、PowerPCからインテルx86に移行するにあたって発表された。さらにmacOSにおける32ビット64ビットの過渡期(当時の名称はMac OS X)においては、32ビットバイナリと64ビットバイナリを混在させるためにも利用されている。

ユニバーサルバイナリに対応したアプリケーションソフトウェアであれば、ユーザー側は実行環境のCPUアーキテクチャを気にすることなく(CPUに応じた個別のパッケージをダウンロードすることなく)、単一のアプリケーションパッケージを統一的に利用し、かつ(Rosettaのような)変換層を介さずCPUのネイティブ性能を発揮させることができる。欠点としては、各アーキテクチャに応じた複数のバイナリを含むため、単一のアーキテクチャ専用のバイナリと比べるとファイルサイズが増大してしまうことなどが挙げられる。

インテル系プロセッサ向けx86_64Appleシリコン向けarm64のネイティブコードを含むバイナリフォーマットは「Universal 2」と呼ばれ、WWDC 2020で「Rosetta 2」とともに発表された[1][2][3]

lipo

macOSではlipoというコマンドラインツールが標準提供されている[4]。このツールを使用することで、複数の異なるアーキテクチャ向けバイナリを結合してユニバーサルバイナリを生成したり、ユニバーサルバイナリに格納されているアーキテクチャの種別を確認したり、特定のアーキテクチャ向けバイナリのみを取り除いたりすることができる。

脚注

  1. ^ “This is Apple's roadmap for moving the first Macs away from Intel”. 2022年2月16日閲覧。
  2. ^ 【笠原一輝のユビキタス情報局】IntelからArmへのシームレスな移行を実現する「macOS Big Sur」 - PC Watch
  3. ^ ユニバーサルバイナリ再登板ということは「lipo」の出番かも - 新・OS X ハッキング!(268) | マイナビニュース
  4. ^ Building a Universal macOS Binary | Apple Developer Documentation

関連項目

外部リンク

  • Universalアプリケーション[リンク切れ]
  • 表示
  • 編集
バージョン
macOS logo
アプリケーション
廃止
ユーティリティ
廃止
  • グラブ
  • ネットワークユーティリティ
テクノロジーおよび
インタフェース
非推奨
廃止
開発ツール
  • 一覧
  • カテゴリ