(57)【要約】      （修正有）【課題】拡張された仮想記憶空間を有効に使うことが可能な情報処理装置を提供する。【解決手段】オペレーションシステム１１０が管理する仮想記憶空間が拡張された情報処理装置１００は、拡張前の仮想記憶空間である従来空間からプログラムを削除する際、従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる退避部１１２と、退避部による退避の後、従来空間から削除対象のプログラムを解放する解放部１１３と、を有する。【選択図】図１
2020123263.tif 000002
【特許請求の範囲】
【請求項１】
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置であって、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる退避部と、
前記退避部による退避の後、前記従来空間から削除対象のプログラムを解放する解放部と、
を有する
情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
削除対象のプログラムが前記拡張空間に退避されているか否か確認して、確認した結果に基づいて削除対象のプログラムを前記拡張空間に退避するか否か決定する判別部を有し、
前記退避部は、前記判別部による決定の結果に基づいて、前記拡張空間に削除対象のプログラムを退避させる
情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記判別部は、削除対象のプログラムが前記拡張空間に退避されていない場合、削除対象のプログラムを前記拡張空間に退避すると決定する
情報処理装置。
【請求項４】
請求項２または請求項３に記載の情報処理装置であって、
前記判別部は、削除対象のプログラムが前記拡張空間に退避されている場合、削除対象のプログラムを前記拡張空間に退避しないと決定し、
前記解放部は、前記判別部が前記拡張空間に退避しないと判断したプログラムを前記従来空間から解放する
情報処理装置。
【請求項５】
請求項２から請求項４までのいずれか１項に記載の情報処理装置であって、
前記判別部は、前記拡張空間に退避されているプログラムを示す情報に基づいて、削除対象のプログラムを選択する
情報処理装置。
【請求項６】
請求項１から請求項５までのいずれか１項に記載の情報処理装置であって、
ロード対象のプログラムが前記拡張空間に退避しているか否かに基づいて、ロード対象のプログラムをロードするロード部を有する
情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記ロード部は、ロード対象のプログラムが前記拡張空間に退避している場合、ロード対象のプログラムを前記拡張空間から前記従来空間にロードする
情報処理装置。
【請求項８】
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置により行われる情報処理方法であって、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させ、
退避の後、前記従来空間から削除対象のプログラムを解放する
情報処理方法。
【請求項９】
請求項８に記載の情報処理方法であって、
削除対象のプログラムが前記拡張空間に退避されているか否か確認して、確認した結果に基づいて削除対象のプログラムを前記拡張空間に退避するか否か決定し、
決定の結果に基づいて、前記拡張空間に削除対象のプログラムを退避させる
情報処理方法。
【請求項１０】
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置に、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる退避部と、
前記退避部による退避の後、前記従来空間から削除対象のプログラムを解放する解放部と、
を実現するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラムに関する。
【背景技術】
【０００２】
主記憶装置を効率的に使用するための技術の一つとして、オペレーティングシステムが仮想記憶管理を行うことが知られている。
【０００３】
このような仮想記憶管理を行う技術の一例として、例えば、特許文献１がある。特許文献１には、仮想アドレス空間に含まれる複数の仮想アドレスと、複数のセグメントのそれぞれに含まれる複数の物理アドレスとを対応づけるテーブルであるページテーブルを参照して仮想記憶管理を行うメモリ管理ユニットを有するメモリ管理システムが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−６８９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ある実行中のジョブが複数のプログラムをロードしている状態で新たなプログラムをロードする際、仮想記憶空間の空きが十分にない場合がある。このような場合、既にロードされているプログラムを一旦削除することで、空間の空きを形成していた。
【０００６】
ここで、アーキテクチャの拡張により、ＯＳ（Operating System）が管理する仮想記憶空間が拡張される場合がある。しかしながら、既存のプログラムが拡張された空間を使用するためには、拡張されたアーキテクチャに対応するための改修が必要になる。そのため、プログラムの改修が容易でない場合などにおいて、ＯＳが管理する仮想記憶空間が拡張されたにもかかわらず、拡張された空間を有効に使うことが出来なかった。つまり、ＯＳが管理している仮想記憶空間に空きがあるにもかかわらず、既にロードされているプログラムを一旦削除する事態が生じていた。
【０００７】
そこで、本発明の目的は、拡張された仮想記憶空間を有効に使うことが難しい場合がある、という課題を解決する情報処理装置、情報処理方法、プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
かかる目的を達成するため本発明の一形態である情報処理装置は、
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置であって、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる退避部と、
前記退避部による退避の後、前記従来空間から削除対象のプログラムを解放する解放部と、
を有する
という構成をとる。
【０００９】
また、本発明の他の形態である情報処理方法は、
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置により行われる情報処理方法であって、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させ、
退避の後、前記従来空間から削除対象のプログラムを解放する
という構成をとる。
【００１０】
また、本発明の他の形態であるプログラムは、
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置に、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる退避部と、
前記退避部による退避の後、前記従来空間から削除対象のプログラムを解放する解放部と、
を実現するためのプログラムである。
【発明の効果】
【００１１】
本発明は、以上のように構成されることにより、拡張された仮想記憶空間を有効に使うことが難しい場合がある、という課題を解決する情報処理装置、情報処理方法、プログラムを提供することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態において説明する情報処理装置の構成の一例を示すブロック図である。
【図２】ＯＳが管理する仮想記憶空間の一例を示す図である。
【図３】退避状況管理テーブルの一例を示す図である。
【図４】情報処理装置により行われる処理の一例を示す図である。
【図５】情報処理装置により行われる処理の一例を示す図である。
【図６】情報処理装置により行われる処理の一例を示す図である。
【図７】情報処理装置により行われる処理の一例を示す図である。
【図８】情報処理装置により行われる他の処理の一例を示す図である。
【図９】情報処理装置により行われる他の処理の一例を示す図である。
【図１０】情報処理装置により行われる処理の一例を示す図である。
【図１１】本発明の第１の実施形態において説明する情報処理装置がアンロード処理を実行する際の流れの一例を示すフローチャートである。
【図１２】情報処理装置がロード処理する際の流れの一例を示すフローチャートである。
【図１３】本発明の第２の実施形態における情報処理装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１３】
［第１の実施形態］
本発明の第１の実施形態を図１から図１２までを参照して説明する。図１は、情報処理装置１００の構成の一例を示すブロック図である。図２は、ＯＳが管理する仮想記憶空間の一例を示す図である。図３は、退避状況管理テーブル１１６の一例を示す図である。図４から図１０は、情報処理装置１００により行われる処理の一例を示す図である。図１１は、情報処理装置１００がアンロード処理を実行する際の流れの一例を示すフローチャートである。図１２は、情報処理装置１００がロード処理する際の流れの一例を示すフローチャートである。
【００１４】
本発明の第１の実施形態では、アーキテクチャの拡大などによりＯＳ１１０（Operating System：オペレーティングシステム）が管理する仮想記憶空間が拡大されている情報処理装置１００について説明する。後述するように、本実施形態の場合、ＯＳ１１０は、削除対象のプログラムを仮想記憶空間中の従来空間から拡張空間に退避させる。また、ＯＳ１１０は、退避状況管理テーブル１１６を更新することで、プログラムの退避状況を管理する。このような構成により、ＯＳ１１０は、拡張された空間に対応していないプログラムなどにおいても、拡張空間を有効的に活用することを可能とする。
【００１５】
なお、本実施形態においては、情報処理装置１００は以下の前提を有する。まず、仮想記憶空間は論理的なコード・データの集合であるセグメントによって仮想記憶空間が構成されているとする。また、主記憶装置１２０の割り当てが固定長のページ単位で行われ、ページによってセグメントが構成されているものとする。なお、本発明は、本実施形態で例示する構成以外に適用しても構わない。
【００１６】
情報処理装置１００は、１つまたは複数のプログラムを含むジョブを実行することが出来る。情報処理装置１００で実行するプログラムは、拡張空間に対応していても構わないし、拡張空間に対応していなくても構わない。
【００１７】
図１は、本実施形態に特徴的な情報処理装置１００の構成の一例を示している。図１を参照すると、情報処理装置１００では、ＯＳ１１０が機能している。また、情報処理装置１００は、主記憶装置１２０と、ディスク装置１３０と、を有している。
【００１８】
なお、情報処理装置１００は、ＣＰＵなどの演算装置と記憶装置とを有している。例えば、情報処理装置１００は、記憶装置が記憶するプログラムを演算装置が実行することで、上記ＯＳ１１０やＯＳ１１０が有する各種機能を実現する。
【００１９】
ＯＳ１１０は、アーキテクチャの拡張により、管理する仮想記憶空間が拡張されている。図２は、拡張された仮想記憶空間の一例を示している。図２で示すように、ＯＳ１１０は、拡張前の空間である従来空間に加えて、拡張された空間である拡張空間も管理している。このように、本実施形態の場合、ＯＳ１１０は、拡張された仮想記憶空間を管理する。
【００２０】
ここで、情報処理装置１００で実行可能なプログラムのうち拡張空間に対応していないプログラムは、拡張空間に対応するための改修前の状態において、拡張空間を使うことが出来ない。そのため、改修前の状態の場合、従来空間に空きがなくなった状態で新しいプログラムをロードするためには、従来空間からプログラムを削除して従来空間に空きを確保することが必要になる。拡張空間を使えるようにするためには、プログラムが拡張空間に対応するよう、プログラムを改修することが必要である。しかしながら、プログラムの改修は、必ずしも容易ではない。
【００２１】
そこで、本実施形態において説明するＯＳ１１０は、プログラムが未改修の場合でも拡張空間を有効的に活用するための構成を有する。例えば、ＯＳ１１０は、拡張空間を有効的に活用するための構成として、判別部１１１と、退避部１１２と、解放部１１３と、ロード部１１４と、を有する。また、ＯＳ１１０は、ページテーブル１１５と、退避状況管理テーブル１１６と、を管理する。
【００２２】
判別部１１１は、従来空間からプログラムを削除する際、削除対象のプログラムを拡張空間に退避するか否か判別する。例えば、判別部１１１は、退避状況管理テーブル１１６を確認する。そして、判別部１１１は、退避状況管理テーブル１１６に登録されている情報（プログラム情報）に基づいて、削除対象のプログラムを拡張空間に退避するか否か判別する。
【００２３】
例えば、退避状況管理テーブル１１６にプログラム名など削除対象のプログラムを示すプログラム情報が登録されている場合、判別部１１１は、削除対象のプログラムが既に拡張空間に退避されていると判断する。この場合、判別部１１１は、削除対象のプログラムを新たに拡張空間に退避しないと決定する。そして、判別部１１１は、削除対象のプログラムを拡張空間に退避しない旨を解放部１１３に通知する。一方、退避状況管理テーブル１１６に削除対象のプログラムを示す情報が登録されていない場合、判別部１１１は、削除対象のプログラムが拡張空間に退避されていないと判断する。この場合、判別部１１１は、削除対象のプログラムを拡張空間に退避すると決定する。そして、判別部１１１は、削除対象のプログラムを拡張空間に退避する旨を退避部１１２に通知する。
【００２４】
なお、本実施形態においては、削除対象のプログラムの選択方法については特に限定しない。情報処理装置１００（例えば、判別部１１１）は、任意の方法を用いて、従来空間にロードされているプログラムの中から削除対象のプログラムを選択することが出来る。例えば、判別部１１１は、プログラムをロードした時間、プログラムの使用の有無、プログラムを最後に使用してからの経過時間、などに基づいて、削除対象のプログラムを選択することが出来る。
【００２５】
また、判別部１１１は、退避状況管理テーブル１１６に基づいて削除対象のプログラムを選択するよう構成しても構わない。例えば、判別部１１１は、退避状況管理テーブル１１６にプログラムが登録されている場合、当該登録されているプログラムを優先的に削除対象とするよう構成することが出来る。また、例えば、判別部１１１は、拡張空間の空きが予め定められた閾値以下となるまで、退避状況管理テーブル１１６に登録されていないプログラムを削除対象とするよう構成しても構わない。
【００２６】
判別部１１１は、上述した複数の方法の組み合わせ、または、上述した方法と既知の方法との組み合わせにより、削除対象のプログラムを選択するよう構成しても構わない。
【００２７】
退避部１１２は、判別部１１１が削除対象のプログラムを拡張空間に退避すると決定した場合、削除対象のプログラムの退避処理を行う。例えば、退避部１１２は、削除対象のプログラムが従来空間で使用していたセグメント（旧セグメント）と同数のセグメント（新セグメント）を拡張空間に確保する。そして、退避部１１２は旧セグメントを構成していたページを、新セグメントを構成するページとして紐づける。これは、例えば、セグメント記述子内に格納されるページテーブルアドレスを、旧セグメントから新セグメントにコピーするだけでよい。このように、退避部１１２は、ページテーブル１１５のうち物理アドレスを変えることなく論理アドレスのみを変更することで、削除対象のプログラムを拡張空間内に退避する。削除対象のプログラムを拡張空間内に退避した後、退避部１１２は、退避が完了した旨を解放部１１３に通知する。
【００２８】
また、退避部１１２は、削除対象のプログラムを退避する際、退避状況管理テーブル１１６の更新を行う。例えば、退避部１１２は、削除対象のプログラムを拡張空間に退避すると、退避したプログラムを示すプログラム情報（例えば、プログラム名、ライブラリ名など）を退避状況管理テーブル１１６に登録する。このような処理により、退避状況管理テーブル１１６には、拡張空間に退避されたプログラムを示すプログラム情報が登録される。
【００２９】
なお、退避部１１２が登録するプログラム情報は、プログラム名やライブラリ名などを含むことが出来る。退避部１１２は、上記例示した以外の情報を含むプログラム情報を登録するよう構成しても構わない。
【００３０】
解放部１１３は、削除対象のプログラムを解放する。例えば、解放部１１３は、判別部１１１から削除対象のプログラムを拡張空間に退避しない旨の通知を受信する。または、解放部１１３は、退避部１１２から退避が完了した旨の通知を受信する。すると、解放部１１３は、例えば、従来空間で使用していたセグメントである旧セグメントのセグメント記述子を初期化して、旧セグメントを解放する。
【００３１】
なお、退避部１１２の処理により、削除対象のプログラムは事前に拡張空間に退避している。解放部１１３が旧セグメントを解放しても、新セグメントの方は解放されず残り続けることになる。
【００３２】
ロード部１１４は、プログラムのロードを行う。例えば、ロード部１１４は、従来空間に空きがあるか否か確認する。そして、従来空間中に空きがない場合、ロード部１１４は、従来空間に空きを確保する。空きの確保は、例えば、ロード部１１４が削除対象のプログラムを選択するよう判別部１１１に指示することで、上述した一連の処理により行うことが出来る。
【００３３】
ロード部１１４による判別部１１１に対する指示の結果、解放部１１３により従来空間に空きが確保された後、または、従来空間に空きがある場合、ロード部１１４は、退避状況管理テーブル１１６を参照する。そして、ロード部１１４は、退避状況管理テーブル１１６に基づいて、従来空間にロードする対象となるプログラムが拡張空間に退避されているか否か確認する。
【００３４】
退避状況管理テーブル１１６にロード対象のプログラムを示すプログラム情報が登録されている場合、ロード部１１４は、ロード対象のプログラムが拡張空間に退避されていると判断する。そして、ロード部１１４は、拡張空間からロード対象のプログラムをロードすると決定して、ロード対象のプログラムを拡張空間からロードする。拡張空間からのロードは、セグメント記述子内のページテーブルアドレスを拡張空間のセグメントから従来空間のセグメントにコピーするだけで行うことが出来る。つまり、ロード部１１４は、ページテーブル１１５のうち物理アドレスを変えることなく論理アドレスのみを変更することで、ロード対象のプログラムを従来空間内にロードする。このように、ロード部１１４は、ロード対象のプログラムが拡張空間に退避されている場合、ディスク装置１３０からではなく拡張空間からプログラムをロードする。そのため、高速にロードすることが出来る。
【００３５】
一方、退避状況管理テーブル１１６にロード対象のプログラムを示すプログラム情報が登録されていない場合、ロード部１１４は、ロード対象のプログラムが拡張空間に退避されていないと判断する。そして、ロード部１１４は、ディスク装置１３０上のライブラリファイルからロード対象のプログラムをロードすることを決定して、ロード対象のプログラムをディスク装置１３０からロードする。ディスク装置１３０上のライブラリファイルからロードする処理は、従来通りの処理と同様で構わない。
【００３６】
以上のように、ロード部１１４は、ロード対象のプログラムが拡張空間に退避している場合と退避していない場合とで、異なる場所からロード対象のプログラムをロードする。
【００３７】
ページテーブル１１５は、仮想アドレスと、物理アドレスとを対応づけている。ページテーブル１１５の構成は、既知のもので構わない。
【００３８】
退避状況管理テーブル１１６には、拡張空間に退避されているプログラムを示すプログラム情報を登録することが出来る。図３は、退避状況管理テーブル１１６の構成の一例を示している。図３を参照すると、退避状況管理テーブル１１６には、退避空間に退避されているプログラムを示すプログラム情報が含まれている。プログラム情報には、例えば、プログラム名やライブラリ名などを含めることが出来る。プログラム情報は、上記例示した以外の情報を含んでいても構わない。
【００３９】
上述したように、退避状況管理テーブル１１６は、退避部１１２がプログラムを拡張空間に退避する際に更新される。このため、退避状況管理テーブル１１６には、拡張空間に退避されているプログラム情報が登録される。
【００４０】
なお、退避状況管理テーブル１１６は、例えば、ジョブごとに定義される。つまり、情報処理装置１００は、ジョブごとに異なる退避状況管理テーブルを有することが出来る。退避状況管理テーブルは、複数のジョブで共通なものとなるよう構成しても構わない。
【００４１】
主記憶装置１２０は、情報処理装置１００が有するＣＰＵなどの演算装置により直接読み書き可能なメモリである。本実施形態においては、主記憶装置１２０の構成は特に限定しない。
【００４２】
ディスク装置１３０は、ハードディスクドライブなどの記憶装置である。ディスク装置１３０は、ＳＳＤ（Solid State Drive）などの記憶装置であっても構わない。
【００４３】
以上が、情報処理装置１００の構成の一例である。
【００４４】
なお、仮想記憶空間のうち従来空間は、拡張空間に対応していないプログラムも利用可能な空間である。そのため、従来空間は、拡張に対応していないプログラムが利用可能な空間である、ということも出来る。また、仮想記憶空間のうち拡張空間は、拡張空間に対応していないプログラムが利用できない空間である。そのため、拡張空間は、拡張に対応していないプログラムが利用できない空間である、ということも出来る。
【００４５】
続いて、図４から図１２までを参照して、プログラムを退避する際とロードする際の処理の一例について説明する。
【００４６】
まず、図４から図８、図１１を参照して、プログラムをアンロードする際の処理の一例について説明する。プログラムのアンロードは、例えば、情報処理装置１００で実行するジョブが新しいプログラムをロードしようとする際に従来空間に空きがなかった場合などに行われる。プログラムのアンロードは、任意のタイミングで行われても構わない。
【００４７】
情報処理装置１００、または、判別部１１１は、任意の方法で削除対象のプログラムを選別する。そして、図１１で示すように、判別部１１１は、退避状況管理テーブル１１６を確認することで、削除対象のプログラムを拡張空間に退避するか否か判別する（ステップＳ１０１）。
【００４８】
退避状況管理テーブル１１６にプログラム名など削除対象のプログラムを示す情報が登録されていない場合（ステップＳ１０１  Ｎｏ、図４の１−１）、判別部１１１は、削除対象のプログラムを拡張空間に退避すると決定する。そして、判別部１１１は、削除対象のプログラムを拡張空間に退避する旨を退避部１１２に通知する。
【００４９】
退避部１１２は、削除対象のプログラムの退避処理を行う（ステップＳ１０２、図５の１−２）。拡張空間内の退避場所は任意の方法で決定して構わない。また、退避部１１２は、退避状況管理テーブル１１６の更新を行う（ステップＳ１０３、図５の１−３）。つまり、退避部１１２は、退避したプログラムを示すプログラム情報を退避状況管理テーブル１１６に登録する。
【００５０】
解放部１１３は、従来空間から削除対象のプログラムを解放することで、プログラムを削除する（ステップＳ１０４、図６の１−４）。
【００５１】
また、退避状況管理テーブル１１６にプログラム名など削除対象のプログラムを示す情報が記載されている場合（ステップＳ１０１  Ｙｅｓ、図７の１−１ｂ）、判別部１１１は、削除対象のプログラムが拡張空間に退避されていると判断する。この場合、ステップＳ１０２、ステップＳ１０３の処理は行われず、解放部１１３は、従来空間から削除対象のプログラムを解放することで、プログラムを削除する（ステップＳ１０４、図８の１−２ｂ）。
【００５２】
以上が、プログラムをアンロードする際の処理の一例である。続いて、図９、図１０、図１２を参照して、プログラムをロードする際の処理の一例について説明する。
【００５３】
図１２を参照すると、ロード部１１４は、従来空間に空きがあるか否か確認する（ステップＳ２０１）。
【００５４】
従来空間中に空きがない場合（ステップＳ２０１  Ｎｏ）、ロード部１１４は、従来空間に空きを確保する。空きの確保は、例えば、ロード部１１４が削除対象のプログラムを選択するよう判別部１１１に指示することで、図１１を参照して説明した一連の処理により行うことが出来る（ステップＳ２０２）。従来空間に空きを確保する処理の詳細な説明は、図１１を参照して既に行ったため省略する。
【００５５】
従来空間に空きを確保した後（ステップＳ２０２の後）、又は、従来空間に空きがある場合（ステップＳ２０１  Ｙｅｓ）、ロード部１１４は、退避状況管理テーブル１１６を参照して、従来空間にロードする対象となるプログラムが拡張空間に退避されているか否か確認する（ステップＳ２０３）。
【００５６】
退避状況管理テーブル１１６にロード対象のプログラムを示す情報が登録されている場合（ステップＳ２０３  Ｙｅｓ、図９の２−１）、ロード部１１４は、ロード対象のプログラムが拡張空間に退避されていると判断する。そして、ロード部１１４は、拡張空間からロード対象のプログラムをロードする（ステップＳ２０５、図９の２−２）。
【００５７】
一方、退避状況管理テーブル１１６にロード対象のプログラムを示す情報が登録されていない場合（ステップＳ２０３  Ｎｏ、図１０の２−１ｂ）、ロード部１１４は、ロード対象のプログラムが拡張空間に退避されていないと判断する。この場合、ロード部１１４は、ディスク装置１３０上のライブラリファイルからロード対象のプログラムをロードする（ステップＳ２０４、図１０の２−２ｂ）。
【００５８】
以上が、プログラムをロードする際の処理の一例である。
【００５９】
このように、情報処理装置１００は、退避部１１２と解放部１１３とを有している。このような構成により、解放部１１３は、退避部１１２により従来空間から拡張空間に削除対象のプログラムを退避させた後に、削除対象のプログラムを従来空間から解放することが出来る。これにより、拡張空間に対応していないプログラムであっても拡張空間を活用することが可能となる。また、その結果として、拡張空間に退避させたプログラムをロードする際に、高速にロードすることが可能となる。また、ディスクへのＩ／Ｏを抑制することが可能となり、ジョブの実行性能低下を抑制することが可能となる。
【００６０】
また、本実施形態における情報処理装置１００は、判別部１１１を有している。このような構成により、上述した退避部１１２は、判別部１１１による判別の結果に応じて、プログラムを拡張空間に退避させることが可能となる。これにより、退避が必要なプログラムのみを効率的に退避させることが可能となる。
【００６１】
また、本実施形態における情報処理装置１００は、ロード部１１４を有している。このような構成により、ロード部１１４は、拡張空間からロードが可能なプログラムを拡張空間からロードすることが出来る。これにより、高速なロードを実現することが出来る。
【００６２】
なお、本実施形態において説明した情報処理装置１００は、あくまで一例である。情報処理装置１００の構成は、本実施形態で説明した場合に限定されない。
【００６３】
例えば、本実施形態においては、情報処理装置１００がディスク装置１３０を有するとした。しかしながら、ディスク装置１３０は、情報処理装置１００の外部に有していても構わない。また、本実施形態においてはＯＳ１１０が各機能を有するとしたが、ＯＳ１１０とは別の機能として、判別部１１１、退避部１１２、解放部１１３、ロード部１１４のうちの少なくとも一部を実現しても構わない。また、情報処理装置１００が有する各構成は、メモリ管理を行うメモリ管理装置として実現されても構わない。
【００６４】
［第２の実施形態］
次に、図１３を参照して、本発明の第２の実施形態について説明する。第２の実施形態では、情報処理装置２００の構成の概要について説明する。
【００６５】
情報処理装置２００は、オペレーションシステムが管理する仮想記憶空間が拡張されている。つまり、拡張前の仮想記憶空間である従来空間に拡張された仮想記憶空間である拡張空間が追加されている。
【００６６】
図１３は、情報処理装置２００の構成の一例を示している。図１３を参照すると、情報処理装置２００は、退避部２１０と、解放部２２０と、を有している。
【００６７】
例えば、情報処理装置２００は、ＣＰＵなどの演算装置と記憶装置とを有している。情報処理装置２００は、記憶装置が記憶するプログラムを演算装置が実行することで、上記各処理部を実現する。
【００６８】
退避部２１０は、拡張前の仮想記憶空間である従来空間からプログラムを削除する際、従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる。
【００６９】
解放部２２０は、退避部２１０による退避の後、従来空間から削除対象のプログラムを解放する。
【００７０】
このように、情報処理装置２００は、退避部２１０と解放部２２０とを有している。このような構成により、解放部２２０は、退避部２１０により従来空間から拡張空間に削除対象のプログラムを退避させた後に、削除対象のプログラムを従来空間から解放することが出来る。これにより、拡張空間に対応していないプログラムであっても拡張空間を活用することが可能となる。
【００７１】
また、上述した情報処理装置２００は、当該情報処理装置２００に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置に、拡張前の仮想記憶空間である従来空間からプログラムを削除する際、従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる退避部と、退避部による退避の後、従来空間から削除対象のプログラムを解放する解放部と、を実現するためのプログラムである。
【００７２】
また、上述した情報処理装置２００により実行される情報処理方法は、オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置により行われる情報処理方法であって、拡張前の仮想記憶空間である従来空間からプログラムを削除する際、従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させ、退避の後、従来空間から削除対象のプログラムを解放する、という方法である。
【００７３】
上述した構成を有する、プログラム、又は、情報処理方法、の発明であっても、上記情報処理装置２００と同様の作用・効果を有するために、上述した本発明の目的を達成することが出来る。
【００７４】
＜付記＞
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
【００７５】
（付記１）
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置であって、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる退避部と、
前記退避部による退避の後、前記従来空間から削除対象のプログラムを解放する解放部と、
を有する
情報処理装置。
（付記２）
付記１に記載の情報処理装置であって、
削除対象のプログラムが前記拡張空間に退避されているか否か確認して、確認した結果に基づいて削除対象のプログラムを前記拡張空間に退避するか否か決定する判別部を有し、
前記退避部は、前記判別部による決定の結果に基づいて、前記拡張空間に削除対象のプログラムを退避させる
情報処理装置。
（付記３）
付記２に記載の情報処理装置であって、
前記判別部は、削除対象のプログラムが前記拡張空間に退避されていない場合、削除対象のプログラムを前記拡張空間に退避すると決定する
情報処理装置。
（付記４）
付記２または付記３に記載の情報処理装置であって、
前記判別部は、削除対象のプログラムが前記拡張空間に退避されている場合、削除対象のプログラムを前記拡張空間に退避しないと決定し、
前記解放部は、前記判別部が前記拡張空間に退避しないと判断したプログラムを前記従来空間から解放する
情報処理装置。
（付記５）
付記２から付記４までのいずれか１項に記載の情報処理装置であって、
前記判別部は、前記拡張空間に退避されているプログラムを示す情報に基づいて、削除対象のプログラムを選択する
情報処理装置。
（付記６）
付記１から付記５までのいずれか１項に記載の情報処理装置であって、
ロード対象のプログラムが前記拡張空間に退避しているか否かに基づいて、ロード対象のプログラムをロードするロード部を有する
情報処理装置。
（付記７）
付記６に記載の情報処理装置であって、
前記ロード部は、ロード対象のプログラムが前記拡張空間に退避している場合、ロード対象のプログラムを前記拡張空間から前記従来空間にロードする
情報処理装置。
（付記８）
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置により行われる情報処理方法であって、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させ、
退避の後、前記従来空間から削除対象のプログラムを解放する
情報処理方法。
（付記９）
付記８に記載の情報処理方法であって、
削除対象のプログラムが前記拡張空間に退避されているか否か確認して、確認した結果に基づいて削除対象のプログラムを前記拡張空間に退避するか否か決定し、
決定の結果に基づいて、前記拡張空間に削除対象のプログラムを退避させる
情報処理方法。
（付記１０）
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置に、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる退避部と、
前記退避部による退避の後、前記従来空間から削除対象のプログラムを解放する解放部と、
を実現するためのプログラム。
【００７６】
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【００７７】
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
【符号の説明】
【００７８】
１００  情報処理装置
１１０  ＯＳ
１１１  判別部
１１２  退避部
１１３  解放部
１１４  ロード部
１１５  ページテーブル
１１６  退避状況管理テーブル
１２０  主記憶装置
１３０  ディスク装置
２００  情報処理装置
２１０  退避部
２２０  解放部
【図１】
2020123263.tif 000003
【図２】
2020123263.tif 000004
【図３】
2020123263.tif 000005
【図４】
2020123263.tif 000006
【図５】
2020123263.tif 000007
【図６】
2020123263.tif 000008
【図７】
2020123263.tif 000009
【図８】
2020123263.tif 000010
【図９】
2020123263.tif 000011
【図１０】
2020123263.tif 000012
【図１１】
2020123263.tif 000013
【図１２】
2020123263.tif 000014
【図１３】
2020123263.tif 000015