日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル

OpenVMS マニュアル


≫ 

OpenVMS V8.3-1H1
ライブラリ

タイトル
目次
まえがき
第 1 章:はじめに
第 2 章:新機能
第 3 章:リリース・ノート
第 4 章:MSAユーティリティ
第 5 章:製品のディレクトリ
索引
PDF
OpenVMS ホーム

HP OpenVMS
V8.3-1H1 for Integrity Servers
新機能およびリリース・ノート


目次 索引

第 3 章
OpenVMS Version 8.3-1H1 リリース・ノート

この章には OpenVMS I64 Version 8.3-1H1 に関する注意事項を記載しています。 OpenVMS Version 8.3 の注意事項の大半は本リリースにも該当するため,システムのインストールまたはアップグレードを行う前に,『HP OpenVMS V8.3 リリース・ノート[翻訳版]』の中の OpenVMS I64に関係する注意事項 (つまり,"Alpha のみ"と記載されているものを除くすべての注意事項) と,この章の注意事項をお読みください。

また,システムのブートに関する注意事項は, 第 1.8 節 を参照してください。

3.1 OpenVMS 8.3-1H1 のシステム・パラメータ

ここでは,OpenVMS 8.3-1H1 で廃止,名称変更,または新規に追加されたシステム・パラメータについて説明します。

3.1.1 廃止されたパラメータ

OpenVMS Version 8.3 で, 表 3-1 のシステム・パラメータが廃止されました。

表 3-1 廃止され置き換えられたパラメータ
OpenVMS V8.3 で廃止 代替パラメータ
SMP_CPUS SMP_CPU_BITMAP
SMP_CPUSH _____________
IO_PREFER_CPUS IO_PRCPU_BITMAP



3.1.2 名称が変更されたパラメータ

以下のシステム・パラメータは OpenVMS Version 8.3-1H1 で名称が変更され,機能を補完するパラメータ追加されました。 表 3-2 に,これらの新しいパラメータを示します。

表 3-2 名称が変更されたパラメータ
OpenVMS V8.3 での名称 OpenVMS V8.3-1H1 での新しい名称
SCH_CTLFLAGS SCHED_FLAGS
  SCH_SOFT_OFFLD
  SCH_HARD_OFFLD



3.1.3 新しいパラメータ

本リリースでは,新しいGH_RES_CODE_S2パラメータをサポートします。このパラメータは,常駐 64ビット S2 スペースの常駐イメージ・コード粒度ヒント・リージョンのサイズをページ単位で指定するのに使用します。

/SEGMENT=CODE=P2 修飾子を指定してリンクしたイメージだけが,このリージョンにコードを置くことができます。詳細については,『OpenVMS Linker Utility Manual』および『OpenVMS システム管理者マニュアル』の INSTALL ユーティリティの説明を参照してください。

GH_RES_CODE には,AUTOGEN および FEEDBACK 属性があります。

3.1.4 ブート時の AUDIT_SERVER の起動の失敗

ブート時に何らかの理由で AUDIT_SERVER の起動に失敗すると,スタートアップ・プロセスはリトライ・ループに入り,AUDIT_SERVER の起動を妨げる原因が解決されて,AUDIT_SERVER が正しく起動されるまでの間,再起動が試みられます。この動作は十分に検討されたものであり,システムが不完全なセキュリティ状態で動作することがないように設計されています。

起動を妨げる原因には,以下のものがあります。

  • 監査サーバ・データベース内の無効なジャーナル・ファイル指定

  • 監査サーバ・データベースの破損 (SYS$MANAGER:VMS$AUDIT_SERVER.DAT)

  • オブジェクト・サーバ・データベースの破損 (SYS$SYSTEM:.VMS$OBJECTS.DAT)

  • ターゲット・ディスクへのアクセスの失敗

  • クラスタ内の他の監査サーバとの同期の失敗

  • 必要なリソースがクラスタ内の他の監査サーバに占有されている

状況を打開するためには,人手による介入が必要です。必要なアクションは,障害の原因によって異なります。対策には,AUDIT_SERVER を他のクラスタ・ノードで起動すること,影響のあったノードを「MINIMUM」状態でリブートして障害を手作業で解決することなどがあります。壊れたデータベース・ファイルは,ファイル名を変更して AUDIT_SERVER を再起動することで特定することができます。サーバは,これらのファイルが存在しない場合には作成し直し,システムのデフォルト・エントリにそれらを設定します。

ブート・オプションについての詳細は,『OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』の第 4 章を参照してください。

3.2 C ランタイム・ライブラリ

OpenVMS Version 8.3-1H1 で修正された問題は,以下のとおりです。

  • ランタイム・ライブラリには,解放したメモリにアクセスして,その結果を使ってポインタを進めるという不完全なコードがありました。マルチスレッド・コードでは,元のスレッドがポインタを進める前に別のスレッドがそのメモリを再利用する可能性がありました。この問題は,ポインタを解放する前にアクセスするようにアップデートすることによって解決されました。

  • 新しいプロセス・ワイドの例外処理モード (pure_unix) が導入されました。このモードでは,非 C++ 例外 (OpenVMSコンディションとも呼ばれる) が C++ のキャッチオール・ハンドラで捕捉されることはありません。このモードは,cxxl$set_condition(condition_behavior) に pure_unix 引数を付けて呼び出すことによって要求できます。


    cxxl$set_condition(pure_unix); 
     
    condition_behavior enum declared in <cxx_exception.h> header 
    has been extended to include pure_unix member. 
    


    次のサンプル・プログラムを例に,pure_unix モードの動作を説明します。このプログラムは,ACCVIO でクラッシュするように記述されています。 cxxl$set_condition() の呼び出しをコメント・アウトした場合には,プログラムは "caught" を出力して終了します。


    #include <stdio.h> 
    #include <cxx_exception.h> 
     
    void generateACCVIO() { *((int*)0) = 0; } 
     
    int main() { 
    cxxl$set_condition(pure_unix); 
    try { 
    generateACCVIO(); 
                 } 
    catch(...) { 
    puts("caught"); 
                         } 
                     } 
    

    注意

    この新機能を使うためには,新バージョンの cxx_exception.h を使用する必要があります。これは V7.3 以降のコンパイラに付属している CXXL$ANSI_DEF.TLB ファイルに含まれています。

  • ランタイム・ライブラリは,関数内で記憶域の存続期間が自動的に決まるオブジェクトが定義されていると,捕捉した例外によって関数が終了したときに,オブジェクトの破棄に失敗することがありました。この問題は修正されました。

  • シグナルの捕捉を有効にしている場合,ランタイム・ライブラリを使うと,スレッド・キャンセル・シグナル (CMA$_ALERTED) とスレッド終了シグナル (CMA$_EXIT_THREAD) を,それぞれタイプ CXXL$PTHREAD_CANCEL (または CX6L$PTHREAD_CANCEL) と CXXL$PTHREAD_EXIT (または CX6L$PTHREAD_EXIT) へのポインタまたは参照を使って,キャッチ・ハンドラで捕捉できるようになりました。新しいタイプではこれらのシグナルは排他的に捕捉されます。

    注意

    この新機能を使うためには,新バージョンの cxx_exception.h を使用する必要があります。これは V7.3 以降のコンパイラに付属している CXXL$ANSI_DEF.TLB に含まれています。

  • C++ RTL では,最近の CRTL の変更に合わせて, SIGTRAP の内部マッピングが SS$_BREAK から SS$_TBIT に変更されました。

  • C++ RTL では,デストラクタがスタックをアンワインドしているときに例外が発生すると,デストラクタが例外で終了していなくても,std::terminate() を呼び出していました。この問題は修正されました。

  • C++ RTL は,C++ 例外の処理中に外部例外 (たとえば,非 C++ OpenVMS コンディション) が発生すると, std::terminate() を呼び出していました。この動作は,発生した OpenVMS コンディションによってスタックのアンワインドが必要になる場合にのみ std::terminate() を呼び出すように修正されました。

  • OpenVMS コンディションは C++ キャッチ・ハンドラで捕捉できるため, C++ RTL はそのコンディションを C++ 例外の表現に合った内部形式に変換します。この変換により,トレースバックの際に誤った情報が表示されることがありました。この問題は修正されました。

