# Compaq OpenVMS
システム管理者マニュアル

前へ | 次へ | 目次 | 索引

## 17.9.4 インストールするイメージの決定

次の条件を満たすイメージがインストールの対象となります。

- イメージの起動性能を向上させる

- Alpha システムの場合，共用イメージの実行性能を向上させる

- 物理メモリを節約する

- 実行中のイメージの特権を拡張する

ファイルをインストールするとページング動的メモリなどのシステム資源が必要になります。したがって，システム性能を向上させ，サイトの要件を満たすファイルをインストールします。 INSTALL の LIST コマンドを利用すれば，イメージをインストールすることによって得られる利点を評価できます。たとえば，各イメージがアクセスされた回数を計算し，同時に行われているアクセスの数を示します。これらの値から，各イメージにオーバヘッドの価値があるかどうかを判断できます。

## 17.9.5 イメージ起動性能を向上するためのイメージのインストール方法

頻繁に実行されるイメージをインストールすることにより，イメージの起動性能を向上できます。イメージの起動性能は，プログラムがインストールされている場合に向上しますが，これは，オペレーティング・システムがインストール済みファイルをファイル名ではなく，ファイル ID でオープンし，ディレクトリ操作が省略されるためです。

ヘッダ常駐としてイメージをインストールすると，システムがイメージ・ヘッダをメモリに読み込む場合の I/O 操作のオーバヘッドを防止するため，起動性能がさらに強化されます。

ヘッダ常駐としてイメージをインストールするためには，インストール時に /HEADER_RESIDENT 修飾子を指定します。 /HEADER_RESIDENT を指定すると，イメージ・ファイルのヘッダが永久常駐し，ディスク I/O を減少させます。 /HEADER_RESIDENT 修飾子が指定されると，イメージは暗黙的に永久オープンになります。

イメージ・ヘッダは，ページング動的メモリに格納されます。イメージ・ヘッダのサイズはさまざまです。

頻繁にアクセスする重要なイメージは，オープンされたイメージとしてインストールすることができます。イメージを「永久オープン」としてインストールするためには，インストール時に /OPEN 修飾子を指定します。イメージ・ファイルはオープンしたままになるため，そのイメージへのアクセスには，ファイル・システムを呼び出す必要がなくなります。イメージ・ファイルを永久オープンにしておくには，1 ファイルごとに，約 512 バイトの非ページング動的メモリが必要になります。

## 17.9.6 共用アドレス・データを付けたイメージのインストール

OpenVMS Alpha システム上で共用アドレス・データを使用すると，次のときに性能が向上します。

- 実行時，共用アドレス・データは，プロセス間のメモリの共用度を高めるので，物理メモリを節約する。

- イメージの起動時，フィックスアップがインストレーション時に実行されるので，共用アドレス・データは CPU 時間と I/O 時間を減少させる。

詳細については，『Compaq OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』の INSTALL 項を参照してください。

関連項目

共用アドレス・データに関連する項目について，次で説明します。

- イメージ・セクション
  1 つのイメージは，いくつものイメージ・セクションから構成されている。 1 つのイメージ・セクションには，次のものが含まれる。

  - 命令 (コード)

  - 読み込み専用データ (定数)

  - 読み込み / 書き込み可能データ

- 共用既知イメージ
  次のコマンドを使用すると，イメージを共用既知イメージにすることができる。

      $ INSTALL ADD イメージ名 /SHARED

  このコマンドを入力すると， Install ユーティリティは読み込み専用イメージ・セクション用にグローバル・セクションを作成し，イメージを実行するすべてのプロセスがこのセクションを共用できるようにする。

- アドレス・データ
  イメージ・セクションの一種にはアドレス・データを含むものがある。アドレス・データ・セクションは実行時には読み込み専用になる。ただし，これらのアドレスはイメージの起動までは未知のものである。このため，イメージ・セクションは，イメージ起動の最後までは読み込み / 書き込みが可能である。共用イメージ用のアドレスは，マップされたイメージをさまざまなプロセスが独自に集める傾向があるので，一般に，プロセスによってさまざまである。

- 共用アドレス・データ
  共用アドレス・データの機能は，P1 イメージ・セクションにある共用イメージに対して， 独自の P1 空間アドレスを割り当てる (IMGREG_PAGES システム・パラメータが P1 空間のサイズを決定する)。割り当てられたアドレスによって，Install ユーティリティは，イメージをインストールする際に，アドレス・データ・セクションの内容を判断する。 それぞれのアドレス・データ・イメージ・セクションに対して，共用アクセスができるように，グローバル・セクションが作成される。
  実行可能な (メイン) イメージも，共用アドレス・データ・セクションを使用できる。ただし，これらのイメージは P1 アドレスには割り当てられない。その理由は，実行可能なイメージの基底アドレスは，イメージがリンクされるときに判断されるためである。

