OpenVMS Alpha オペレーティング・システム

OpenVMS Alpha
オペレーティング・システム

OpenVMS VAX から OpenVMS Alpha への
アプリケーションの移行

AA--R1E8B-TE


1999 年 4 月

本書は OpenVMS VAX 版アプリケーションの OpenVMS Alpha 版を作成する方法について説明しています。

改訂/更新情報:本書は OpenVMS V7.1『OpenVMS VAX から OpenVMS Alphaへのアプリケーションの移行』の改訂版です。

ソフトウェア・バージョン: OpenVMS Alpha V 7.2
  OpenVMS VAX V 7.2


1999 年 4 月

本書の著作権はコンパックコンピュータ株式会社が保有しており,本書中の解説および図,表はコンパックの文書による許可なしに,その全体または一部を,いかなる場合にも再版あるいは複製することを禁じます。

また,本書に記載されている事項は,予告なく変更されることがありますので,あらかじめご承知おきください。万一,本書の記述に誤りがあった場合でも,コンパックは一切その責任を負いかねます。

本書で解説するソフトウェア(対象ソフトウェア)は,所定のライセンス契約が締結された場合に限り,その使用あるいは複製が許可されます。

Copyright ©1999

以下は,米国 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

本書は CD-ROM でも提供しています。

次へ 目次 索引 DOC HOME


まえがき

本書は,OpenVMS VAX アプリケーションを OpenVMS Alpha システムまたは複合アーキテクチャ・クラスタに移行する開発者を支援できるように設計されています。

対象読者

本書は,高級プログラミング言語または中級プログラミング言語で作成されたアプリケーション・コードの移行を担当される経験の豊富なソフトウェア・エンジニアの方々を対象にしています。

本書の構成

本書は次の章で構成されています。

参考文献

本書は OpenVMS VAX システムから OpenVMS Alpha システムへの移行について説明した複数のマニュアル・セットの一部です。このマニュアル・セットには,本書の他に次のマニュアルが含まれています。

さらに,『DECmigrate for OpenVMS AXP Systems Translating Images』では,VAX Environment Software Translator (VEST) ユーティリティについても説明します。このマニュアルはオプションのレイヤード製品である DECmigrate for OpenVMS Alpha に同梱されており,この製品は OpenVMS VAX アプリケーションを OpenVMS Alpha システムに移行する処理をサポートします。このマニュアルでは,VEST を使用して大部分のユーザ・モード VAX イメージを Alpha システムで実行できるトランスレートされたイメージに変換する方法,トランスレートされたイメージの実行時性能を向上する方法,VEST を使用して VAX イメージで Alpha と互換性のない部分を元のソース・ファイルまでさかのぼってトレースする方法,および VEST を使用してネイティブな実行時ライブラリとトランスレートされた実行時ライブラリとの間で互換性をサポートする方法についても説明します。また,VEST コマンドのすべての参照情報も示します。

また,次の一般プログラミング・マニュアルも参照してください。

OpenVMS 製品とサービスの詳細については,Digital OpenVMS World Wide Web サイトにアクセスしてください。URL は次のとおりです。


http://www.openvms.digital.com 

本書で使用する表記法

本書では,OpenVMS Alpha は OpenVMS Alpha オペレーティング・システムを指します。

OpenVMS AXP オペレーティング・システムはバージョン 6.2 から OpenVMS Alpha オペレーティング・システムに名称が変更されました。OpenVMS AXP あるいは AXP の表記は OpenVMS Alpha または Alpha と同じ意味です。

VMScluster システムは,現在 OpenVMS クラスタ・システムと同じ意味を示します。OpenVMS クラスタまたはクラスタは本書では,VMSclusters と同じ意味です。

本書では,DECwindows および DECwindows Motif はすべて DECwindows Motif for OpenVMS ソフトウェアを意味します。

また,本書では次の表記法も使用しています。

表記法 意味
Ctrl/x Ctrl/x という表記は,Ctrl キーを押しながら別のキーまたはポインティング・デバイス・ボタンを押すことを示します。
PF1 x または
GOLDx
PF1 x または Goldx という表記は,PF1 または GOLD に定義されたキーを押してから,別のキーまたはポインティング・デバイス・ボタンを押すことを示します。

EVE コマンドでは,GOLD キーのあとにスラッシュ (/),ダッシュ (--),またはアンダースコア (_) を区切り文字として使用できます。

[Return] 例の中で,キー名が四角で囲まれている場合には,キーボード上でそのキーを押すことを示します。テキストの中では,キー名は四角で囲まれていません。
... 例の中の水平方向の反復記号は,次のいずれかを示します。

  • 文中のオプションの引数が省略されている。

  • 前出の 1 つまたは複数の項目を繰り返すことができる。

  • パラメータや値などの情報をさらに入力できる。
