Rosetta

| この項目では、macOSの基盤技術について説明しています。その他の用法については「ロゼッタ」をご覧ください。

|

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。（このテンプレートの使い方）
出典検索?: "Rosetta" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2011年7月)

|

Rosetta（ロゼッタ）は、特定のアーキテクチャのプログラムコードを持つバイナリを、別のアーキテクチャに適宜変換 (en:Dynamic recompilation) することでバイナリの互換性を維持するAppleの技術。

## Rosetta

[編集]

2004年、MacintoshがPowerPCからインテルアーキテクチャへ移行することに伴い、従来のバイナリの互換性を維持するためにPowerPC用プログラムコードをインテル用コードに変換するRosettaが開発され、Appleの発注を受け仮想化ミドルウエア開発で実績のある米Transitive（2009年にIBMが買収[1]）の技術が導入された[2][3]。

インテルアーキテクチャ向けに対応し、2006年にリリースされたIntel版Mac OS X v10.4.4に初搭載され、Mac OS X v10.6 "Snow Leopard"ではインストールが任意化[4]及び最後の対応となり、Mac OS X Lionで廃止された[5]。

### 仕組みとパフォーマンス

[編集]

どの程度のサイズのバイナリコードが変換されるかは動的に変化する（キャッシュメモリと同じような概念で、必要なプログラムコードを任意の容量読み込んだ上でx86コードに変換するため、逐一命令を変換するエミュレータとはいささか趣を異にする）。アプリケーションのコード全体をインテル用コードに変換してから実行する機能はない。ユニバーサルバイナリ対応のソフトでは自動的にインテル用コードが実行される。

Rosetta環境下で実行されるPowerPCバイナリはx86コードへと変換され、ユーザ側からはCPU種別を意識することなくアプリケーションを実行できる。ただし、前述の動作方法ゆえに速度の低下は避けられず、シングルコアG5より高速と言われるIntel Core Duoで同クロックのG4の50～80%以下の速度になる(メモリ容量や周辺ハードウェアの違いに左右されるため一概には言えない)といわれている。当初RosettaはG3互換の環境とされていたが、実際にはAltiVecに対応したG4互換の環境として出荷された。G5ネイティブのコードについては最後までサポートされなかった。[要出典]

Rosettaを利用した場合、たとえ最新のCore i7でも、PowerPC時代のPower Macと比べても性能はそれほど伸びない。PowerPCアプリケーションのほぼ全てがエンディアンをビッグエンディアンに揃えていて、それをIntelシステム上で動くコードに置き換えるとき、リトルエンディアンへのバイトスワップとアライメント調整を行うコードを大量に出力してしまうのが最大の原因と言われている。[要出典]メモリの読み書きはCPUにとって基本的な機能であり、そこに足かせがつけられてしまうのはアプリケーション性能に重大な影響を与えてしまう。逆を言えばバイトスワップが発生しないバイトオーダーの処理がメインのアプリケーションでは非常に優れたパフォーマンスを発揮し得る。しかしそのようなソフトウエアは少なく、例えば画像処理など基本的にバイトオーダーで処理するソフトウエアでもワードアクセスした後バンドル処理を行うといったチューニングが施されているため、Rosettaの上で動かそうとすると裏目に出る結果となる。

なお、RosettaはClassic環境をサポートせず、スクリーンセーバやシステム環境設定など、非アプリケーションのバイナリも実行できない。PowerPCコードとx86コードの混在したプロセスも処理できず、アプリケーションソフトウェアのPowerPC対応プラグインを使用するには、アプリケーション全体をRosettaで起動しなくてはならない（なお、DashboardウィジェットはダイナミックHTMLベースであるため、CPUの違いの影響を受けない）。この点はMixed Mode Managerにより68kコードとPowerPCコードの混在したプロセスを処理可能としていたMac OSのコード変換機構と異なり、注意が必要である。

## Rosetta 2

[編集]

2020年6月に行われたWWDC 2020において、AppleはMacのアーキテクチャをインテルX86-64からAppleシリコンに移行することを発表した[6]。Rosetta 2はAppleシリコンを搭載したコンピューターでもインテル向けアプリケーションを実行できるソフトウェアとして発表され、同年11月にリリースされたmacOS Big Surで利用可能となった[7]。

インテル向けの従来のアプリケーションは、Xcode 12で再ビルドするだけでインテルとAppleシリコンの両方に対応したUniversal Binaryにできるとされているが、それを行っていない古いアプリケーションをAppleシリコンを搭載したMacで使用するには、Rosetta 2を経由することになる[8]。

Rosettaとは異なりインストール時にARMプログラムに変換する機能が実装されたほかAppleシリコンの効率が高いためRosettaが不得意だった計算量の多いプロユースなソフトウェアもRosetta 2を通じてほぼ全て変換できる。Rosetta 2のインストールは任意であり、Appleシリコンを搭載したMacではじめてインテル向けのアプリケーションを起動したときにインストールできる[9]。

Appleは、WWDC 2025時に、Intel MacのサポートはmacOS Tahoe 26までとし、macOS 27を最後にRosetta 2を廃止すると発表した[10]。

## 脚注

[編集]

[脚注の使い方]