### 17.9.6.1 システムが提供するイメージ

OpenVMS ソフトウェア製品の一部である多くのイメージは， 共用アドレス・データを伴う共用既知イメージとしてインストールされています。これによって，システム管理者が特に何かを行わなくても，性能は向上します。

### 17.9.6.2 アプリケーション・イメージ

システム管理者は，共用アドレス・データ付きで追加のイメージをインストールするように決定することもあります。 これを考慮する際，アプリケーションの共用イメージに対する依存性を調査する必要があります。

## 17.9.7 物理メモリを節約するイメージのインストール方法

通常，複数のプロセスから同時に実行されるイメージをインストールすることにより，物理メモリを節約できます。イメージをインストールしていない場合，または共用属性を付けずにインストールした場合には，イメージを実行する各プロセスは，メモリ内のプライベート・セクションを必要とします。共用イメージは，コードのコピーが 1 つだけ常にメモリに存在し，多くのユーザーが同時にそのコードにアクセスできるため，物理メモリを節約できます。イメージを共用イメージとしてインストールする場合には， /SHARED 修飾子を使用します。

共用属性を付けてイメージをインストールする場合は，パーマネント・システム・グローバル・セクションが作成されます。参照時にコピーを行わないグローバル・セクションを実行するときは，物理メモリに必要なコピーはセクションあたり 1 つだけです。このことは，そのセクションを持つイメージを実行するプロセスの数には影響されません。

共用属性付きでインストールできるイメージの数は，システム・パラメータ GBLPAGES および GBLSECTIONS によって制限されます。これらのシステム・パラメータについては，『Compaq OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』を参照してください。

## 17.9.8 イメージの特権を拡張するためのイメージのインストール方法

イメージを拡張特権環境で実行できるようにするためには，次の 2 つの方法があります。

- 既存の実行可能イメージを拡張特権付きでインストールし，特権を持たないプロセスがそのイメージの特権付きの機能を利用できるようにする。
  INSTALL コマンドの CREATE または REPLACE に， /PRIVILEGED 修飾子を指定する。

  重要 拡張した特権を持つイメージをインストールすることにより，システムの機密保護が侵される場合があります。そのイメージにより，ユーザがその他の特権を使用できるような制御を得ることがないように確認してください。

- 特権付きの共用可能イメージ (ユーザが作成したシステム・サービスを実現するときに使用するもの) をインストールし，他の非特権イメージが，その特権を拡張しなくても特権付きコードの選択部分を実行できるようにする。
  INSTALL コマンドの CREATE または REPLACE に， /PROTECTED および /SHARED 修飾子を指定する。

### 17.9.8.1 特権付き実行可能イメージ

特権を持たないプロセス (非特権プロセス) でも，特権イメージとしてインストールされた実行イメージの特権付き機能を利用することができます。そのためには，/PRIVILEGED 修飾子を指定して，該当する実行可能イメージを拡張特権付きでインストールします。そのようなイメージ (実行可能イメージのみ) を実行するプロセスには強い特権が一時的に割り当てられ，イメージの実行中に利用者登録ファイル (UAF) で定義された特権の制限事項を超える動作ができます。したがって，通常の特権を持つユーザでも，通常より高い特権が必要なプログラムを実行できます。

特権付きでインストールされたイメージから共用可能イメージなどの他のイメージを起動する場合には，そのイメージを特権イメージにリンクしたり，LIB$FIND_IMAGE_SYMBOL を使用して，次の条件を満たす必要があります。

- 共用可能イメージは，INSTALL を使用して既知イメージとしてインストールしなければならない。

- そのイメージを検索するために使用する論理名およびテーブル名は，エグゼクティブ・モードあるいはカーネル・モードで定義されなければならない。特に，標準のエグゼクティブ・モードで定義した LNM$FILE_DEV は LNM$SYSTEM にしか変換されない。また，プロセス・テーブル，ジョブ・テーブル，あるいはグループ・テーブル内の定義は認識されない。

- 拡張特権付きでインストールするイメージは，必ずLinker ユーティリティの修飾子 /NODEBUG および /NOTRACE でリンクする。

### 17.9.8.2 特権付き共用可能イメージ

特権付き共用可能イメージとは，内部 (エグゼクティブまたはカーネル) モードで実行するエントリ・ポイントが定義された共用可能イメージです。共用可能イメージの内部モードのエントリ・ポイントは，ユーザが作成したシステム・サービスとして扱われます。

特権付き共用可能イメージを作成する場合，次の作業が必要です。

1. PLV (特権付きライブラリ・ベクタ) データ構造のVECTOR 属性をもつプログラム・セクションを作成する。

