(57)【要約】【課題】仮想記憶方式を採用している計算機システムにおいて、メモリ余裕量およびジョブの重要度に応じて、動作中の各ジョブにメモリを割り当てる。【解決手段】ジョブ管理テーブル３は、実行中の各ジョブ９−１〜９−ｎそれぞれについて、現時点におけるメモリ割り当て量保証値と、そのジョブ固有のメモリ割り当て量保証値の上限値および下限値とを管理している。メモリ割り当て量保証値計算手段４は、ジョブからの割り当て要求に従って上記ジョブにメモリを割り当てたとき、メモリ余裕量が閾値以上である場合には、要求元のジョブのメモリ割り当て量保証値を、要求元のジョブに対応する上限値を上限として、新規に割り当てたメモリ量だけ増加させ、メモリ余裕量が閾値未満である場合には、各ジョブ９−１〜９−ｎのメモリ割り当て量保証値を、そのジョブに対応する下限値を下限にして、メモリ余裕量が閾値以上となるように均等に減少させる。【選択図】      図１
2004246552.tif 000002
【特許請求の範囲】
【請求項１】
仮想記憶方式を採用している計算機システムにおいて、
実行中の各ジョブそれぞれについて、現時点におけるメモリ割り当て量保証値と、ユーザによって指定されているそのジョブ固有のメモリ割り当て量保証値の上限値および下限値とを管理する管理手段と、
ジョブからの割り当て要求によって要求されているメモリ量のメモリが前記要求元のジョブに割り当てられたとき、メモリ余裕量が予め定められている閾値以上である場合には、前記要求元のジョブのメモリ割り当て量保証値を、前記要求元のジョブに対応する上限値を上限として、前記要求元のジョブに新規に割り当てたメモリ量だけ増加させ、メモリ余裕量が前記閾値未満である場合には、前記各ジョブのメモリ割り当て量保証値を、そのジョブに対応する下限値を下限にして、前記メモリ余裕量が前記閾値以上となるように均等に減少させるメモリ割り当て量保証値計算手段とを備えたことを特徴とする計算機システム。
【請求項２】
請求項１記載の計算機システムにおいて、
前記メモリ割り当て量保証値計算手段が、
ジョブからの解放要求に従って要求元のジョブからメモリが解放されたとき、前記要求元のジョブのメモリ割り当て量保証値を、前記要求元のジョブに対応する下限値を下限にして、前記解放されたメモリ量だけ減少させる構成を有することを特徴とする計算機システム。
【請求項３】
請求項１記載の計算機システムにおいて、
前記管理手段が、実行中の各ジョブそれぞれについて、ユーザによって指定された動的変更フラグも管理する構成を有し、
前記メモリ割り当て量保証値計算手段が、動的変更フラグによってメモリ割り当て量保証値の動的変更を行うことが指示されているジョブのみを対象にしてメモリ割り当て量保証値を再計算する構成を有することを特徴とする計算機システム。
【請求項４】
請求項１記載の計算機システムにおいて、
前記メモリ余裕量が、
使用可能メモリ量から、前記各ジョブのメモリ割り当て量保証値の合計値或いは前記各ジョブに現在割り当てられているメモリ量の合計値の内の大きな方の値を差し引いたものであることを特徴とする計算機システム。
【請求項５】
仮想記憶方式を採用している計算機システムにおけるメモリ割り当て量保証値動的変更方法であって、
実行中の各ジョブそれぞれについて、現時点におけるメモリ割り当て量保証値と、ユーザによって指定されているそのジョブ固有のメモリ割り当て量保証値の上限値および下限値とを管理する管理ステップと、
ジョブからの割り当て要求によって要求されているメモリ量のメモリが前記要求元のジョブに割り当てられたとき、メモリ余裕量が予め定められている閾値以上である場合には、前記要求元のジョブのメモリ割り当て量保証値を、前記要求元のジョブに対応する上限値を上限として、前記要求元のジョブに新規に割り当てたメモリ量だけ増加させ、メモリ余裕量が前記閾値未満である場合には、前記各ジョブのメモリ割り当て量保証値を、そのジョブに対応する下限値を下限にして、前記メモリ余裕量が前記閾値以上となるように均等に減少させるメモリ割り当て量保証値計算ステップとを含むことを特徴とするメモリ割り当て量保証値動的変更方法。
【請求項６】
請求項５記載のメモリ割り当て量保証値動的変更方法において、
前記メモリ割り当て量保証値計算ステップが、
ジョブからの解放要求に従って要求元のジョブからメモリが解放されたとき、前記要求元のジョブのメモリ割り当て量保証値を、前記要求元のジョブに対応する下限値を下限にして、前記解放されたメモリ量だけ減少させる処理を含むことを特徴とするメモリ割り当て量保証値動的変更方法。
【請求項７】
請求項５記載のメモリ割り当て量保証値動的変更方法において、
前記管理ステップが、実行中の各ジョブそれぞれについて、ユーザによって指定された動的変更フラグも管理する処理を含み、
前記メモリ割り当て量保証値計算ステップが、動的変更フラグによってメモリ割り当て量保証値の動的変更を行うことが指示されているジョブのみを対象にしてメモリ割り当て量保証値を再計算することを特徴とするメモリ割り当て量保証値動的変更方法。
【請求項８】
請求項５記載のメモリ割り当て量保証値動的変更方法において、
前記メモリ余裕量が、
使用可能メモリ量から、前記各ジョブのメモリ割り当て量保証値の合計値或いは前記各ジョブに現在割り当てられているメモリ量の合計値の内の大きな方の値を差し引いたものであることを特徴とするメモリ割り当て量保証値動的変更方法。
【請求項９】
仮想記憶方式を採用している計算機システムに、
実行中の各ジョブそれぞれについて、現時点におけるメモリ割り当て量保証値と、ユーザによって指定されているそのジョブ固有のメモリ割り当て量保証値の上限値および下限値とを管理する管理ステップと、
ジョブからの割り当て要求によって要求されているメモリ量のメモリが前記要求元のジョブに割り当てられたとき、メモリ余裕量が予め定められている閾値以上である場合には、前記要求元のジョブのメモリ割り当て量保証値を、前記要求元のジョブに対応する上限値を上限として、前記要求元のジョブに新規に割り当てたメモリ量だけ増加させ、メモリ余裕量が前記閾値未満である場合には、前記各ジョブのメモリ割り当て量保証値を、そのジョブに対応する下限値を下限にして、前記メモリ余裕量が前記閾値以上となるように均等に減少させるメモリ割り当て量保証値計算ステップとを実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、仮想記憶方式を採用し、且つページ取得高速化のために、ＬＲＵアルゴリズムによって予め未使用ページを確保する処理を行っている計算機システムに関し、特に、メモリ余裕量に応じて実行中の各ジョブのメモリ割り当て量保証値を動的に変更する技術に関する。
【０００２】
【従来の技術】
従来からメモリ（主記憶装置）のメモリ余裕量に応じて、実行中のジョブに割り当てるメモリ量を動的に変更するということが行われている（例えば、特許文献１参照）。この特許文献１に記載されている技術では、メモリの空き領域量が多い時はウィンドウサイズを大きくし、空き領域量が少ない時はウィンドウサイズを小さくすることにより、各ジョブに割り当てるメモリ量を動的に変更するようにしている。
【０００３】
この他にも、ジョブに割り当てるメモリ量を動的に変更する従来の技術として、ジョブに割り当てられたメモリの仮想メモリ空間に対する比率が、ユーザによって指定された比率を超えないようにワーキングセットの計算値を制御する技術も知られている（例えば、特許文献２参照）。しかし、この特許文献２に記載されている技術は、メモリ余裕量に応じて、実行中のジョブに割り当てるメモリ量を動的に変更する技術ではない。
【０００４】
【特許文献１】
特開昭５９−２０７４７９号公報
【特許文献２】
特開２０００−６６９１１号公報
【０００５】
【発明が解決しようとする課題】
上述した特許文献１に記載されている従来の技術によれば、動作中の各ジョブに割り当てるメモリ量を、メモリの空き領域量に応じて動的に変更することが可能になる。しかし、上述した従来の技術では、メモリの空き領域量に応じて決定したウィンドウサイズからはみ出したページをページアウトするだけであるので、ジョブの重要度に応じて割り当てるメモリ量を制御することができないという問題がある。
【０００６】
そこで、本発明の目的は、メモリ余裕量およびジョブの重要度に応じて、動作中の各ジョブにメモリを割り当てられるようにすることにある。
【０００７】
【課題を解決するための手段】
本発明にかかる第１の計算機システムは、上記目的を達成するため、
仮想記憶方式を採用している計算機システムにおいて、
実行中の各ジョブそれぞれについて、現時点におけるメモリ割り当て量保証値と、ユーザによって指定されているそのジョブ固有のメモリ割り当て量保証値の上限値および下限値とを管理する管理手段と、
ジョブからの割り当て要求によって要求されているメモリ量のメモリが前記要求元のジョブに割り当てられたとき、メモリ余裕量が予め定められている閾値以上である場合には、前記要求元のジョブのメモリ割り当て量保証値を、前記要求元のジョブに対応する上限値を上限として、前記要求元のジョブに新規に割り当てたメモリ量だけ増加させ、メモリ余裕量が前記閾値未満である場合には、前記各ジョブのメモリ割り当て量保証値を、そのジョブに対応する下限値を下限にして、前記メモリ余裕量が前記閾値以上となるように均等に減少させるメモリ割り当て量保証値計算手段とを備えたことを特徴とする。
【０００８】
また、本発明に係る第２の計算機システムは、第１の計算機システムにおいて、
前記メモリ割り当て量保証値計算手段が、
ジョブからの解放要求に従って要求元のジョブからメモリが解放されたとき、前記要求元のジョブのメモリ割り当て量保証値を、前記要求元のジョブに対応する下限値を下限にして、前記解放されたメモリ量だけ減少させる構成を有することを特徴とする。
【０００９】
また、本発明に係る第３の計算機システムは、メモリ割り当て量保証値の再計算によるオーバヘッドを少なくするため、第１の計算機システムにおいて、
前記管理手段が、実行中の各ジョブそれぞれについて、ユーザによって指定された動的変更フラグも管理する構成を有し、
前記メモリ割り当て量保証値計算手段が、動的変更フラグによってメモリ割り当て量保証値の動的変更を行うことが指示されているジョブのみを対象にしてメモリ割り当て量保証値を再計算する構成を有することを特徴とする
【００１０】
また、本発明に係る第４の計算機システムは、第１の計算機システムにおいて、
前記メモリ余裕量が、
使用可能メモリ量から、前記各ジョブのメモリ割り当て量保証値の合計値或いは前記各ジョブに現在割り当てられているメモリ量の合計値の内の大きな方の値を差し引いたものであることを特徴とする。
【００１１】
【作用】
各ジョブ毎に、メモリ割り当て量保証値の上限値及び下限値を設定できるので、メモリ余裕量およびジョブの重要度に応じて、動作中の各ジョブにメモリを割り当てることができる。また、動的変更フラグによって、メモリ割り当て量保証値の計算対象にされているジョブについてのみ、メモリ割り当て量保証値の再計算を行うようにしているので、オーバヘッドを少なくすることができる。
【００１２】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【００１３】
図１は本発明に係る計算機システム１００の一実施例のブロック図である。同図を参照すると、計算機システム１００は、スケジューラ１と、ジョブ管理テーブル管理手段２と、ジョブ管理テーブル３と、メモリ割り当て量保証値計算手段４と、ページアウト対象決定手段５と、メモリ割り当て・解放手段６と、ページアウト手段７と、ジョブ集合８と、ジョブ９−１〜９−ｎと、仮想記憶空間１０−１〜１０−ｎと、各仮想記憶空間１０−１〜１０−ｎに割り当てられているメモリ（主記憶装置）１１−１〜１１−ｎと、二次記憶装置１２と、記録媒体Ｋ１００とを備えている。
【００１４】
ジョブ集合８は、現在実行中のｎ個のジョブ９−１〜９−ｎの集合である。各ジョブ９−１〜９−ｎは、それぞれ仮想記憶空間１０−１〜１０−ｎを持ち、各仮想記憶空間１０−１〜１０−ｎには、それぞれメモリ１１−１〜１１−ｎが割り当てられている。
【００１５】
ジョブ管理テーブル３は、現在実行中の各ジョブ９−１〜９−ｎそれぞれのエントリを有し、各エントリには、対応するジョブのジョブ名と、現時点におけるメモリ割り当て量保証値と、ユーザによって指定されたメモリ割り当て量保証値の上限値および下限値と、現時点におけるメモリ量（そのジョブに割り当てられているメモリのページ数）とが格納されている。
【００１６】
図２にジョブ管理テーブル３の内容例を示す。同図の例は、ジョブ９−１のジョブ名がＪＯＢ１、現時点におけるメモリ割り当て量保証値がＧ１、メモリ割り当て量保証値の上限値がＭＡＸ１、メモリ割り当て量保証値の下限値がＭＩＮ１、現時点におけるメモリ量がＭ１であることを示している。
【００１７】
スケジューラ１は、ユーザが計算機システム１００に投入したジョブの中から実行するジョブを選択し、実行に移す機能を有する。なお、ユーザは、ジョブを投入する際、そのジョブの重要度に応じたメモリ割り当て量保証値の上限値および下限値を指定する。即ち、重要度が高いジョブを投入する場合には、上限値および下限値として大きな値を指定し、重要度が低いジョブを投入する際には、上限値および下限値として小さな値を指定する。
【００１８】
ジョブ管理テーブル管理手段２は、下記ａ〜ｄの機能を有する。
【００１９】
ａ．スケジューラ１によって実行に移されたジョブに関し、ジョブ名、メモリ割り当て量保証値、ユーザによって指定されたメモリ割り当て量保証値の上限値および下限値、メモリ量をジョブ管理テーブル３に登録する機能。なお、この場合、メモリ割り当て量保証値（初期値）としては、ユーザによって指定されている下限値を登録する。
ｂ．ジョブ管理テーブル３に登録されている各ジョブ９−１〜９−ｎに対応するメモリ量の内、メモリの割り当てや解放が行われたジョブ９−ｉ（１≦ｉ≦ｎ）のメモリ量を、割り当て或いは解放されたメモリ量に応じて更新する機能。
ｃ．メモリ割り当て量保証値計算手段４から渡されたメモリ割り当て量保証値の再計算結果に従って、ジョブ管理テーブル３に登録されている各ジョブのメモリ割り当て量保証値を更新する機能。
ｄ．実行が終了したジョブに関する情報をジョブ管理テーブル３から削除する機能。
【００２０】
メモリ割り当て・解放手段６は、下記ｅ〜ｉの機能を有する。
【００２１】
ｅ．実行中のジョブ９−ｉからの割り当て要求に従って、要求されたメモリ量のメモリをジョブ９−ｉに割り当てる機能。
ｆ．実行中のジョブ９−ｉからの解放要求に従って、要求されたページをジョブ９−ｉから解放する機能。
ｇ．メモリの割り当てや解放を行ったジョブ９−ｉのジョブ名と、割り当て或いは解放したメモリ量とをジョブ管理テーブル管理手段２に通知し、ジョブ管理テーブル３に登録されているジョブ９−ｉのメモリ量を更新させる機能。
ｈ．実行中のジョブ９−ｉからの割り当て要求や解放要求に従ってメモリの割り当てや解放を行った場合、ジョブ９−ｉのジョブ名と、割り当て或いは解放したメモリ量とを含む再計算指示をメモリ割り当て量保証値計算手段４に対して出力する機能。
ｉ．実行が終了したジョブに割り当てられていたメモリを解放する機能。
【００２２】
メモリ割り当て量保証値計算手段４は、下記ｊ〜ｌの機能を有する。
【００２３】
ｊ．メモリ割り当て・解放手段６から再計算指示が加えられた場合、メモリ余裕量や、各ジョブ９−１〜９−ｎのメモリ割り当て量保証値の上限値および下限値を考慮して各ジョブ９−１〜９−ｎのメモリ割り当て量保証値を再計算する機能。メモリ余裕量とは、使用可能メモリ量から、各ジョブ９−１〜９−ｎのメモリ割り当て量保証値の合計値或いは各ジョブ９−１〜９−ｎのメモリ量の合計値の内の大きな方の値を差し引いた値である。
ｋ．再計算結果をジョブ管理テーブル管理手段２に渡し、ジョブ管理テーブル３中の各ジョブ９−１〜９−ｎのメモリ割り当て量保証値を更新させる機能。
ｌ．メモリ割り当て量保証値の再計算結果がジョブ管理テーブル３に反映された後、ページアウト対象決定手段５を起動させる機能。
【００２４】
ページアウト対象決定手段５は、メモリ余裕量が予め定められている閾値ｔｈ以上となるまで、実行中のジョブ９−１〜９−ｎを順次処理対象にして、処理対象にしているジョブ９−ｊ（１≦ｊ≦ｎ）に割り当てられているメモリ上のページの中から、ページアウト後の上記ジョブ９−ｊのメモリ量が、上記ジョブ９−ｊに対して定められているメモリ割り当て量保証値未満とならない範囲で、ＬＲＵアルゴリズムに従ってページアウトの対象にするページを決定する機能を有する。
【００２５】
ページアウト手段７は、ページアウト対象決定手段５で決定されたページアウト対象のページを、二次記憶装置１２へとページアウトする機能や、メモリ割り当て・解放手段６に対して解放するページを指示する機能を有する。
【００２６】
記録媒体Ｋ１００は、ディスク、半導体メモリ、その他の記録媒体であり、計算機システム１００上に、スケジューラ１、ジョブ管理テーブル管理手段２、ジョブ管理テーブル３、メモリ割り当て量保証値計算手段４、ページアウト対象決定手段５、メモリ割り当て・解放手段６、ページアウト手段７を実現するためのプログラムが記録されている。このプログラムは、計算機システム１００によって読み取られ、その動作を制御することで、計算機システム１００上にスケジューラ１、ジョブ管理テーブル管理手段２、ジョブ管理テーブル３、メモリ割り当て量保証値計算手段４、ページアウト対象決定手段５、メモリ割り当て・解放手段６、ページアウト手段７を実現する。
【００２７】
【実施例の動作の説明】
次に各図を参照して本実施例の動作について詳細に説明する。
【００２８】
ユーザは、計算機システム１００にジョブ９−ｉを投入する際、そのジョブ９−ｉの重要度に応じたメモリ割り当て量保証値の上限値ＭＡＸｉおよび下限値ＭＩＮｉを指定する。即ち、ジョブ９−ｉが重要度が高いジョブである場合には、上限値ＭＡＸｉおよび下限値ＭＩＮｉとして大きな値を指定し、重要度が低いジョブである場合には、上限値ＭＡＸｉおよび下限値ＭＩＮｉとして小さな値を指定する。ユーザによって投入されたジョブ９−ｉは、ユーザによって指定された上限値ＭＡＸｉおよび下限値ＭＩＮｉと共にスケジュール待ち行列（図示せず）につながれる。
【００２９】
その後、スケジューラ１によってジョブ９−ｉが選択され、実行に移されると、ジョブ管理テーブル管理手段２は、図３の流れ図に示すように、ジョブ管理テーブル３の空きエントリを確保し、確保したエントリに、ジョブ９−ｉのジョブ名ＪＯＢｉ、メモリ割り当て量保証値Ｇｉ、上限値ＭＡＸｉ、下限値ＭＩＮｉ、メモリ量Ｍｉを登録する（ステップＳ３１、Ｓ３２）。なお、メモリ割り当て量保証値Ｇｉには、下限値ＭＩＮｉと同一値を格納する。
【００３０】
次に、実行中のジョブ９−ｉがメモリの割り当て要求を行った場合の動作について説明する。
【００３１】
実行中のジョブ９−ｉがメモリの割り当て要求を行うと、図４の流れ図に示すように、メモリ割り当て・解放手段６が、要求されたメモリ量ΔＭｉのページをジョブ９−ｉに割り当てる（ステップＳ４１）。
【００３２】
その後、メモリ割り当て・解放手段６は、割り当て要求元のジョブ９−ｉのジョブ名ＪＯＢｉおよびジョブ９−ｉに新規に割り当てた（追加割り当てした）メモリ量ΔＭｉをジョブ管理テーブル管理手段２に通知する。これにより、ジョブ管理テーブル管理手段２は、ジョブ管理テーブル３に登録されているジョブ９−ｉのメモリ量を、通知されたメモリ量ΔＭｉだけ増加する（ステップＳ４２）。
【００３３】
次に、メモリ割り当て・解放手段６は、ジョブ９−ｉのジョブ名ＪＯＢｉと、ジョブ９−ｉに新規に割り当てたメモリ量ΔＭｉとを含む再計算指示をメモリ割り当て量保証値計算手段４に出力する（ステップＳ４３）。
【００３４】
メモリ割り当て量保証値計算手段４は、メモリ割り当て・解放手段６からジョブ名ＪＯＢｉ及び新規に割り当てたメモリ量ΔＭｉを含む再計算指示が入力されると、メモリ余裕量や、実行中の各ジョブ９−１〜９−ｎのメモリ割り当て量保証値の上限値ＭＡＸ１〜ＭＡＸｎおよび下限値ＭＩＮ１〜ＭＩＮｎを考慮して各ジョブ９−１〜９−ｎのメモリ割り当て量保証値Ｇ１〜Ｇｎを再計算する（ステップＳ４４）。
【００３５】
ステップＳ４４で行う処理を図５の流れ図を参照して詳細に説明する。
【００３６】
メモリ割り当て量保証値計算手段４は、ジョブ名ＪＯＢｉ及び新規に割り当てたメモリ量ΔＭｉを含む再計算指示がメモリ割り当て・解放手段６から送られてくると、先ず、割り当て要求元のジョブ９−ｉを処理対象にする（ステップＳ５１）。
【００３７】
その後、メモリ余裕量を計算する（ステップＳ５２）。これは、ジョブ集合８が使用できる全メモリ量（使用可能メモリ量）から、ジョブ集合８に属するジョブ９−１〜９−ｎのメモリ割り当て量保証値の合計値或いはジョブ９−１〜９−ｎのメモリ量の合計値の内の大きな方の値を差し引いた値である。すなわち、メモリ余裕量とは、未使用メモリ量とページアウト可能メモリ量の和のことである。
【００３８】
次に、ステップＳ５２で求めたメモリ余裕量が予め定められている閾値ｔｈ以上であるか否かを調べる（ステップＳ５３）。
【００３９】
そして、メモリ余裕量が閾値ｔｈ以上である場合（ステップＳ５３がＹＥＳ）は、新規に割り当てられたメモリ量ΔＭｉをそのままジョブ９−ｉに対するメモリ割り当て量保証値の増分とする（ステップＳ５４）。
【００４０】
これに対して、メモリ余裕量が閾値ｔｈを下回る場合（ステップＳ５３がＮＯ）は、次のような値をジョブ９−ｉに対するメモリ割り当て量保証値の増分とする（ステップＳ５５）。即ち、実行中の全てのジョブ９−１〜９−ｎのメモリ割り当て量保証値から同一値を減算して、メモリ余裕量を閾値ｔｈ以上にするために必要になる上記同一値の最低値をメモリ割り当て量保証値の増分とする。このような値は、例えば、メモリ余裕量から閾値ｔｈを減算し、減算結果を実行中のジョブ数（この場合は、ｎ個）で除算することにより求めることができる。これを式で表すと、メモリ割り当て量保証値増分＝（メモリ余裕量−閾値ｔｈ）／（ジョブ集合に属するジョブ数）となる。
【００４１】
その後、メモリ割り当て量保証値計算手段４は、現在処理対象にしているジョブ９−ｉの新しいメモリ割り当て量保証値を求める（ステップＳ５６）。具体的には、先ず、ステップＳ５４若しくはステップＳ５５で求めた増分をジョブ９−ｉの現在のメモリ割り当て量保証値に加算する。そして、この加算結果とジョブ９−ｉの下限値ＭＩＮｉとを比較し、下限値ＭＩＮｉの方が大きい場合は、下限値ＭＩＮｉをジョブ９−ｉの新たなメモリ割り当て量保証値とする。これに対して、加算結果の方が大きい場合は、加算結果とジョブ９−ｉの上限値ＭＡＸｉとを比較し、小さい方をジョブ９−ｉの新たなメモリ割り当て量保証値とする。
【００４２】
その後、メモリ割り当て量保証値計算手段４は、次のジョブを処理対象にして再びステップＳ５２〜Ｓ５６の処理を行う。そして、実行中の全てのジョブ９−１〜９−ｎに対して、ステップＳ５２〜Ｓ５６の処理を行うと（ステップＳ５８がＮＯ）、各ジョブ９−１〜９−ｎの新たなメモリ割り当て量保証値をジョブ管理テーブル管理手段２に通知し（ステップＳ５９）、その後、処理終了となる。
【００４３】
ジョブ管理テーブル管理手段２は、メモリ割り当て量保証値計算手段４から各ジョブ９−１〜９−ｎの新たなメモリ割り当て量保証値が通知されると、ジョブ管理テーブル３に登録されている各ジョブ９−１〜９−ｎのメモリ割り当て量保証値を、通知された新たなメモリ割り当て量保証値に更新する（図４、ステップＳ４５）。
【００４４】
ジョブ管理テーブル３に登録されている各ジョブ９−１〜９−ｎのメモリ割り当て量保証値が更新されると、ページアウト対象決定手段５が、メモリ余裕量が予め定められている閾値ｔｈ以上となるまで、実行中のジョブ９−１〜９−ｎを順次処理対象にして、処理対象にしているジョブ９−ｊ（１≦ｊ≦ｎ）に割り当てられているメモリ上のページの中から、ページアウト後の上記ジョブ９−ｊのメモリ量が、上記ジョブ９−ｊに対して定められているメモリ割り当て量保証値未満とならない範囲で、ＬＲＵアルゴリズムに従ってページアウトの対象にするページを決定する（ステップＳ４６）。
【００４５】
その後、ページアウト手段７が、ページアウト対象決定手段５でページアウト対象とされたページを二次記憶装置１２にページアウトし（ステップＳ４７）、更に、メモリ割り当て・解放手段７を用いてメモリの解放を行う（ステップＳ４８）。
【００４６】
次に、実行中のジョブ９−ｋ（１≦ｋ≦ｎ）がメモリの解放要求を行った場合の動作について説明する。
【００４７】
実行中のジョブ９−ｋがメモリの解放要求を行うと、図６の流れ図に示すように、メモリ割り当て・解放手段６が、要求されたページを解放する（ステップＳ６１）。
【００４８】
その後、メモリ割り当て・解放手段６は、解放要求元のジョブ９−ｋのジョブ名ＪＯＢｋおよびジョブ９−ｉから解放したメモリ量ΔＭｋをジョブ管理テーブル管理手段２に通知する。これにより、ジョブ管理テーブル管理手段２は、ジョブ管理テーブル３に登録されているジョブ９−ｋのメモリ量を、通知されたメモリ量ΔＭｋだけ減少する（ステップＳ６２）。
【００４９】
次に、メモリ割り当て・解放手段６は、ジョブ９−ｋのジョブ名ＪＯＢｋと、ジョブ９−ｋから解放したメモリ量ΔＭｋとを含む再計算指示をメモリ割り当て量保証値計算手段４に出力する（ステップＳ６３）。
【００５０】
メモリ割り当て量保証値計算手段４は、ジョブ名ＪＯＢｋ及び解放したメモリ量ΔＭｋを含む再計算指示を受け付けると、ジョブ９−ｋのメモリ割り当て量保証値Ｇｋを、ジョブ９−ｋの下限値ＭＩＮｋを下限にして、解放されたメモリ量ΔＭｋだけ減算することにより、ジョブ９−ｋの新たなメモリ割り当て量保証値を計算する（ステップＳ６４）。
【００５１】
その後、メモリ割り当て量保証値計算手段４は、ジョブ９−ｋの新たなメモリ割り当て量保証値をジョブ管理テーブル管理手段２に通知する。これにより、ジョブ管理テーブル管理手段２は、ジョブ管理テーブル３に登録されているジョブ９−ｋのメモリ割り当て量保証値を、通知された新たなメモリ割り当て量保証値に更新する（ステップＳ６５）。
【００５２】
【発明の他の実施例】
次に、本発明の他の実施形態について詳細に説明する。本実施例は、実行中のジョブの内、ユーザによってメモリ割り当て量保証値を動的に変更することが指示されているジョブ（動的変更フラグがＯＮになっているジョブ）に対してのみ、メモリ割り当て量保証値を動的に変更するようにしたことを特徴とする。このようにすることにより、メモリ割り当て量保証値の再計算に伴うオーバヘッドを少なくすることができる。
【００５３】
図７は本実施例に係る計算機システム１００ａの構成例を示したブロック図であり、図１に示した計算機システム１００とは、ジョブ管理テーブル管理手段２の代わりにジョブ管理テーブル管理手段２ａを備えている点、ジョブ管理テーブル３の代わりにジョブ管理テーブル３ａを備えている点、メモリ割り当て量保証値計算手段４の代わりにメモリ割り当て量保証値計算手段４ａを備えている点、及び記録媒体Ｋ１００の代わりに記録媒体Ｋ１００ａを備えている点が相違している。なお、本実施例においては、ユーザはジョブを計算機システム１００ａに投入する際、そのジョブをメモリ割り当て量保証値の動的変更の対象にするか否かを示す動的変更フラグを付加する。即ち、実行中に必要とするメモリ量が大きく変動するジョブを投入する際には、動的変更の対象にすることを示す動的変更フラグ（ＯＮ）を付加し、実行中に必要とするメモリ量が余り変化しないジョブを投入する場合には、動的変更の対象外にすることを示す動的変更フラグ（ＯＦＦ）を付加する。
【００５４】
ジョブ管理テーブル３ａは、ジョブ管理テーブル３に登録される項目に加え、動的変更フラグも登録される点がジョブ管理テーブル３と相違している。図８にジョブ管理テーブル３ａの内容例を示す。同図の例は、ジョブ９−１がメモリ割り当て量保証値の動的変更の対象になっており、ジョブ９−ｎがメモリ割り当て量保証値の動的変更の対象外であることを示している。
【００５５】
ジョブ管理テーブル管理手段２ａは、スケジューラ１によって実行に移されたジョブに関する情報をジョブ管理テーブル２ａに登録する際、動的変更フラグもジョブ管理テーブル３ａに登録する機能を有する。
【００５６】
メモリ割り当て量保証値計算手段４ａは、動的変更フラグがＯＮになっているジョブのみを対象にして、メモリ割り当て量保証値を再計算する点がメモリ割り当て量保証値計算手段４と相違している。
【００５７】
記録媒体Ｋ１００ａは、ディスク、半導体メモリ、その他の記録媒体であり、計算機システム１００ａ上に、スケジューラ１、ジョブ管理テーブル管理手段２ａ、ジョブ管理テーブル３ａ、メモリ割り当て量保証値計算手段４ａ、ページアウト対象決定手段５、メモリ割り当て・解放手段６、ページアウト手段７を実現するためのプログラムが記録されている。このプログラムは、計算機システム１００ａによって読み取られ、その動作を制御することにより、計算機システム１００ａ上に、スケジューラ１、ジョブ管理テーブル管理手段２ａ、ジョブ管理テーブル３ａ、メモリ割り当て量保証値計算手段４ａ、ページアウト対象決定手段５、メモリ割り当て・解放手段６、ページアウト手段７を実現する。
【００５８】
次に本実施例の動作について説明する。なお、ここでは、図１に示した実施例と異なる点についてのみ説明する。
【００５９】
ジョブ管理テーブル管理手段２ａは、スケジューラ１によってジョブ９−ｉが実行に移されると、図３の流れ図に示す処理とほぼ同様の処理を行うが、ステップＳ３２において、ユーザによって付加されている動的変更フラグもジョブ管理テーブル３に登録する。
【００６０】
メモリ割り当て量保証値計算手段４は、メモリ割り当て・解放手段６から再計算指示を受けると、図５の流れ図に示す処理と同様の処理を行う。但し、ステップＳ５１において処理対象にした割り当て要求元のジョブの動的実行フラグがＯＦＦになっている場合には、ステップＳ５７の処理を行うようにする。また、ステップＳ５７では、動的変更フラグがＯＮになっているジョブの中から次の処理対象を決定するようにする。また、ステップＳ５８では、動的変更フラグがＯＮになっているジョブの中に未処理のジョブが存在するか否かを判断し、存在する場合には、ステップＳ５２の処理を行い、存在しない場合には、ステップＳ５９の処理を行うようにする。また、ステップＳ５５において、メモリ割り当て量保証値増分＝（メモリ余裕量−閾値ｔｈ）／（ジョブ集合に属するジョブ数）なる演算の代わりに、メモリ割り当て量保証値増分＝（メモリ余裕量−閾値ｔｈ）／（ジョブ集合に属し、且つ動的変更フラグがＯＮのジョブのジョブ数）なる演算を行う。
【００６１】
また、メモリ割り当て量保証値計算手段４ａは、図６のステップＳ６４において、解放要求元のジョブ９−ｉのメモリ割り当て量保証値を再計算するが、ジョブ９−ｉの動的変更フラグがＯＮになっている場合のみ、メモリ割り当て量保証値の再計算を行い、ＯＦＦになっている場合は処理終了とする。
【００６２】
【発明の効果】
以上説明したように、本発明の計算機システムは、ジョブ毎に、メモリ割り当て量保証値の上限値及び下限値を設定できるので、メモリ余裕量およびジョブの重要度に応じて、動作中の各ジョブにメモリを割り当てることができる。
【００６３】
また、本発明の計算機システムは、動的変更フラグによって、メモリ割り当て量保証値の計算対象にされているジョブについてのみ、メモリ割り当て量保証値の再計算を行うようにしているので、メモリ割り当て量保証値の再計算に伴うオーバヘッドを少なくすることができる。
【図面の簡単な説明】
【図１】本発明の一実施例のブロック図である。
【図２】ジョブ管理テーブル３の内容例を示す図である。
【図３】ジョブ管理テーブル管理手段２の処理例を示す流れ図である。
【図４】実行中のジョブからメモリの割り当て要求が出力された時の計算機システム１００の処理例を示す流れ図である。
【図５】ジョブからメモリ割り当てが要求された時のメモリ割り当て量保証値計算手段４の処理例を示す流れ図である。
【図６】実行中のジョブからメモリの解放要求が出力された時の計算機システム１００の処理例を示す流れ図である。
【図７】本発明の他の実施例のブロック図である。
【図８】ジョブ管理テーブル３ａの内容例を示す図である。
【符号の説明】
１００、１００ａ…計算機システム
１…スケジューラ
２、２ａ…ジョブ管理テーブル管理手段
３、３ａ…ジョブ管理テーブル
４、４ａ…メモリ割り当て量保証値計算手段
５…ページアウト対象決定手段
６…メモリ割り当て・解放手段
７…ページアウト手段
８…ジョブ集合
９−１〜９−ｎ…ジョブ
１０−１〜１０−ｎ…仮想記憶空間
１１−１〜１１−ｎ…メモリ
１２…二次記憶装置
Ｋ１００、Ｋ１００ａ…記録媒体
【図１】
2004246552.tif 000003
【図２】
2004246552.tif 000004
【図３】
2004246552.tif 000005
【図４】
2004246552.tif 000006
【図５】
2004246552.tif 000007
【図６】
2004246552.tif 000008
【図７】
2004246552.tif 000009
【図８】
2004246552.tif 000010