1. ^ 日経クロステック（xTECH）. “IBM，クロスプラットフォーム仮想化のTransitiveを買収へ”. 日経クロステック（xTECH）. 2022年3月31日閲覧。
2. ^ 86系に乗り換えるApple社の秘策，「Rosetta」の概要が明らかに
3. ^ “アップルのコード変換ソフト「Rosetta」をめぐる期待と不安”. CNET Japan (2005年6月9日). 2022年3月31日閲覧。
4. ^ 話題のユキヒョウを追う「Snow Leopard、ココに注目」(3) - 互換性の謎を解く
5. ^ 新機能のポイントをチェック! アップル「OS X Lion」速攻レビュー(後編)
6. ^ “Apple、MacにAppleシリコンを搭載することを発表”. Apple Newsroom. 2020年6月24日閲覧。
7. ^ “macOS Big Surが登場”. Apple Newsroom (日本). 2022年3月31日閲覧。
8. ^ 株式会社インプレス (2020年6月23日). “【笠原一輝のユビキタス情報局】 IntelからArmへのシームレスな移行を実現する「macOS Big Sur」”. PC Watch. 2022年3月31日閲覧。
9. ^ “WWDC 2020 - Videos - Apple Developer”. developer.apple.com. 2020年7月4日閲覧。
10. ^ “About the Rosetta translation environment” (英語). Apple Developer Documentation. 2025年6月12日閲覧。

## 関連項目

[編集]

* FX!32（英語版） \- DEC Alpha向けの類似技術
* QuickTransit（英語版）

* 表
* 話
* 編
* 歴

macOS

バージョン|

* Public Beta
* 10.0
* 10.1
* 10.2
* 10.3
* 10.4
* 10.5
* 10.6
* 10.7
* 10.8
* 10.9
* 10.10
* 10.11
* 10.12
* 10.13
* 10.14
* 10.15
* 11
* 12
* 13
* 14
* 15
* 26

アプリケーション|

* Automator
* DVD プレーヤー
* FaceTime
* Finder
* Font Book
* Image Playground（英語版）
* iPhoneミラーリング
* Launchpad
* Mac App Store
* News（英語版）
* Photo Booth
* QuickTime Player
* Safari
* Siri
* TV
* カレンダー
* 株価
* 計算機
* 探す
* 写真
* 辞書
* システム設定
* ショートカット
* スティッキーズ
* チェス
* テキストエディット
* 天気
* 時計
* パスワード（英語版）
* ヒント
* ブック
* フリーボード
* プレビュー
* ホーム
* ボイスメモ
* ポッドキャスト
* マップ
* ミュージック
* メール
* メッセージ
* メモ
* リマインダー
* 連絡先

廃止|

* Dashboard
* Front Row
* iChat
* iPhoto
* iSync
* iTunes

ユーティリティ|

* AirMacユーティリティ
* Audio MIDI 設定
* Bluetoothファイル交換
* Boot Campアシスタント
* ColorSyncユーティリティ
* Digital Color Meter
* Grapher
* Mission Control
* Time Machine
* VoiceOverユーティリティ
* アーカイブユーティリティ
* アクティビティモニタ
* 移行アシスタント
* イメージキャプチャ
* 拡張スロットユーティリティ
* 画面共有
* キーチェーンアクセス
* コンソール
* システム情報
* スクリプトエディタ
* スクリーンショット
* ターミナル
* チケットビューア
* ディスクユーティリティ
* ディレクトリユーティリティ
* デスクビュー
* フィードバックアシスタント
* フォルダアクション設定
* プリントセンター
* ワイヤレス診断

廃止|

* Sherlock
* グラブ
* ネットワークユーティリティ

テクノロジーおよび
インタフェース|

* AirDrop
* AirPlay
* AirPrint
* Apple Pay
* Apple File System
* Apple Intelligence
* Apple Remote Desktop
* AppleScript
* Apple Type Services for Unicode Imaging
* Appleシリコン
* Appleでサインイン
* Aqua
* Audio Units
* AVFoundation
* Bonjour
* Boot Camp
* bridgeOS
* Cocoa (API)
* ColorSync
* Core Animation
* Core Audio
* Core Data
* Core Foundation
* Core Text
* Core Image
* CUPS
* Darwin
* Dock
* FileVault
* Game Center
* Gatekeeper
* Genmoji（英語版）
* Grand Central Dispatch（英語版）
* Keychain
* launchd
* Liquid Glass
* Mac Catalyst
* Mach-O
* Metal
* Mission Control
* Night Shift（英語版）
* Open Directory
* plist
* Preferred Executable Format
* Push Notifications
* Quartz
* Quartz Compositor
* Quick Look
* Rosetta 2
* Secure Enclave
* Shazam
* Siri
* Spotlight
* Swift
* Time Machine
* Touch ID
* Uniform Type Identifier
* Universal Binary
* VoiceOver
* WebKit
* XNU
* XQuartz
* アップルメニュー
* アプリケーションパッケージ
* コントロールセンター
* システム整合性保護
* スクリーンタイム
* 通知センター
* 日本語入力プログラム
* ファミリー共有（英語版）
* マルウェア削除ツール
* 文字ビューア

非推奨|

* Carbon (API)
* HFS Plus • HFSX
* OpenGL
* OpenCL

廃止|

* Apple Filing Protocol
* Backup
* Classic
* Cover Flow
* Dashcode
* Inkwell
* Project Builder
* QuickTime X
* QuickTime 7
* Rosetta
* Spaces
* Xgrid
* ことえり
* ペアレンタルコントロール
* 32ビットアプリケーション

開発ツール|

* Apple Developers Tools
* Interface Builder
* iOS SDK
* iPhone Simulator
* Swift Playgrounds
* Xcode

その他|

* Macのオペレーティングシステム
* WWDC

* 一覧
* カテゴリ