Compaq OpenVMS Alpha
V7.3-1 リリース・ノート【翻訳版】


前へ 次へ 目次 索引


5.25.4 SORT/STATISTICS オーバフロー

V7.3-1

SORT32 では,Alpha 上でワーキング・セット・エクステントと作業ファイル割り当てに関する SORT/STATISTICS に,より大きな値を設定できるようになりました。(この機能は,SORT32 と Hypersort の両方でサポートされます。)

5.25.5 SORT32 のソート作業ファイル用保護マスク

V7.3-1

SORT32 では,Alpha 上でソート作業ファイル用の保護マスクが <RWED,RWED> に設定されるようになりました。以前は,ソート作業ファイル用の保護マスクが <D,RWED> に設定されていました。以前の設定では,プロセスの UIC とは別の UIC が所有者になっている共有ディレクトリにソート作業ファイルを再定義した場合に,/WORK_FILES=2(デフォルト)以上を使用すると,保護違反がレポートされることがありました。

5.25.6 SORT/SPECIFICATION と複合条件---制限事項

V7.3-1

SORT32 では,次のようにかっこで囲まれていないキー指定ファイルの複合条件を診断できません。


/Condition=(Name=Test1, 
      TEST=(Field2 EQ "X")AND(Field3 EQ "A"))

この条件は,次のように指定する必要があります。


/Condition=(Name=Test1, 
      TEST=((Field2 EQ "X")AND(Field3 EQ "A")))

5.25.7 SORT32 と Hypersort の性能---ワーキング・セットとページ・ファイル・クォータ

V7.3-1

SORT32 と Hypersort では,それぞれのソート・アルゴリズムと作業ファイル・アルゴリズムが異なります。それぞれのソート・ユーティリティの処理速度は入力ファイルとメモリ/ディスク/CPUの構成に依存します。SORT32 と Hypersort のどちらでも,ページ・ファイル・クォータがワーキング・セット・エクステントの 3 倍以上になるようにしてください。

5.25.8 可変長レコードでの SORT32 と Hypersort の性能

V7.3-1

SORT32 と Hypersort では,ソート作業ファイル内の最大レコード長(LRL)に基づいて固定長のスロットが割り当てられます。ソート性能を向上させるには,実際の最大レコード長に最も近い LRL 情報をファイルに設定します。初期性能が低い場合は,C プログラムによって作成されたファイルをソートしており,LRL が必要以上に(32767 まで)設定されていることが原因と考えられます。

5.25.9 SORT32 作業ファイル・ディレクトリ---制限事項

V7.3

SORT32 の作業ファイルは,要求した作業ファイル数を処理できる複数のファイル・バージョンを格納できるディレクトリにリダイレクトする必要があります。この制限は,Hypersort にも適用されます。


第 6 章
OpenVMS システムでの装置のサポート

この章では,Alpha システムと VAX システムでの OpenVMS 装置のサポートに関するリリース・ノートをまとめます。必要に応じて,Alpha 固有の情報であるのか,VAX 固有の情報であるのかを見出しに示します。

6.1 OpenVMS デバイス・ドライバの再コンパイルと再リンク

ここでは,OpenVMS デバイス・ドライバの再コンパイルと再リンクに関するリリース・ノートをまとめます。

6.1.1 Alpha デバイス・ドライバに影響を与える可能性のあるスレッド単位のセキュリティ

V7.2

OpenVMS Alpha デバイス・ドライバに影響を与える可能性のあるスレッド単位のセキュリティの詳細については,第 5.20.1 項 を参照してください。

6.1.2 Alpha および VAX の SCSI デバイス・ドライバ

V7.3-1

OpenVMS の以前のバージョンのすべての OpenVMS Alpha SCSI デバイス・ドライバが OpenVMS Version 7.3-1 またはそれ以降で正しく動作するには,再コンパイルと再リンクが必要です。

OpenVMS Alpha Version 7.0 より前のバージョンからアップグレードしている OpenVMS Alpha SCSI ドライバがある場合は, 第 6.1.3 項 を参照してください。

OpenVMS Version 7.1 では,すべての OpenVMS VAX SCSI デバイス・ドライバの再コンパイルと再リンクが必要でした。OpenVMS Version 7.1 で実行できるように再コンパイルと再リンクされた OpenVMS VAX デバイス・ドライバは,OpenVMS Version 7.3 またはそれ以降でも正しく動作します。

