日本-日本語
≫  お問い合わせ

製品とサービス >  ソフトウェアとOS >  OpenVMS >  マニュアル

OpenVMS マニュアル


≫ 

OpenVMS V8.3
ライブラリ

タイトルページ
目次
まえがき
第 1 章:移行プロセスの概要
第 2 章:移行方法の選択
第 3 章:アプリケーションの移行
第 4 章:再コンパイルと再リンクの概要
第 5 章:ページ・サイズの拡大に対するアプリケーションの対応
第 6 章:共有データの整合性の維持
第 7 章:アプリケーション・データ宣言の移植性の確認
第 8 章:アプリケーション内の条件処理コードの確認
第 9 章:アプリケーションのトランスレート
第 10 章: ネイティブなイメージとトランスレートされたイメージの間の相互操作性の確認
第 11 章:OpenVMS Alpha コンパイラ
付録 A :アプリケーション評価チェックリスト
用語集
索引
PDF
OpenVMS ホーム
OpenVMS Alpha オペレーティング・システム | HPE 日本

OpenVMS Alpha
オペレーティング・システム
OpenVMS VAX から OpenVMS Alpha へのアプリケーションの移行


目次 索引



VAXプログラムをAlphaシステムで実行するために変換するプロセスは,次の段階に分類されます。

  1. 移行するコードを評価します。

    • アプリケーションのモジュールとその環境を確認します。他のプログラムに依存する部分があるかどうかも確認します。

    • 各モジュールのコードを調べ,移行にとって障害となる部分があるかどうかを確認します。

    • アプリケーションの各部分をAlphaシステムに移行するための最適な方法を判断します。

  2. 移行計画を作成します。

  3. 移行環境を設定します。

  4. アプリケーションを移行します。

  5. 移行したアプリケーションをデバッグし,テストします。

  6. 移行したソフトウェアをソフトウェア・システムに統合します。

アプリケーションをOpenVMS Alphaに移行するのに役立つように,多くのツールと弊社によるサービスが提供されます。これらのツールについては,本書で実際のプロセスを説明するときに示します。

1.4 移行の手段

Alphaシステムで実行するためにプログラムを変換する方法としては,次の 2種類の方法があります。

  • 再コンパイルと再リンク
    この方法ではネイティブなAlphaイメージが作成されます。

  • トランスレーション
    この方法でもAlphaイメージが作成されますが,一部のルーチンはTIEのもとでエミュレートされます。

これらの2種類の方法は, 図 1-1 に示すとおりです。 第 2.2 節 では,移行方式を選択するときに考慮しなければならない事柄を説明しています。

図 1-1 VAXアプリケーションをAlphaシステムに移行する方法


再コンパイルと再リンク

プログラムをOpenVMS VAXからOpenVMS Alphaに変換するための,もっとも効果的な方法は,Alphaコンパイラ(DEC CやDEC Fortranなど)を使用してソース・コードを再コンパイルし,その後,OpenVMS リンカで適切なスイッチとオプション・ファイルを使用して,作成されたオブジェクト・ファイルと必要な他の共有可能なイメージを再リンクする方法です。この方法では,Alphaシステムのスピードを完全に活用できる,ネイティブなAlphaイメージが作成されます。

トランスレーション

VAXシステムとAlphaシステムにはいくつかの相違点がありますが, VAX Environment Software Translator (VEST)を使用すれば,大部分のユーザ・モードの VAXイメージを,Alphaシステムでエラーなしに実行することができます。VESTは DECmigrate for OpenVMS Alphaの一部です。例外については, 第 2.3 節 を参照してください。

この方法では,ソースを再コンパイルする場合より高いレベルでVAXとの互換性を維持できますが,トランスレートされたイメージは再コンパイルされたイメージほど高い性能を実現できないため,トランスレーションは,再コンパイルが不可能な場合や実用的でない場合に,代わりとなる安全な手段として使用してください。たとえば,次の状況ではトランスレーションが適しています。

  • OpenVMS Alpha用のコンパイラを使用できない場合

  • ソース・ファイルを入手できない場合

VESTはVAXバイナリ・イメージ・ファイルをネイティブなAlphaイメージにトランスレートします。このイメージは,Alphaシステム上の Translated Image Environment (TIE)のもとで実行されます(TIEは,OpenVMS Alphaでバンドル・ソフトウェアとして提供される共有可能イメージです)。トランスレートされたVAXイメージは,エミュレータやインタプリタのもとで実行されるわけではなく(ただし,一部の例外があります),元のVAXイメージで命令が実行する操作と同じ操作を実行するAlpha命令が,新しいAlphaイメージに盛り込まれるのです。

トランスレートされたイメージをAlphaシステムで実行する速度は,元のイメージを VAXシステムで実行する速度と同じくらいになります。しかし,トランスレートされたイメージは,Alphaアーキテクチャを完全に活用するための最適化コンパイラの恩恵を受けないため,通常,ネイティブなAlphaイメージの速度と比較すると,約25〜40% の速度でしか動作しません。このように性能が低下する主な理由は,データがアラインされていないためと,複雑なVAX命令が広範囲にわたって使用されているためです。

イメージのトランスレーションとVESTについての詳しい説明は, 第 3.2.2.1 項 と『DECmigrate for OpenVMS AXP Systems Translating Images』を参照してください。

ネイティブなAlphaイメージとトランスレートされたイメージの混在

1つのアプリケーションを構成するイメージで,2種類の移行方式を混在させて使用できます。また,1つのアプリケーションを,移行の1段階として部分的にトランスレートすることもできます。このようにすれば,完全に再コンパイルする前に,アプリケーションをAlphaハードウェアで実行し,テストできます。1つのアプリケーション内のネイティブなAlphaイメージと,トランスレートされた VAXイメージの相互操作性についての詳しい説明は, 第 2.7.2 項 を参照してください。


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項 ウェブマスターに連絡