(57)【要約】【課題】  アプリケーションプログラムによるファイルアクセスにより配置されるスワップファイルは、ファイル管理テーブルと物理的に離れて配置されるため、又はスワップファイルが断片化しているため、ディスクヘッドの移動量が必要以上に多くなり、システム全体の応答性が低下する。【解決手段】  アプリケーションプログラムが有しているスワップファイル使用量データからファイル管理テーブルに隣接して配置する必要量を決定し、決定した必要量のスワップファイル領域をファイル管理テーブルに隣接して再配置し、システム起動後にこのスワップファイル領域にスワップファイルを記録することにより、ディスクヘッドの移動量を低減する。【選択図】図１
2005309791.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムが有する情報からスワップファイル使用量データを作成するスワップファイル使用量監視部と、該スワップファイル使用量監視部により作成された指定回数の使用量データからスワップファイルの必要量を決定するスワップファイル必要量決定部と、該スワップファイル必要量決定部で決定された必要量のスワップファイル領域をファイル管理テーブルに隣接して再配置するスワップファイル再配置部を備えたディスク装置。
【請求項２】
前記スワップファイル必要量決定部は、スワップファイル全体を使用量で区分した使用量区分と使用量区分毎のポイントを記録するスワップファイル使用量データ保存部を備え、前記該スワップファイル使用量監視部により作成された使用量データから該当する使用量区分のポイントをインクリメントしてスワップファイルの必要量を決定する請求項１に記載のディスク装置。
【請求項３】
前記スワップファイル再配置部は、ファイル管理テーブルのアドレスとスワップファイル領域のアドレスとスワップファイルの必要量からスワップファイル領域がファイル管理テーブルに隣接しているか否か、ファイル管理テーブルに隣接する領域に必要量の空き領域が確保されているか否かを判断し、前記ファイル管理テーブルに隣接して必要量のスワップファイル領域を確保するように再配置する請求項１又は２に記載のディスク装置。
【請求項４】
オペレーティングシステムが有する情報からスワップファイル使用量監視部により指定回数のスワップファイル使用量データを作成し、スワップファイル必要量決定部により作成された指定回数使用量データからスワップファイルの必要量を決定し、スワップファイル再配置部により決定された必要量のスワップファイル領域をファイル管理テーブルに隣接して再配置するスワップファイルの再配置方法。
【請求項５】
システム起動時に、前記スワップファイル領域をファイル管理テーブルに隣接して再配置され、再配置後に前記スワップファイル領域は消去され初期化される請求項４に記載のスワップファイルの再配置方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スワップファイルを持った仮想記憶管理方式の計算機システムにおいて、ディスクアクセス時の性能低下を防止するのに好適なディスク装置及びスワップファイルの再配置方法に関する。
【背景技術】
【０００２】
近年、ディスク装置では、オペレーティングシステムをインストールする時に、オペレーティングシステムが自動的に余裕を持ったサイズのスワップファイルを作成する、又は使用者が余裕を持たせたサイズを指定してスワップファイルを作成して追加するようになっている。この場合、スワップファイルはディスク上の特定の部分に集中して配置される。
【０００３】
スワップファイルの領域は、余裕を持たせて確保されるため、システム運用時のスワップファイル使用量は、確保されたスワップファイルの一部となる。また、システム運用開始後にスワップファイルの再作成をする、スワップファイルの追加をするなどの場合は、スワップファイルの一部が断片化する、ディスク上の別の領域にスワップファイルが配置されることもある。
【０００４】
〔特許文献１〕には、直接アクセス記憶装置（ＤＡＳＤ）内で頻繁にアクセスされ、ランダムにアドレス指定されるデータを適応的に局所化するため、選択されたサンプリング間隔でアクセス頻度に基づきデータ・アクセス・パターンを分析し、論理グループを物理グループに再マッピングする再マッピング・アルゴリズムを識別し、識別された再マッピング・アルゴリズムに従い、物理グループを移動し、頻繁にアクセスされるデータを隣接して配置するようにした直接アクセス記憶装置がある。
【０００５】
【特許文献１】特開平１０−９１３６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
スワップファイルを持った仮想記憶管理方式の計算機システムでは、ディスクアクセス時には、一般にアプリケーションプログラムによりファイルアクセスされるファイル管理テーブルと該当するファイル、オペレーティングシステムのページＩ／Ｏによるスワップファイルが頻繁にアクセスされる。アプリケーションプログラムによるファイルアクセスが多い状態では、オペレーティングシステムのページＩ／Ｏも多くなるので、アクセスされる部分の物理的な位置が遠い場合、あるいはスワップファイルが断片化している場合は、ディスクヘッドの移動量が必要以上に大きくなり、システム全体の応答性が低下するという問題がある。
【０００７】
スワップファイルを持った仮想記憶管理方式の計算機システムにおいては、スワップファイルが動作している時にはファイルは移動できない、スワップファイルはディスク装置起動時に消去され、システム運用開始後に再作成される。このため、〔特許文献１〕に記載の直接アクセス記憶装置（ＤＡＳＤ）のように、識別された再マッピング・アルゴリズムに従い、物理グループを移動し、頻繁にアクセスされるデータを隣接して配置することができないという問題があった。
【０００８】
本発明の目的は、スワップファイルが動作している時には移動できなく、システム起動時に消去され初期化されるスワップファイルであっても、頻繁にアクセスされるスワップファイルの領域をファイル管理テーブルに隣接させることができるディスク装置及びスワップファイルの再配置方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のディスク装置及びスワップファイルの再配置方法は、オペレーティングシステムが有する情報からスワップファイル使用量監視部により指定回数のスワップファイル使用量データを作成して、スワップファイル必要量決定部により作成された指定回数使用量データからスワップファイルの必要量を決定し、スワップファイル再配置部により決定された必要量のスワップファイル領域をファイル管理テーブルに隣接して再配置してディスクアクセス性能の低下を防ぐものである。
【発明の効果】
【００１０】
本発明によれば、スワップファイルが動作している時には移動できなく、システム起動時に消去され初期化されるスワップファイルであっても、頻繁にアクセスされるスワップファイルの領域をファイル管理テーブルに隣接させることができ、ディスクアクセス性能の低下を防ぐことができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施例について図１から図９を参照して説明する。
【００１２】
図１に本実施例のディスク装置１００の構成を示す。オペレーティングシステム１０１には、スワップファイル管理部１０２及びファイル管理テーブル管理部１０３が設けられる。スワップファイル管理部１０２及びファイル管理テーブル管理部１０３は、スワップファイル・ファイル管理テーブル隣接判定部１０８と接続されている。スワップファイル・ファイル管理テーブル隣接判定部１０８はスワップファイル再配置部１０９に、スワップファイル再配置部１０９はスワップファイル必要量データ保存部１０７に順次接続されている。
【００１３】
スワップファイル管理部１０２はスワップファイル使用量監視部１０４に、スワップファイル使用量監視部１０４はスワップファイル使用量データ保存部１０５に順次接続されている。スワップファイル必要量決定部１０６は、スワップファイル使用量データ保存部１０５及びスワップファイル必要量データ保存部１０７に接続されている。
【００１４】
スワップファイル使用量監視部１０４は、オペレーティングシステム１０１が有している情報からスワップファイルの使用量データを作成する。この時、複数のアプリケーションが起動している場合、複数のアプリケーションプログラムによりアクセスされるスワップファイルの使用量データを作成している。スワップファイル使用量監視部１０４より作成されたスワップファイル使用量データは、スワップファイル使用量データ保存部１０５に保存され、スワップファイル必要量決定部１０６により生成されるスワップファイル必要量データはスワップファイル必要量データ保存部１０７に保存される。
【００１５】
スワップファイル使用量監視部１０４は、図２に示すフローチャートに従って動作する。ステップ２００で、スワップファイル使用量情報を保存するための領域であるスワップファイル使用量データ保存部１０５をメモリ上に作成する。
【００１６】
このスワップファイル使用量データ保存部１０５は、図３に示すように、スワップファイル量全体を等分して、使用量区分毎にポイントで管理するようになっている。ここで、ポイントとは、スワップファイル使用量をチェックした際に、その使用量区分に該当した回数、すなわち発生頻度のことである。スワップファイル使用量を取得すると、どの使用量区分に該当するか判定し、該当する使用量区分に対するポイント（Ｐｉ）をインクリメントして管理する。
【００１７】
図３に示す例では、スワップファイル全体を１００ＭＢ（メガバイト）とし、使用量区分を１０ＭＢで１０等分している。Ｐ１〜Ｐ１０には、使用量区分それぞれのポイントを格納する。
【００１８】
又、スワップファイルの追加が発生した場合は、追加分を加えた新たなスワップファイル量全体を等分することはせず、スワップファイル使用量データ保存部１０５の領域を拡張することで対応する。すなわち、追加されたスワップファイル量は、先に作成しているスワップファイル使用量データ保存部の使用量区分と同じサイズになるように分割する。
【００１９】
図４に示す例では、メモリ上に１００ＭＢのスワップファイルを１０ＭＢで等分して作成したスワップファイル使用量データ保存部１０５に、新たに２５ＭＢのスワップファイル拡張が発生し、スワップファイル使用量データ保存部１０５を拡張した例である。この例では、１０ＭＢで等分して３つの使用量区分を追加している。
【００２０】
図２のステップ２０１で、スワップファイル使用量をオペレーティングシステム１０１が持つページファイル管理部から取得し、ステップ２０２で、取得したスワップファイル使用量を判定して、スワップファイル使用量データ保存部１０５の領域において該当する使用量区分のポイント（Ｐｉ）をインクリメントする。
【００２１】
ステップ２０３で、ポイントが指定回数に到達しているか否かを判定する。図２に示す例では、指定回数は１０００回であり、１０００回スワップファイル使用量を取得する毎に、ステップ２０４で、スワップファイル必要量決定部１０６により、スワップファイル必要量を決定する。なお、スワップファイル必要量は最新のデータで有効とされ、過去のデータでは廃棄される。ステップ２０５で、スワップファイルが拡張されたかどうかの判定を行う。判定の結果、スワップファイルが拡張されていれば、スワップファイル使用量データ保存部１０５の領域の拡張を図４に示すように行う。
【００２２】
ステップ２０７で設定された時間の待機（図２に示す例では１分間）を行い、ステップ２０１に戻り、スワップファイル使用量取得からの動作を繰り返す。
【００２３】
スワップファイル必要量決定部１０６は、図５に示すように２つの判定基準を持つ。
【００２４】
最優先度の判定基準は、図５のスワップファイル必要量１として示しているように、ポイントが全体の９５％以上を占める使用量区分（Ｋｉ）があれば、使用量区分の最大値をスワップファイル必要量とする。ここで、最大値とは、例えばポイントが全体の９５％以上を占める使用量区分が１１〜２０ＭＢである場合、最大値の２０ＭＢをスワップファイル必要量とすることである。また、１つの使用量区分のポイントが高い場合は、ほぼ一定のスワップファイル使用量であり、同じ処理を繰り返すシステム運用であると考えられる。そのため、スワップファイル必要量を大きめに取るといった調整は不要である。
【００２５】
次の判断基準は、図５のスワップファイル必要量２として示される計算式により算出された値をスワップファイル必要量とするものである。これは、一定処理の繰り返しではなく、様々な処理が実行されていると考えられ、スワップファイル使用量が頻繁に上下するシステム運用で、スワップファイル必要量として大きめに見積もる必要がある。そのため、平均の使用サイズを求め、その２倍あれば十分であるとして、スワップファイル使用量を図５に示すスワップファイル必要量２の式により求める。図５に示す使用例は、使用量区分を２０ＭＢとした場合の例であるが、６１〜１００ＭＢでの合計ポイント数が２０％を占めており、大きい使用量区分でのスワップファイル使用率がかなり高い状況である。このような状況では、スワップファイルの拡張が発生する可能性が高く、スワップファイル必要量が１０４ＭＢであり、スワップファイルの拡張が必要となる。
【００２６】
スワップファイル必要量決定部１０６により、スワップファイル必要量が決定すると、スワップファイル必要量データ保存部１０７に決定した値を保存する。
【００２７】
スワップファイルの再配置は、次にシステムが起動された時のスワップファイル初期化時に行われる。図６にスワップファイル再配置処理のフローチャートを示す。
【００２８】
ステップ６００で、ファイル管理テーブル管理部１０３から、ファイル管理テーブルが配置されている開始アドレスと終了アドレスを取得する。ステップ６０１で、スワップファイル管理部１０２により、スワップファイルが配置されている開始アドレスと終了アドレスを取得する。ステップ６０２で、スワップファイル必要量決定部１０６より得たスワップファイル必要量(以下、ＮＳＳと略す)をスワップファイル必要量データ保存部１０７より取得する。
【００２９】
ステップ６０３で、ファイル管理テーブルの終了アドレスとスワップファイルの開始アドレスを比較し、又は管理テーブルの開始アドレスとスワップファイルの終了アドレスを比較し、隣接しているかチェックする。
【００３０】
ファイル管理テーブルとスワップファイルが隣接している場合は、ステップ６０５で、隣接しているスワップファイル量(以下、ＣＳＳと略す)をスワップファイル管理部１０２より取得し、ステップ６０６で、ＣＳＳとＮＳＳの量を比較する。ＣＳＳの方がＮＳＳよりも大きい場合は、そのまま終了する。ＮＳＳの方がＣＳＳよりも大きい場合は、ステップ６０７でスワップファイルの再配置を実施する。また、ファイル管理テーブルとスワップファイルが隣接していない場合も、ステップ６０７でスワップファイルの再配置を実施する。
【００３１】
次に、スワップファイルの再配置について図７に示すフローチャートを用いて説明する。図７は、ファイル管理テーブルにスワップファイルが隣接していない場合の処理フローを示しており、ステップ７００で、ファイル管理テーブルと隣接する領域に、スワップファイル使用量分の空き領域（以下、ＥＭＰ１と略す）が存在するかチェックを行い、空き領域が存在すれば、現在のスワップファイルの領域ＮＳＳ分を確保する。このとき、ステップ７０１で、元のスワップファイル領域は解放する。また、空き領域が存在しない場合は、ステップ７０２で、ファイル管理テーブルに隣接して配置されている一般的なファイルをファイル管理テーブルから近い空き領域に移動し、この移動により空いた領域に、ステップ７０１で現在のスワップファイル領域ＮＳＳ分を確保する。
【００３２】
次に、ファイル管理テーブルに一部のスワップファイルが隣接している場合について図８により説明する。ステップ８００で、変更対象サイズをスワップファイル必要量(NSS)からファイル管理テーブルに隣接して配置されているスワップファイル容量を引いた変更対象サイズを算出する。ステップ８０１で、スワップファイルに隣接する、変更対象サイズ分の一般的ファイルをファイル管理テーブルから近い空き領域に移動する。ステップ
８０２で、現在のスワップファイル領域の対象サイズ分を空いた領域に確保し、元のスワップファイル領域は解放する。
【００３３】
このように、ファイル管理テーブルにスワップファイルの再配置情報が記憶され、スワップファイル領域に記録されていたスワップファイルは、消去され初期化される。
【００３４】
アプリケーションプログラムが起動されると、このアプリケーションプログラムによりアクセスされるスワップファイルから順番に再配置されファイル管理テーブルに隣接して確保されたスワップファイル領域に記録していく。ファイル管理テーブルに隣接したスワップファイル領域のサイズが不足した場合は、別の領域にスワップファイル領域を追加してスワップファイルを記録する。
【００３５】
このため、同様なアプリケーションプログラムが起動される場合は、ファイル管理テーブルに隣接したスワップファイル領域を使用量は変えなくても使用頻度の高いスワップファイルを配置できるので、ファイル管理テーブルと使用されるスワップファイルの物理的な位置を近くでき、ディスクアクセス性能を向上できる。
【００３６】
又、起動されるアプリケーションプログラムが変化した場合には、スワップファイル使用量を再確認してスワップファイル領域を再配置するので、システム運用に即したスワップファイルの配置ができ、使用状況に対応してディスクアクセス性能を向上できる。
【００３７】
図９は、スワップファイル再配置のイメージ図である。スワップファイル再配置前は、ディスク上に図９に示すようにファイル管理テーブル９０１，スワップファイル９０２が配置され、図２に示すようなディスクヘッド移動量９００でアクセスされている。再配置後は、スワップファイル必要量のサイズでファイル管理テーブル９０５にスワップファイルを隣接させているので、ディスクヘッド移動量９０４は図９に示すように少なくなる。再配置されていないスワップファイル９０８へディスクヘッドが移動することはほとんどないため、再配置されないスワップファイル９０８があってもシステム性能は向上する。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施例である装置の構成図である。
【図２】スワップファイル使用量監視のフローチャートである。
【図３】スワップファイル使用量のデータ保存部領域を示す図である。
【図４】拡張発生時のスワップファイル使用量のデータ保存部領域を示す図である。
【図５】ページファイル必要量決定部の処理内容を説明する図である。
【図６】スワップファイル再配置のフローチャートである。
【図７】スワップファイル再配置のフローチャートである。
【図８】スワップファイル再配置のフローチャートである。
【図９】スワップファイル再配置イメージ図である。
【符号の説明】
【００３９】
１００…ディスク装置、１０１…オペレーティングシステム、１０２…スワップファイル管理部、１０３…ファイル管理テーブル管理部、１０４…スワップファイル使用量監視部、１０５…スワップファイル使用量データ保存部、１０６…スワップファイル必要量決定部、１０７…スワップファイル必要量データ保存部、１０８…スワップファイル・ファイル管理テーブル隣接判定部、１０９…スワップファイル再配置部。
【図１】
2005309791.tif 000003
【図２】
2005309791.tif 000004
【図３】
2005309791.tif 000005
【図４】
2005309791.tif 000006
【図５】
2005309791.tif 000007
【図６】
2005309791.tif 000008
【図７】
2005309791.tif 000009
【図８】
2005309791.tif 000010
【図９】
2005309791.tif 000011