(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-19
(45)【発行日】2022-12-27
(54)【発明の名称】情報処理装置、情報処理方法、プログラム
(51)【国際特許分類】
G06F 12/06 20060101AFI20221220BHJP
G06F 9/445 20180101ALI20221220BHJP
G06F 12/02 20060101ALI20221220BHJP
【FI】
G06F12/06 560A
G06F9/445
G06F12/02 530E
(21)【出願番号】P 2019016119
(22)【出願日】2019-01-31
【審査請求日】2021-12-06
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】100124811
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】小笹 耕平
【審査官】打出 義尚
(56)【参考文献】
【文献】特開2003-263366(JP,A)
【文献】特開平2-100156(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/06
G06F 9/445
G06F 12/02
(57)【特許請求の範囲】
【請求項1】
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置であって、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる退避部と、
前記退避部による退避の後、前記従来空間から削除対象のプログラムを解放する解放部と、
を有
し、
削除対象のプログラムが前記拡張空間に退避されているか否か確認して、確認した結果に基づいて削除対象のプログラムを前記拡張空間に退避するか否か決定する判別部を有し、
前記退避部は、前記判別部による決定の結果に基づいて、前記拡張空間に削除対象のプログラムを退避させ、
前記判別部は、削除対象のプログラムが前記拡張空間に退避されていない場合、削除対象のプログラムを前記拡張空間に退避すると決定する
情報処理装置。
【請求項2】
請求項
1に記載の情報処理装置であって、
前記判別部は、削除対象のプログラムが前記拡張空間に退避されている場合、削除対象のプログラムを前記拡張空間に退避しないと決定し、
前記解放部は、前記判別部が前記拡張空間に退避しないと判断したプログラムを前記従来空間から解放する
情報処理装置。
【請求項3】
請求項
1または請求項2に記載の情報処理装置であって、
前記判別部は、前記拡張空間に退避されているプログラムを示す情報に基づいて、削除対象のプログラムを選択する
情報処理装置。
【請求項4】
請求項1から請求項
3までのいずれか1項に記載の情報処理装置であって、
ロード対象のプログラムが前記拡張空間に退避しているか否かに基づいて、ロード対象のプログラムをロードするロード部を有する
情報処理装置。
【請求項5】
請求項
4に記載の情報処理装置であって、
前記ロード部は、ロード対象のプログラムが前記拡張空間に退避している場合、ロード対象のプログラムを前記拡張空間から前記従来空間にロードする
情報処理装置。
【請求項6】
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置により行われる情報処理方法であって、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させ、
退避の後、前記従来空間から削除対象のプログラムを解放し、
削除対象のプログラムを退避させる際は、削除対象のプログラムが前記拡張空間に退避されているか否か確認して、確認した結果に基づいて削除対象のプログラムを前記拡張空間に退避するか否か決定し、決定の結果に基づいて、前記拡張空間に削除対象のプログラムを退避させ、
前記決定の際において、削除対象のプログラムが前記拡張空間に退避されていない場合、削除対象のプログラムを前記拡張空間に退避すると決定する
情報処理方法。
【請求項7】
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置に、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる退避部と、
前記退避部による退避の後、前記従来空間から削除対象のプログラムを解放する解放部と、
を実現
させ、
削除対象のプログラムが前記拡張空間に退避されているか否か確認して、確認した結果に基づいて削除対象のプログラムを前記拡張空間に退避するか否か決定する判別部を実現させ、
前記退避部は、前記判別部による決定の結果に基づいて、前記拡張空間に削除対象のプログラムを退避させ、
前記判別部は、削除対象のプログラムが前記拡張空間に退避されていない場合、削除対象のプログラムを前記拡張空間に退避すると決定する
プログラム。
【請求項8】
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置であって、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる退避部と、
前記退避部による退避の後、前記従来空間から削除対象のプログラムを解放する解放部と、
を有し、
削除対象のプログラムが前記拡張空間に退避されているか否か確認して、確認した結果に基づいて削除対象のプログラムを前記拡張空間に退避するか否か決定する判別部を有し、
前記退避部は、前記判別部による決定の結果に基づいて、前記拡張空間に削除対象のプログラムを退避させ、
前記判別部は、削除対象のプログラムが前記拡張空間に退避されている場合、削除対象のプログラムを前記拡張空間に退避しないと決定し、
前記解放部は、前記判別部が前記拡張空間に退避しないと判断したプログラムを前記従来空間から解放する
情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、プログラムに関する。
【背景技術】
【0002】
主記憶装置を効率的に使用するための技術の一つとして、オペレーティングシステムが仮想記憶管理を行うことが知られている。
【0003】
このような仮想記憶管理を行う技術の一例として、例えば、特許文献1がある。特許文献1には、仮想アドレス空間に含まれる複数の仮想アドレスと、複数のセグメントのそれぞれに含まれる複数の物理アドレスとを対応づけるテーブルであるページテーブルを参照して仮想記憶管理を行うメモリ管理ユニットを有するメモリ管理システムが記載されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
ある実行中のジョブが複数のプログラムをロードしている状態で新たなプログラムをロードする際、仮想記憶空間の空きが十分にない場合がある。このような場合、既にロードされているプログラムを一旦削除することで、空間の空きを形成していた。
【0006】
ここで、アーキテクチャの拡張により、OS(Operating System)が管理する仮想記憶空間が拡張される場合がある。しかしながら、既存のプログラムが拡張された空間を使用するためには、拡張されたアーキテクチャに対応するための改修が必要になる。そのため、プログラムの改修が容易でない場合などにおいて、OSが管理する仮想記憶空間が拡張されたにもかかわらず、拡張された空間を有効に使うことが出来なかった。つまり、OSが管理している仮想記憶空間に空きがあるにもかかわらず、既にロードされているプログラムを一旦削除する事態が生じていた。
【0007】
そこで、本発明の目的は、拡張された仮想記憶空間を有効に使うことが難しい場合がある、という課題を解決する情報処理装置、情報処理方法、プログラムを提供することにある。
【課題を解決するための手段】
【0008】
かかる目的を達成するため本発明の一形態である情報処理装置は、
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置であって、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる退避部と、
前記退避部による退避の後、前記従来空間から削除対象のプログラムを解放する解放部と、
を有する
という構成をとる。
【0009】
また、本発明の他の形態である情報処理方法は、
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置により行われる情報処理方法であって、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させ、
退避の後、前記従来空間から削除対象のプログラムを解放する
という構成をとる。
【0010】
また、本発明の他の形態であるプログラムは、
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置に、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる退避部と、
前記退避部による退避の後、前記従来空間から削除対象のプログラムを解放する解放部と、
を実現するためのプログラムである。
【発明の効果】
【0011】
本発明は、以上のように構成されることにより、拡張された仮想記憶空間を有効に使うことが難しい場合がある、という課題を解決する情報処理装置、情報処理方法、プログラムを提供することが可能となる。
【図面の簡単な説明】
【0012】
【
図1】本発明の第1の実施形態において説明する情報処理装置の構成の一例を示すブロック図である。
【
図2】OSが管理する仮想記憶空間の一例を示す図である。
【
図3】退避状況管理テーブルの一例を示す図である。
【
図4】情報処理装置により行われる処理の一例を示す図である。
【
図5】情報処理装置により行われる処理の一例を示す図である。
【
図6】情報処理装置により行われる処理の一例を示す図である。
【
図7】情報処理装置により行われる処理の一例を示す図である。
【
図8】情報処理装置により行われる他の処理の一例を示す図である。
【
図9】情報処理装置により行われる他の処理の一例を示す図である。
【
図10】情報処理装置により行われる処理の一例を示す図である。
【
図11】本発明の第1の実施形態において説明する情報処理装置がアンロード処理を実行する際の流れの一例を示すフローチャートである。
【
図12】情報処理装置がロード処理する際の流れの一例を示すフローチャートである。
【
図13】本発明の第2の実施形態における情報処理装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【0013】
[第1の実施形態]
本発明の第1の実施形態を
図1から
図12までを参照して説明する。
図1は、情報処理装置100の構成の一例を示すブロック図である。
図2は、OSが管理する仮想記憶空間の一例を示す図である。
図3は、退避状況管理テーブル116の一例を示す図である。
図4から
図10は、情報処理装置100により行われる処理の一例を示す図である。
図11は、情報処理装置100がアンロード処理を実行する際の流れの一例を示すフローチャートである。
図12は、情報処理装置100がロード処理する際の流れの一例を示すフローチャートである。
【0014】
本発明の第1の実施形態では、アーキテクチャの拡大などによりOS110(Operating System:オペレーティングシステム)が管理する仮想記憶空間が拡大されている情報処理装置100について説明する。後述するように、本実施形態の場合、OS110は、削除対象のプログラムを仮想記憶空間中の従来空間から拡張空間に退避させる。また、OS110は、退避状況管理テーブル116を更新することで、プログラムの退避状況を管理する。このような構成により、OS110は、拡張された空間に対応していないプログラムなどにおいても、拡張空間を有効的に活用することを可能とする。
【0015】
なお、本実施形態においては、情報処理装置100は以下の前提を有する。まず、仮想記憶空間は論理的なコード・データの集合であるセグメントによって仮想記憶空間が構成されているとする。また、主記憶装置120の割り当てが固定長のページ単位で行われ、ページによってセグメントが構成されているものとする。なお、本発明は、本実施形態で例示する構成以外に適用しても構わない。
【0016】
情報処理装置100は、1つまたは複数のプログラムを含むジョブを実行することが出来る。情報処理装置100で実行するプログラムは、拡張空間に対応していても構わないし、拡張空間に対応していなくても構わない。
【0017】
図1は、本実施形態に特徴的な情報処理装置100の構成の一例を示している。
図1を参照すると、情報処理装置100では、OS110が機能している。また、情報処理装置100は、主記憶装置120と、ディスク装置130と、を有している。
【0018】
なお、情報処理装置100は、CPUなどの演算装置と記憶装置とを有している。例えば、情報処理装置100は、記憶装置が記憶するプログラムを演算装置が実行することで、上記OS110やOS110が有する各種機能を実現する。
【0019】
OS110は、アーキテクチャの拡張により、管理する仮想記憶空間が拡張されている。
図2は、拡張された仮想記憶空間の一例を示している。
図2で示すように、OS110は、拡張前の空間である従来空間に加えて、拡張された空間である拡張空間も管理している。このように、本実施形態の場合、OS110は、拡張された仮想記憶空間を管理する。
【0020】
ここで、情報処理装置100で実行可能なプログラムのうち拡張空間に対応していないプログラムは、拡張空間に対応するための改修前の状態において、拡張空間を使うことが出来ない。そのため、改修前の状態の場合、従来空間に空きがなくなった状態で新しいプログラムをロードするためには、従来空間からプログラムを削除して従来空間に空きを確保することが必要になる。拡張空間を使えるようにするためには、プログラムが拡張空間に対応するよう、プログラムを改修することが必要である。しかしながら、プログラムの改修は、必ずしも容易ではない。
【0021】
そこで、本実施形態において説明するOS110は、プログラムが未改修の場合でも拡張空間を有効的に活用するための構成を有する。例えば、OS110は、拡張空間を有効的に活用するための構成として、判別部111と、退避部112と、解放部113と、ロード部114と、を有する。また、OS110は、ページテーブル115と、退避状況管理テーブル116と、を管理する。
【0022】
判別部111は、従来空間からプログラムを削除する際、削除対象のプログラムを拡張空間に退避するか否か判別する。例えば、判別部111は、退避状況管理テーブル116を確認する。そして、判別部111は、退避状況管理テーブル116に登録されている情報(プログラム情報)に基づいて、削除対象のプログラムを拡張空間に退避するか否か判別する。
【0023】
例えば、退避状況管理テーブル116にプログラム名など削除対象のプログラムを示すプログラム情報が登録されている場合、判別部111は、削除対象のプログラムが既に拡張空間に退避されていると判断する。この場合、判別部111は、削除対象のプログラムを新たに拡張空間に退避しないと決定する。そして、判別部111は、削除対象のプログラムを拡張空間に退避しない旨を解放部113に通知する。一方、退避状況管理テーブル116に削除対象のプログラムを示す情報が登録されていない場合、判別部111は、削除対象のプログラムが拡張空間に退避されていないと判断する。この場合、判別部111は、削除対象のプログラムを拡張空間に退避すると決定する。そして、判別部111は、削除対象のプログラムを拡張空間に退避する旨を退避部112に通知する。
【0024】
なお、本実施形態においては、削除対象のプログラムの選択方法については特に限定しない。情報処理装置100(例えば、判別部111)は、任意の方法を用いて、従来空間にロードされているプログラムの中から削除対象のプログラムを選択することが出来る。例えば、判別部111は、プログラムをロードした時間、プログラムの使用の有無、プログラムを最後に使用してからの経過時間、などに基づいて、削除対象のプログラムを選択することが出来る。
【0025】
また、判別部111は、退避状況管理テーブル116に基づいて削除対象のプログラムを選択するよう構成しても構わない。例えば、判別部111は、退避状況管理テーブル116にプログラムが登録されている場合、当該登録されているプログラムを優先的に削除対象とするよう構成することが出来る。また、例えば、判別部111は、拡張空間の空きが予め定められた閾値以下となるまで、退避状況管理テーブル116に登録されていないプログラムを削除対象とするよう構成しても構わない。
【0026】
判別部111は、上述した複数の方法の組み合わせ、または、上述した方法と既知の方法との組み合わせにより、削除対象のプログラムを選択するよう構成しても構わない。
【0027】
退避部112は、判別部111が削除対象のプログラムを拡張空間に退避すると決定した場合、削除対象のプログラムの退避処理を行う。例えば、退避部112は、削除対象のプログラムが従来空間で使用していたセグメント(旧セグメント)と同数のセグメント(新セグメント)を拡張空間に確保する。そして、退避部112は旧セグメントを構成していたページを、新セグメントを構成するページとして紐づける。これは、例えば、セグメント記述子内に格納されるページテーブルアドレスを、旧セグメントから新セグメントにコピーするだけでよい。このように、退避部112は、ページテーブル115のうち物理アドレスを変えることなく論理アドレスのみを変更することで、削除対象のプログラムを拡張空間内に退避する。削除対象のプログラムを拡張空間内に退避した後、退避部112は、退避が完了した旨を解放部113に通知する。
【0028】
また、退避部112は、削除対象のプログラムを退避する際、退避状況管理テーブル116の更新を行う。例えば、退避部112は、削除対象のプログラムを拡張空間に退避すると、退避したプログラムを示すプログラム情報(例えば、プログラム名、ライブラリ名など)を退避状況管理テーブル116に登録する。このような処理により、退避状況管理テーブル116には、拡張空間に退避されたプログラムを示すプログラム情報が登録される。
【0029】
なお、退避部112が登録するプログラム情報は、プログラム名やライブラリ名などを含むことが出来る。退避部112は、上記例示した以外の情報を含むプログラム情報を登録するよう構成しても構わない。
【0030】
解放部113は、削除対象のプログラムを解放する。例えば、解放部113は、判別部111から削除対象のプログラムを拡張空間に退避しない旨の通知を受信する。または、解放部113は、退避部112から退避が完了した旨の通知を受信する。すると、解放部113は、例えば、従来空間で使用していたセグメントである旧セグメントのセグメント記述子を初期化して、旧セグメントを解放する。
【0031】
なお、退避部112の処理により、削除対象のプログラムは事前に拡張空間に退避している。解放部113が旧セグメントを解放しても、新セグメントの方は解放されず残り続けることになる。
【0032】
ロード部114は、プログラムのロードを行う。例えば、ロード部114は、従来空間に空きがあるか否か確認する。そして、従来空間中に空きがない場合、ロード部114は、従来空間に空きを確保する。空きの確保は、例えば、ロード部114が削除対象のプログラムを選択するよう判別部111に指示することで、上述した一連の処理により行うことが出来る。
【0033】
ロード部114による判別部111に対する指示の結果、解放部113により従来空間に空きが確保された後、または、従来空間に空きがある場合、ロード部114は、退避状況管理テーブル116を参照する。そして、ロード部114は、退避状況管理テーブル116に基づいて、従来空間にロードする対象となるプログラムが拡張空間に退避されているか否か確認する。
【0034】
退避状況管理テーブル116にロード対象のプログラムを示すプログラム情報が登録されている場合、ロード部114は、ロード対象のプログラムが拡張空間に退避されていると判断する。そして、ロード部114は、拡張空間からロード対象のプログラムをロードすると決定して、ロード対象のプログラムを拡張空間からロードする。拡張空間からのロードは、セグメント記述子内のページテーブルアドレスを拡張空間のセグメントから従来空間のセグメントにコピーするだけで行うことが出来る。つまり、ロード部114は、ページテーブル115のうち物理アドレスを変えることなく論理アドレスのみを変更することで、ロード対象のプログラムを従来空間内にロードする。このように、ロード部114は、ロード対象のプログラムが拡張空間に退避されている場合、ディスク装置130からではなく拡張空間からプログラムをロードする。そのため、高速にロードすることが出来る。
【0035】
一方、退避状況管理テーブル116にロード対象のプログラムを示すプログラム情報が登録されていない場合、ロード部114は、ロード対象のプログラムが拡張空間に退避されていないと判断する。そして、ロード部114は、ディスク装置130上のライブラリファイルからロード対象のプログラムをロードすることを決定して、ロード対象のプログラムをディスク装置130からロードする。ディスク装置130上のライブラリファイルからロードする処理は、従来通りの処理と同様で構わない。
【0036】
以上のように、ロード部114は、ロード対象のプログラムが拡張空間に退避している場合と退避していない場合とで、異なる場所からロード対象のプログラムをロードする。
【0037】
ページテーブル115は、仮想アドレスと、物理アドレスとを対応づけている。ページテーブル115の構成は、既知のもので構わない。
【0038】
退避状況管理テーブル116には、拡張空間に退避されているプログラムを示すプログラム情報を登録することが出来る。
図3は、退避状況管理テーブル116の構成の一例を示している。
図3を参照すると、退避状況管理テーブル116には、退避空間に退避されているプログラムを示すプログラム情報が含まれている。プログラム情報には、例えば、プログラム名やライブラリ名などを含めることが出来る。プログラム情報は、上記例示した以外の情報を含んでいても構わない。
【0039】
上述したように、退避状況管理テーブル116は、退避部112がプログラムを拡張空間に退避する際に更新される。このため、退避状況管理テーブル116には、拡張空間に退避されているプログラム情報が登録される。
【0040】
なお、退避状況管理テーブル116は、例えば、ジョブごとに定義される。つまり、情報処理装置100は、ジョブごとに異なる退避状況管理テーブルを有することが出来る。退避状況管理テーブルは、複数のジョブで共通なものとなるよう構成しても構わない。
【0041】
主記憶装置120は、情報処理装置100が有するCPUなどの演算装置により直接読み書き可能なメモリである。本実施形態においては、主記憶装置120の構成は特に限定しない。
【0042】
ディスク装置130は、ハードディスクドライブなどの記憶装置である。ディスク装置130は、SSD(Solid State Drive)などの記憶装置であっても構わない。
【0043】
以上が、情報処理装置100の構成の一例である。
【0044】
なお、仮想記憶空間のうち従来空間は、拡張空間に対応していないプログラムも利用可能な空間である。そのため、従来空間は、拡張に対応していないプログラムが利用可能な空間である、ということも出来る。また、仮想記憶空間のうち拡張空間は、拡張空間に対応していないプログラムが利用できない空間である。そのため、拡張空間は、拡張に対応していないプログラムが利用できない空間である、ということも出来る。
【0045】
続いて、
図4から
図12までを参照して、プログラムを退避する際とロードする際の処理の一例について説明する。
【0046】
まず、
図4から
図8、
図11を参照して、プログラムをアンロードする際の処理の一例について説明する。プログラムのアンロードは、例えば、情報処理装置100で実行するジョブが新しいプログラムをロードしようとする際に従来空間に空きがなかった場合などに行われる。プログラムのアンロードは、任意のタイミングで行われても構わない。
【0047】
情報処理装置100、または、判別部111は、任意の方法で削除対象のプログラムを選別する。そして、
図11で示すように、判別部111は、退避状況管理テーブル116を確認することで、削除対象のプログラムを拡張空間に退避するか否か判別する(ステップS101)。
【0048】
退避状況管理テーブル116にプログラム名など削除対象のプログラムを示す情報が登録されていない場合(ステップS101 No、
図4の1-1)、判別部111は、削除対象のプログラムを拡張空間に退避すると決定する。そして、判別部111は、削除対象のプログラムを拡張空間に退避する旨を退避部112に通知する。
【0049】
退避部112は、削除対象のプログラムの退避処理を行う(ステップS102、
図5の1-2)。拡張空間内の退避場所は任意の方法で決定して構わない。また、退避部112は、退避状況管理テーブル116の更新を行う(ステップS103、
図5の1-3)。つまり、退避部112は、退避したプログラムを示すプログラム情報を退避状況管理テーブル116に登録する。
【0050】
解放部113は、従来空間から削除対象のプログラムを解放することで、プログラムを削除する(ステップS104、
図6の1-4)。
【0051】
また、退避状況管理テーブル116にプログラム名など削除対象のプログラムを示す情報が記載されている場合(ステップS101 Yes、
図7の1-1b)、判別部111は、削除対象のプログラムが拡張空間に退避されていると判断する。この場合、ステップS102、ステップS103の処理は行われず、解放部113は、従来空間から削除対象のプログラムを解放することで、プログラムを削除する(ステップS104、
図8の1-2b)。
【0052】
以上が、プログラムをアンロードする際の処理の一例である。続いて、
図9、
図10、
図12を参照して、プログラムをロードする際の処理の一例について説明する。
【0053】
図12を参照すると、ロード部114は、従来空間に空きがあるか否か確認する(ステップS201)。
【0054】
従来空間中に空きがない場合(ステップS201 No)、ロード部114は、従来空間に空きを確保する。空きの確保は、例えば、ロード部114が削除対象のプログラムを選択するよう判別部111に指示することで、
図11を参照して説明した一連の処理により行うことが出来る(ステップS202)。従来空間に空きを確保する処理の詳細な説明は、
図11を参照して既に行ったため省略する。
【0055】
従来空間に空きを確保した後(ステップS202の後)、又は、従来空間に空きがある場合(ステップS201 Yes)、ロード部114は、退避状況管理テーブル116を参照して、従来空間にロードする対象となるプログラムが拡張空間に退避されているか否か確認する(ステップS203)。
【0056】
退避状況管理テーブル116にロード対象のプログラムを示す情報が登録されている場合(ステップS203 Yes、
図9の2-1)、ロード部114は、ロード対象のプログラムが拡張空間に退避されていると判断する。そして、ロード部114は、拡張空間からロード対象のプログラムをロードする(ステップS205、
図9の2-2)。
【0057】
一方、退避状況管理テーブル116にロード対象のプログラムを示す情報が登録されていない場合(ステップS203 No、
図10の2-1b)、ロード部114は、ロード対象のプログラムが拡張空間に退避されていないと判断する。この場合、ロード部114は、ディスク装置130上のライブラリファイルからロード対象のプログラムをロードする(ステップS204、
図10の2-2b)。
【0058】
以上が、プログラムをロードする際の処理の一例である。
【0059】
このように、情報処理装置100は、退避部112と解放部113とを有している。このような構成により、解放部113は、退避部112により従来空間から拡張空間に削除対象のプログラムを退避させた後に、削除対象のプログラムを従来空間から解放することが出来る。これにより、拡張空間に対応していないプログラムであっても拡張空間を活用することが可能となる。また、その結果として、拡張空間に退避させたプログラムをロードする際に、高速にロードすることが可能となる。また、ディスクへのI/Oを抑制することが可能となり、ジョブの実行性能低下を抑制することが可能となる。
【0060】
また、本実施形態における情報処理装置100は、判別部111を有している。このような構成により、上述した退避部112は、判別部111による判別の結果に応じて、プログラムを拡張空間に退避させることが可能となる。これにより、退避が必要なプログラムのみを効率的に退避させることが可能となる。
【0061】
また、本実施形態における情報処理装置100は、ロード部114を有している。このような構成により、ロード部114は、拡張空間からロードが可能なプログラムを拡張空間からロードすることが出来る。これにより、高速なロードを実現することが出来る。
【0062】
なお、本実施形態において説明した情報処理装置100は、あくまで一例である。情報処理装置100の構成は、本実施形態で説明した場合に限定されない。
【0063】
例えば、本実施形態においては、情報処理装置100がディスク装置130を有するとした。しかしながら、ディスク装置130は、情報処理装置100の外部に有していても構わない。また、本実施形態においてはOS110が各機能を有するとしたが、OS110とは別の機能として、判別部111、退避部112、解放部113、ロード部114のうちの少なくとも一部を実現しても構わない。また、情報処理装置100が有する各構成は、メモリ管理を行うメモリ管理装置として実現されても構わない。
【0064】
[第2の実施形態]
次に、
図13を参照して、本発明の第2の実施形態について説明する。第2の実施形態では、情報処理装置200の構成の概要について説明する。
【0065】
情報処理装置200は、オペレーションシステムが管理する仮想記憶空間が拡張されている。つまり、拡張前の仮想記憶空間である従来空間に拡張された仮想記憶空間である拡張空間が追加されている。
【0066】
図13は、情報処理装置200の構成の一例を示している。
図13を参照すると、情報処理装置200は、退避部210と、解放部220と、を有している。
【0067】
例えば、情報処理装置200は、CPUなどの演算装置と記憶装置とを有している。情報処理装置200は、記憶装置が記憶するプログラムを演算装置が実行することで、上記各処理部を実現する。
【0068】
退避部210は、拡張前の仮想記憶空間である従来空間からプログラムを削除する際、従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる。
【0069】
解放部220は、退避部210による退避の後、従来空間から削除対象のプログラムを解放する。
【0070】
このように、情報処理装置200は、退避部210と解放部220とを有している。このような構成により、解放部220は、退避部210により従来空間から拡張空間に削除対象のプログラムを退避させた後に、削除対象のプログラムを従来空間から解放することが出来る。これにより、拡張空間に対応していないプログラムであっても拡張空間を活用することが可能となる。
【0071】
また、上述した情報処理装置200は、当該情報処理装置200に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置に、拡張前の仮想記憶空間である従来空間からプログラムを削除する際、従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる退避部と、退避部による退避の後、従来空間から削除対象のプログラムを解放する解放部と、を実現するためのプログラムである。
【0072】
また、上述した情報処理装置200により実行される情報処理方法は、オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置により行われる情報処理方法であって、拡張前の仮想記憶空間である従来空間からプログラムを削除する際、従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させ、退避の後、従来空間から削除対象のプログラムを解放する、という方法である。
【0073】
上述した構成を有する、プログラム、又は、情報処理方法、の発明であっても、上記情報処理装置200と同様の作用・効果を有するために、上述した本発明の目的を達成することが出来る。
【0074】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
【0075】
(付記1)
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置であって、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる退避部と、
前記退避部による退避の後、前記従来空間から削除対象のプログラムを解放する解放部と、
を有する
情報処理装置。
(付記2)
付記1に記載の情報処理装置であって、
削除対象のプログラムが前記拡張空間に退避されているか否か確認して、確認した結果に基づいて削除対象のプログラムを前記拡張空間に退避するか否か決定する判別部を有し、
前記退避部は、前記判別部による決定の結果に基づいて、前記拡張空間に削除対象のプログラムを退避させる
情報処理装置。
(付記3)
付記2に記載の情報処理装置であって、
前記判別部は、削除対象のプログラムが前記拡張空間に退避されていない場合、削除対象のプログラムを前記拡張空間に退避すると決定する
情報処理装置。
(付記4)
付記2または付記3に記載の情報処理装置であって、
前記判別部は、削除対象のプログラムが前記拡張空間に退避されている場合、削除対象のプログラムを前記拡張空間に退避しないと決定し、
前記解放部は、前記判別部が前記拡張空間に退避しないと判断したプログラムを前記従来空間から解放する
情報処理装置。
(付記5)
付記2から付記4までのいずれか1項に記載の情報処理装置であって、
前記判別部は、前記拡張空間に退避されているプログラムを示す情報に基づいて、削除対象のプログラムを選択する
情報処理装置。
(付記6)
付記1から付記5までのいずれか1項に記載の情報処理装置であって、
ロード対象のプログラムが前記拡張空間に退避しているか否かに基づいて、ロード対象のプログラムをロードするロード部を有する
情報処理装置。
(付記7)
付記6に記載の情報処理装置であって、
前記ロード部は、ロード対象のプログラムが前記拡張空間に退避している場合、ロード対象のプログラムを前記拡張空間から前記従来空間にロードする
情報処理装置。
(付記8)
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置により行われる情報処理方法であって、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させ、
退避の後、前記従来空間から削除対象のプログラムを解放する
情報処理方法。
(付記9)
付記8に記載の情報処理方法であって、
削除対象のプログラムが前記拡張空間に退避されているか否か確認して、確認した結果に基づいて削除対象のプログラムを前記拡張空間に退避するか否か決定し、
決定の結果に基づいて、前記拡張空間に削除対象のプログラムを退避させる
情報処理方法。
(付記10)
オペレーションシステムが管理する仮想記憶空間が拡張された情報処理装置に、
拡張前の仮想記憶空間である従来空間からプログラムを削除する際、前記従来空間から拡張された仮想記憶空間である拡張空間に削除対象のプログラムを退避させる退避部と、
前記退避部による退避の後、前記従来空間から削除対象のプログラムを解放する解放部と、
を実現するためのプログラム。
【0076】
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
【0077】
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
【符号の説明】
【0078】
100 情報処理装置
110 OS
111 判別部
112 退避部
113 解放部
114 ロード部
115 ページテーブル
116 退避状況管理テーブル
120 主記憶装置
130 ディスク装置
200 情報処理装置
210 退避部
220 解放部