[[↑14 章トップへ|Palm OS Programmer's Companion Volume I/14]] [[2 節に進む →|Palm OS Programmer's Companion Volume I/14-2]] ---- !!!14-1 Palm OS Garnet と ARM を理解する   Palm OS Garnet は、Palm オペレーティングシステムの 68K プロセッサから ARM プロセッサへの完全な移植です。 ::68K :::68K プロセッサという表現は、モトローラの 68000 系プロセッサを意味します。 ::ARM :::ARM プロセッサという表現は、Advanced RISC Machine 系プロセッサを意味します。ARM プロセッサは 4 バイトタイプの RISC プロセッサで、様々なベンダによって提供されています。 Palm OS Garnet では、オペレーティングシステム全体は ARM プロセッサ上でネイティブに実行されます。アプリケーションが Palm OS API 関数をコールすると、API 関数は ARM プロセッサでフルスピードで実行されます。ほとんどのアプリケーションは実行時間の大半をオペレーティングシステム関数の実行に費やすため、そのようなアプリケーションでは、変更を加えることなく ARM プロセッサのパフォーマンス上の恩恵を得ることができます。   !!Palm Application Compatibility Environment Palm OS Garnet には、全ての Palm OSアプリケーションがその中で動作する、Palm Application Compatibility Environment (PACE) が含まれています。PACE は従来の Palmハンドヘルドが使用していた68Kファミリのプロセッサをエミュレートし、ARM プロセッサを採用したハンドヘルドにおいて新しいアプリケーションと古いアプリケーションの両方が使えるようにします。 Palm OS 関数はエミュレートではなくネイティブ実行されるため、PACE はほとんどの68Kアプリケーションに対して優れたパフォーマンスを提供します。結果として、ほとんどの68Kアプリケーションには ARM 向けに書きなおすメリットはありません。 PACE がどのようにして 68K アプリケーションと ARM ネイティブで動作する Palm OS Garnet の間に互換性レイヤーを提供しているかを図 14.1 に示します。 !図 14.1 Palm Application Compatibility Environment {{ref_image figure_14.1.gif}} アプリケーションの68KコードはPACEによってエミュレートされるため、特定のアルゴリズム ―― データの暗号化や圧縮 ―― は、ARMネイティブコードに書き直した方が良い場合があります。   ---- [[↑14 章トップへ|Palm OS Programmer's Companion Volume I/14]] [[2 節に進む →|Palm OS Programmer's Companion Volume I/14-2]]