前へ | 次へ | 目次 | 索引 |
システムは,既知イメージを既知ファイル・エントリと呼ばれる内部データ構造に定義します。各エントリは,インストールされたイメージの名前と,インストール時に割り当てられた属性を示します (インストール済みイメージの属性についての詳細は, 第 17.10.3 項 を参照してください)。
既知ファイル・エントリは,システムが稼働している間だけ存在します。システムがシャットダウンしたり,何らかの理由で異常終了した場合には,システムの再ブート後にすべての既知イメージを再インストールする必要があります。
17.10.3 既知イメージに割り当てることができる属性
INSTALL コマンドに修飾子を指定すれば,既知イメージに属性を割り当てることができます。 表 17-2 に,既知イメージに割り当てることができる属性と使用される修飾子を示します。
属性 | 説明 | 修飾子 |
---|---|---|
ヘッダ常駐 | イメージ・ファイルのヘッダ (ネイティブ・イメージのみ) がメモリに常駐したままとなるため,ファイルに 1 回アクセスするために行われるディスク入出力が 1 回少なくなる。ヘッダが 1 ブロックだけで構成される場合,1 つのファイルあたり 512 バイトのページング動的メモリが使用される。ヘッダが複数のブロックで構成される場合, 1 つのファイルあたりのメモリ消費量はヘッダのブロック数によって異なる。ヘッダ・オープンとしてインストールされたイメージは,暗黙的に永久オープンとしてインストールされる。 | /[NO]HEADER_RESIDENT |
永久オープン | イメージ・ファイルはオープンしたままとなる。そのため,そのイメージへのアクセスには,ファイル・システムを呼び出す必要がない。 | /OPEN |
特権 | イメージにこの属性を割り当てると,そのイメージを実行するすべてのプロセスに一時的に強い特権が割り当てられ,イメージの実行中には利用者登録ファイル (UAF) で指定された特権の制限を超える処理を行うことができる。したがって,通常の特権を持つユーザでも,通常より上の特権が必要となるプログラムを実行できる。この属性 (およびそれを作成するための /PRIVILEDGED 修飾子) は,実行可能イメージだけに適用できる。 | /PRIVILEGED[=(privilege,...)] |
保護 | イメージが起動されると,そのイメージのアドレス領域は,ユーザ・モードのコードによる変更から保護される。このことは,カーネルまたはエグゼクティブ・モードで実行する共用可能コードには重要である。 | /PROTECTED |
++ 常駐 | Alpha システムの場合,イメージのコードまたは読み込み専用のデータは,メモリのシステム領域に永久に常駐される。このため,変換バッファ (TB) のミス率を減らすための特殊なページ・マップを使用することで性能が向上する。常駐属性は,修飾子 /SECTION_BINDING=(CODE,DATA) にリンクされた共用可能イメージまたは実行可能イメージに適用される。 | /RESIDENT |
共用 | イメージの読み込み専用セクションおよび参照時にコピーを行わない読み書き用セクションは,複数のユーザから同時にアクセスできる。したがって,そのようなセクションは物理メモリに 1 つだけ存在すればよい。一方,参照時にコピーを行うセクションは,それにアクセスする各プロセスごとに必要となる。共用イメージは,暗黙に「永久オープン」として宣言される。 | /SHARED |
書き込み可能 | 共用されている参照時にコピーを行わない書き込み可能セクションが物理メモリから削除される場合 (ページング機構により,あるいはそのセクションを参照するプロセスがないために),そのセクションは同時にイメージ・ファイルに書き戻される。したがって,このセクションに行われた更新は保存され,初期値は失われる。このイメージは同時に「共用」としても宣言されなければならない。 | /WRITABLE |
次の条件を満たすイメージがインストールの対象となります。
ファイルをインストールするとページング動的メモリなどのシステム資源が必要になります。したがって,システム性能を向上させ,サイトの要件を満たすファイルをインストールします。 INSTALL の LIST コマンドを利用すれば,イメージをインストールすることによって得られる利点を評価できます。たとえば,各イメージがアクセスされた回数を計算し,同時に行われているアクセスの数を示します。これらの値から,各イメージにオーバヘッドの価値があるかどうかを判断できます。
17.10.5 イメージ起動性能を向上するためのイメージのインストール方法
頻繁に実行されるイメージをインストールすることにより,イメージの起動性能を向上できます。イメージの起動性能は,プログラムがインストールされている場合に向上しますが,これは,オペレーティング・システムがインストール済みファイルをファイル名ではなく,ファイル ID でオープンし,ディレクトリ操作が省略されるためです。
ヘッダ常駐としてイメージをインストールすると,システムがイメージ・ヘッダをメモリに読み込む場合の I/O 操作のオーバヘッドを防止するため,起動性能がさらに強化されます。
ヘッダ常駐としてイメージをインストールするためには,インストール時に /HEADER_RESIDENT 修飾子を指定します。 /HEADER_RESIDENT を指定すると,イメージ・ファイルのヘッダが永久常駐し,ディスク I/O を減少させます。 /HEADER_RESIDENT 修飾子が指定されると,イメージは暗黙的に永久オープンになります。
イメージ・ヘッダは,ページング動的メモリに格納されます。イメージ・ヘッダのサイズはさまざまです。
頻繁にアクセスする重要なイメージは,オープンされたイメージとしてインストールすることができます。イメージを「永久オープン」としてインストールするためには,インストール時に /OPEN 修飾子を指定します。イメージ・ファイルはオープンしたままになるため,そのイメージへのアクセスには,ファイル・システムを呼び出す必要がなくなります。イメージ・ファイルを永久オープンにしておくには,1 ファイルごとに,約 512 バイトの非ページング動的メモリが必要になります。
17.10.6 共用アドレス・データを付けたイメージのインストール
OpenVMS Alpha システム上で共用アドレス・データを使用すると,次のときに性能が向上します。
詳細については,『Compaq OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』の INSTALL 項を参照してください。
共用アドレス・データに関連する項目について,次で説明します。
$ INSTALL ADD イメージ名 /SHARED |
このコマンドを入力すると, Install ユーティリティは読み込み専用イメージ・セクション用にグローバル・セクションを作成し,イメージを実行するすべてのプロセスがこのセクションを共用できるようにする。
OpenVMS ソフトウェア製品の一部である多くのイメージは,
共用アドレス・データを伴う共用既知イメージとしてインストールされています。これによって,システム管理者が特に何かを行わなくても,性能は向上します。
17.10.6.2 アプリケーション・イメージ
システム管理者は,共用アドレス・データ付きで追加のイメージをインストールするように決定することもあります。
これを考慮する際,アプリケーションの共用イメージに対する依存性を調査する必要があります。
17.10.7 物理メモリを節約するイメージのインストール方法
通常,複数のプロセスから同時に実行されるイメージをインストールすることにより,物理メモリを節約できます。イメージをインストールしていない場合,または共用属性を付けずにインストールした場合には,イメージを実行する各プロセスは,メモリ内のプライベート・セクションを必要とします。共用イメージは,コードのコピーが 1 つだけ常にメモリに存在し,多くのユーザーが同時にそのコードにアクセスできるため,物理メモリを節約できます。イメージを共用イメージとしてインストールする場合には, /SHARED 修飾子を使用します。
共用属性を付けてイメージをインストールする場合は,パーマネント・システム・グローバル・セクションが作成されます。参照時にコピーを行わないグローバル・セクションを実行するときは,物理メモリに必要なコピーはセクションあたり 1 つだけです。このことは,そのセクションを持つイメージを実行するプロセスの数には影響されません。
共用属性付きでインストールできるイメージの数は,システム・パラメータ GBLPAGES および GBLSECTIONS によって制限されます。これらのシステム・パラメータについては,『Compaq OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』を参照してください。
17.10.8 イメージの特権を拡張するためのイメージのインストール方法
イメージを拡張特権環境で実行できるようにするためには,次の 2 つの方法があります。
拡張した特権を持つイメージをインストールすることにより,システムの機密保護が侵される場合があります。そのイメージにより,ユーザがその他の特権を使用できるような制御を得ることがないように確認してください。 |
特権を持たないプロセス (非特権プロセス) でも,特権イメージとしてインストールされた実行イメージの特権付き機能を利用することができます。そのためには,/PRIVILEGED 修飾子を指定して,該当する実行可能イメージを拡張特権付きでインストールします。そのようなイメージ (実行可能イメージのみ) を実行するプロセスには強い特権が一時的に割り当てられ,イメージの実行中に利用者登録ファイル (UAF) で定義された特権の制限事項を超える動作ができます。したがって,通常の特権を持つユーザでも,通常より高い特権が必要なプログラムを実行できます。
特権付きでインストールされたイメージから共用可能イメージなどの他のイメージを起動する場合には,そのイメージを特権イメージにリンクしたり,LIB$FIND_IMAGE_SYMBOL を使用して,次の条件を満たす必要があります。
特権付き共用可能イメージとは,内部 (エグゼクティブまたはカーネル) モードで実行するエントリ・ポイントが定義された共用可能イメージです。共用可能イメージの内部モードのエントリ・ポイントは,ユーザが作成したシステム・サービスとして扱われます。
特権付き共用可能イメージを作成する場合,次の作業が必要です。
INSTALL コマンドの ADD または CREATE に /PRIVILEGED 修飾子を指定して共用可能イメージに特権を付与することはできません。この修飾子は,実行可能イメージの場合にのみ動作します。 |
特権付き共用可能イメージの作成についての詳細は,『OpenVMS Programming Concepts Manual』を参照してください。
前へ | 次へ | 目次 | 索引 |