6.1.3 OpenVMS Alpha デバイス・ドライバ

V7.1

OpenVMS Alpha Version 7.0 で実行できるように再コンパイルおよび再リンクされたデバイス・ドライバは,OpenVMS Alpha Version 7.1 またはそれ以降で実行できるようにするためにソース・コードを変更したり,再コンパイルや再リンクしたりする必要がありません(ただし,Alpha SCSI ドライバについては,再コンパイルと再リンクが必要です。 第 6.1.2 項 を参照してください)。

OpenVMS Alpha Version 7.0 より前のリリースのデバイス・ドライバのうち,OpenVMS Alpha Version 7.0 に対応するよう再コンパイルおよび再リンクされていないデバイス・ドライバを OpenVMS Alpha Version 7.1 またはそれ以降で実行するには,再コンパイルと再リンクが必要です。

OpenVMS Alpha Version 7.0 では,OpenVMS Alpha 特権インタフェースと構造体が大幅に変更されました。これらの変更の結果,OpenVMS Alpha Version 7.0 より前のリリースのデバイス・ドライバでは,OpenVMS Alpha Version 7.0 またはそれ以降で正しく動作するように,ソース・コードを変更する必要があります。カスタマが作成したドライバのソースの変更が必要となる OpenVMS Alpha Version 7.0 の変更点の詳細については,『OpenVMS Alpha Guide to Upgrading Privileged-Code Applications』を参照してください。

6.2 論理ユニット番号に対するパラレル SCSI のサポート---制限事項

V7.2

OpenVMS では,パラレル SCSI バスで,各ターゲット ID に対して最大 8 つの論理ユニット番号(LUN)がサポートされます。

SCSI-2 標準では,8 つの LUN に制限されていますが,SCSI-3 標準は最近,LUN を 64 に拡大しました。HSZ80 は 8 つより多くの LUN を実装した,唯一のサポートされているデバイスです(各ターゲット ID に対して 32 の LUN をサポートします)。この機能は OpenVMS の現在のリリースでは使用できません。OpenVMS での LUN の値は 0 〜 7 の範囲でなければなりません。

この制限事項は Fibre Channel には適用されません。

6.3 IO$_DIAGNOSE 関数の動作の変更

ここでは,IO$_DIAGNOSE の変更点について説明します。

6.3.1 S2DGB$L_32PHSTMO および S2DGB$L_64PHSTMO の変更点

V7.3

S2DGB$L_32PHSTMO および S2DGB$L_64PHSTMO の正式な値は現在,0 〜 65,535 [約 18 時間] です。以前,この値は 0 〜 300 [5 分] でした。

6.4 CRCTX ルーチンの機能の強化

V7.1-2

Counted Resource Context Block(CRCTX)構造体の管理に使用できるシステム・ルーチンが強化されました。次のルーチンが,CRCTX 構造体のステータス(CRCTX$V_ITEM_VALID)を設定およびチェックするようになりました。

これらのルーチンは次のように変更されました。

有効な CRCTX ステータス(CRCTX$V_ITEM_VALID を 1 に設定)で IOC$DEALLOC_CRCTX を呼び出すと,サービスは不正なステータスを返します。SYSBOOT パラメータ SYSTEM_CHECK が設定されている場合には,システム障害が発生します。このため,割り当てが解除されていない有効なリソースがあるときに,ユーザが CRCTX の割り当てを誤って解除することを防止できます。

IOC$ALLOC_CNT_RES は,無効な CRCTX ステータス(CRCTX$V_ITEM_VALID を 0 に設定)で呼び出さなければなりません。有効なステータスでこのルーチンを呼び出すと,OpenVMS はこの CRCTX によってマップされたリソースをユーザが手放すものと解釈します。OpenVMS は新しいリソースを割り当てず,不正なステータスを返します。SYSTEM_CHECK が設定されている場合には,システム障害が発生します。IOC$ALLOC_CNT_RES は有効ビットを設定してから戻ります。

IOC$DEALLOC_CNT_RES は,有効な CRCTX ステータス(CRCTX$V_ITEM_VALID を 1 に設定)で呼び出さなければなりません。無効な CRCTX で IOC$DEALLOC_CNT_RES を呼び出すと,OpenVMS は他のパラメータが有効でないものと解釈し,不正ステータスを返します。SYSTEM_CHECK がセットされている場合には,システム障害が発生します。IOC$DEALLOC_CNT_RES は有効ビットをクリアしてから戻ります。

