前へ | 次へ | 目次 | 索引 |
ベクタ処理システムの状態とプロセス別のシステム使用量についての情報を様々な方法で入手することができます。具体的には,次のとおりです。
28.4.5.1 DCL レキシカル関数 F$GETJPI および F$GETSYI (VAX のみ)
DCL レキシカル関数 F$GETJPI は以下の項目を受け付け,指定されたプロセスのベクタ状態に関して対応する情報を返します。
項目 | 戻り値の型 | 返される情報 |
---|---|---|
FAST_VP_SWITCH | 整数 | 指定されたプロセスが発行したベクタ命令のうち,ベクタ・コンテキスト・スイッチを行うことなく非稼働状態のベクタ・プロセッサを稼働状態にした命令の数。 |
SLOW_VP_SWITCH | 整数 | 指定されたプロセスが発行したベクタ命令のうち,完全なベクタ・コンテキスト・スイッチを行うことによって非稼働状態のベクタ・プロセッサを稼働状態にした命令の数。 |
VP_CONSUMER | 論理 | 指定されたプロセスがベクタ使用プロセスかどうかを示すフラグ。 |
VP_CPUTIM | 整数 | 指定されたプロセスがベクタ機能を利用した時間の累計。 |
DCL レキシカル関数 F$GETSYI は以下の項目を受け付け,ベクタ処理システムの状態に関して対応する情報を返します。
項目 | 戻り値の型 | 返される情報 |
---|---|---|
VECTOR_EMULATOR | 整数 | システムに VAX ベクタ命令エミュレーション機能 (VVIEF) が存在することを示すフラグ。 |
VP_MASK | 整数 | システム内のどのプロセッサがベクタ・コプロセッサを持っているかを示すマスク。 |
VP_NUMBER | 整数 | システム内のベクタ・プロセッサの数。 |
DCL レキシカル関数の F$GETJPI および F$GETSYI についての詳細は,『Compaq OpenVMS DCL ディクショナリ』を参照してください。
28.4.5.2 SHOW CPU/FULL コマンド (VAX のみ)
SHOW CPU/FULL コマンドにより,指定された CPU の機能の一覧が示されます。STOP/CPU コマンドを実行する場合,まずこのコマンドを実行してシステムがベクタ機能を持っているかどうかを調べてください。
SHOW CPU コマンドについての詳細は,『Compaq OpenVMS DCL ディクショナリ』を参照してください。
28.4.5.3 SHOW PROCESS コマンドと LOGOUT/FULL コマンド (VAX のみ)
あるプロセスがベクタ機能付きプロセッサにスケジューリングされたベクタ使用プロセスとして任意の時間が経過すると, DCL の SHOW PROCESS コマンドと LOGOUT/FULL コマンドによって,そのプロセスがベクタ CPU を実際に使用した時間とそのプロセスにベクタ CPU が割り当てられた時間がそれぞれ表示されます。
ベクタ CPU 時間を累計するためには,プロセスがベクタ使用プロセス (すなわち,システム・ベクタ機能を必要とするプロセス) であり,ベクタ機能付きプロセッサにスケジューリングされていることが必要です。オペレーティング・システムは,ベクタ使用プロセスをベクタ機能付きプロセッサにスケジューリングすると,そのプロセスが実際にはベクタ CPU を使用していなくてもそのプロセスのベクタ CPU 時間を累計します。スカラ使用プロセスと潜在的ベクタ使用プロセスはベクタ CPU を使用しないため,これらのプロセスがベクタ機能付きプロセッサにスケジューリングされているときでも,それらのベクタ CPU 時間は累計されません。
SHOW PROCESS コマンドおよび LOGOUT コマンドについての詳細は,『Compaq OpenVMS DCL ディクショナリ』を参照してください。
28.4.6 VAX ベクタ命令エミュレーション機能 (VVIEF) のロード (VAX のみ)
VAX ベクタ命令エミュレーション機能 (VVIEF) は,オペレーティング・システムに標準で備えられている機能であり,ベクタ・プロセッサが利用できない VAX システム上でベクタ化されたアプリケーションの作成やデバッグを可能にします。 VVIEF は厳密にプログラム開発ツールとして意図されたものであり,ベクタ・ハードウェア上での動作をソフトウェア上で実現するものではありません。したがって, VVIEF のもとで実行するようにアプリケーションをベクタ化しても性能は向上しません。むしろ,VVIEF のもとで実行されるベクタ化アプリケーションの動作はスカラ版アプリケーションよりも低速です。
コマンド・プロシージャ SYS$UPDATE:VVIEF$INSTAL.COM を呼び出すと,次回以降のシステム・ブート時に VVIEF がロードされます。 VVIEF をアンロードするためには,コマンド・プロシージャ SYS$UPDATE:VVIEF$DEINSTAL.COM を呼び出して,システムを再ブートします。
システムに VVIEF が存在するかどうかは DCL の以下のコマンドによって調べることができます。
$ X = F$GETSYI("VECTOR_EMULATOR") $ SHOW SYMBOL X X = 1 Hex = 00000001 Octal = 0000000001 |
戻り値が 1 の場合はVVIEF が存在し,0 の場合は存在しません。
ベクタ・サポート・コードが存在してもVVIEF をシステムにロードすることはできますが,その場合は非稼働状態のままになります。ベクタ機能付きシステム ( 第 28.4.1 項 を参照) でベクタ・サポート・コードをロードしないようにしてVVIEF を稼働させることは可能ですが,それによる利点はほとんどありません。システム内でベクタ機能付きプロセッサだけに障害が発生した場合,中断されたベクタ化されたアプリケーションの実行は VVIEF のもとでは再開されません。
この付録では,ディスクの概念と用語について説明します。予約ファイルについても解説し, ANALYZE/DISK_STRUCTURE ユーティリティで使用するファイルを紹介して, Files--11 オン・ディスク構造 (ODS) レベル 1,2,5 の違いについて述べます。以降の説明において,Files--11 ディスク構造とは Files--11 オン・ディスク構造のことを指します。
A.1 ディスクの概念
この節では,ディスクの物理的構造と論理的構造に関する用語について説明します。
A.1.1 ディスクの論理的構造
ディスクに記録されるアドレス可能な最小情報単位を, ブロック と呼びます。 Files--11 ディスク構造のブロック 1 つは,512 バイト (1 バイト = 8 ビット) で構成されます。Files--11 ディスク・ボリュームとメモリとの間では,ブロック単位で転送を行うことができます。ただし, Files--11 ODS において,1 つのディスクは複数のブロックで構成される 1 つの配列であるとみなし,ブロック単位で扱うことは通常ありません。
ブロックは,論理的にクラスタ にまとめられます。ディスク空間は,このクラスタ単位で割り当てられます。 ボリューム と呼ばれるディスクを使用可能状態にするとき,つまり初期化したときに,クラスタに入れるブロックの数を指定します。 クラスタ・サイズは,媒体の種類によって異なりますが,サイズが小さいほど実用的です。一般的に,ブロック数が少ないディスクには小さいクラスタ・サイズを指定し,ブロック数が多いディスクには大きいクラスタ・サイズを指定して,ディスク空間を割り当てる際のオーバヘッドを抑えるようにします。
1 つのファイルに割り当てられた連続するクラスタを, エクステント と呼びます。エクステントは,ファイル全体であることもファイルの一部であることもあります。連続するエリアがディスクに充分に存在する場合,1 つのエクステントとしてファイル全体を割り当てます。一方,ファイル全体を入れるのに充分な量の連続エリアが存在しない場合もあります。また,ファイルを作成した時点では,必要な空間すべてを予約しない場合もあると思われます。いったん作成した後でファイルを拡張する場合,隣接するクラスタは,おそらく別のファイルにすでに割り当てられています。したがって,連続しないクラスタが拡張に使用されます。
ファイルを複数の部分に分割した場合,各部分が 1 つのエクステントとなります。この結果, 図 A-1 に示すとおり,1 つのファイルを構成するエクステントがディスク上の別々のエリアに位置することもあり得ます。ファイルの拡張は,自動的に行われます。
図 A-1 ファイルのエクステント
Files--11 構造が認識する最小単位を,セクタと呼びます。ほとんどの Files--11 ディスクの場合,セクタはブロックと同じ意味であり,512 バイトです。 ディスクに関するその他の基本用語として,トラックと シリンダがあります。トラックとは,ディスクの記録面上で同じ径を持つセクタの集まりです (Files--11 構造ではブロックの集まり)。ディスク装置上の特定の読み書きヘッド位置にアクセスすることができます。シリンダは,ディスクの全記録面に存在する,同じ径を持つ全トラックで構成されます。
あるシリンダのブロックにアクセスする場合,ディスクの読み書きヘッドを動かす必要はないので,関連性のあるデータ・ブロックを 1 つのシリンダにまとめると便利です。このため,大容量ディスクの場合には,シリンダ・サイズ単位で分割できるクラスタ・サイズを指定するようにしてください。
図 A-2 は,トラックとシリンダを示しています。
図 A-2 トラックとシリンダ
Files--11 構造では,ボリュームまたはボリューム・セットを初期化したときに,削除不可能な予約ファイルの集合が作成されます。 Files--11 ディスクの構造は,これらのファイルによって制御されます。 Files--11 構造は,ディスク・パックなどの物理媒体であるボリュームに存在します。Files--11 ボリュームは,一定の順序で並ぶブロックの集合です (1 ブロック = 512 バイト)。ブロックには,0 から n - 1 の番号が連続して付けられます。n - 1 は,ブロック単位によるディスク・サイズです。
A.2.1 ファイル識別子 (FID)
Files--11 ディスク上の各ファイルは,システムが割り当てる一意のファイル識別子 (FID) によって識別されます。また,ユーザが英数名を設定することもできます。Files--11 ディレクトリの主たる機能は,ユーザが設定した英数名を,対応する FID と対応づけることにあります。この結果,ファイルをファイル名で検索することができます。
ファイルの FID は,3 つの番号で構成されます。最初の番号は,ファイル番号 (NUM) です。ファイル・システムは,索引ファイル (予約ファイル INDEXF.SYS) へのオフセットとしてこの番号を使用します。索引ファイルには,ボリューム上の全ファイルに関する情報が入っています。
FID の 2 番目の部分は,ファイル・シーケンス番号 (SEQ) です。この番号は,ファイル番号を使用した回数を示します。ファイルを作成するとファイル番号が割り当てられ,ファイルを削除するとファイル番号の割り当てが解除されます。このため,ファイル番号だけではファイルを一意で識別することができません。ファイル番号を使用するたびにシーケンス番号を 1 ずつ増やすことにより, INDEXF.SYS に記録されている全ファイルの識別子を一意に保つことができます。
FID の 3 番目の番号は,相対ボリューム番号 (RVN)です。この番号は,ファイルが存在するボリューム (ボリューム・セット内の) を指します (ODS-2 専用)。ボリューム・セットに属するボリュームが 1 つだけである場合,このボリュームに存在するファイルの RVN は,すべて 1 です。
A.2.2 ODS ディレクトリ階層
Files--11 ODS-2 構造は,マルチレベルのディレクトリ階層です。ディレクトリ構造の最上位レベルは,マスタ・ファイル・ディレクトリ (MFD) です。ボリュームの MFD は,必ず [000000] と名付けられます。 MFD には,MFD をはじめとする最上位レベルのディレクトリすべてと,予約ファイルが入っています。
ディレクトリとは,他のファイルが入っている 1 つのファイルです。ディレクトリに入っているファイルも,他のファイルを入れるディレクトリとなることができます。ディレクトリをネストすることにより,マスタ・ファイル・ディレクトリを含めて 9 レベルまでのディレクトリ階層を作ることができます
ボリューム・セットの場合,ボリューム・セットに存在する全ユーザ・ディレクトリの MFD が,相対ボリューム 1 に存在します。この MFD のエントリは,ボリューム・セット内の任意のボリュームに存在するディレクトリを指し,これらのディレクトリは,ボリューム・セット内の任意のボリュームに存在するファイルとサブディレクトリを指します。残りのボリュームの MFD には,そのボリュームの予約ファイルの名前だけが入っています。
VAX システムの場合,Files--11 ODS-1 構造は,2 レベルのディレクトリ階層をサポートします。各 UIC (利用者識別コード) は,ユーザ・ファイル・ディレクトリ (UFD) と対応づけられます。
各 UFD は,ボリュームのマスタ・ファイル・ディレクトリ (MFD) に入ります。
A.3 予約ファイル
この項では,Files--11 で使用する予約ファイルについて説明します。予約ファイルの FID は,すべて定数です。
また,ANALYZE/DISK_STRUCTURE で使用するファイルについても説明します。 ANALYZE/DISK_STRUCTURE は,これらのファイルがあるべき姿をメモリにコピーし,現在のバージョンと比較します。 /REPAIR 修飾子を指定すると,この比較処理で矛盾点が見つかった場合,これらの矛盾点をレポートして,修正します。
表 A-1 は,Files--11 レベル 1, 2, 5 で使用する予約ファイルと,ANALYZE/DISK_STRUCTURE で使用するファイルの一覧です。
予約ファイル | ファイル名 | + 構造 レベル 1 |
構造 レベル 2,5 |
ANALYZE/ DISK_STRUCTURE |
---|---|---|---|---|
索引ファイル | INDEXF.SYS;1 | X | X | X |
記憶ビットマップ・ファイル | BITMAP.SYS;1 | X | X | X |
不良ブロック・ファイル | BADBLK.SYS;1 | X | X | |
マスタ・ファイル・ディレクトリ | 000000.DIR;1 | X | X | X |
コア・イメージ・ファイル | CORIMG.SYS;1 | X | X | |
ボリューム・セット・リスト・ファイル | VOLSET.SYS;1 | X | X | |
継続ファイル | CONTIN.SYS;1 | X | ||
バックアップ・ログ・ファイル | BACKUP.SYS;1 | X | ||
保留不良ブロック | BADLOG.SYS;1 | X | ||
クォータ・ファイル | QUOTA.SYS | X | ||
ボリューム機密保護プロファイル | SECURITY.SYS | X |
前へ | 次へ | 目次 | 索引 |