.
.
.
垂直方向の反復記号は,コードの例やコマンド形式の中の項目が省略されていることを示します。このように項目が省略されるのは,その項目が説明している内容にとって重要ではないからです。
( ) コマンドの形式の説明において,括弧は,複数のオプションを選択した場合に,選択したオプションを括弧で囲まなければならないことを示しています。
[ ] コマンドの形式の説明において,大括弧で囲まれた要素は任意のオプションです。オプションをすべて選択しても,いずれか1つを選択しても,あるいは1つも選択しなくても構いません。ただし,OpenVMS ファイル指定のディレクトリ名の構文や,割り当て文の部分文字列指定の構文の中では,大括弧に囲まれた要素は省略できません。
{ } コマンドの形式の説明において,中括弧で囲まれた要素は必須オプションです。いずれか1のオプションを指定しなければなりません。
太字 太字のテキストは,新しい用語,引数,属性,条件を示しています。
italic text イタリック体のテキストは,重要な情報を示します。また,システム・メッセージ (たとえば内部エラーnumber),コマンド・ライン(たとえば /PRODUCER=name),コマンド・パラメータ(たとえばdevice-name) などの変数を示す場合にも使用されます。
UPPERCASE TEXT 英大文字のテキストは,コマンド,ルーチン名,ファイル名,ファイル保護コード名,システム特権の短縮形を示します。
Monospace type モノスペース・タイプの文字は,コード例および会話型の画面表示を示します。

C プログラミング言語では,テキスト中のモノスペース・タイプの文字は,キーワード,別々にコンパイルされた外部関数およびファイルの名前,構文の要約,または例に示される変数または識別子への参照などを示します。

- コマンド形式の記述の最後,コマンド・ライン,コード・ラインにおいて,ハイフンは,要求に対する引数がその後の行に継くことを示します。
数字 特に明記しない限り,本文中の数字はすべて10 進数です。10 進数以外 (2 進数,8 進数,16 進数) は,その旨を明記してあります。


第 1 章
移行プロセスの概要

多くのアプリケーションにとって,OpenVMS VAXからOpenVMS Alphaへの移行 (migration)は簡単です。 アプリケーションがユーザ・モードでのみ実行され,標準的な高級言語で作成されている場合には,ほとんどの場合,Alphaコンパイラを使用してそのアプリケーションを再コンパイルし,再リンクすることにより,Alphaシステムで実行可能なバージョンを作成できます。本書では,移行するアプリケーションを評価する方法,およびもっと複雑で特殊な場合の対処方法について説明します。

1.1 VAXシステムとAlphaシステムの互換性

OpenVMS Alphaオペレーティング・システムは,OpenVMS VAXのユーザ,システム管理,およびプログラミングの環境とできるだけ互換性 ( compatibility ) を維持するように設計されています。一般的なユーザとシステム管理者にとって,OpenVMS Alpha は OpenVMS VAX と同じインタフェースを備えています。プログラマにとっての目標は,「再コンパイル,再リンク,実行」という移行のモデルにできるだけ近づけることです。

OpenVMS VAXシステムで動作しているアプリケーションの場合,ほとんどの部分は OpenVMS Alphaシステムでも変更されません。

ユーザ・インタフェース

システム管理インタフェース

システム管理ユーティリティはほとんど変更されません。ただし,おもな例外が 1つあります。それはデバイス構成管理機能で,OpenVMS VAXシステムでは System Generation ユーティリティ (SYSGEN) で提供される機能ですが,OpenVMS Alphaでは System Management ユーティリティ (SYSMAN) で提供されます。

プログラミング・インタフェース

概して,システム・サービスおよびランタイム・ライブラリ(RTL)呼び出しインタフェースは変更されません。1 引数の定義を変更する必要はありません。相違点がいくつかありますが,これらの相違点は,次の2種類に分類されます。

これらのサービスとルーチンを呼び出すVAXイメージの大部分は,VEST (VAX Environment Software Translator) を使ってトランスレートし,OpenVMS AlphaのTIE (Translated Image Environment) のもとで実行すれば,正しく動作します。TIE についての詳しい説明は,第 3.2.2.1 項 と『DECmigrate for OpenVMS AXP Systems Translating Images』を参照してください。

注意

1 バージョン 7.0 では,OpenVMS Alpha は 64 ビット・アドレッシングをサポートするために,多くのシステム・サービスと RTL ルーチンを提供します。これは VAX システムでは提供されません。したがって VAX から Alpha への移行の問題にはならないため,本書では説明しません。

データ

ODS-2データ・ファイルのディスク上でのフォーマットは,VAXシステムとAlphaシステムとで同じです。しかし,ODS-1ファイルはOpenVMS Alphaでサポートされません。

レコード管理サービス(RMS)とファイル管理インタフェースは変更されていません。

IEEEリトル・エンディアン・データ型であるS浮動小数点 ( S_floating ) と T浮動小数点 ( T_floating ) が追加されました。

大部分のVAXデータ型はAlpha Alphaアーキテクチャでもそのまま使用できます。しかし,システム全体の性能を向上するために,H浮動小数点( H_floating ) と完全な精度のD浮動小数点 ( D_floating ) のハードウェアによるサポートはなくなりました。

AlphaハードウェアはD浮動小数点データを処理のためにG浮動小数点に変換します。VAXシステムでは,D浮動小数点は56ビット(D56)であり,16桁の精度です。Alphaシステムでは,D浮動小数点は53ビット(D53)であり,15桁の精度です。

H浮動小数点データ型とD浮動小数点データ型は通常,G浮動小数点または IEEEフォーマットのいずれかに変換されます。しかし,H浮動小数点が必要な場合や,D56 (56ビットのD浮動小数点)の精度が必要な場合には,アプリケーションの一部をトランスレートしなければなりません。

データベース

標準的な弊社のデータベースは,VAXシステムとAlphaシステムで同様に機能します。

ネットワーク・インタフェース

VAXシステムとAlphaシステムはどちらも次のインタフェースをサポートします。


次へ 目次 索引