「Rosetta」のベース「Transitive」とは?

後藤弘茂のWeekly海外ニュース x86 Macintosh移行のカギを握るTransitiveという記事より。

PowerPCへの移行時に提供した「Mac 68Kエミュレータ」と似たような役割のシステムだが、今回は、新興のTransitive Technologiesの技術がベースになっていると言われている。これが本当だとすれば、Transitiveは、一体なぜAppleに採用されたのか。

AppleはIntelへの移行を踏まえ、PowerPCトランスレータ「Rosetta」の提供を発表していますが、果たして「Rosetta」はどのようなものなのか。「Transitive」という技術が用いられているそうですが、それはどのようなものなのか。

ということが、この記事で解説されています。

Transitiveの技術は、TransmetaのEfficeonのソフトウェア層CMS(Code Morphing Software)でやっているような高効率のコード変換を、一般的なCPUアーキテクチャ上で実現する。ソフトウェア(オンリー)版のTransmetaと考えればわかりやすいかもしれない。

そういえば、この技術の発表のニュースを見た記憶があります。Transitiveは「Power/PowerPCやMIPSなどのコードをx86やIA-64、Opteronで走らせたり、x86やMIPSをPower/PowerPCで走らせるソリューションを提供している」ので、これを使えば、Mac OSがIntelの上で簡単に動くんじゃないの? と思ったことを思い出しました。

ソフトウェア版のTransmetaというのは分かりやすい表現です。

この技術に関しては、現在のところはTransitiveのテクノロジ「QuickTransit」が唯一無二の存在のようですね。

ということは、逆に考えれば「QuickTransit」が無ければ、Mac OS XのIntel移行は無かったのかもしれません。OSは移行できても、簡単には移行できないアプリケーションが発生する訳ですからね。

ということで、さらに難しい話が書かれていますので、興味のある方は是非読んでみて下さい。