(57)【要約】【課題】ロードモジュールをロードする際に発生するディスク装置に対する入出力発生を回避しつつ、必要十分な領域を主記憶に確保する。【解決手段】主記憶装置及び補助記憶装置を備える仮想記憶方式のコンピュータシステムにおけるロードモジュールのロードを管理し、主記憶装置上の第1の記憶領域、及び、補助記憶装置上の第２の記憶領域を、ロードモジュールをプリイニシャライズするための記憶領域として用いる際、プリイニシャライズすべきか否かをロードモジュール毎に設定し、設定に従ってロードモジュールを第１の記憶領域にプリイニシャライズし、第１の記憶領域にプリイニシャライズされたロードモジュールを、ロードモジュールを実行するための主記憶装置上の記憶領域であるプログラム空間にロードする。【選択図】図１
2006285814.tif 000002
【特許請求の範囲】
【請求項１】
主記憶装置及び補助記憶装置を備える仮想記憶方式のコンピュータシステムにおけるロードモジュールのロードを管理する方法において、
前記主記憶装置上の第1の記憶領域、及び、前記補助記憶装置上の第２の記憶領域を、ロードモジュールをプリイニシャライズするための記憶領域として用いる方法であって、
プリイニシャライズすべきか否かをロードモジュール毎に設定する初期設定段階と、
前記設定に従ってロードモジュールを前記第１の記憶領域にプリイニシャライズするプリイニシャライズ段階と、
前記第１の記憶領域にプリイニシャライズされたロードモジュールを、ロードモジュールを実行するための前記主記憶装置上の記憶領域であるプログラム空間にロードするロード段階と
を含むことを特徴とするロードモジュールのロード管理方法。
【請求項２】
請求項１に記載のロードモジュールのロード管理方法において、
前記プリイニシャライズ段階は、ロードモジュール本体となるコードと、実行された前記コードが入出力するデータと、前記コードの実行に必要な制御情報とを前記第１の記憶領域にプリイニシャライズし、
前記ロード段階は、前記データ及び制御情報を前記プログラム空間にロードし、前記コードを前記プログラム空間にロードしないものであって、
前記コードは、前記第１の記憶領域にロードされた状態で実行される
ことを特徴とするロードモジュールのロード管理方法。
【請求項３】
請求項１に記載のロードモジュールのロード管理方法において、前記プリイニシャライズ段階は、ロードモジュールと、当該ロードモジュールをプリイニシャライズした前記第１の記憶領域中のアドレスとの対応関係を記憶する段階を含むことを特徴とするロードモジュールのロード管理方法。
【請求項４】
請求項３に記載のロードモジュールのロード管理方法において、前記ロード段階は、前記対応関係に基づいて、ロードしようとするロードモジュールを前記第１の記憶領域から取得して、前記プログラム空間にロードすることを特徴とするロードモジュールのロード管理方法。
【請求項５】
請求項３に記載のロードモジュールのロード管理方法において、前記対応関係を示す情報の少なくとも一部を削除する段階を更に含むことを特徴とするロードモジュールのロード管理方法。
【請求項６】
主記憶装置及び補助記憶装置を備える仮想記憶方式のコンピュータシステムにおけるロードモジュールのロードを管理するコンピュータプログラムにおいて、
前記主記憶装置上の第1の記憶領域、及び、前記補助記憶装置上の第２の記憶領域を、ロードモジュールをプリイニシャライズするための記憶領域として用いるコンピュータシステムにて実行されるコンピュータプログラムであって、
プリイニシャライズすべきか否かをロードモジュール毎に設定する初期設定処理と、
前記設定に従ってロードモジュールを前記第１の記憶領域にプリイニシャライズするプリイニシャライズ処理と、
前記第１の記憶領域にプリイニシャライズされたロードモジュールを、ロードモジュールを実行するための前記主記憶装置上の記憶領域であるプログラム空間にロードするロード処理と
を前記コンピュータシステムに実行させることを特徴とするコンピュータプログラム。
【請求項７】
請求項６に記載のコンピュータプログラムにおいて、
前記プリイニシャライズ処理は、ロードモジュール本体となるコードと、実行された前記コードが入出力するデータと、前記コードの実行に必要な制御情報とを前記第１の記憶領域にプリイニシャライズし、
前記ロード処理は、前記データ及び制御情報を前記プログラム空間にロードし、前記コードを前記プログラム空間にロードしないものであって、
前記コードは、前記第１の記憶領域にロードされた状態で実行される
ことを特徴とするコンピュータプログラム。
【請求項８】
請求項６に記載のコンピュータプログラムにおいて、前記プリイニシャライズ処理は、ロードモジュールと、当該ロードモジュールをプリイニシャライズした前記第１の記憶領域中のアドレスとの対応関係を記憶する処理を含むことを特徴とするコンピュータプログラム。
【請求項９】
請求項８に記載のコンピュータプログラムにおいて、前記ロード処理は、前記対応関係に基づいて、ロードしようとするロードモジュールを前記第１の記憶領域から取得して、前記プログラム空間にロードすることを特徴とするコンピュータプログラム。
【請求項１０】
請求項８に記載のコンピュータプログラムにおいて、前記対応関係を示す情報の少なくとも一部を削除する処理を更に含むことを特徴とするコンピュータプログラム。
【請求項１１】
請求項６乃至１０のいずれかに記載のコンピュータプログラムを格納したコンピュータ読取可能な記録媒体。
【請求項１２】
請求項１１に記載の記録媒体を備え、前記コンピュータプログラムに従って動作するコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータシステムのメモリ管理に関する。特に、本発明は、拡張仮想記憶管理におけるＰＬＭ（Ｐｒｅｉｎｉｔｉａｌｉｚｅｄ  Ｌｏａｄ  Ｍｏｄｕｌｅ）のライブラリバッキングストア（ライブラリＢＫＳＴ）での状態を、ＰＬＭ管理テーブルにより管理するメモリ管理に関する。
【背景技術】
【０００２】
従来のＰＬＭ管理の一例について図１１を参照して説明する。図示したシステムは、ＰＬＭ管理テーブル１００と、ロードモジュール（ＬＭ）名ブロック検索手段１１００と、ＰＬＭロード手段１１０１とから構成されている。
【０００３】
このような構成を有する従来のＰＬＭ管理方法はつぎのように動作する。
【０００４】
すなわち、プログラム実行時に、ＰＬＭロード要求に対して、ＬＭ名ブロック検索手段１１００により、ＰＬＭ管理テーブル１００のＬＭ名ブロック１０４を検索して、ＰＬＭロード手段１１０１により、ディスク装置上のライブラリＢＫＳＴから主記憶上のプログラム空間１３０にＰＬＭ１１１をロードする（例えば特許文献１を参照）。こうした技術によれば、プログラム実行時にディスク装置上のライブラリＢＫＳＴに対する入出力が必要となる。
【０００５】
また、従来の他のＰＬＭ管理として、ＰＬＭロード要求に先立って、主記憶上にＬＭを予めロードしておく技術がある（例えば特許文献２を参照）。この種の従来技術によれば、プログラム実行時にディスク装置に対する入出力が発生するのを避けることができる。
【０００６】
【特許文献１】特開昭６１−１２７０４８号公報
【特許文献２】特開平７−１９１８５３号公報（第００１５〜００２３段落、図７〜９）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載の従来技術によれば、プログラム実行時にディスク装置上のライブラリＢＫＳＴに対する入出力が発生する。一般にディスク装置に対する入出力は機械的動作を伴うため、この種の従来技術では、ロードモジュールを主記憶のプログラム空間に展開するための所要時間を短縮する上で制限がある。
【０００８】
特許文献２に記載の従来技術によれば、ロードモジュールをメモリファイルとして予め主記憶にロードしておき、ロードモジュールをプログラム空間に展開する際、主記憶上の領域間のコピーが行われる。このため、ディスク装置に対する入出力に伴う制約は受けない。しかしながら、この種の従来技術ではライブラリＢＫＳＴを単位として主記憶に展開するか否かを定める。このため、ライブラリＢＫＳＴにロードすべきＬＭとロードする必要がないＬＭとが混在する場合、ロード不要なＬＭをロードするための領域も主記憶に確保する必要がある。
【０００９】
本発明は以上のような状況に鑑みてなされたものであり、本発明が解決しようとする課題は、ＬＭをロードする際に発生するディスク装置に対する入出力発生を回避しつつ、必要十分な領域を主記憶に確保する技術を提供することである。
【課題を解決するための手段】
【００１０】
上述の課題を解決するため、本発明は次のような技術を提供する。
【００１１】
即ち、本発明は、主記憶装置及び補助記憶装置を備える仮想記憶方式のコンピュータシステムにおけるロードモジュールのロードを管理する方法において、主記憶装置上の第1の記憶領域、及び、補助記憶装置上の第２の記憶領域を、ロードモジュールをプリイニシャライズするための記憶領域として用いる方法であって、プリイニシャライズすべきか否かをロードモジュール毎に設定する初期設定段階と、設定に従ってロードモジュールを第１の記憶領域にプリイニシャライズするプリイニシャライズ段階と、第１の記憶領域にプリイニシャライズされたロードモジュールを、ロードモジュールを実行するための主記憶装置上の記憶領域であるプログラム空間にロードするロード段階とを含むことを特徴とするロードモジュールのロード管理方法を提供する。
【００１２】
ここで、初期設定段階、プリイニシャライズ段階、及び、ロード段階については、それぞれ図２、３、４を用いて実施例において説明される。この方法によれば、主記憶装置上にプリイニシャライズするか否かを、ロードモジュール毎に定めるので、必要なロードモジュールのみを主記憶装置上にプリイニシャライズする。従って、本来ロードする必要がないロードモジュールをロードすることがなく、主記憶装置を効率的に用いることが出来る。
【００１３】
プリイニシャライズ段階は、ロードモジュール本体となるコードと、実行されたコードが入出力するデータと、コードの実行に必要な制御情報とを第１の記憶領域にプリイニシャライズし、ロード段階は、データ及び制御情報をプログラム空間にロードし、コードをプログラム空間にロードしないものであって、コードは、第１の記憶領域にロードされた状態で実行されることとしてもよい。この場合、コードについてはプログラム空間にロードせず、第１の記憶領域にプリイニシャライズされているコードを流用する。これにより同じコードが第１の記憶領域とプログラム空間の両方にロードされることがなくなるので、主記憶装置をより効率的に用いることができる。
【００１４】
プリイニシャライズ段階は、ロードモジュールと、当該ロードモジュールをプリイニシャライズした第１の記憶領域中のアドレスとの対応関係を記憶する段階を含むこととしてもよい。ここでいう対応関係とは、実施例にいうＰＬＭ管理テーブル１００、特にライブラリＢＫＳＴ空間管理ブロック群１０８に相当する。また、この段階はステップ３０３に相当する。
【００１５】
ロードモジュールとそのアドレスとの対応関係を記憶する場合、ロード段階は、対応関係に基づいて、ロードしようとするロードモジュールを第１の記憶領域から取得して、プログラム空間にロードすることが考えられる。このようなロードは実施例にいうステップ４０３、４０４に相当する。
【００１６】
また、ロードモジュールとそのアドレスとの対応関係を記憶する場合、対応関係を示す情報の少なくとも一部を削除する段階を更に含むこととしてもよい。このような削除段階は実施例のステップ６０３に説明されている。こうすることにより、主記憶装置のより効率的な使用が可能となる。
【００１７】
更に、本発明は、主記憶装置及び補助記憶装置を備える仮想記憶方式のコンピュータシステムにおけるロードモジュールのロードを管理するコンピュータプログラムにおいて、主記憶装置上の第1の記憶領域、及び、補助記憶装置上の第２の記憶領域を、ロードモジュールをプリイニシャライズするための記憶領域として用いるコンピュータシステムにて実行されるコンピュータプログラムであって、プリイニシャライズすべきか否かをロードモジュール毎に設定する初期設定処理と、設定に従ってロードモジュールを第１の記憶領域にプリイニシャライズするプリイニシャライズ処理と、第１の記憶領域にプリイニシャライズされたロードモジュールを、ロードモジュールを実行するための主記憶装置上の記憶領域であるプログラム空間にロードするロード処理とをコンピュータシステムに実行させることを特徴とするコンピュータプログラムを提供する。例えばこのコンピュータプログラムはオペレーティングシステムの一部として実装される。
【００１８】
プリイニシャライズ処理は、ロードモジュール本体となるコードと、実行されたコードが入出力するデータと、コードの実行に必要な制御情報とを第１の記憶領域にプリイニシャライズし、ロード処理は、データ及び制御情報をプログラム空間にロードし、コードをプログラム空間にロードしないものであって、コードは、第１の記憶領域にロードされた状態で実行されることとしてもよい。
【００１９】
プリイニシャライズ処理は、ロードモジュールと、当該ロードモジュールをプリイニシャライズした第１の記憶領域中のアドレスとの対応関係を記憶する処理を含むこととしてもよい。
【００２０】
ロードモジュールとアドレスの対応関係を記憶する場合、ロード処理は、対応関係に基づいて、ロードしようとするロードモジュールを第１の記憶領域から取得して、プログラム空間にロードすることが考えられる。
【００２１】
また、ロードモジュールとアドレスの対応関係を記憶する場合、対応関係を示す情報の少なくとも一部を削除する処理を更に含むこととしてもよい。
【００２２】
更に、本発明は、上述のコンピュータプログラムを格納したコンピュータ読取可能な記録媒体、及び、この記録媒体を備え、上述のコンピュータプログラムに従って動作するコンピュータシステムをも提供する。
【発明の効果】
【００２３】
本発明の第１の効果は、プログラム実行時に、ＰＬＭをライブラリＢＫＳＴからロードする処理時間を短縮することができることである。その理由は、ＯＳ起動時等に、ＰＬＭを主記憶上のライブラリＢＫＳＴ空間にロードするので、主記憶装置上の領域間でのコピーによってプログラム空間にＬＭがロードされ、ディスク装置への入出力発生を防ぐことができるからである。
【００２４】
第２の効果は、第1の効果と同時に、主記憶装置上のライブラリＢＫＳＴ空間で使用する主記憶容量を最小限に抑止できることにある。その理由は、ＰＬＭ毎に主記憶上のライブラリＢＫＳＴ空間を管理することにより、日次や月次などの処理に合わせて、主記憶上のライブラリＢＫＳＴに格納するＰＬＭを変更できるためである。
【発明を実施するための最良の形態】
【００２５】
本発明の一実施の形態であるコンピュータシステムについて説明する。コンピュータシステムは、主記憶装置（以下主記憶と略記）、ディスク装置等の補助記憶装置、プロセッサと、これらを繋ぐデータバスとを少なくとも備える。コンピュータシステムは拡張仮想記憶方式のコンピュータであり、ＰＬＭ（Ｐｒｅｉｎｉｔｉａｌｉｚｅｄ  Ｌｏａｄ  Ｍｏｄｕｌｅ）管理テーブルを用いてライブラリバッキングストア（ライブラリＢＫＳＴ）でのロードモジュール（ＬＭ）の状態を管理する。
【００２６】
図1に示すように、本発明では、ディスク装置上にライブラリＢＫＳＴ１１０を設けるだけではなく、主記憶上にもライブラリＢＫＳＴ空間１２０を設け、ＯＳの起動時やＰＬＭを追加する際には、プリイニシャライズするロードモジュールを設定した後、ライブラリＢＫＳＴ１１０またはライブラリＢＫＳＴ空間１２０のいずれかにＬＭをプリイニシャライズする。ライブラリＢＫＳＴ空間１２０にロードされたＰＬＭは、ＰＬＭ管理テーブル１００に設けたライブラリＢＫＳＴ空間管理ブロック群１０８を用いて管理される。
【実施例１】
【００２７】
次に、本発明の実施例１について説明する。
【００２８】
図１を参照すると、実施例１は、主記憶上のＰＬＭ管理テーブル１００と、ライブラリＢＫＳＴ空間１２０と、プログラム空間１３０と、ＰＬＭ初期ロード設定手段１４０と、ＰＬＭ初期ロード検索手段１４１と、ライブラリＢＫＳＴ空間作成手段１４２と、ライブラリＢＫＳＴ空間ＰＬＭロード手段１４３と、ライブラリＢＫＳＴ空間管理ブロック検索手段１４４と、ＰＬＭ空間再配置手段１４５と、ライブラリＢＫＳＴ空間削除手段１４６と、ディスク装置上のライブラリＢＫＳＴ１１０とから構成されている。
【００２９】
ＰＬＭ管理テーブル１００は、コントロールブロック１０１と、ヘッダブロック１０２と、ライブラリ名ブロック群１０６と、ＬＭ名ブロック群１０７と、ライブラリＢＫＳＴ空間管理ブロック群１０８とを含む。ライブラリ名ブロック群１０６、ＬＭ名ブロック群１０７、ライブラリＢＫＳＴ空間管理ブロック群１０８は、それぞれ、ライブラリブロック１０３、ＬＭ名ブロック１０４、ライブラリＢＫＳＴ空間管理ブロック１０５からなる。
【００３０】
ライブラリＢＫＳＴ空間１２０は、ＰＬＭ’１２１を含む。ＰＬＭ’１２１は、制御情報’１２２、コード’１２３、及び、データ’１２４を含む。
【００３１】
プログラム空間１３０は、制御情報’’１３１と、データ’’１３２とを含む。
【００３２】
ライブラリＢＫＳＴ１１０は、ＰＬＭ１１１を含む。ＰＬＭ１１１は、制御情報１１２、コード１１３、及び、データ１１４を含む。
【００３３】
ここで、コード’１２３、コード１２３、コード１１３等のコードとは、ロードモジュールの本体である実行コードを指す。データ’１２４、データ’’１３２、データ１１４等のデータは、コードから入出力されるデータを格納する領域を指す。制御情報’１２２、制御情報’’１３１、制御情報１１２等の制御情報は、コードを実行するために必要な制御情報であり、例えばデータ１１４等のデータのアドレスがある。
【００３４】
これらの手段はそれぞれ概略つぎのように動作する。
【００３５】
ＰＬＭ初期ロード設定手段１４０は、主記憶上のライブラリＢＫＳＴ空間１２０にＰＬＭ１１１をＯＳ起動時にロードするか否かを決定する。
【００３６】
ＯＳ起動時に、ＰＬＭ初期ロード検索手段１４１は、主記憶上のライブラリＢＫＳＴ空間１２０にロードするＰＬＭ１１１を検索する。
【００３７】
ライブラリＢＫＳＴ空間作成手段１４２は、プリイニシャライズしようとしているＬＭに応じて主記憶上にライブラリＢＫＳＴ空間１２０を確保して、ＰＬＭ管理テーブル１００内にライブラリＢＫＳＴ空間管理ブロック１０５を作成する。
【００３８】
ライブラリＢＫＳＴ空間ＰＬＭロード手段１４３は、ディスク装置上のライブラリＢＫＳＴ１１０から主記憶上のライブラリＢＫＳＴ空間１２０にＰＬＭ１１１をロードする。
【００３９】
ライブラリＢＫＳＴ空間管理ブロック検索手段１４４は、ライブラリＢＫＳＴ空間管理ブロック１０５を検索する。
【００４０】
ＰＬＭ空間再配置手段１４５は、主記憶上のライブラリＢＫＳＴ空間１２０からプログラム空間１３０にＰＬＭ’１２１をコピーして、プログラム空間１３０に再配置する。
【００４１】
ライブラリＢＫＳＴ空間削除手段１４６は，主記憶上のライブラリＢＫＳＴ空間１２０を解放して、ライブラリＢＫＳＴ空間管理ブロック１０５を削除する。
【００４２】
図１及び図２、図３、図４、図５、図６のフローチャート及び図７、図８を参照して本発明の実施例１の動作について詳細に説明する。
【００４３】
まず図２を参照して、ＰＬＭとしてロードするＬＭを設定するＰＬＭ初期ロード設定の動作について説明する。ディスク装置上のライブラリＢＫＳＴ１１０にＬＭをプリイニシャライズする際に、ＰＬＭ初期ロード設定要求に対して、ＰＬＭ初期ロード設定手段１４０により、ＰＬＭ管理テーブル１００で、当該ＰＬＭのＬＭ名ブロック１０４を検索し（ステップ２００）、ライブラリＢＫＳＴ空間ＰＬＭ初期ロード対象か否かの指定により（ステップ２０１）、図７に示すようなＬＭ名ブロック１０４のライブラリＢＫＳＴ空間ＰＬＭ初期ロードフラグ７０１に、対象であればｏｎ、対象でなければｏｆｆを設定する（ステップ２０２、ステップ２０３）。
【００４４】
次に、図３を参照して、ＰＬＭ初期ロード設定後、オペレーティングシステムを起動したときに、設定されたロードモジュールを主記憶上のライブラリＢＫＳＴ空間に格納する過程について説明する。ＯＳ起動時に、ライブラリＢＫＳＴ空間ＰＬＭ初期ロード要求に対して、ＰＬＭ初期ロード検索手段１４１により、ＰＬＭ管理テーブル１００で、ＬＭ名ブロック１０４を検索し（ステップ３００）、図７に示したＬＭ名ブロック１０４のライブラリＢＫＳＴ空間ＰＬＭ初期ロードフラグ７０１が、ｏｎかｏｆｆかを判定する（ステップ３０１）。ｏｎであれば、ライブラリＢＫＳＴ空間作成手段１４２により、当該ＰＬＭのライブラリＢＫＳＴ空間１２０を作成する（ステップ３０２）。次に、ＰＬＭ管理テーブル１００に、ライブラリＢＫＳＴ空間管理ブロック１０５を追加し、図７に示すＬＭ名ブロック１０４のライブラリＢＫＳＴ空間管理ブロックアドレス７０２と、図８に示すライブラリＢＫＳＴ空間管理ブロック１０５のライブラリＢＫＳＴ空間アドレス８００を設定する（ステップ３０３）。次に、ライブラリＢＫＳＴ空間ＰＬＭロード手段１４３により、ディスク装置上のライブラリＢＫＳＴ１１０から主記憶上のライブラリＢＫＳＴ空間１２０へ当該ＰＬＭをロードする（ステップ３０４）。これにより、ライブラリＢＫＳＴ空間ＰＬＭ初期ロード対象ＰＬＭすべてをライブラリＢＫＳＴ空間１２０に格納する（ステップ３０５）。
【００４５】
次に、図４を参照して、プリイニシャライズしたＬＭをプログラム空間に展開する過程について説明する。プログラム実行時に、ＰＬＭロード要求に対して、ライブラリＢＫＳＴ空間管理ブロック検索手段１４４により、ＰＬＭ管理テーブル１００で、該当ＰＬＭのＬＭ名ブロック１０４を検索する（ステップ４００）。ＬＭ名ブロック１０４のライブラリＢＫＳＴ空間管理ブロックアドレス７０２（図７）がｎｕｌｌか否かにより分岐する（ステップ４０１）。ｎｕｌｌの場合、ディスク装置のライブラリＢＫＳＴ１１０にプリイニシャライズされたＬＭをプログラム空間にロードする。ｎｕｌｌではない場合、ライブラリＢＫＳＴ空間管理ブロック１０５を取得し（ステップ４０２）、ＰＬＭ空間再配置手段１４５により、ライブラリＢＫＳＴ空間管理ブロック１０５のライブラリＢＫＳＴ空間アドレス８００（図８）を取得し（ステップ４０３）、ライブラリＢＫＳＴ空間１２０からＰＬＭ’１２１の制御情報’１２２とデータ’１２４をプログラム空間１３０にコピーし（ステップ４０４）、プログラム空間１３０の制御情報’’１３１、データ’’１３２とライブラリＢＫＳＴ空間１２０のコード’１２３を再配置する（ステップ４０５）。
【００４６】
次に、図５を参照して、ＯＳ運用中に、ライブラリＢＫＳＴ空間にＰＬＭを登録する場合の動作について説明する。ライブラリＢＫＳＴ空間ＰＬＭロード要求に対して、ライブラリＢＫＳＴ空間管理ブロック検索手段１４４により、ＰＬＭ管理テーブル１００で、該当ＰＬＭのＬＭ名ブロック１０４を検索する（ステップ５００）。ＬＭ名ブロック１０４のライブラリＢＫＳＴ空間管理ブロックアドレス７０２（図７）がｎｕｌｌか否かにより分岐する（ステップ５０１）。ｎｕｌｌであれば、ライブラリＢＫＳＴ空間作成手段１４２により、当該ＰＬＭのライブラリＢＫＳＴ空間１２０を作成し（ステップ５０２）、ＰＬＭ管理テーブル１００に、ライブラリＢＫＳＴ空間管理ブロック１０５を追加し、ＬＭ名ブロック１０４のライブラリＢＫＳＴ空間管理ブロックアドレス７０２（図７）とライブラリＢＫＳＴ空間管理ブロック１０５のライブラリＢＫＳＴ空間アドレス８００（図８）を設定し（図５のステップ５０３）、ライブラリＢＫＳＴ空間ＰＬＭロード手段１４３により、ディスク装置上のライブラリＢＫＳＴ１１０から主記憶上のライブラリＢＫＳＴ空間１２０へ当該ＰＬＭをロードする（ステップ５０４）。
【００４７】
次に、図６を参照してライブラリＢＫＳＴ空間からＰＬＭを削除する場合について説明する。ライブラリＢＫＳＴ空間ＰＬＭアンロード要求に対して、ライブラリＢＫＳＴ空間管理ブロック検索手段１４４により、ＰＬＭ管理テーブル１００で、該当ＰＬＭのＬＭ名ブロック１０４を検索し（ステップ６００）、ＬＭ名ブロック１０４のライブラリＢＫＳＴ空間管理ブロックアドレス７０２（図７）がｎｕｌｌか否かにより（ステップ６０１）、ｎｕｌｌでなければ、ライブラリＢＫＳＴ空間管理ブロック１０５を取得し（ステップ６０２）、ライブラリＢＫＳＴ空間削除手段１４６により、当該ＰＬＭのライブラリＢＫＳＴ空間１２０を削除し（ステップ６０３）、ＰＬＭ管理テーブル１００で、ライブラリＢＫＳＴ空間管理ブロック１０５を削除し、ＬＭ名ブロック１０４のライブラリＢＫＳＴ空間管理ブロックアドレス７０２（図７）にｎｕｌｌを設定する（ステップ６０４）。
【００４８】
次に、実施例１の効果について説明する。
【００４９】
実施例１では、ＯＳ起動時にＰＬＭを主記憶上のライブラリＢＫＳＴ空間にロードし、プログラム実行時にはＰＬＭを主記憶上のライブラリＢＫＳＴ空間からコピーするというように構成されているため、プログラム実行時にＰＬＭをライブラリＢＫＳＴからロードする処理時間が短縮できる。
【００５０】
また、実施例１では、ＰＬＭ毎に主記憶上のライブラリＢＫＳＴ空間を管理するというように構成されているため、日次や月次などの処理に合わせて主記憶上のライブラリＢＫＳＴに格納するＰＬＭを変更でき、主記憶上のライブラリＢＫＳＴ空間で使用する主記憶容量を最小限に抑止できる。
【００５１】
さらに、実施例１では、プログラム空間にＰＬＭの制御情報とデータのみをコピーし、コードはライブラリＢＫＳＴ空間のＰＬＭのコードを共有するというように構成されているため、プログラム空間で使用する主記憶容量を最小限に抑止できる。
【実施例２】
【００５２】
次に、本発明の実施例２の構成について図面を参照して詳細に説明する。
【００５３】
図９を参照すると、実施例２の構成は、主記憶上のＰＬＭ管理テーブル１００と、ライブラリＢＫＳＴ空間１２０と、プログラム空間１３０と、ＰＬＭ初期ロード設定手段１４０と、ＰＬＭ初期ロード検索手段１４１と、ライブラリＢＫＳＴ空間作成手段１４２と、ライブラリＢＫＳＴ空間ＰＬＭロード手段１４３と、ライブラリＢＫＳＴ空間管理ブロック検索手段１４４と、ＰＬＭ空間再配置手段１４５と、ライブラリＢＫＳＴ空間削除手段１４６と、ディスク装置上のライブラリＢＫＳＴ１１０とから構成されている。
【００５４】
ＰＬＭ管理テーブル１００は、コントロールブロック１０１と、ヘッダブロック１０２と、ライブラリ名ブロック群１０６と、ＬＭ名ブロック群１０７と、ライブラリＢＫＳＴ空間管理ブロック群１０８とを含む。ライブラリ名ブロック群１０６、ＬＭ名ブロック群１０７、及び、ライブラリＢＫＳＴ空間管理ブロック群１０８は、それぞれ、ライブラリブロック１０３、ＬＭ名ブロック１０４、及び、ライブラリＢＫＳＴ空間管理ブロック１０５からなる。
【００５５】
ライブラリＢＫＳＴ空間１２０はＰＬＭ’１２１を含む。ＰＬＭ’１２１は、制御情報’１２２、コード’１２３、及び、データ’１２４を含む。
【００５６】
プログラム空間１３０は、制御情報’’１３１と、コード’’９００と、データ’’１３２とを含む。
【００５７】
ライブラリＢＫＳＴ１１０はＰＬＭ１１１を含む。ＰＬＭ１１１は、制御情報１１２、コード１１３、及び、データ１１４を含む。
【００５８】
これらの手段はそれぞれ概略つぎのように動作する。
【００５９】
ＰＬＭ初期ロード設定手段１４０は、主記憶上のライブラリＢＫＳＴ空間１２０にＰＬＭ１１１をＯＳ起動時にロードするか否かを決定する。
【００６０】
ＯＳ起動時に、ＰＬＭ初期ロード検索手段１４１は、主記憶上のライブラリＢＫＳＴ空間１２０にロードするＰＬＭ１１１を検索する。
【００６１】
ライブラリＢＫＳＴ空間作成手段１４２は、主記憶上にライブラリＢＫＳＴ空間１２０を確保して、ライブラリＢＫＳＴ空間管理ブロック１０５を作成する。
【００６２】
ライブラリＢＫＳＴ空間ＰＬＭロード手段１４３は、ディスク装置上のライブラリＢＫＳＴ１１０から主記憶上のライブラリＢＫＳＴ空間１２０にＰＬＭ１１１をロードする。
【００６３】
ライブラリＢＫＳＴ空間管理ブロック検索手段１４４は、ライブラリＢＫＳＴ空間管理ブロック１０５を検索する。
【００６４】
ＰＬＭ空間再配置手段１４５は、主記憶上のライブラリＢＫＳＴ空間１２０からプログラム空間１３０にＰＬＭ’１２１をコピーして、プログラム空間１３０に再配置する。
【００６５】
ライブラリＢＫＳＴ空間削除手段１４６は，主記憶上のライブラリＢＫＳＴ空間１２０を解放して、ライブラリＢＫＳＴ空間管理ブロック１０５を削除する。
【００６６】
図９及び図２、図３、図５、図６、図１０のフローチャート及び図７、図８を参照して実施例２の動作について詳細に説明する。
【００６７】
まず、ディスク装置上のライブラリＢＫＳＴ１１０にＬＭをプリイニシャライズする際に、ＰＬＭ初期ロード設定要求に対して、ＰＬＭ初期ロード設定手段１４０により、ＰＬＭ管理テーブル１００で、当該ＰＬＭのＬＭ名ブロック１０４を検索し（図２のステップ２００）、ライブラリＢＫＳＴ空間ＰＬＭ初期ロード対象か否かの指定により（ステップ２０１）、ＬＭ名ブロック１０４のライブラリＢＫＳＴ空間ＰＬＭ初期ロードフラグ７０１（図７）に、対象であればｏｎ、対象でなければｏｆｆを設定する（図２のステップ２０２、ステップ２０３）。
【００６８】
次に、ＯＳ起動時に、ライブラリＢＫＳＴ空間ＰＬＭ初期ロード要求に対して、ＰＬＭ初期ロード検索手段１４１により、ＰＬＭ管理テーブル１００で、ＬＭ名ブロック１０４を検索し（図３のステップ３００）、ＬＭ名ブロック１０４のライブラリＢＫＳＴ空間ＰＬＭ初期ロードフラグ７０１（図７）がｏｎかｏｆｆかにより（図３のステップ３０１）、ｏｎであれば、ライブラリＢＫＳＴ空間作成手段１４２により、当該ＰＬＭのライブラリＢＫＳＴ空間１２０を作成し（ステップ３０２）、ＰＬＭ管理テーブル１００に、ライブラリＢＫＳＴ空間管理ブロック１０５を追加し、ＬＭ名ブロック１０４のライブラリＢＫＳＴ空間管理ブロックアドレス７０２（図７）とライブラリＢＫＳＴ空間管理ブロック１０５のライブラリＢＫＳＴ空間アドレス８００（図８）を設定し（図３のステップ３０３）、ライブラリＢＫＳＴ空間ＰＬＭロード手段１４３により、ディスク装置上のライブラリＢＫＳＴ１１０から主記憶上のライブラリＢＫＳＴ空間１２０へ当該ＰＬＭをロードする（ステップ３０４）。これにより、ライブラリＢＫＳＴ空間ＰＬＭ初期ロード対象ＰＬＭすべてをライブラリＢＫＳＴ空間１２０に格納する（ステップ３０５）。
【００６９】
さらに、プログラム実行時に、ＰＬＭロード要求に対して、ライブラリＢＫＳＴ空間管理ブロック検索手段１４４により、ＰＬＭ管理テーブル１００で、該当ＰＬＭのＬＭ名ブロック１０４を検索し（図１０のステップ１０００）、ＬＭ名ブロック１０４のライブラリＢＫＳＴ空間管理ブロックアドレス７０２（図７）がｎｕｌｌか否かにより（図１０のステップ１００１）、ｎｕｌｌでなければ、ライブラリＢＫＳＴ空間管理ブロック１０５を取得し（ステップ１００２）、ＰＬＭ空間再配置手段１４５により、ライブラリＢＫＳＴ空間管理ブロック１０５のライブラリＢＫＳＴ空間アドレス８００（図８）を取得し（図１０のステップ１００３）、ライブラリＢＫＳＴ空間１２０からＰＬＭ’１２１の制御情報’１２２、コード’１２３、データ’１２４をプログラム空間１３０にコピーし（ステップ１００４）、プログラム空間１３０の制御情報’’１３１、コード’’９００、データ’’１３２を再配置する（ステップ１００５）。
【００７０】
また、ＯＳ運用中に、ライブラリＢＫＳＴ空間にＰＬＭを登録する場合には、ライブラリＢＫＳＴ空間ＰＬＭロード要求に対して、ライブラリＢＫＳＴ空間管理ブロック検索手段１４４により、ＰＬＭ管理テーブル１００で、該当ＰＬＭのＬＭ名ブロック１０４を検索し（図５のステップ５００）、ＬＭ名ブロック１０４のライブラリＢＫＳＴ空間管理ブロックアドレス７０２（図７）がｎｕｌｌか否かにより（図５のステップ５０１）、ｎｕｌｌであれば、ライブラリＢＫＳＴ空間作成手段１４２により、当該ＰＬＭのライブラリＢＫＳＴ空間１２０を作成し（ステップ５０２）、ＰＬＭ管理テーブル１００に、ライブラリＢＫＳＴ空間管理ブロック１０５を追加し、ＬＭ名ブロック１０４のライブラリＢＫＳＴ空間管理ブロックアドレス７０２（図７）とライブラリＢＫＳＴ空間管理ブロック１０５のライブラリＢＫＳＴ空間アドレス８００（図８）を設定し（図５のステップ５０３）、ライブラリＢＫＳＴ空間ＰＬＭロード手段１４３により、ディスク装置上のライブラリＢＫＳＴ１１０から主記憶上のライブラリＢＫＳＴ空間１２０へ当該ＰＬＭをロードする（ステップ５０４）。
【００７１】
ライブラリＢＫＳＴ空間からＰＬＭを削除する場合には、ライブラリＢＫＳＴ空間ＰＬＭアンロード要求に対して、ライブラリＢＫＳＴ空間管理ブロック検索手段１４４により、ＰＬＭ管理テーブル１００で、該当ＰＬＭのＬＭ名ブロック１０４を検索し（図６のステップ６００）、ＬＭ名ブロック１０４のライブラリＢＫＳＴ空間管理ブロックアドレス７０２（図７）がｎｕｌｌか否かにより（図６のステップ６０１）、ｎｕｌｌでなければ、ライブラリＢＫＳＴ空間管理ブロック１０５を取得し（ステップ６０２）、ライブラリＢＫＳＴ空間削除手段１４６により、当該ＰＬＭのライブラリＢＫＳＴ空間１２０を削除し（ステップ６０３）、ＰＬＭ管理テーブル１００で、ライブラリＢＫＳＴ空間管理ブロック１０５を削除し、ＬＭ名ブロック１０４のライブラリＢＫＳＴ空間管理ブロックアドレス７０２（図７）にｎｕｌｌを設定する（図６のステップ６０４）。
【００７２】
次に、実施例２の効果について説明する。実施例２では、ＯＳ起動時にＰＬＭを主記憶上のライブラリＢＫＳＴ空間にロードし、プログラム実行時にはＰＬＭを主記憶上のライブラリＢＫＳＴ空間からコピーするというように構成されているため、プログラム実行時にＰＬＭをライブラリＢＫＳＴからロードする処理時間が短縮できる。
【００７３】
また、実施例２では、ＰＬＭ毎に主記憶上のライブラリＢＫＳＴ空間を管理するというように構成されているため、日次や月次などの処理に合わせて主記憶上のライブラリＢＫＳＴに格納するＰＬＭを変更でき、主記憶上のライブラリＢＫＳＴ空間で使用する主記憶容量を最小限に抑止できる。
【００７４】
以上、本発明を実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、当業者の通常の知識の範囲内でその変更や改良が可能であることは勿論である。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施例１であるコンピュータシステムの主記憶装置及びディスク装置間で行われるロードモジュールのロード管理方法を説明するための図である。
【図２】ＯＳ起動時にプリイニシャライズされるロードモジュールに対し、ライブラリＢＫＳＴ空間１２０にプリイニシャライズするか否かを設定する処理について説明するためのフローチャートである。
【図３】ロードモジュールをライブラリＢＫＳＴ空間１２０にプリイニシャライズする処理について説明するためのフローチャートである。
【図４】実施例1においてライブラリＢＫＳＴ空間１２０にプリイニシャライズしたロードモジュールをプログラム空間１３０にロードする処理について説明するためのフローチャートである。
【図５】ＯＳ運用中にライブラリＢＫＳＴ空間１２０にＰＬＭを登録する処理について説明するためのフローチャートである。
【図６】ライブラリＢＫＳＴ空間１２０に登録されたＰＬＭを削除する処理について説明するためのフローチャートである。
【図７】ＬＭ名ブロック群１０７及びＬＭ名ブロック１０４について説明するための図である。
【図８】ライブラリＢＫＳＴ空間管理ブロック群１０８及びライブラリＢＫＳＴ空間管理ブロック１０５について説明するための図である。
【図９】本発明の実施例２であるコンピュータシステムの主記憶装置及びディスク装置間で行われるロードモジュールのロード管理方法を説明するための図である。
【図１０】実施例２においてライブラリＢＫＳＴ空間１２０にプリイニシャライズしたロードモジュールをプログラム空間１３０にロードする処理について説明するためのフローチャートである。
【図１１】従来のコンピュータシステムの主記憶装置及びディスク装置間で行われるロードモジュールのロード管理方法を説明するための図である。
【符号の説明】
【００７６】
１００    ＰＬＭ管理テーブル
１０１    コントロールブロック
１０２    ヘッダブロック
１０３    ライブラリ名ブロック
１０４    ＬＭ名ブロック
１０５    ライブラリＢＫＳＴ空間管理ブロック
１０６    ライブラリ名ブロック群
１０７    ＬＭ名ブロック群
１０８    ライブラリＢＫＳＴ空間管理ブロック群
１１０    ライブラリＢＫＳＴ
１１１    ＰＬＭ
１１２    制御情報
１１３    コード
１１４    データ
１２０    ライブラリＢＫＳＴ空間
１２１    ＰＬＭ’
１２２    制御情報’
１２３    コード’
１２４    データ’
１３０    プログラム空間
１３１    制御情報”
１３２    データ”
１４０    ＰＬＭ初期ロード設定手段
１４１    ＰＬＭ初期ロード検索手段
１４２    ライブラリＢＫＳＴ空間作成手段
１４３    ライブラリＢＫＳＴ空間ＰＬＭロード手段
１４４    ライブラリＢＫＳＴ空間管理ブロック検索手段
１４５    ＰＬＭ空間再配置手段
１４６    ライブラリＢＫＳＴ空間削除手段
７００    ライブラリＢＫＳＴディスクアドレス
７０１    ライブラリＢＫＳＴ空間ＰＬＭ初期ロードフラグ
７０２    ライブラリＢＫＳＴ空間管理ブロックアドレス
８００    ライブラリＢＫＳＴ空間アドレス
９００    コード”
【図１】
2006285814.tif 000003
【図２】
2006285814.tif 000004
【図３】
2006285814.tif 000005
【図４】
2006285814.tif 000006
【図５】
2006285814.tif 000007
【図６】
2006285814.tif 000008
【図７】
2006285814.tif 000009
【図８】
2006285814.tif 000010
【図９】
2006285814.tif 000011
【図１０】
2006285814.tif 000012
【図１１】
2006285814.tif 000013