IOC$LOAD_MAP は有効な CRCTX で呼び出さなければなりません。無効な CRCTX(CRCTX$V_ITEM_VALID を 0 に設定)で呼び出すと,他のパラメータも無効であると解釈され,不正ステータスが返されます。SYSBOOT パラメータ SYSTEM_CHECK がセットされている場合には,システム障害が発生します。

これらの変更により,デバイス・サポート・アプリケーションや特権付きコード・アプリケーションの開発者は,OpenVMS で汎用リソースとして取り扱われる scatter gather レジスタの割り当てを解除する必要があるかどうか判断できます。CRCTX$V_ITEM_VALID ビットがセットされている場合は,IOC$DEALLOC_CNT_RES を呼び出さなければなりません。

6.5 MON バージョンのデバイス・ドライバの処理

V7.3

OpenVMS Version 7.3 では,SYSTEM_CHECK を有効化すると,SYS$nnDRIVER_MON.EXE という形式の名前を持つデバイス・ドライバ・イメージがシステム・ローダによって自動的に読み込まれます。対応する _MON バージョンが存在しない場合は,デフォルトのイメージ名 SYS$nnDRIVER.EXE が使用されます。

6.6 AlphaStation 200/400 では ISA_CONFIG.DAT の変更が必要

V7.1

AlphaStation 200/400 ファミリ・システムで ISA 装置を構成する場合には,各デバイスのノード情報が各デバイス記述ブロックの最後に格納されるように,SYS$MANAGER:ISA_CONFIG.DAT ファイルを変更しなければなりません。

重要

OpenVMS Version 6.2 または7.0 システムからアップグレードする場合は,アップグレード手順を開始する前に,この変更を行なわなければなりません。

表 6-1 に,デバイス記述ブロックの変更点を示します。

表 6-1 デバイス記述ブロックの変更点
Version 7.1 より前 Version 7.1 以降
[AUA0] [AUA0]
NAME=AU NAME=AU
NODE=3 DRIVE=SYS$MSBDRIVER
DRIVER=SYS$MSBDRIVER IRQ=9
IRQ=9 DMA=(0,1)
DMA=(0,1) PORT=(388:4,530:8)
PORT=(388:4.530:8) NODE=3

SYS$MANAGER:ISA_CONFIG.DAT ファイルを使用している場合には,付録 A.3 節 を参照してください。

6.7 AlphaServer 4100 システムでのメモリ・ホール

V7.1

AlphaServer 4100 システムには,物理的なメモリ・ホールが存在する可能性があります。図 6-1 に示すように,メモリ・ドータ・カード・ペアには 512 MB,256 MB,128 MB の 3 種類のサイズがあります。AlphaServer 4100 システムの構成規則に従うと,メモリ・カード・ペアはサイズの大きい順に並べなければなりません。

AlphaServer 4100 ハードウェアは最初のメモリ・ドータ・カード・セットを読み込み,後続のメモリ・カード・ペアが同じサイズであるものと解釈します。ハードウェアが読み込んだ最初のカード・セットの後のメモリ・カード・ペアのサイズは同じでない可能性があるため,メモリ・ホールが発生します。 図 6-1 に示すように,3000.0000 にあるホールは OpenVMS で取り扱わなければなりません。4800.0000 にあるホールはアドレス空間の先頭にあり,OpenVMS で無視してもかまいません。

注意

OpenVMS Alpha の以前のバージョンでは,物理的なメモリ・ホールのあるシステムが効率的にサポートされていなかったので,システム・メモリの使い方が非効率的になっていました。OpenVMS Alpha Version 7.1 またはそれ以降のメモリ管理構造体は,メモリ・ホールを認識するように少し変更されています。この結果,OpenVMS Alpha オペレーティング・システムの以前のバージョンで非効率的だった部分は排除されました。

図 6-1 メモリ図の例


この構成は,ドライバがマップ・レジスタを使用しなければならないかどうかを判断するために使用されるアルゴリズムに影響を与えます。OpenVMS Alpha Version 7.1 より前のリリースでは,デバイス・ドライバは次の処理を実行していました。

  1. キー IOC$K_DIRECT_DMA_SIZE を使用してIOC$NODE_DATA を呼び出し,ダイレクト DMA ウィンドウのサイズ(メガバイト単位)を取得します。これは通常,1 GB です。

  2. IOC$NODE_DATA から返されたサイズをページ数に変換し,サイズを mmg$gl_memsize と比較します。これには物理メモリのページ数が格納されています。

  3. mmg$gl_memsize の方が,IOC$NODE_DATA から返されたサイズよりも大きい場合は,マップ・レジスタを使用します。それ以外の場合は,ダイレクトDMA ウィンドウを使用します。

