ファイルの共用
IBM® i オペレーティング・システムのファイル管理では、いくつかのレベルに分かれた共用ファイルのサポートが提供されています。 多数のユーザー、多数のジョブ、または同じジョブ内の多数のプログラムの間で、ファイルを共有することができます。
システムは、自動的に第 1 レベルのサポートを提供します。 デフォルトでは、システムは 1 つのファイルを同時に複数のユーザーおよび複数のジョブに使用させます。 システムは、ファイルの使用に際して、 使用上の対立が起きないようにファイルおよびファイル関連リソースを割り振ります。 同一ジョブ内で、 1 つのプログラムが同じファイルを 2 回以上オープンする場合、 または異なるプログラムが同じファイルをオープンする場合、 プログラムはファイルを共用することができます。 同じファイルが使用されている場合でも、各オープン操作ごとに、 プログラムからデータまたは装置に至るパスが作成されるため、 各オープンがそれぞれファイルの独立使用を表すことになります。
オープン・データ・パス
ジョブ内でさらに細かいレベルの共用を使用すると、 複数のプログラムでデータまたは装置に至る同一パスを共用できるようになります。 このパスは、 オープン・データ・パスと呼ばれるもので、 ファイルに関するすべての書き込みおよび読み取り操作が実行されるパスです。 このレベルの共用は、ファイル作成コマンド、ファイル変更コマンド、 およびファイル・オーバーライド・コマンドで SHARE パラメーターを指定することによって使用できるようになります。 SHARE パラメーターを使用すると、複数のプログラムでファイル状況、 位置、および記憶域を共用することができます。 このようにすると、ジョブで必要な主記憶域量が削減され、ファイルのオープンおよびクローズにかかる時間が節減されるため、パフォーマンスを向上させることができます。 IBM i オペレーティング・システムは、このレベルの共用を、次の 2 つのモデルに基づいて実現しています。
- オリジナル・プログラム・モデル は、Integrated Language Environment® (ILE) モデルが導入される以前の、ソース・コードをコンパイルし、高水準言語プログラムをシステム上に作成する一連の機能です。
- ILE モデルは、 ILE 準拠の高水準言語の共通実行時環境および実行時バインド可の アプリケーション・プログラミング・インターフェース (API) を提供する、 一連の構成およびインターフェースです。
オリジナル・プログラム・モデルの共用ファイル
オリジナル・プログラム・モデルでは、 SHARE(*YES) パラメーターを使用することにより、 同一ジョブで実行される 2 つ以上のプログラムで、 1 つのオープン・データ・パス (ODP) を共用することができます。 このパスは、プログラムをファイルに接続します。 特に指定がない限り、オープン・データ・パスは、 ファイルがオープンされるたびに新しく作成されます。 ファイルが 2 回以上オープンされ、しかもオープン・データ・パスが、 そのファイルに関して同じジョブでまだ活動状態にある場合は、 そのファイルに関する活動 ODP をファイルの現在のオープンに使用できるように指定することができます。 つまり、新しいオープン・データ・パスを作成する必要はなくなります。 このようにすれば、2 回目以降のオープンに要する時間、 およびジョブで必要とされる主記憶域量を減らすことができます。 オープン・データ・パスを共用するためには、 最初のオープンの際、および 2 回目以降に同一ファイルをオープンする際に、 SHARE(*YES) を指定する必要があります。 性能の良いアプリケーション・プログラムであれば、通常は、 同一ジョブの中で複数のプログラムがオープンするデータベース・ファイルに対して、 共用オープンを行います。 他のファイルに関する SHARE(*YES) の指定は、 アプリケーションによって異なります。
ILE モデルの共用ファイル
ILE モデルの場合、共用ファイルの有効範囲は、 ジョブ・レベルまたは活動化グループ・レベルのどちらかに限定されます。 活動化グループとは、 実行時ジョブのサブストラクチャーです。 これは、1 つ以上のプログラムに割り振られたシステム・リソース (プログラムまたはプロシージャー変数の記憶、コミットメント定義、 およびオープン・ファイル) によって構成されています。 活動化グループは、ジョブ内にある縮小されたジョブに似ています。
有効範囲がジョブ・レベルに指定された共用ファイルは、 どの活動化グループで実行されるプログラムでも共用することができます。 有効範囲が活動化グループ・レベルに限定されている共用ファイルは、 同じ活動化グループで実行されるプログラムでしか共用することができません。
共用ファイル: 考慮事項
ファイルを共用すると、ジョブ内のプログラムに、 他の方法では不可能なやり方で対話させることができます。 ただし、共用ファイルのオープン、読み取り操作と書き込み操作の実行、および共用ファイルのクローズが及ぼす影響について、理解しておく必要があります。
また、このサポートがどのように機能するのかという点や、 各ファイル・タイプをご使用のプログラムで使用する際の規則について理解するため、 すべてのファイル・タイプの該当する資料も参照してください。