以下の問題は,今回のバージョンの C++ Library (V7.3 以降のコンパイラ) で修正されました。

  • http://issues.apache.org/jira/browse/STDCXX-397 で説明されているように, <algorithm.cc> ヘッダ内の __introsort_loop() 関数にはバグがありました。すなわち,特定の入力シーケンスで,std::sort の性能が低下することがありました。詳細は, http://issues.apache.org/jira/browse/STDCXX-397 にある問題 STDCXX-397 に対する Apache の追跡情報を参照してください。
    このバグは修正されました。ただし,特定の入力シーケンスでは,この修正により std::sort の動作が変わることがあります。つまり,同等の順位を持つエレメントがソート結果のシーケンス内で置かれる相対的位置が変わることがあります。この動作上の変化は,std::stable_sort とは異なり,std::sort では同等の順位を持つ特定のエレメントの相対的順序を保証していないため許容することはできますが,std::sort の従来の動作に依存しているアプリケーションが正常に動作しなくなる可能性があります。このような状況を避けるために,この修正は __RW_FIX_APACHE_STDCXX_397 マクロで条件付けられており,このマクロを定義してプログラムをコンパイルした場合にのみ,この修正が有効になります。

  • 標準 GNU モードでコンパイルすると,ライブラリは _RWSTD_NO_IMPLICIT_INCLUSION マクロを定義するようになりました。この変更により,ライブラリ・ヘッダに対応するテンプレート定義ファイルがインクルード (#include) されるようになりました。これは,標準 GNU モードでは暗黙的な #include が無効になっているために必要になります。
    この変更を行う前は,以下のプログラムは,標準 GNU モードでコンパイルすると,未定義シンボルをリンクしていました。


                      #include <vector> 
     
                      int main() { 
                        std::vector<int> v; 
                        v.push_back(0); 
                      } 
    

  • C++ 規格の第 27.6.1.3 項 [lib.istream.unformatted] によれば, std::basic_istream クラスの以下の get メンバ関数は,空行の場合のように,文字が何も含まれていない場合には, setstate(failbit) を呼び出すことになっています。 I64 システムではこの関数は failbit を設定していましたが, Alpha システムでは設定していませんでした。


                  istream_type& get(char_type *s, streamsize n, char_type delim); 
                  istream_type& get(char_type *s, streamsize n); 
    



3.2.1 Ctrl/P が機能しないことがある

特定の Integrity 構成では,コンソールで Ctrl/P を押しても OpenVMS から IPC (Interrupt Priority C) メニューが表示されません。Ctrl/P を使用する予定がある場合は, OpenVMS V8.3-1H1 をインストールまたはアップグレードした後に,この機能が動作することをテストしてください。

必要に応じて,以下の手順を実行することで Ctrl/P の機能を回復させることができます。

  1. SDA を実行して動作中のシステムを分析します。


    $ ANALYZE/SYSTEM 
    

  2. CLUE CONFIG を使用して,システム上のアダプタを表示します。


    SDA> CLUE CONFIG/ADAPTER 
    

  3. 表示の中で "Console Serial Line Driver" アダプタ (SRA:) を探します。


    System Adapter Configuration: 
    ----------------------------- 
    TR Adapter     ADP               Hose Bus    BusArrayEntry    Node GSIN  iVec  SCB  
    -- ----------- ----------------- ---- ----------------------- ---- ---------------- 
    ... 
     5 ACPI_IA64_I FFFFFFFF.8832E0C0   0  00 IA64_BUS 
     6 PCI         FFFFFFFF.88342A80   9  00 PCI 
                                                 FFFFFFFF.88342E58  0   0018  00DF 15F0 
                                                 FFFFFFFF.88342F68  8   0018  00DF 15F0 
    ... 
     
    Port Slot Device Name/HW-Id 
    ---- ---- ----------------------- 
     
     
    SRA: 0 Console Serial Line Driver 
    EWA: 1 A6865A (Fast Ethernet) 
    

  4. SRA: と同じ GSIN (Global System Interrupt Number) を共用しているコントローラを特定します。この例では EWA: が該当します。

  5. SDA を終了し,次のコマンドを入力します (EWA は正しいコントローラで置き換えてください)。


    $ SET DEVICE EWA0/PREFERRED_CPUS='F$GETSYI("PRIMARY_CPUID")' 
    

この手順が完了すると,Ctrl/P が正しく機能するようになります。システムがリブートしたときに正しく動作するように, SYS$MANAGER:SYLOGICALS.COM を編集して, SET DEVICE コマンドを追加することをお勧めします。 I/O アダプタを追加または削除すると,ふたたび Ctrl/P が動作しなくなる可能性があります。その場合は,上記の手順を再度実行してください。

システムをブートした時に XDELTA または System Code Debugger がロードされている場合,Ctrl/P は影響を受けません。 Ctrl/P を入力すると,次の例のように XDELTA のプロンプトが表示されます。


 Console Brk at 807CF3D2 on CPU 0 
 
 807CF3D2!            cmp4.lt     p0, p6 = 3F, r4  (New IPL = 3) 

弊社では,この問題に対する修正を ECO キットで提供する予定です。

3.3 暗号化の問題と対処方法

ここでは, OpenVMS V8.3-1H1 での Encrypt ユーティリティの修正済みの問題と既知の問題について説明します。

3.3.1 PARSE=EXTENDED

以前のバージョンの Encrypt V2.0 では,プロセスの解析スタイルが extended に設定されていると, %ENCRYPT-F-KEYLENERR エラーが報告されるという問題がありました。通常これは, encrypt コマンドの修飾子 /KEY_ALGORITHM または /DATA_ALGORITHM を使ってアルゴリズムを指定した場合に発生し,変更アクセス ACCVIO エラーとなっていました。

この問題は OpenVMS V8.3-1H1 で修正されました。

3.3.2 サイズの大きなファイルの暗号化

以前の Encrypt では,4,194,303 ブロック (2,147,483,136 バイト) よりも大きなファイルを暗号化できないという問題がありました。 Encrypt は,エラー・メッセージを表示せずにすぐにコマンド・プロンプトに戻るため,ユーザにはファイルが正常に暗号化されたように見えました。壊れた暗号化ファイルを復号化しようとすると, CRC エラーの警告が表示されていました。

この問題は,OpenVMS V8.3-1H1 で修正されました。

3.3.3 入力/出力ファイルの性能

Encrypt の入出力性能の問題に対する対処が行われました。複数のバッファを使用した読み取りと, $QIO を使用したマルチバッファの複数の書き込みを使用し,単一の RMS ブロック入出力の $READ および $WRITE での 2 レベルのキャッシュ (RMS と XFC) をなくすことで,性能が大幅に (約 40 倍に) 向上しました。その結果,特にサイズの大きなファイルで性能が向上し, CPU の使用率が改善され,入出力間の入出力遅延が減りました。また,暗号化,復号化,入出力操作が完了するまでの時間全体も短縮されました。

3.3.4 ENCYPT/COMPRESS の問題

すべてのバージョンの Encrypt で,特定の種類のファイル (特に .BCK ファイルと .EXE ファイル) で ENCRYPT/COMPRESS を使用した場合に,問題が発生します。この問題は,DECRYPT を使用して元の (プレーン・テキストの) データを復元しようとしたときに発生します。キー・レコードの CRC エラーなどのエラーが発生する可能性があります。実際には暗号化されているデータが正しくありませんが,復号化を行うまでエラーが発生しません。

この問題は,暗号化の際に /DELETE 修飾子を使用した場合,元のファイルが削除されるため深刻です。暗号化の際に /OUTPUT=file-spec を使用せず, PURGE コマンドを実行した場合にも元のファイルが失われます。

/COMPRESS 修飾子は非推奨となり,弊社がこの問題を解決するまで Encrypt では無効となりました。圧縮されたファイルの復号化は,これまでどおり動作します。

3.4 ドキュメントの訂正

ここでは,OpenVMS ドキュメント・セット内の各種マニュアルの訂正について説明しています。

3.4.1 『HP OpenVMS DCL ディクショナリ: N-Z』

『OpenVMS DCL ディクショナリ: N--Z』 Version 8.3 には, DCLII-333 ページ以降の SET SERVER ACME_SERVER に, 2 つの表記上の誤りがあります。

  • 1 つ目の誤りは,「説明」の項の以下の段落にあります。
    " プロセスが異常終了すると,サーバは自動的に再起動して, SYS$MANAGER:ACME$START.COM コマンド・プロシージャを実行します。このファイルは,エグゼクティブ・モードの論理名 ACMS$START を使って検索されます。 "
    参照されている論理名 ACMS$START のスペルが間違っています。正しい論理名は,ACME$START です。

  • 2 つ目の誤りは,「修飾子」の項の以下の段落にあります。
    " オプションのキーワード AUTO を指定すると, SYS$MANAGER:ACME$START.COM プロシージャを使用して,サーバが自分自身を起動して構成します。省略時の設定では,サーバは,OpenVMS ACMS エージェントが構成されている場合だけ起動されます。以下のオプションが使用可能です。 "
    OpenVMS ACMS エージェントは,正しくは OpenVMS ACME エージェントです。



HP OpenVMS DCL ディクショナリ』の RUN コマンドのファイル指定の定義に以下の制限の記述を追加する必要があります。

I64 の場合には,実行可能イメージのファイル指定には,ネットワーク (DECnet) やテープ・デバイスを含めることはできません。 I64 では,ネットワーク経由,またはテープからのイメージの起動はサポートされていません。

以下の変更が,RUN (イメージ) コマンドの filespec パラメータに適用されます。

実行する実行可能イメージを指定します。省略時のファイル・タイプは,.EXE です。ワイルドカード文字 (アスタリスク (*) とパーセント記号 (%)) は使用できません。 I64 の場合には,実行可能イメージのファイル指定には,ネットワーク (DECnet) やテープ・デバイスを含めることはできません。 I64 では,ネットワーク経由,またはテープからのイメージの起動はサポートされていません。

3.4.2 『HP OpenVMS V8.3 新機能説明書』

『HP OpenVMS V8.3 新機能説明書』の第 3.17 項の SCD_HARD_OFFLD は,正しくは SCH_HARD_OFFLD です。技術的な問題のため,SCH_HARD_OFFLD パラメータは V8.3 から使用されていません。詳細は 第 3.1.1 項 を参照してください。

3.4.3 『HP OpenVMS V8.3 リリース・ノート』

「Itanium 3」という名称は,「デュアル・コア Itanium プロセッサ」に修正する必要があります。

『HP OpenVMS V8.3 リリース・ノート[翻訳版]』の第 4.19.2 項「廃止されたシステム・パラメータ」で, Open VMS Version 8.3 での正しいシステム・パラメータは以下のとおりです。

  • SMP_CPUS

  • SMP_CPUSH

  • IO_PREFER_CPUS

IO_PREFER_CPU として示されているシステム・パラメータは,正しくは IO_PREFER_CPUS です。

パラメータ SCH_CTLFLAGS は Version 8.3 ではなくなりましたが, SCHED_FLAGS という名前に変更されています。

『HP OpenVMS V8.3 リリース・ノート[翻訳版]』の第 4.19.2 項「廃止されたシステム・パラメータ」で,廃止されたパラメータのリストが間違っています。正しいリストは, 表 3-3 とおりです。

表 3-3 廃止され置き換えられたパラメータ
OpenVMS V8.3 で廃止されたパラメータ OpenVMS V8.3 での代替パラメータ
SMP_CPUS SMP_CPU_BITMAP
SMP_CPUSH _____________
IO_PREFER_CPUS IO_PRCPU_BITMAP



3.4.4 『HP OpenVMS System Services』

「Itanium 3」という名称は,「デュアル・コア Itanium プロセッサ」に修正する必要があります。

『OpenVMS System Services Reference Manual: GETUTC--Z』の $SNDOPR の項の,「Message Buffer Format for OPC$_RQ_LOGI」の下にあるテキスト「receive the cancellation request」は,「be affected by the log file initialization!! ?DVHYCGOAHHPDMODCRKXTBVWHMSBOHAKNKCVIMODDLA?!!

OPC$L_MS_RQSTID の項では,OPC$B_MS_TARGET という名称は, OPC$Z_MS_TARGET_CLASSES に変更する必要があります。

3.4.5 『TCP/IP Services for OpenVMS Sockets API and System Services Programming』マニュアル

TCP/IP Services for OpenVMS Sockets API and System Services Programming』の表 B-2 「end-of-band mark」は,正しくは「out-of-band mark」です。

3.4.6 『HP OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』

『OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』の CREATE コマンドの「パラメータ」の説明に,以下の「使用上の注意」を追加する必要があります。

使用上の注意

  • 指定するファイルは,インストール・ユーティリティを実行しているプラットフォームのネイティブ・イメージである必要があります。

  • 修飾子を指定せずに CREATE を使った場合には,インストール・ユーティリティは,指定したファイルの既知のファイル・リストにのみエントリを作成します。既知のファイル・リストは,イメージだけに限りません。任意のファイルを既知とすることができます。

  • I64 システムでは,指定するファイルとして Alpha イメージを含めることができます。インストール・ユーティリティは, Alpha イメージをネイティブ・イメージと同様に処理します。たとえば,イメージ・セクションに対してグローバル・セクションを作成し,イメージを共用既知イメージとします。これは,データだけの共用可能イメージの場合にのみ役に立ちます。コード・セクションを実行することはできません。 DCL RUN コマンドでメイン・イメージを実行することはできません。 LIST コマンドは,既知イメージのファイル名をプリントするときにこのようなイメージには「A*」のフラグを付けます。誤ったイメージをインストールするのを避けるために,特に複合アーキテクチャ環境では,システム管理者はこれを認識しておいて,不適切なイメージをインストールしないようにする必要があります。

LIST コマンドの「パラメータ」の説明に,以下の内容を追加する必要があります。

" I64 システムでは,既知イメージのファイル名をプリントするときに,インストールされている Alpha イメージには,「A*」というフラグが付けられます。 "

3.4.7 『TCP/IP Services for OpenVMS Management』

TCP/IP Services for OpenVMS Management』の第 7.3 項「Load Broker Concepts」に次の文章があります。

"If a value is specified, the value is used instead of the term (min(235,IJOBLIM) in the following equation."

この文章は,次のように変更する必要があります。

"If a value is specified, the value is scaled to the effect that the term (min(235,IJOBLIM) * 100) is replaced by (CPU_RATING * 235)."

第 22.1.5 項「Configuring and Managing the NFS Server」に次のコード例があります。


$ @SYS$MANAGER:TCPIP$DEFINE_COMMANDS 
 
$ SYSCONFIG -r nfs_server noproxy_uid=-2 noproxy_gid=-2 

このコード例は,次のように変更する必要があります。


$ @SYS$MANAGER:TCPIP$DEFINE_COMMANDS 
 
$ SYSCONFIG -r nfs noproxy_uid=-2 noproxy_gid=-2 



3.4.8 『OpenVMS システム管理者マニュアル』 (下巻)

付録 C 「OpenVMS に用意されているタイムゾーン」の説明が,「OpenVMS Version 8.3-1H1 には,合計で 552 個のタイムゾーンがあります。」に変更されます。この変更は, ftp://elsie.nci.nih.gov/pub/ から入手できるタイムゾーンの公開データベース tzdata2006n.tar.gz に基いています。

3.5 GiCAP の機能は現在使用できない

SYS$MANAGER:ICAP$CONFIG.COM を実行している際に, "Enter (Y)es to configure this system with GiCAP support (N):" プロンプトに対して,"Y" と答えると,以下のメッセージが表示されます。


                   HP OpenVMS Industry Standard 64 
 
    Global Instant Capacity on Demand (GiCAP) configuration utility 
 
        *** GiCAP functionality is not currently available *** 
 
     *** GiCAP will be enabled at a later date via an ECO kit *** 

また,iCAP (Instant Capacity) のリリース・ノートにも, OpenVMS I64 Version 8.3-1H1 での GiCAP サポートについての説明があります。この機能は現在は提供されていませんが,将来のアップデート・キットで提供される予定です。詳細は,OpenVMS の Web サイトを参照してください。

3.6 iconv の修正

iconv 関数/ユーティリティでは,以下の修正が行われました。

  • これまで,iconv() は NULL の入力パラメータを処理できませんでした。この問題が修正されました。

  • DEC Korean 用の iconv コンバータは, Unicode (UCS-2/UCS-4/UCS-8) との間で正しく変換できるようになりました。



3.7 IOLOCK8 を使わない FibreChannel ポート・ドライバ

多くの I/O サブシステム・コンポーネントは, IOLOCK8 スピンロックを使って CPU 間で動作の同期をとります。スピンロックを取得することにより,性能ボトルネックが発生します。 V8.3-1H1 から,各 FibreChannel ポート・ドライバ (SYS$PGQDRIVER,SYS$PGADRIVER,SYS$FGEDRIVER) デバイスでは, IOLOCK8 の代わりに独自のポート固有のスピンロックを使って内部動作の同期をとるようになりました。これにより,大部分の構成で,各 CPU の IOLOCK8 スピンロックの待ち時間が大幅に減少し,同時に FibreChannel I/O の転送速度が向上しました。

新しいポート・ドライバのいずれかに接続するクラス・ドライバには,軽微な変更が必要なので,以前のままでは動作しない非 HP クラス・ドライバを利用していないか調べる必要があります。簡単に確認する方法は, SDA コマンド CLUE SCSI/SUMMARYの出力を見て,他社製のクラス・ドライバ・デバイスの名前が,"Device" 欄の FGx0 または PGx0 ポート・デバイスのデバイス階層に表示されていないか調べることです。

詳細は,次の SDA セッション例の後の注意を参照してください。


$ ANALYZE/SYSTEM 
 
OpenVMS system analyzer 
 
SDA> CLUE SCSI /SUMMARY 
 
SCSI Summary Configuration: 
--------------------------- 
SPDT      Port  STDT   SCSI-Id  SCDT  SCSI-Lun  Device    UCB       Type    Rev 
--------------  --------------  --------------  --------  --------  ------  ---- 
81624200 FGB0 
                8162CDC0     3 
                                8162D240     0  GGA22     8162F380  HSV200 
                                8162F180     1  DGA22801  8162FD40  HSV200  6100 
                                81632900     2  DGA22802  81632AC0  HSV200  6100 
                                816354C0     3  DGA22803  81635680  HSV200  6100 
                                81638080     4  DGA22804  81638240  HSV200  6100 
                8162D400     4 
                                8162DD80     0  GGA22     8163AC40  MRD200 
                                8163B5C0     1  RJA22801  8163B780  RFD200  6100 
                                8163C840     2  RJA22802  8163CA00  RFD200  6100 
                                8163DAC0     3  RJA22803  8163DC80  RFD200  6100 
                                8163ED40     4  RJA22804  8163EF00  RFD200  6100 

解説

この出力でのすべての DGA デバイスと GGA デバイスは,それぞれ変更された HP クラス・ドライバ SYS$DKDRIVER および SYS$GKDRIVER 経由でアクセスされているので,新しいポート・ドライバと一緒に使っても安全です。

タイプが MRD200 の物理デバイスは弊社が認定したデバイスではありませんが, IOLOCK8 問題は発生しません。このデバイスは GGAx ユニット経由でアクセスされるため,変更された HP 汎用クラス・ドライバ SYS$GKDRIVER が使われるからです。

RJA デバイスは,変更された HP クラス・ドライバで制御されないため,新しいポート・ドライバでは動作しません。



ここでは, OpenVMS I64 用の Linker ユーティリティで修正された問題について説明します。

3.8.1 正しくないイメージ間デバッグ・フィックスアップをリンカがデバッグ・シンボル・ファイルに書き込む

状況によっては,リンカは OpenVMS デバッガ用のイメージ間フィックスアップを作成します。イメージ間デバッグ・フィックスアップは,リンカが解決できない,コンパイラが生成したデバッグ再配置の結果です。つまり,共用可能イメージに格納されている値を実行時に調べるために,デバッガはこれらのフィックスアップを必要とします。デバッガ用にイメージ間フィックスアップをリンカに作成させることが必要となる頻度は,コンパイラによって異なります。 C コンパイラはイメージ間デバッグ・フィックスアップをめったに使用しませんが, C++ コンパイラは頻繁に使用します。このようなイメージを /DEBUG 修飾子付きでリンクすると,リンカはデバッグ情報の後にイメージ間デバッグ・フィックスアップを書き込みます。 /NODSF 修飾子 (デフォルト) を使用すると,情報はイメージ・ファイルに正しく書き込まれますが,/DSF を指定すると,誤ってDSF ファイルに書き込まれることがあります。

たとえば,次の例の DEBUG 情報と DEBUG エラーは,リンカが誤ってDSF ファイルへ書き込んだために表示されます。


$ RUN/DEBUG MINIREF 
%DEBUG-I-INFODWARF, error reading Dwarf info: Section 0a extends outside file 
%DEBUG-I-INFODWARF, error reading Dwarf info: Section 0c extends outside file 
%DEBUG-I-INFODWARF, error reading Dwarf info: SHT_VMS_FIXUP section 10 size 17eb 
e0 not multiple of 18 
%DEBUG-I-INFODWARF, error reading Dwarf info: SHT_VMS_FIXUP section 12 size 17ec 
30 not multiple of 18 
 
         OpenVMS I64 Debug64 Version V8.3-003 
 
%DEBUG-F-ACCVIO, access violation, reason mask=00, virtual address=000000000014A 
000, PC=000000007BD73100, PS=0000001B 
%DEBUG-I-INITIAL, Language: C, Module: MINIREF 
 
DBG> 

イメージ・ファイルには影響がなく, RUN コマンドを使用して問題なく実行できます。


$ RUN MINIREF 

この誤りは OpenVMS V8.3-1H1 の I64 Linker で修正されました。

3.8.2 /SELECTIVE_SEARCH がトランスファー・アドレスを誤って無視することがある

トランスファー・アドレスが含まれている I64 オブジェクト・モジュールがあり, /SELECTIVE_SEARCH 修飾子を指定したリンク操作にそのモジュールを含めると,リンカはそのトランスファー・アドレスを検出しませんでした。

次の例では,オブジェクト・モジュール (MAIN.OBJ) にトランスファー・アドレスが含まれていますが,/SELECTIVE_SEARCH によって無視されます。


$ LINK MAIN/SELECTIVE_SEARCH 
%ILINK-W-USRTFR, image USER:[JOE]MAIN.EXE;1 has no user transfer address 

この状態になるのは,プログラムのトランスファー・アドレスを提供することを意図した I64オブジェクト・モジュールが,SELECTIVE_SEARCH 属性を使用したリンク操作に含まれている場合だけです。次の例のように,LINK コマンドまたは LIBRARY コマンドでオブジェクト・モジュールに /SELECTIVE_SEARCH修飾子を指定すると, SELECTIVE_SEARCH 属性がオブジェクト・モジュールに与えられます。


$ LINK MAIN/SELECTIVE_SEARCH 

または


$ LIBRARY/INSERT LIB.OLB MAIN.OBJ/SELECTIVE_SEARCH 

このライブラリに含まれているモジュールを,リンク操作で参照を解決するために使用します。暗黙的に使用する例を次に示します。


$ LINK/EXECUTABLE=MAIN SUBROUTINES.OBJ, LIB.OLB/LIBRARY 

明示的に使用する例を次に示します。


$ LINK/EXECUTABLE=MAIN SUBROUTINES.OBJ, LIB.OLB/INCLUDE=MAIN 

この問題は,以下のどちらかの形で現れます。

  • リンカが警告メッセージを表示する場合。この状態になるのは,リンク操作の他のオブジェクト・モジュールが (weak かどうかにかかわらず) トランスファー・アドレスを提供しない場合です。

  • リンカがメッセージを表示しない場合。この状態になるのは,リンク操作の他のオブジェクト・モジュールが (weak かどうかにかかわらず) トランスファー・アドレスを提供する場合です。選択的に検索されたオブジェクト・モジュールからトランスファー・アドレスを見つけることができないと,リンカは他のオブジェクト・モジュールのトランスファー・アドレスを選択します。そのトランスファー・アドレスは,意図せずにそのイメージのメイン・エントリ・ポイントとなります。マップ・ファイルには,リンカが正しくない遷移モジュールとトランスファー・アドレスを割り当てたことが出力されますが,実際にアプリケーションを実行するまで問題に気づかない可能性があります。
    この誤りは OpenVMS V8.3-1H1 のリンカで修正されました。



3.8.3 最大セクション数

65280 を超えるセクションに対しては,ELF 形式は拡張された番号付け方式を使用します。これは,OpenVMS V8.3 の I64 Linker では実装されていませんでした。そのため,単一の入力オブジェクト・モジュールまたは共用可能イメージが持つことのできるセクションの数が制限されていました。通常リンカは複数のセクションを持つ共用可能イメージを作成するため,この制限は共用可能イメージを作成する際にも適用されます。ここで,ELF セクションは,C++ テンプレートや共用セクションをエクスポートするために使用されます。つまり,共用可能イメージ中のそのようなインタフェースの数は 65280 未満でなければなりませんでした。

OpenVMSV8.3-1H1 I64 Linker では,この制限はなくなりました。入力ファイル,オブジェクト・モジュール,あるいは共用イメージは, 65280 を超えるセクションを持つことができます。

3.8.4 マップ・ファイル中の共用可能イメージの作成日が正しくない

OpenVMS I64 プラットフォームでは,リンカ・マップ中の共用可能イメージの作成日が正しくない場合がありました。誤った日付は,通常 3686 と表示されます。この状態になるのは,リンカが共用可能イメージを入力ファイルとして処理し,日付フィールドを抽出してマップに出力した場合です。 ANALYZE/IMAGE で表示されるイメージ自体の日付は正しい内容になっています。

この誤りは OpenVMS V8.3-1H1 で修正されました。

3.8.5 demangler 情報を検索するとアクセス違反になる

状況によっては,共用可能イメージ内に demangler 情報がないにもかかわらず,リンカでその情報の検索を試みると,リンカがアクセス違反で異常終了することがありました。

この問題は OpenVMS V8.3-1H1 で修正されました。

3.8.6 NOGLOSYM エラー・メッセージに対する誤った二次メッセージ

NOGLOSYM エラー・メッセージに対して,OpenVMS V8.3 I64 Linker は誤った再配置タイプを表示し,一部の情報を 2 度表示していました。

この問題は OpenVMS V8.3-1H1 で修正されました。

3.8.7 未定義シンボルについての誤った情報

未定義シンボルに対する USEUNDEF 操作によって,同一の参照についての情報が誤って 2 回表示されることがありました。この問題は,コンパイラが未定義シンボルへの参照について,再配置ペア (LTOFF22X/LDXMOV) を生成した場合に発生します。

この問題は OpenVMS V8.3-1H1 で修正されました。

3.8.8 誤った UNMAPFIL エラー

ELF でない入力ファイルがあると,リンカは INVLDHDR エラー・メッセージを表示していました。そして INVLDHDR エラーの後には,誤った UNMAPFIL エラー・メッセージを表示していました。

この問題は OpenVMS V8.3-1H1 で修正されました。

3.8.9 共用可能イメージ・マップ内の識別子の最大長の変更

リンカ・マップでは,リンカはオブジェクト・モジュールと共用可能イメージについて,最大で 14 文字の識別子をプリントしていました。本来は,オブジェクト・モジュールの識別子は無制限で,共用可能イメージの識別子は 15 文字です。

V8.3-1H1 Linker は,共用可能イメージの識別子として,最大で 15 文字プリントするようになりました。

3.8.10 共用可能イメージに対するリンケージ・タイプ・チェック

これまで,リンカは共用可能イメージのシンボルに対して,タイプとリンケージのチェックを行っていませんでした。

OpenVMS V8.3-1H1 では,このチェックを行うようになりました。

3.8.11 プログラム・セクションの ABS 属性が無視される

I64 システムでは,オフセットを定数に変換するためのラベルを持つプログラム・セクション (PSECT) には ABS 属性を設定できません。リンカにより次のようなエラー・メッセージが表示されます。


 %ILINK-E-ILLABSPSC, absolute psect <psect-name> has non-zero length (not 
 allowed) 

OpenVMS 8.3-1H1 Linker は ABS プログラム・セクション属性を無視し,次のような情報メッセージを表示します。


 %ILINK-I-PSCATTIGN, psect attribute ABS is not supported for OpenVMS ELF 
 sections, attribute ignored 



3.8.12 コマンド行に FP_MODE リテラルを指定していないとリンカはアクセス違反となる

OpenVMS V8.3では,コマンド行に FP_MODE リテラルを指定していないと, I64 Linker はアクセス違反になっていました。

この問題は OpenVMS V8.3-1H1 で修正されました。

3.9 OpenVMS の Analyze ユーティリティ



OpenVMS V8.3 では,Analyze ユーティリティ(ANALYZE)はアンワインド・データを, 1 度目は生のデータとして,そして 2 度目はフォーマットされたデータとして,2 度表示していました。セグメント番号または ALL キーワードを使って,アンワインド・データを含むセグメントを選択すると,ANALYZE は生のデータを表示していました。ただし,セグメント番号と ALL または DYNAMIC のキーワードを使って,ダイナミック・セグメントを選択すると, ANALYZE はフォーマットされたデータだけを表示していました。

この問題は,OpenVMS V8.3-1H1 で修正されました。セグメントで,フォーマットされたアンワインド・データが表示されるようになりました。

同一データを 2 度フォーマッティングするのを避けるために, ANALYZE はダイナミック・セグメントではアンワインド情報を表示しなくなりました。アンワインド・データを簡単に選択できるようにするために, ANALYZE では /SEGMENT 修飾子に対して UNWIND キーワードが使用できるようになりました。

以前のコマンド /SEGMENT=DYNAMICと同等のアンワインド情報の出力が必要な場合には, /SEGMENT=(DYNAMIC,UNWIND)コマンドを使ってください。アンワインド・データを持ったセグメントが複数あるときには, /SEGMENT=UNWINDコマンドによってすべてのアンワインド・データがフォーマットされることに注意してください。

3.9.2 フォーマットされたシンボル・ベクタがデータ・セグメントに正しく表示される

これまでは,シンボル・ベクタ要約情報には,シンボル・ベクタが存在するセグメントが表示されず,ダイナミック・セグメント内のシンボル・ベクタだけがフォーマットされていました。

この問題は,OpenVMS V8.3-1H1 で修正されました。シンボル・ベクタが存在するデータ・セグメントでは,フォーマットされたシンボル・ベクタが表示されるようになりました。フォーマットされたシンボル・ベクタはデータに埋め込まれ,データのダンプ内に表示されます。

同一データを 2 度フォーマッティングするのを避けるために,ダイナミック・セグメントではシンボル・ベクタは表示されなくなりました。シンボル・ベクタを簡単にフォーマットできるようにするために, /SEGMENT 修飾子に対して SYMBOL_VECTOR キーワードが使用できるようになりました。このキーワードを指定すると,結果の出力にはフォーマットされたシンボル・ベクタだけが表示されます。周りのデータは表示されません。すべてのデータをフォーマットして表示するには,番号を使ってセグメントを選択してください。

以前のコマンド /SEGMENT=DYNAMIC と同等のシンボル・ベクタの出力が必要な場合には, /SEGMENT=(DYNAMIC,SYMBOL_VECTOR) 修飾子を使ってください。

要約情報には,シンボル・ベクタが存在するデータ・セグメントの名前が表示されます。

3.9.3 トランスファー・アレイがデータ・セグメント内にフォーマットされるようになった

これまでは,セグメント番号または ALL キーワードのいずれかを使って,トランスファー・アレイが存在するデータ・セグメントを選択しても,トランスファー・アレイはフォーマットされませんでした。トランスファー・アレイについての情報は,要約にのみ表示されていました。

この問題は,OpenVMS Version 8.3-1H1 で修正されました。

フォーマットされたトランスファー・アレイがデータ・セグメント内に表示されるようになりました。

3.9.4 システム・バージョン・アレイがダイナミック・セグメント内にフォーマットされるようになった

システム・バージョン・データはダイナミック・セグメント内にあります。これまでは,セグメント番号,ALL または DYNAMIC のキーワードのいずれかを使って,ダイナミック・セグメントを選択しても,システム・バージョン・アレイは表示されませんでした。システム・バージョン・アレイについての情報は,要約にのみ表示されていました。

この問題は,OpenVMS Version 8.3-1H1 で修正されました。

フォーマットされたシステム・バージョン・アレイがダイナミック・セグメント内に表示されるようになりました。

3.9.5 /SEGMENT 修飾子の機能拡張

ダイナミック・セグメント用の /SEGMENT 修飾子が,機能拡張されました。 Analyze は,/SEGMENT=DYNAMIC 修飾子でキーワードを受け付けるようになり,カスタマイズされた情報が表示できるようになりました。選択可能な情報に対するキーワードは,以下のとおりです。

  • ALL - (省略時の指定) ダイナミック・セグメントのすべての部分をフォーマット

  • TAGS - タグ・アレイをフォーマット

  • IMAGE_STRINGS - 指定したイメージの文字列をフォーマット

  • RELOCATIONS - イメージの再配置情報をフォーマット

  • FIXUPS - イメージのフィックスアップをフォーマット

  • SYSTEM_VERSION_ARRAY - システム・バージョン・アレイをフォーマット
    省略時の指定である /SEGMENT=ALL は,すべてのイメージ情報をフォーマットします。
    TAGS キーワードを使ったフォーマッティングには必要なイメージの名前が含まれるため,名前を表示するために IMAGE_STRINGS を指定する必要はないことに注意してください。



3.9.6 セクション・エスケープ機能のサポート

OpenVMS V8.3 では,Analyze ユーティリティは,65,280 を超えるセクションを持つオブジェクト・モジュールを解析すると,完了しませんでした。セクション・ヘッダ・テーブルの表示で,ループに陥っていました。

この問題は,OpenVMS V8.3-1H1 で修正されました。

3.10 OpenVMS の INSTALL ユーティリティ (S2 空間に常駐イメージをインストールする)

INSTALL ユーティリティは,常駐イメージのコード・セグメントを 64 ビット S2 アドレス空間へインストールする機能をサポートするようになりました。ただしすべてのコードが,完全な 64 ビット・アドレス空間 (P2 または S2) で実行できるわけではありません。たとえば,例外を処理するためには,コードは 64 ビット PC に対応していなければなりません。また,一部のコンパイラでは,64 ビット・アドレス空間用のコードを生成するときには,/POINTER_SIZE=64 コマンド修飾子を指定する必要があります。

対応していないコードを S2 空間にマッピングするのを避けるために, INSTALL ユーティリティは,省略時の指定では,コード・セグメントを S0/S1 空間にマッピングします。 INSTALL ユーティリティが常駐イメージのコード・セグメントを S2 空間にマッピングするのは,以下の 2 つの条件が満たされた場合だけです。

  • 開発者がイメージをリンクする際に /SEGMENT_ATTRIBUTE=CODE=P2 修飾子を使うことにより,コードが 64 ビット対応であることを明示的に指定した場合。

  • S2 空間の常駐コード領域に,コード・セグメントをマッピングできるだけの大きさの割り当て済みの空間がある場合。領域のサイズは,システム・パラメータ GH_RES_CODE_S2 (ページ数) で決まります。省略時の値は 0 です。つまり,デフォルトでは,64 ビット対応の常駐イメージであっても,コードは S0/S1 空間にマッピングされます。



3.11 Librarian ユーティリティ

Librarian ユーティリティでは,以下の機能拡張が行われました。

3.11.1 セクション・エスケープ機能のサポート

これまでは,65,280 を超えるセクションを持つオブジェクト・モジュールは,オブジェクト・ライブラリに追加できませんでした。 Librarian は,次のようなエラー・メッセージで異常終了していました。


$ LIBRARIAN/CREATE MYLIB 64K_SECTIONS 
%LIBRAR-E-REPLACERR, error replacing USER$DISK:[JOE]64K_SECTIONS.OBJ;1 
in USER$DISK:[JOE]MYLIB.OLB;1 
$ 

この状況は,OpenVMS V8.3-1H1 で修正されています。セクション・エスケープ機能は,OpenVMS Version 8.3-1H1 で追加されています。

3.12 InfoServer ユーティリティと FDDI

OpenVMS の InfoServer ユーティリティを使って FDDI ネットワーク・アダプタ経由でクライアントをブートする機能はサポートされていません。

3.13 DCL コマンドの SET PASSWORD の新しい修飾子

DCL コマンドの SET PASSWORD は,/PROMPT 修飾子で, 2 つの値 /PROMPT=FIXED と /PROMPT=VARIABLE を受け付けるようになりました。 DCL コマンド・プロシージャで SET PASSWORD コマンドを使う場合には, /PROMPT=VARIABLE 修飾子は使わないでください。使った場合には動作は正常に行われますが,障害ステータスが出た場合は,表示されるだけで DCL には返されません。

3.14 メディア使用前の INITIALIZE/ERASE

ストレージ・メディアを初めて使用する前に,ストレージ・メディアに対して DCL コマンド INITIALIZE/ERASE を実行することをお勧めします。このようにすることで,別のオペレーティング・システムや診断ツールでそれまで使っていた古いデータを削除することができます。

このような古いデータがあった場合には,コンソール・コマンドの出力では,次の例に示すように,3 つの疑問符 (???) で示されます。


Shell> ls fs1:\
 
Directory of: fs1:\
 
 00/00/07 19:16p     1,788,984,016 ??? 
 
 00/00/80 12:00a           0 ??? 
 
     2 File(s)  1,788,984,016 bytes 
 
     0 Dir(s) 

この問題は,将来のリリースで修正される予定です。

3.15 XML-C 製品の ZIP ファイル

OpenVMS for Integrity サーバの XML-C 製品は, ZIP ユーティリティでアーカイブされた形態で自己解凍形式の実行可能ファイルが提供されます。 XML-C のインストール・マニュアルでは,この実行可能ファイルを使って製品をインストールする方法が説明されています。インストールを開始する前に, ZIP ファイルを解凍して実行可能ファイルを取り出してください。

3.16 OpenVMS e-Business and Integration Infrastructure Package の使い方

OpenVMS e-Business and Integration Infrastructure Package for OpenVMS は, OpenVMS システムでは Files-11 ファイル構造として, Windows,Linux,UNIX システムでは ISO 9660 ファイル構造として見えるように, 2 枚の CD に収められています。

インストール

コンポーネントのインストール・キットとマニュアルは, 2 枚の CD に分かれています。コンポーネントのインストールは,OpenVMS Alpha システムでのみ実行でき,最上位の index.html ファイルで指定されている特定の CD からのみ行うことができます。

マニュアル

OpenVMS システムでは,マニュアルはマウントしている CD に応じて部分的に表示されます。コンポーネントのマニュアルは,その CD に含まれているコンポーネントに対応した分だけが参照できます。

Windows,Linux,UNIX システムでは,両方の CD で全部のコンポーネント・マニュアルが表示できます。

3.17 Performance Data Collector for OpenVMS (TDC)

OpenVMS Version 8.3-1H1 をインストールすると, TDC_RT Version 2.2-107 がインストールされます。次の TDC Web サイトには, TDC Version 2.2-108 へのアップデート・ファイルが用意されています。


http://www.hp.com/products/openvms/tdc/ 

TDC Version 2.2-108 では, TDC_RT Version 2.2-107 で見つかったいくつかの問題が修正されています。また,TCPware および MultiNet 環境でインターネット・メトリックスの収集ができるようになり,いくつかのデータ・レコードに対してメトリックスが追加され,TDC Software Developers Kit には新しいプログラミング機能とサンプル・コードが用意されています。

3.18 C++ コンパイラ

Integrity サーバ用の C++ Version 7.2 for OpenVMS では,マクロ __INITIAL_POINTER_SIZE に 0 が設定済みです。これは,C++ Version 7.1 Compiler では未定義のままでした。これは C++ Version 7.2 を C コンパイラと調和させ, pointer_size プラグマをサポートするための意図的な変更です。 C++ Version 7.1 ではサポートしていません。

この変更によって,ポインタ・タイプを宣言しているシステム・ヘッダ・ファイルで選択される特定の宣言を使っていて,今まで正常にコンパイルされたコードで診断メッセージが表示されることがあることに注意してください。 starlet ヘッダを使って,__NEW_STARLET を定義してコンパイルするアプリケーションで,このメッセージが表示されることがあります。

新しい宣言に合わせてアプリケーションのソース・コードを変更することができない場合には,CXX コマンド行にコマンド行修飾子 /UNDEF=__INITIAL_POINTER_SIZE を追加して, C++ Version 7.2 コンパイラによって,上記のマクロが定義されないようにし, Version 7.1 コンパイラの場合に定義しているのと同じ宣言がシステム・ヘッダで提供されるようにしてください。

3.19 DCE IDL C++ アプリケーションのビルド

CXX Version 7.2 以降で DCE IDL C++ アプリケーションをビルドすると,リンカから未定義シンボルの警告が出力されます。これは既知の問題です。 HP サポート・サービスに連絡して,この警告が表示されないようにするために必要なパッチを要求してください。

3.20 インストール時の CDSA エラー

OpenVMS Version 8.3-1H1 にアップグレードするときに,以下のエラーが表示されることがあります。これらのエラーは無視してかまいません。 CDSA と Secure Delivery は正常に動作し, PCSI キットも正常かつ安全にインストールされます。


CDSA-I-Init, CDSA has previously been initialized on this system. 
 CDSA-I-Init, Re-initializing CDSA. 
 
 CDSA-I-Init, Initializing CDSA 
 MDS installed successfully. 
 Module installed successfully. 
 Module: MDS Error (Clean): 300A 
  (Code #300A)! 
 Module: MDS Error (Clean): 300A 
  (Code #300A)! 
 Module: MDS Error (Clean): 300A 
  (Code #300A)! 
 Module: MDS Error (Clean): 300A 
  (Code #300A)! 
 Module: MDS Error (Clean): 300A 
  (Code #300A)! 
 Module: MDS Error (Clean): 300A 
  (Code #300A)! 
 Module: MDS Error (Clean): 300A 
  (Code #300A)! 
 Module: MDS Error (common-DL): 300A 
  (Code #300A)! 
 Module installed successfully. 
 Module: MDS Error (common-DL): 300A 
  (Code #300A)! 
 CDSA-I-Init, CDSA Initialization complete  CDSA-I-Init, Initializing Secure Delivery. 
 Install completed successfully. 
 Module: MDS Error (Clean): 300A 
  (Code #300A)! 
 Module installed successfully. 
 CDSA-I-Init, Secure Delivery Initialization complete 
 



3.21 FREEWARE_README.TXT ファイルのアップデート

OpenVMS の各 Freeware CD に収められている [FREEWARE]FREEWARE_README.TXT のアップデート・ファイルは,次の OpenVMS Freeware Web サイトからダウンロードできます。


http://www.hp.com/go/openvms/freeware/ 

このアップデート・ファイルには,表示されるバージョン番号の V7.0 から V8.0 への修正を初めとして,その他のアップデートや修正が含まれています。

OpenVMS Freeware の慣例として, OpenVMS Freeware Web サイトには,既存のファイルのアップデートと新しいパッケージが用意されています。

3.22 プロセス/アプリケーションがハングする

lib$find_image_symbol ランタイム・ライブラリ・ルーチンの LIBRTL ドキュメントには,以下の制限事項が適用されます。

pthread (またはそれよりも古い CMA スレッド・インタフェース) を使っている共用可能イメージをアプリケーションでダイナミックにアクティベートしている場合には,メイン・イメージに pthread$rtl イメージをリンクする必要があります。

3.23 プロビジョニング

ここでは, OpenVMS V8.3-1H1 でのプロビジョニングについて説明します。

3.23.1 BL860c システムは電源をオンにしておく必要がある

BL860c サーバ・ブレードのプロビジョニングでは,システムの電源をオンにしておく必要があります。システムの電源がオフになっていると,iLO にはアクセスできますが,アップグレードおよびインストールは失敗します。

3.23.2 InfoServer の名前の長さ

プロビジョニングを正しく行うためには, InfoServer の名前は 12 文字未満である必要があります。これは一時的な制限事項です。

3.23.3 複数サーバのプロビジョニング

HP SIM のプロビジョニング (InfoServer または vMedia) では,同時に複数のサーバをプロビジョニングできますが, vMedia を HP SIM なしで,単独で使う場合には,一度に 1 つのサーバしかプロビジョニングできません。

3.23.4 HP SIM Central Management Server からのプロビジョニング

OpenVMS は,Microsoft Windows 2003 Server または Suse Linux が動作している HP SIM Central Management Server からプロビジョニングできます。

3.23.5 OpenVMS InfoServer とサーバ・ブレードは同一 LAN 上に

サーバ・ブレードをプロビジョニングするためには, OpenVMS InfoServer とサーバ・ブレードを同一 LAN 上に配置しておく必要があります。

3.23.6 EFI ファームウェア

BladeSystem の EFI ファームウェア・バージョンは,5.0 以降である必要があります。

3.23.7 Management Processor

Management Processor では, Advanced iLO-2 ファームウェアが動作している必要があります。

3.24 SYS$LDDRIVER の制限事項

SYS$LDDRIVER.EXE は,フリーウェアの擬似デバイス・ドライバです。これを使うと,OpenVMS オペレーティング・システムで仮想ディスクが作成できます。 OpenVMS V7.3-1 以降では,このドライバは SYS$COMMON:[SY$LDR] 内に置かれ,CDRECORD または COPY/RECORDABLE_MEDIA を使った CD や DVD のマスタリングのためのソース仮想ディスクの作成をサポートしています。このフリーウェアのドライバの使用はこの形式でのみサポートされています。これ以外での使用は,下記のように規定された,フリーウェアの使用上の制限事項に該当します。

OpenVMS Freeware はそのままの状態で保証なしで提供されます。配布や再配布についての制限はありません。弊社では,このソフトウェアについてのサービス,ソフトウェアの修正,および正常な動作に関する保証は行いません。

3.25 ディレクトリ・ファイルの RMS $PARSE 検証

OpenVMS V8.3 から,$PARSE サービスは,ディレクトリ指定に該当するすべてのディレクトリを検証して,ディレクトリ特性がセットされていることを確認するようになりました。以前の OpenVMS バージョンでは, .DIR拡張子を持つがディレクトリでないファイルにアクセスを試みると,必ずしも $PARSEサービスからではなく, $OPENサービスから SS$_BADIRECTORYエラーが返されました。 V8.3 から,エラーは必ず $PARSEサービスから返されるようになりました。ただし,構文チェックだけの $PARSEについては除きます。

3.26 SCACP エラー・カウンタが再送エラーをレポートすることがある

システムの PEA0: デバイスが多数のエラーを表示する場合には,これらのエラーは再送エラーであり,実際のエラーではありません。実際のエラーを確認するには,SCACP ユーティリティを使って PEA0 チャネルで多数の再送が行われているか確認し,LANCP ユーティリティを使って,PEdriver が使っている LAN デバイスで実際のデバイス・エラーがあるか確認する必要があります。再送は行われているけれども,デバイス・エラーは発生していない場合には, PEA0: デバイス・エラーは再送エラーであり,実際のエラーではない可能性があります。

3.27 シリアル・ポートの名前

OpenVMS での列挙は,OpenVMS の汎用デバイス・タイプ命名規則に従って,デバイスに英字と番号を割り当てる作業です。シリアル・ポートの場合には,この列挙は TTA0,TTB0,...のようになり,汎用シリアル・ポート・デバイスの場合には,EFI Boot Manager または EFI シェル・プロンプトでシステムのプライマリ・コンソールとして選択したシリアル・ポート・デバイスに対して, OPA0 となります。

OpenVMS V8.2 では,Alpha ベース・システムの OpenVMS で確立された規則と前例に従って,システム・シリアル・ポートを列挙してきました。 OpenVMS V8.3 では,これらの規則が破棄され,エンド・ユーザから見て一貫性のないポート命名規則が使われるようになりました。特に,V8.2 から V8.3 へ移行する場合に顕著です。

OpenVMS V8.3-1H1 では,HP Integrity の OpenVMS V8.2 で確立された一貫性のあるシリアル・ポート命名規則に戻りました。シリアル・ポートの名前を不必要に変更しないためと, OpenVMS Alpha システムのポリシーに合わせるためです。シリアル・ポートは複数の機能をサービスする等の理由から,シリアル・ポートの名前は変わる可能性があります。

プライマリ・コンソールとして選択したシリアル・ポートは,必ず OPA0 になります。グラフィック・コンソールをプライマリとして選択した場合には,キーボードとグラフィックス・ディスプレイで OPA0 が構成され,シリアル・ポートには TTA0,TTB0,...のような名前が割り当てられます。

Integrated Lights Out (iLO) Management Processer (MP) のシリアル・ポートは,プライマリ・コンソールとして選択しない限り,シリアル・ポートとして接続されず,オペレーティング・システムからは表示されません。これは汎用的な使用には適していません。汎用シリアル・ポートに必要なデータ・レートのサポートができないためです。これは大部分のシステムで,オプションのコンポーネントです。システムに付属しているオプションのリスト,または次の Web サイトにあるシステム・マニュアルを確認してください。


http://docs.hp.com 

プライマリ・コンソールとして選択できるシリアル・ポートには, iLO と Baseboard Management Console (BMC) の 2 つがあります。どちらをプライマリ・コンソールとして選択しても, OpenVMS では OPA0 と表示されます。そしてシステムに他のシリアル・ポートがある場合には, TTA0 または TTB0 と表示されます。次の表に,略語とその定義を示します。

略語 定義
MP iLO MP のシリアル・ポート。このコンポーネントはシステムによってはオプションです。
BMC BMC のシリアル・ポート。このコンポーネントはすべてのシステムが備えているわけではありません。
AP 補助ポート。16550 互換の補助シリアル・ポート。すべてのシステムが備えているわけではありません。
VGA グラフィック・コンソール。iLO-MP のオプションのコンポーネントです。システムに VGA オプションが付属していない場合には, PCI スロットのいずれかにグラフィックス・オプションをインストールすることで,この機能が利用できます。
NA 該当なし。
NC OpenVMS ではシリアル・ポートとして構成されません。
NS サポートされていません。

次の表に,この節でふれた背面パネルの図の参照先を示します。

プラットフォーム 背面パネルの図
rx1600, rx1620 http://docs.hp.com/en/AB430-96004/ch03s03.html#i1021437
rx2600, rx2620 http://docs.hp.com/en/AD117-9003A/ch02s02.html
rx4640 http://docs.hp.com/en/A9950-96009/A9950-96009.pdf
rx3600, rx6600 http://docs.hp.com/en/AD217-9001A/ch02s03.html
rx2660 http://docs.hp.com/en/AD217-9001A/ch02s02.html
rx8620 http://docs.hp.com/en/A7026-96033/ch04s05.html
BL860c http://docs.hp.com/en/AD217-9001A/ch02s01.html

次の表に,上記の HP Integrity プラットフォームでのシリアル・ポート名を示します。プライマリ・コンソールとして選択したデバイスには,必ず OPA0 という名前が付きます。

プラットフォーム プライマリ・コンソール・ポート MP BMC AP VGA
rx1600
rx1620
MP (オプション)
BMC
VGA (オプション)
OPA0
NC
NC
TTA0
OPA0
TTA0
NA OPA0
rx2600
rx2620
MP (オプション)
BMC
VGA (オプション)
OPA0
NC
NC
TTB0
OPA0
TTB0
TTA0
TTA0
TTA0
OPA0
rx4640 MP
VGA (オプション)
OPA0
NC
NA NA OPA0
rx3600
rx6600
MP (オプション)
BMC
VGA (オプション)
OPA0
NC
NC
TTA0
OPA0
TTA0
OPA0  
rx2660 MP
VGA (オプション)
OPA0
NC
NA TTA0
TTA0
OPA0
rx8620 MP
VGA
OPA0
NC
NA NA OPA0
BL860c MP
VGA
OPA0
NC
NA NA OPA0



3.28 古いファームウェアでは VMS V8.3-1H1 がシステム・イベント・ログに書き込むメッセージを変換できない

インストール時に,V8.3-1H1 は新しいメッセージのシステム・イベント・ログへの書き込みを開始します。システム・イベント・ログを表示するには,(大部分のシステムで) メイン MP メニューからシステム・イベント・ログの表示を選択します (SL: Show Event Logs)。

古いファームウェアでは,メッセージが,正しい "OS_OPENVMS_BUGCHECK" と "OS_OPENVMS_SHUTDOWN" の代わりに, "IPMI Type-E0 Event" と変換されます。

以下に,古いファームウェアが動作しているシステムでの OS_OPENVMS_BUGCHECK メッセージ (警報レベル *5 - クリティカル) の例を示します。


291        0  *5  0xB4801C9700E01B50 000000000019000C IPMI Type-E0 Event 
                                                      30 Jul 2007 14:03:41 

以下に,古いファームウェアが動作しているシステムでの OS_OPENVMS_SHUTDOWN メッセージ (警報レベル 2 - 情報) の例を示します。


296        0   2  0x54801C9900E01BD0 00000000001A000C IPMI Type-E0 Event 
                                                      30 Jul 2007 14:22:06   

新しいファームウェアでは,"IPMI Type-E0 Event" の代わりに, "OS_OPENVMS_BUGCHECK" または "OS_OPENVMS_SHUTDOWN" が使われます。

3 番目のメッセージ "OS_BOOT_COMPLETE" は,新しいファームウェアが動作しているシステムでは,異なる警報レベルになります。これは,OpenVMS により,「情報」または「レベル 2」に変更されました。


301   OS   0   2  0x548016E100E01B80 0000000000000001 OS_BOOT_COMPLETE 
                                                      23 Aug 2007 14:25:44 

新しいファームウェアでは, "T - View Mode Configuration Text" を選択すると,以下のメッセージが表示されます。


MP:SL (+,-,CR,D, F, L, J, H, K, T, A, U, ? for Help, Q or Ctrl-B to Quit) >t . 
. 
. 
 
Log Entry 301: 23 Aug 2007 14:25:44 
Alert Level 2: Informational 
Keyword: OS_BOOT_COMPLETE 
OS Boot Complete 
Logged by: O/S Kernel (Generic)  0 
Data: Major change in system state - Boot Complete 0x548016E100E01B80 0000000000000001 



3.29 POSIX スレッドを使用しているプログラムでの AST 実行要求の明確化

スレッド化されたプログラムで AST を利用することができます。『Guide to the POSIX Threads Library』の付録 B.12.5 では,一般的な使用上の注意が説明されています。しかし,その説明では,アップコールを無効にした (省略時の設定) プログラムでの AST 実行要求の動作が明確ではありません。

アップコールを無効にしたプログラムでは,ユーザ・モードの AST は, AST の実行が要求された時点で実行中のすべてのスレッドに割り込みます。したがって,AST サービス・ルーチンでは,実行するコンテキストに前提 (スレッド ID,利用できるスタック領域など) を設けることはできません。

また,このガイドの付録 B.12.5 内の大部分の説明では,将来提供される OpenVMS のバージョンについて記載していることに注意してください。一般化された "per-thread" やスレッドをターゲットとする AST についての説明は,将来オペレーティング・システムが拡張される可能性があることを示しています。ただし,現在までのすべての OpenVMS リリースでは,ユーザ・モードの AST は,総じてプロセスに対して要求されているものとして処理されています。

3.30 CRTL 内の TZ 関数

論理名 TZ や DCL シンボル TZ は,特定の C プログラムの時刻関連の関数で使われるタイムゾーンを定義するために, C ランタイム・ライブラリで使われます。 (TZ の完全な説明,その使用法,具体的な関数については, C ランタイム・ライブラリのマニュアルの tzset( ) 関数の説明を参照してください。)

論理名 TZ や DCL シンボル TZ は,OpenVMS Version 7.3 から, C ランタイム・ライブラリで使われています。ただし,Version 8.3 で一部変更されました。

Version 8.3 より前では,TZ にタイムゾーンとして無効な値を定義すると,タイムゾーンには省略時の値であるローカルタイム (すなわち,システムの現在のタイムゾーン) が設定されました。 OpenVMS 8.3 リリースからは,TZ に無効なタイムゾーンを定義すると, C ランタイム・ライブラリの時刻関数は,UTC 時刻を使用するようになりました。

論理名 TZ や DCL シンボル TZ にタイムゾーンとして無効な文字列を定義すると,C プログラムの実行時に予期しない副作用が発生する可能性があることに注意してください。

3.31 HP TCP/IP Services for OpenVMS

OpenVMS Version 8.3-1H1 にアップグレードした後に, TCP/IP Services for OpenVMS Version 5.6 に最新の Engineering Change Order (ECO) を適用し,最新のソフトウェアがインストールされている状態にしてください。

以下の情報は,HP TCP/IP Services for OpenVMS V5.6 の現在のリリースに対応しています。

3.31.1 getnameinfo() 関数の NI_* フラグの値が不適切に変更される

getnameinfo() 関数の NI_* フラグの値は,V5.6 リリースでは不適切に変更されていました。そのため,NI_* フラグの値を使って,V5.6 より前の TCP/IP を対象としてビルドされたアプリケーションが TCP/IP V5.6 上で期待通りに動作しないことがあります。この問題は修正され,フラグの値はV5.6 より前の定義に戻りました。 NI_* フラグの値を使って,V5.6 を対象としてビルドされたアプリケーションは, V5.6 ECO1 以降では正しく動作しなくなることに注意してください。このようなアプリケーションはビルドしなおす必要があります。

TCP/IP V5.6 ECO1 を対象としてアプリケーションをビルドすると, sys$common:[syslib]decc$rtldef.tlb 内の netdb.h で定義されている NI_* 定数は,TCP/IP 製品内の値に対応しなくなります。 decc$rtldef.tlb の netdb.h 内の NI_* 定数は, C RTL ライブラリの次回のリリースでアップデートされる予定ですが,製品は独立してリリースされるため,一定の期間同期が取れていない状態になります。 V5.6 ECO1 では,NI_* 定数は以下のように定義されています。


#define NI_DGRAM        0x00000001 
#define NI_NAMEREQD     0x00000002 
#define NI_NOFQDN       0x00000004 
#define NI_NUMERICHOST  0x00000008 
#define NI_NUMERICSERV  0x00000010 
#define NI_NUMERICSCOPE 0x00000020 
#define NI_WITHSCOPEID  0x00000040 

アプリケーションでこれらの定数を使っている場合には, netdb.h ファイルを手動で変更する必要があります。あるいは tcpip$examples ディレクトリ内の netdb.h をアップデートして, #include "tcpip$examples:netdb.h" を組み込むことで対処することもできます。

V5.6 用の netdb.h では,これ以外の変更も行われています。したがって,古いバージョンの netdb.h ファイルを, V5.6 ファイルの代わりに使わないでください。

3.32 Virtual Connect

ここでは Virtual Connect に関する注意事項について説明します。

3.32.1 フェイルオーバと RECNXINTERVAL

特に規模の大きいクラスタ環境の場合, Virtual Connect Manager のフェイルオーバ時間に余裕を持たせるために, RECNXINTERVAL に省略時の値より 20 は大きな値を設定することが必要となります。

3.32.2 Fibre SCSI

HP Integrity BL860c Server Blade に OpenVMS Version 8.3-1H1 をインストールしている場合, Virtual Connect を使うためにアップデートされたFibre SCSI 修正キットが必要となります。アップデート・キットの詳細は,以下の URL の OpenVMS の Web サイトを参照してください。


http://www.hp.com/go/openvms/ 



3.33 システム・パラメータ CPU_POWER_MGMT のデフォルト値の変更

システム・パラメータ CPU_POWER_MGMT のデフォルト値が 1 から 0 (すなわち on から off) に変更されています。この変更により,IDLE からの中断あるいは CPU の終了の遅延が改善されています。この値は,OpenVMS の将来のバージョンで再度変更される可能性があります。

3.34 予約メモリ機能を使用するサテライト・システムのブート

Integrity サテライト・システムで SYSMAN の予約メモリ機能を使用するためには, SYS$SYSTEM:VMS$RESERVED_MEMORY.DATA ファイルのプロテクションが全ユーザから READ+EXECUTE アクセス可能な状態でなければなりません。この設定が行なわれていないと,サテライト・システムのブート時に次のような警告メッセージが表示されます。


%VMS_LOADER-W-Warning: Unable to load file SYS$SYSTEM:VMS$RESERVED_MEMORY.DATA 

サテライトに対するメモリ・リザベーションを追加するために SYSMAN を実行した後, SYS$MANAGER:CLUSTER_CONFIG_LAN.COM を実行して, VMS$RESERVED_MEMORY.DATA ファイルに正しいプロテクションを設定してください。プロテクションを設定するには,クラスタ構成プロシージャのメイン・メニューから次のメニューを選択してください。


3. CHANGE a cluster member's characteristics. 

「CHANGE」メニューから次のメニュー項目を選択します。


13. Reset an IA64 satellite node's boot environment file protections. 
 
    What is the satellite name (leave blank to use a specific device and root)? 

メモリ・リザベーションを追加したシステムのサテライト名,あるいはサテライト・ブート・デバイスと root を入力します。将来のリリースでは SYSMAN が修正されこの状況は発生しなくなります。


目次 索引

印刷用画面へ
プライバシー 本サイト利用時の合意事項