mmg$gl_memsize グローバル・セルには,メモリ・ホールは含まれません。このため,システムには 7/8 GB のメモリしかありませんが,OpenVMS Alpha Version 7.1 より前のリリースのアルゴリズムでは,装置がダイレクトDMA ウィンドウを使用できるように見えます。それでも1 GB の境界をこえて 128 MB のメモリがあるので,ドライバはマップ・レジスタを使用する必要があります。この問題を回避するために,OpenVMS Alpha Version 7.1 より以前のリリースのアルゴリズムを使用するドライバは,次のアルゴリズムに変更しなければなりません。

  1. キー IOC$K_DIRECT_DMA_SIZE を使用して IOC$NODE_DATA を呼び出すことで,ダイレクト DMA ウィンドウのサイズ(メガバイト単位)を取得します。これは通常,1 GB です。

  2. IOC$NODE_DATA から返されたサイズをページ数に変換します。バイト数を mmg$gl_page_size の値で除算します。次の例を参照してください。


    int dma_size; 
    int pages; 
     
        
    status = IOC$NODE_DATA(crb, IOC$K_DIRECT_DMA_SIZE, &dma_size); 
        
        
            /* dma_size contains the number of megabytes. 
             * convert number of megabytes to bytes. 
             */ 
    dma_size = dma_size *(1024 * 1024); 
            /* Convert number of bytes to number of pages by 
             *  dividing by number of bytes per page. 
             */ 
    pages = dma_size / MMG$GL_PAGE_SIZE; 
    

  3. 変換したページ数を mmg$gl_maxpfn + 1 と比較します。

  4. mmg$gl_maxpfn + 1 の方が,IOC$NODE_DATA から返されたサイズより大きい場合は,マップ・レジスタを使用します。それ以外の場合は,ダイレクト DMA ウィンドウを使用します。

6.8 SYS$MSBDRIVER は OpenVMS Alpha ディストリビューションから削除

V7.0

Microsoft Windows Sound System ISA サウンド・カード(MSB)のドライバである SYS$MSBDRIVER は,Version 7.0 で OpenVMS Alpha のディストリビューションから削除されました。削除されたファイルは,次のとおりです。

このドライバの強化されたバージョン MMOV$MSBDRIVER が,Multimedia Services for OpenVMS Alpha Version 2.0 に含まれています。このレイヤード・プロダクトには,ビデオ・キャプチャとプレイバック,DECsound の強化されたバージョン,その他のオーディオ・アプリケーションやビデオ・アプリケーションのサポートも含まれています。

MMOV$MSBDRIVER は,SYS$MSBDRIVER と同じ $QIO プログラミング・インタフェースを提供します。なるべく Multimedia Services for OpenVMS で提供される WAVE アプリケーション・プログラミング・インタフェースを使用するようにしてください。このインタフェースの方が柔軟で,他のプラットフォームへの移植性の点で優れているからです(Multimedia Services for OpenVMS Version 2.0 の詳細については,『SPD 64.24.00』を参照してください)。

6.9 OpenVMS Alpha ドライバのデバイス IPL の設定

V6.2

PCI ,EISA ,ISA バスをサポートする Alpha ハードウェア・プラットフォームでは,20 または 21 という異なる IPL で I/O デバイスへの割り込みが発生します。デバイスへの割り込みが発生する IPL は,デバイスをプラットフォーム間で移動したときに変わる可能性があります。ドライバがデバイス IPL を20 であると宣言した後,I/O デバイスへの割り込みが IPL 21 で発生するマシンでそのドライバを実行すると,問題が発生します。

この問題に対する最も簡単な対処法は,PCI,EISA,ISA のデバイス・ドライバで IPL 21 を使用することです。この方法は,I/O デバイスへの割り込みが IPL 20 で発生するプラットフォームでも,I/O デバイスへの割り込みが IPL 21 で発生するプラットフォームでも,正しく動作します。

OpenVMS Alpha の将来のリリースでは,ドライバがデバイス IPL を動的に判断するための,プラットフォームに依存しない機能が提供される予定です。


前へ 次へ 目次 索引