OpenVMS Alpha オペレーティング・システム
OpenVMS VAXからOpenVMS Alphaへの
アプリケーションの移行
AA-R1E8B-TE | |
---|---|
1999年4月 | |
本書はOpenVMS VAX版アプリケーションの OpenVMS Alpha版を作成する方法について説明しています。 | |
改訂/更新情報: | 本書はOpenVMS V7.1 『 OpenVMS VAX から OpenVMS Alpha へのアプリケーションの移行』の改訂版です。 |
ソフトウェア・バージョン: | OpenVMS Alpha V7.2 |
OpenVMS VAX V7.2 | |
コンパックコンピュータ株式会社 |
1999 年 4 月
本書の著作権はコンパックコンピュータ株式会社が保有しており, 本書中の解説および図,表はコンパックの文書による許可なしに, その全体または一部を,いかなる場合にも再版あるいは複製することを禁じます。
また,本書に記載されている事項は, 予告なく変更されることがありますので,あらかじめご承知おきください。 万一,本書の記述に誤りがあった場合でも,コンパックは一切その責任を負いかねます。
本書で解説するソフトウェア(対象ソフトウェア)は,所定のライセンス契約が締結された場合に限り, その使用あるいは複製が許可されます。
(c) Compaq Computer K.K. 1999. All Rights Reserved.
以下は,米国 Compaq Computer Corporation の商標です。
Alpha,AlphaGeneration,AlphaServer, AlphaStation,Bookreader,CDA,CI,Compaq,DEC,DEC Ada, DEC BASIC,DEC Fortran,DEC Notes,DECdirect,DECdtm, DECevent,DECforms,DECmigrate,DECnet,DECpresent, DECthreads,DIGITAL,HSC,HSC40,HSC70,HSJ,HSZ, InfoServer,LAT,LinkWorks,MSCP,OpenVMS,PATHWORKS, POLYCENTER,RZ,StorageWorks,TMSCP,VAX,VMS,および Compaq ロゴ。
Futurebus/PlusはドイツForce Computers GmbHの商標です。 IEEEは米国The Institute of Electrical and Electronics Engineersの商標です。 INGRESはIngres Corporationの商標です。 MotifはOpen Software Foundation社の商標です。 ORACLEはOracle Corporationの商標です。 UNIXはX/Openカンパニーリミテッドがライセンスしている米国ならびに他の 国における登録商標です。 その他のすべての商標および登録商標は,それぞれの所有者が保有しています。 原典 Migrating an Application from OpenVMS VAX to OpenVMS Alpha Copyright 1996 Compaq Computer Corporation
1.2 VAXアーキテクチャとAlphaアーキテクチャの相違点
1.4 移行の手段
1.5.2 アプリケーション移行詳細分析/設計サービス
1.5.3 システム移行詳細分析/設計サービス
1.5.4 アプリケーション移行サービス
1.5.5 システム移行サービス
2.2 移行方法の選択
2.3 どの移行方法が可能か?
2.4.2 特権付きコード
2.4.3 VAXアーキテクチャ固有の機能
2.5.2 データ型
2.5.3 データへの共有アクセス
2.5.4 クォドワードより小さいデータの読み込みまたは書き込み
2.5.5 ページ・サイズに関する検討
2.5.6 マルチプロセッサ・システムでの読み込み/書き込み操作の順序
2.5.7 算術演算例外の報告の即時性
2.5.8 VAXプロシージャ呼び出し規則への明示的な依存
2.5.9 VAXデータ処理メカニズムへの明示的な依存
2.5.9.2 シグナル・アレイとメカニズム・アレイ内のデータのアクセス
2.5.11 VAX命令の形式と動作への明示的な依存
2.5.12 VAX命令の実行時作成
2.7 再コンパイルするか,またはトランスレートするかの判断
2.7.2 ネイティブ・イメージとトランスレートされたイメージの混在
3.1.2 ソフトウェア
3.2.1.2 OpenVMS Alpha用のVAX MACRO-32コンパイラ
3.2.1.3 その他の開発ツール
3.3.1.2 Deltaデバッガよるデバッグ
3.3.1.3 OpenVMS Alphaシステムコード・デバッガによるデバッグ
3.3.2.2 クラッシュ・ログ・ユーティリティ・エクストラクタ(CLUE)
3.3.3.2 Alphaテスト
4.3 VAXシステムとAlphaシステムの算術演算ライブラリ間の互換性
4.4 ホスト・アーキテクチャの判断
5.1.2 特定のページ・サイズに依存する可能性のあるメモリ管理ルーチンのまとめ
5.2.2 既存の仮想アドレス空間でのメモリの割り当て
5.2.3 仮想メモリの削除
5.3.2 特定の位置への単一ページのマッピング
5.3.3 定義されたアドレス範囲へのマッピング
5.3.4 オフセットによるセクション・ファイルのマッピング
6.1.2 Alphaの互換性機能
6.2.2 無意識に共有されるデータの保護
7.2 VAXデータ型への依存の確認
7.3 データ型の選択に関する仮定の確認
7.3.2 データ型の選択が性能に与える影響
8.2 動的条件ハンドラの設定
8.4 例外条件の識別
8.4.2 データ・アラインメント・トラップのテスト
9.2 DECmigrate:トランスレートされたイメージのサポート
9.3 Translated Image Environment (TIE)
9.3.1.2 例外ハンドラに関する制限事項
9.3.1.3 浮動小数点に関する制限事項
9.3.1.4 相互操作性に関する制限事項
9.3.1.5 VAX C:トランスレートされたプログラムの制限事項
9.6.1.2 相互操作性に関する制限事項
10.1.2 トランスレートされたイメージと相互操作可能なネイティブ・イメージのリンク
10.3 トランスレートされたイメージから呼び出すことができるネイティブ・イメージの作成
10.3.2 特殊なトランスレートされたイメージ(ジャケット・イメージ)と代用イメージの作成
11.1.2 タスクに関する相違点
11.1.3 プラグマに関する相違点
11.1.4 SYSTEMパッケージの相違点
11.1.5 他の言語パッケージ間での相違点
11.1.6 あらかじめ定義されている命令に対する変更
11.2.2 DEC C for OpenVMS Alphaシステムのデータ型のマッピング
11.2.3.2 Alpha特権付きアーキテクチャ・ライブラリ(PALcode)命令のアクセス
11.2.3.3 複数の操作の組み合わせに対する不可分性の保証
11.2.4.2 引数リストのアクセス
11.2.4.3 例外の同期化
11.2.4.4 動的条件ハンドラ
11.2.6 /STANDARD=VAXCモードでサポートされないVAX Cの機能
11.3.2 コマンド行修飾子
11.3.2.2 /STANDARD=MIA
11.3.2.3 DEC COBOL固有の修飾子
11.3.2.4 /ALIGNMENT=PADDING
11.3.2.5 VAX COBOL固有の修飾子
11.3.2.6 /STANDARD=V3
11.3.2.7 /STANDARD=OPENVMS_AXP
11.3.3.2 プログラム・リスティングの違い
11.3.3.2.2 モジュール名
11.3.3.2.3 COPY文とREPLACE文
11.3.3.2.4 複数のCOPY文
11.3.3.2.5 COPY挿入文
11.3.3.2.6 REPLACE文
11.3.3.2.7 DATE COMPILED文
11.3.3.2.8 コンパイラ・リスティングと分割コンパイル
11.3.3.4 DEC COBOLとVAX COBOLの文の違い
11.3.3.4.2 EXIT PROGRAM句
11.3.3.4.3 LINAGE句
11.3.3.4.4 MOVE文
11.3.3.4.5 SEARCH文
11.3.3.6 診断メッセージ
11.3.3.7 倍精度データ項目の記憶形式
11.3.3.8 データ項目のハイオーダー切り捨て
11.3.3.9 ファイルの状態値
11.3.3.10 参照キー
11.3.3.11 RMS特殊レジスタ
11.3.3.12 共用可能イメージの呼び出し
11.3.3.13 共通ブロックの共用
11.3.3.14 算術演算
11.3.5 予約語
11.3.6 デバッガ・サポートの違い
11.3.7 DECset/LSEサポートの違い
11.3.8 DBMSサポート
11.4.1.2 Digital Fortran 77 for OpenVMS VAX Systems固有の言語機能
11.4.1.3 解釈方法の相違
11.4.2.2 Digital Fortran 77 for OpenVMS VAX Systems固有の修飾子
11.4.4 Digital Fortran 77 for OpenVMS VAX Systemsデータの移植
11.5.2 動的条件ハンドラの設定
11.5.3 レコード・ファイルに対する省略時のアラインメント規則の変更
11.5.4 あらかじめ宣言されている名前の使用方法
11.5.5 プラットフォームに依存する機能
11.5.6 古い機能
11.5.6.2 /G_FLOATING修飾子
11.5.6.3 OVERLAID属性
例
5-3 拡張された仮想アドレス空間へのセクションのマッピング
5-4 仮想アドレス空間の定義された領域へのセクションのマッピング
5-5 例 5-4をAlphaシステムで実行するのに必要なソース・コードの変更
5-6 CPU固有のページ・サイズを確認するための$GETSYIシステム・サービスの使用
6-1 ASTスレッドを含むプログラムにおける不可分な処理への依存
6-2 例 6-1の同期バージョン
8-1 条件処理ルーチン
8-2 条件処理プログラムの例
10-1 メイン・プログラム(MYMAIN.C)のソース・コード
10-2 共有可能イメージ(MYMATH.C)のソース・コード
11-1 符号付きと符号なしの違い
11-2 戻り値の誤ったコーディング
2-1 プログラム・イメージの移行
3-1 移行環境とツール
5-1 仮想アドレスのレイアウト
5-2 オフセットによるマッピングに対してアドレス範囲が与える影響
6-1 同期に関する判断
6-2 例 6-1での不可分性の仮定
7-1 VAX Cの使用による mystructのアラインメント
7-2 DEC C for OpenVMS Alphaシステムの使用によるmystructのアラインメント
8-1 VAXシステムとAlphaシステム上の32ビット・シグナル・アレイ
8-2 VAXシステムとAlphaシステムでのメカニズム・アレイ
2-1 浮動小数点データ型のサポート
2-2 移行方法の比較
2-3 移行方式の選択: アーキテクチャに依存する部分の取り扱い
3-1 OpenVMS VAX と OpenVMS Alpha の CLUE の相違点
4-1 OpenVMS Alphaシステム固有のリンカ修飾子とオプション
4-2 OpenVMS VAX システム固有のリンカ・オプション
4-3 ホスト・アーキテクチャを指定する $GETSYIアイテム・コード
5-1 メモリ管理ルーチンでページ・サイズに依存する可能性のある部分
5-2 ランタイム・ライブラリ・ルーチンでページ・サイズに依存する可能性のある部分
8-2 例外サマリ引数のフィールド
9-1 OpenVMS Alpha の各バージョンでのトランスレートされたイメージのサポート
9-2 実行時ライブラリの論理名
11-1 DEC C for OpenVMS Alphaコンパイラの操作モード
11-2 DEC C for OpenVMS Alphaコンパイラでの算術演算データ型のサイズ
11-3 DEC C の浮動小数点マッピング
11-4 OpenVMS Alphaシステム固有のDEC Cコンパイラ機能
11-5 不可分性組み込み機能
11-6 VAX COBOL固有の修飾子
11-7 Digital Fortran 77 for OpenVMS VAX Systems にないDigital Fortran for OpenVMS Alpha 修飾子
11-8 Digital Fortran for OpenVMS Alpha でサポートされないDigital Fortran 77 for OpenVMS VAX Systems 修飾子
11-9 VAXシステムとAlphaシステムでの浮動小数点データ
11-10 DEC Pascal の新機能
11-11 あらかじめ宣言されている名前の使用方法