2. コマンド修飾子 /PROTECT または Linker ユーティリティの PROTECT= オプションを使用して共用可能イメージをリンクし，そのイメージを拡張特権の特定の形式にする。

   - イメージのすべての部分を保護する必要がある場合は，コマンド修飾子 /PROTECT を使用する。

   - 特権付きの共用可能イメージの一部分だけを保護する必要がある場合は， PROTECT= オプションを使用する。

3. Install ユーティリティで修飾子 /PROTECTED および /SHARED の両方を指定し，特権付き共用可能イメージをインストールする。 /PROTECTED 修飾子は保護属性を，/SHARED 修飾子は共用属性をそれぞれ割り当てる。これらの属性については， 第 17.9.3 項 を参照。

注意 INSTALL コマンドの ADD または CREATE に /PRIVILEGED 修飾子を指定して共用可能イメージに特権を付与することはできません。この修飾子は，実行可能イメージの場合にのみ動作します。

特権付き共用可能イメージの作成についての詳細は，『OpenVMS Programming Concepts Manual』を参照してください。

## 17.9.9 特権コンテキストでのイメージの起動方法

プロセスが，次のいずれかの動作を行う場合は，イメージ・アクティベータが制限付きの操作モードに入ります。これは，特権プログラムが実行されている場合に操作モードに入ったときと同様です。

- 実行アクセスをもつが読み込みアクセスをもたない，実行可能イメージまたは共用可能イメージを実行する。

- /PRIVILEGE または /EXECUTE_ONLY 修飾子を指定してインストールされた実行可能イメージを起動する。

- 特権付き共用可能イメージによって呼び出されたイメージを起動する。

この操作モードには，次の制限があります。

- 実行専用イメージの実行中に起動されるすべての共用可能イメージがインストールされていなければならない。

- イメージ・アクティベータは，イメージ・ファイルをオープンするときに 信用論理名 (エグゼクティブ・モードまたはカーネル・モードに関連する論理名のこと) しか使用しないように OpenVMS RMS に指示する。

注意 実行専用の共用可能イメージを呼び出す実行可能イメージは， /EXECUTE_ONLY 修飾子を付けてインストールしなければなりません。この修飾子によって，実行可能イメージは，プロセスが実行権を持つが読み込み権を持たない共用可能イメージを起動できるようになります。 /EXECUTE_ONLY 修飾子は，実行可能イメージに対してのみ有効です。 この制限により，特権コンテキストで実行されている共用可能イメージが保護され，期待通りの動作が保証されます。

## 17.9.10 INSTALL によるファイル名の指定

INSTALL の各コマンドを使用する場合，そのファイル指定には既存の実行可能イメージあるいは共用可能イメージを指定する必要があります。 OpenVMS のレコード管理サービス (RMS) は，各ファイル指定を次の省略時の値を使用して解決します。

- 装置およびディレクトリのタイプは SYS$SYSTEM

- ファイル・タイプは .EXE

CREATE コマンドまたは REPLACE コマンドを使用して，特定のバージョンのファイルを既知のバージョンのファイルとして指定できます。同じファイルの他のバージョンが存在していても，該当するイメージの既知ファイルの検索時には，必ず指定したバージョンが一致します。

## 17.9.11 INSTALL によるイメージのインストール

この作業を始めるにあたって，次のことを理解してください。

- インストール済みイメージの属性 ( 第 17.9.3 項 を参照)。

- Install ユーティリティのファイル指定 ( 第 17.9.10 項 を参照)。

作業方法

1. CMKRNL 特権を獲得する。

       $ SET PROCESS/PRIVILEGES=CMKRNL

2. INSTALL を起動する。

       $ INSTALL

3. CREATE コマンドを，次の形式で入力する。

       CREATE ファイル名 [/ 修飾子...]

イメージに割り当てる属性に従って，次の修飾子のいずれかを指定する。

> /EXECUTE_ONLY
> /HEADER_RESIDENT
> /OPEN
> /PRIVILEGED
> /PROTECTED
> /RESIDENT (Alpha システムのみ)
> /SHARED
> /WRITABLE

イメージのインストール方法についての詳細は，『Compaq OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』の INSTALL コマンドの CREATE を参照してください。

注意 Install ユーティリティそのものをインストールする場合には，その前にインストールしておかなければならない共用可能イメージがいくつかあります。そのような必須共用可能イメージ (SMG$SHR， LIBOTS など) の中に使用できないものがあった場合， Install ユーティリティは正常に実行できません。このような状況では INSTALL は機能しないため，その欠落したイメージをインストールすることもできません。この問題を解決するには，次のように INSTALL コマンドを再定義します。
    $ DEFINE INSTALL SYS$SYSTEM:INSTALL.EXE;0
このようにして INSTALL コマンドを入力した場合，イメージ・アクティベータは INSTALL.EXE の既知のファイル・リストをチェックしないので，INSTALL コマンドは完了し，必要な共用イメージをインストールすることができるようになります。

前へ | 次へ | 目次 | 索引