共有ライブラリが動的にリンクされてプログラムが実行される情報処理装置であって、プログラムが使用した共有ライブラリの呼び出し関係を記録する履歴記録手段と、前記履歴記録手段で記録された呼び出し関係を元に代替ライブラリを構成する構成手段と、前記代替ライブラリを前記プログラムが使用するようにリンクを切り替える切り替え手段とを備えることを特徴とする情報処理装置。前記履歴記録手段は、前記プログラムがどのような共有ライブラリを呼び出したかという呼び出し関係を記録することを特徴とする請求項1記載の情報処理装置。前記履歴記録手段は、前記プログラムがどのような共有ライブラリ及びライブラリ関数を呼び出したかという呼び出しに関する履歴情報を記録し、前記履歴情報を参照可能とすることを特徴とする請求項1記載の情報処理装置。前記構成手段は、前記履歴記録手段で記録された共有ライブラリの呼び出し関係から元の共有ライブラリを再構成することを特徴とする請求項1記載の情報処理装置。共有ライブラリが動的にリンクされてプログラムが実行される情報処理方法であって、プログラムが使用した共有ライブラリの呼び出し関係を記録する履歴記録工程と、前記履歴記録工程で記録された呼び出し関係を元に代替ライブラリを構成する構成工程と、前記代替ライブラリを前記プログラムが使用するようにリンクを切り替える切り替え工程とを備えることを特徴とする情報処理方法。請求項5記載の情報処理方法の各工程をコンピュータに実行させるためのプログラム。しなしながら、特許文献1の技術は、共有ライブラリとのリンク関係の解析結果を記録する部分としてもメモリ削減を実現しているものであり、例えばオペレーティングシステムが主記憶装置102の資源を管理する単位のページに関する資源の削減には至らない。本発明はこのような問題点に鑑みなされたもので、情報処理装置上で共有ライブラリを動的にリンクして実行されるプログラムにおける主記憶装置の使用をより効率的に行うことを目的とする。そこで、本発明に係る情報処理装置は、共有ライブラリが動的にリンクされてプログラムが実行される情報処理装置であって、プログラムが使用した共有ライブラリの呼び出し関係を記録する履歴記録手段と、前記履歴記録手段で記録された呼び出し関係を元に代替ライブラリを構成する構成手段と、前記代替ライブラリを前記プログラムが使用するようにリンクを切り替える切り替え手段とを備えることを特徴とする。本発明によれば、情報処理装置上で共有ライブラリを動的にリンクして実行されるプログラムにおける主記憶装置の使用をより効率的に行うことができる。以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。<実施形態1>本実施形態に係る装置の構成について、図1、図2、図3を参照して説明する。図1は、情報処理装置コンピュータ100の構成の一例を示す図である。CPU101は、情報処理装置100全体を制御するCentralProcessingUnitCPUであり、オペレーティングシステムOS220やプログラムA211がCPU101で動作している。主記憶装置102は、プログラムやデータを一時記憶するRandomAccessMemoryRAM等である。二次記憶装置103は、HDD等であり、データやプログラムを記録しておくことができる不揮発性の記憶媒体である。デバイス104は、ネットワーク機器やシリアル通信機器などの情報処理装置100に接続された周辺機器である。バス105は、各ユニットを通信可能に接続するシステムバスである。例えば、本実施形態では、CPU101が、二次記憶装置103に格納されたプログラムの手順に従って処理を行うことによって、情報処理装置100における機能及び後述するフローチャートに係る処理が実現される。図2に、記憶管理方式の構成の一例を示す。プログラムA211は、OS220によって管理され、仮想記憶210がそれぞれ割り当てられ、ユーザユーザプログラムは、仮想記憶210を操作することになる。各プログラムの実データは、MMU221によって仮想記憶210から主記憶装置102のアドレスに変換される。MMU221の機能は、OS220によって実現されることもあるし、CPU101が前記機能を有していることもある。また、OS220は、主記憶装置102を管理しており、主記憶装置102上のデータを二次記憶装置103に退避復帰する機能を有している。これらの機能により、ユーザプログラムは、不連続な物理メモリ断片を連続した仮想メモリとして利用することや、実際の主記憶量よりも多くのアドレスを利用できるなどの利点を得ることができる。本実施形態では、上記のような構成においてユーザプログラムが実行される場合について説明する。図3を参照して、ユーザプログラムの一例であるプログラムA211がライブラリA212aの関数FuncA213aとライブラリB212bの関数FuncB213bを呼び出して使用する場合について説明する。図3は、情報処理装置100の仕組みの一例を示す図である。プログラムA211の実行開始に当たり、ダイナミックリンカローダ以下ではリンカローダ300と呼ぶ。は、基本的には、プログラムA211が必要とするライブラリA212a及びライブラリB212bの後述の疑似ライブラリを探し出す。ただし、初めて使用される場合は、リンカローダ300は、ライブラリA212a及びライブラリB212bを共有ライブラリとして二次記憶装置103より読み出して主記憶装置102にロードする。そして、疑似ライブラリ共有ライブラリは、そのままではプログラムA211から呼び出し不可能な状態であるので、リンカローダ300は、疑似ライブラリ共有ライブラリのアドレス解決を行う。以上により、プログラムA211は、ライブラリA212a及びライブラリB212bに含まれる関数FuncA213a及び関数FuncB213bを呼び出すことが可能となる。関数FuncA213a及び関数FuncB213bについては、更にプログラムA211が実行する時点でシンボルの解決を行うか、該当関数が呼ばれた時に随時可決を行うかなど様々な方法があるが、本実施形態はこのような方法によっては限定されない。以下では、以上のプログラムの実行方法が情報処理装置100で行われるとして、本実施形態について説明する。ここで、共有ライブラリは、様々なプログラムから呼ばれる関数群を提供するため、汎用的になっており、その内部構成は、ライブラリによって様々である。図4に、共有ライブラリを動的にリンク動的リンクして使用する際の一例を示す。あるプログラムA211がライブラリA212aというライブラリを動的リンクして実行されるとする。プログラムA211は、ライブラリA212aの関数FuncA1、FuncA2、FuncANを呼び出している。上記の場合、リンカローダ300は、プログラムA211を実行前に、ライブラリA212aが必要であることを検出し、ライブラリA212aは、二次記憶装置より読み出されて主記憶装置102にロードされる。主記憶装置102にロードされたライブラリA212aは、プログラムA211とのリンク処理がなされ、プログラムA211からライブラリA212aの関数の呼び出しが可能となる。ここで、UNIX登録商標やLinux登録商標のようなOSでは、主記憶装置102の資源をページと呼ばれる単位で管理している。OSは、利用されていないページを破棄し、新たな資源として割り当てることで主記憶装置102の資源の利用効率を高めている。主記憶装置102がOS220の資源管理下にある場合、プログラムAが呼び出す関数FuncA1は、主記憶装置102のページ230の一部に、関数FuncA2及びFuncA3は、ページ231の一部にロード済みであったとする。例えば、ページ230の場合、プログラムA211によって関数FuncA1が呼び出されている間は、OS220によって使用中とみなされ、破棄されることはない。別の視点から見ると、ページ230中に占める関数FuncA1の割合が非常に小さなものである。ページ230のその他の関数等がまったく呼び出されることない場合であってもOS220は、該当ページ230を使用中であるとみなしているため、主記憶装置102からページ230を破棄することはしない。このため、ページ230内の大部分が利用されなくても主記憶装置102の資源を占有しつづけてしまう事態が起こり得る。ページ231に関しても同様であり、FuncA2記述部241、FuncA3記述部242以外は、呼び出されていなければ非効率な資源となる。本実施形態では、図4、図5に示すように、1つのライブラリA212aを動的リンクして1つのプログラムA211が実行される場合を考える。図4は、ライブラリA212aの初回の読み込み時の主記憶装置102の構成の一例を示し、図5は、ライブラリA212aの次回の読み込み時の主記憶装置102の構成の一例を示す。ライブラリA212aの初回の読み込み時は、リンカローダ300、及びOS220によって、図4に示すように主記憶装置102にページごとに読み込まれる。ここで、プログラムA211が必要とするライブラリA212aの関数ライブラリ関数を呼び出したときに実行される関数のシンボル解決において、リンクロード履歴取得部501は、プログラムA211が使用した共有ライブラリの呼び出し関係を取得する。より詳細に説明すると、リンクロード履歴取得部501は、プログラムA211がライブラリA212aのどの関数を呼び出したか、その呼び出し回数が何回であるかをプログラムA211の実行状況より取得する。リンクロード履歴記録部502は、図6に示す呼び出し履歴の一例呼び出し履歴600のように、プログラムA211が開始されてから終了するまでのライブラリA212aの使用履歴履歴情報を記録し、記録された使用履歴を参照可能にする。プログラムA211の終了処理時、図7に示す擬似ライブラリ構成部700は、リンクロード履歴記録部502により、ライブラリ関数で多く呼び出されたものから順に集約されるよう擬似ライブラリ例えば擬似ライブラリA214を作成する。図7に、疑似ライブラリ代替ライブラリの作成方法の一例を示す。擬似ライブラリ構成部700は、ライブラリの内容を解釈し、新たなライブラリとしてリンク、ロードすることができるライブラリの構成が可能な機能を有する。なお、情報処理装置100は、元のライブラリA212aと同様に保存可能なだけの領域を持った二次記憶装置103を有しているとする。擬似ライブラリ構成部700が擬似ライブラリA214を作成した後に、例えばリンクロード履歴記録部502は、次回のプログラムA211が実行されるときは擬似ライブラリA214を読み込むようにリンクロード切り替え部500に知らせる。リンカローダ300は、リンクロード切り替え部500が例えば呼び出し履歴600によりライブラリA212aから擬似ライブラリA214に読み込みを切り替えることを検知する。すなわち、情報処理装置100では、リンカローダ300が擬似ライブラリA214を二次記憶装置103から読み込むように構成される。新たに読み込まれる擬似ライブラリA214は、これまでにプログラムA211によって呼び出されたことがあり、かつ呼び出された回数が多いものから順に集約されるよう構成されている。このため、呼び出された回数の多い関数が同ページに集中し、逆に呼び出し回数の少ない関数も同ページに集中する。ここで、ページ230に関しては、呼び出される回数の多い関数が多く、ページ230の利用頻度は高いので、ページ230は、主記憶装置102に常駐していることが望ましい。一方、呼び出された回数が少ない関数が集約されたページ231では、例えばリンクロード履歴取得部501が呼び出し履歴600を参照する。そして、ページ231内の関数の全てが呼び出し履歴600に記録されたライブラリ関数の呼び出し回数だけ呼び出されたことがわかった時点でページ231が主記憶装置102から開放される。他のプログラムに資源として提供することで、更に主記憶装置102の資源を効率化できる。ライブラリを呼び出す処理の詳細については、図8、図9、図10を参照して説明する。図8は、ライブラリの読み込み処理に係るフローチャートの一例を示す図である。S101では、まずプログラムA211の開始処理が行われ、プログラムA211をOS220上で実行することができるようにする。そして、リンカローダ300は、S102では、プログラムA211が必要とするライブラリ等を検索するリンカローダ処理を行い、S103では、ライブラリA212aの関数の呼び出しであるかを判定する。このとき、リンカローダ300は、ライブラリA212aの関数の呼び出しであると判断した場合、S104の処理を行い、他方、ライブラリA212aの関数の呼び出しでないと判断した場合、S102の処理を行う。リンカローダ300は、プログラムの開始時、又はプログラムの実行中にライブラリA212aの関数の呼び出しがあった場合、S104では、その関数をプログラムA211が使用できるように読み込み、アドレス解決などを行う。これで、共有ライブラリがプログラムA211から呼び出し可能な状態になる。ここでは、プログラムA211がライブラリA212aの関数FuncA1を呼び出しているときを例に挙げて説明する。次に、S105では、リンカローダ300のリンクロード履歴取得部501によって、どのプログラムが、どのライブラリの、どの関数例えば、関数FuncA1を何回例えば、1回呼び出したかを示す情報を取得する。また、リンクロード履歴記録部502は、リンクロード履歴取得部501から通知される情報を呼び出し履歴600に記録する。換言するならば、リンクロード履歴記録部502は、リンクロード履歴取得部501から通知される関数呼び出し回数と、呼び出し履歴600の記録とを照らし合わせ、該当関数の履歴を更新する。S106では、リンカローダ300は、ライブラリ関数のシンボル解決が全て終了したかを判定する。このとき、リンカローダ300は、ライブラリ関数のシンボル解決が全て終了したと判断した場合、読み込み処理を終了し、ライブラリ関数のシンボル解決が全て終了していないと判断した場合、S102の処理を行う。換言するならば、リンカローダ300は、プログラムA211が終了するまでS102からS106までの処理を続ける。図9は、プログラムの終了時に擬似ライブラリ構成部700がライブラリを再構成する再構成処理に係るフローチャートの一例を示す図である。S201では、プログラムA211の終了に係る処理終了処理が行われ、S202では、擬似ライブラリ構成部700は、呼び出し履歴600を参照し、呼び出し履歴600に更新があるかを判定する。このとき、擬似ライブラリ構成部700は、更新があると判断した場合、S203の処理を行い、他方、更新がないと判断した場合、再構成処理を終了する。S203では、擬似ライブラリ構成部700は、この例ではライブラリ関数の呼び出し状況呼び出し履歴600に更新があるので、呼び出し履歴600に記載されたライブラリA212a中で呼び出された実績のある関数をまとめる。この際、擬似ライブラリ構成部700は、呼び出し回数の多い順に擬似ライブラリA214として再構成を行う。再構成が完了した後、S204では、擬似ライブラリ構成部700は、呼び出し履歴600に記録されたライブラリの情報例えば、ライブラリ名をS203で構成した擬似ライブラリA214の情報に書き換え、再構成処理を終了する。続いて、次回2回目以降のプログラムA211の実行手順について説明する。図10は、リンクロード切り替え部500がライブラリをロードするロード処理に係るフローチャートの一例を示す図である。S301では、プログラムA211が開始され、S302では、リンクロード処理が行われる。S303では、リンクロード切り替え部500は、呼び出し履歴600を参照し、呼び出し履歴600にプログラムA211のライブラリの情報が記録されているかを判定する。このとき、リンクロード切り替え部500は、記録されていると判断した場合、S304の処理を行い、他方、記録されていないと判断した場合、S305の処理を行う。この例ではプログラムA211に関するライブラリの情報が記録されている。よって、リンクロード切り替え部500は、S304では、通常のライブラリをロードするのではなく、呼び出し履歴600に記録された擬似ライブラリA214を読み込むように切り替えてロードする。S305では、リンクロード切り替え部500は、呼び出し履歴600に前記履歴が無いので、S305において通常通りのライブラリを読み出す。そして、ロード処理が終了され、プログラムA211の実行が続けられる。なお、呼び出し履歴600は、不揮発情報として残されることが望ましく、本実施形態においては二次記憶装置103の任意の場所に保存されてもよいし、特別な不揮発メモリを用意し、そこに記録してもよいものとする。また、呼び出し履歴600を元にライブラリを再構成する処理に関して、本実施形態では、プログラムA211の終了時としたが、OS220のシステムの終了処理中に行っても構わない。このように、本実施形態では、リンカローダダイナミックリンカによって呼び出されたライブラリの関数の呼び出し実績及びその呼び出し回数が履歴として記録される。また、プログラムの実行の終了時に前記履歴から使用された実績のあるライブラリ関数を呼び出し回数の多いものから順に集約して擬似的なライブラリが再構築される。そして、再構築されたライブラリについて次回の実行時にリンカローダがリンク処理を行う。以上の構成によれば、再構築された擬似的なライブラリは、主記憶装置にライブラリ関数の呼び出しが必ず起こり、且つその呼び出し回数が多い順に同一のページ内に配置されるので、主記憶装置の使用効率をより高めることができる。さらに、集約されたライブラリ関数の呼び出し回数が全て満たされたページを主記憶装置から開放することで、更に主記憶装置の使用効率を高めることができる。<実施形態2>次に、複数のプログラム、例えば図11に示すようにプログラムA211及びプログラムB1101が共有ライブラリを使用して実行される場合について説明する。図11は、主記憶装置102の構成の一例を示す図である。本実施形態では、実施形態1と同一の構成については同一の符号を用いてその説明を適宜省略する。ここで、基本的には、複数のプログラムであってもプログラムごとに処理が行われることに変わりはなく、プログラム間での依存関係などは無いため、以下では、主に図8、図10、図13を参照して本実施形態を説明する。図8のS101からS104まで、S106の処理における各プログラムの実行に必要なライブラリの読み込み処理については実施形態1と同様である。S105においては、各プログラムが、どのライブラリの、どの関数を使用したかという履歴は、プログラムごとに作成されることになるが、これは各プログラムに共通の呼び出し履歴1200に記録される。図12に、呼び出し履歴1200の一例を示す。なお、ここでは、各プログラムの呼び出し回数を呼び出し履歴1200の右端に記載された回数であったと仮定する。図13は、再構成処理に係るフローチャートの一例を示す図である。S1301以降は、OS220の終了処理での説明である。複数のプログラムが動作する場合、各プログラムは、自分以外のプログラムがいつ終了するかどうかということは不明であるので、本実施形態では、全てのプログラムが終了処理を終えているOS220の終了処理時を例に挙げて説明する。ただし、各プログラムが同期をとっており、それぞれの終了が通知される仕組みにおいては、各プログラムの終了時において本処理を実施することは問題ない。S1301では、OSの終了に係る処理が行われ、S1302では、擬似ライブラリ構成部700は、呼び出し履歴1200を参照し、呼び出し履歴1200が更新されているかを判断する。ここで、呼び出し履歴1200からは、ライブラリA212aに関しては各プログラムから関数FuncA1からFuncA5までが呼ばれ、ライブラリB212bに関してはプログラムB1101から関数FuncB1が呼ばれていることがわかる。また、ライブラリA212aの関数が呼び出される回数は、各プログラムを合計すると、関数FuncA5、FuncA1、FuncA2、FuncA3、FuncA4の順に少なくなる。S1303では、擬似ライブラリ構成部700は、呼び出される回数に従って関数をまとめた擬似ライブラリA214及び擬似ライブラリBを構成する。S1304では、擬似ライブラリ構成部700は、呼び出し履歴1200のライブラリAと記録された部分をライブラリAに、ライブラリBと記録された部分をライブラリBに書き換え、再構成処理を終了する。図15に、呼び出し履歴1200が書き換えられた呼び出し履歴1500の一例を示す。そして、各プログラムの次回の実行時、図10のS303においてリンクロード切り替え部500は、更新された呼び出し履歴1500を参照する。S304では、リンクロード切り替え部500は、擬似ライブラリA214、擬似ライブラリB215を読み込むように切り替える。図14に、各プログラムの次回の実行時における主記憶装置102の構成の一例を示す。上述した構成によれば、複数のプログラムが共有ライブラリを使用して実行される場合であっても、例えば主記憶装置の使用効率を高めることができる。<実施形態3>実施形態3では、例えば図16で示されるように、更に新たにプログラムC1600が実行される場合について、主に図17から図19までを用いて説明する。図16は、主記憶装置102の構成の一例を示す図である。本実施形態では、実施形態1、実施形態2と同一の構成については同一の符号を用いてその説明を適宜省略する。ここで、プログラムC1600がどのようなライブラリ、又はライブラリ関数を使用するかによって処理が異なるので、それぞれの場合について説明する。なお、プログラムA211、及びプログラムB1101を実行する手順は、実施形態2と同様であるため説明は省略する。ケースAはじめに、プログラムC1600が必要とするライブラリ関数が擬似ライブラリA214又は擬似ライブラリB215に含まれている場合ケースAについて説明する。図17は、ライブラリの読み込み処理に係るフローチャートの一例を示す図である。S1701では、プログラムC1600が開始され、S1702では、プログラムC1600が必要とするライブラリとその関数が検索される。そして、リンクロード切り替え部500は、呼び出し履歴1500を参照しS1703、プログラムA211及びプログラムB1101の呼び出し履歴とヒットしないかを判定するS1704。ケースAでは、プログラムC1600は、擬似ライブラリA又は擬似ライブラリBに含まれる関数を呼び出すとしたので、ここではすべて呼び出し履歴1500とヒットする。すなわち、S1705の処理が行われ、S1705では、リンクロード履歴記録部502は、呼び出し履歴1500にプログラムC1600の呼び出し履歴を追加記録し、更新された呼び出し履歴1800とする。図18に、呼び出し履歴1800の一例を示す。S1706では、リンクロード切り替え部500は、ライブラリを読み出し、プログラムC1600が使用できるように処理を行う。ケースB次に、プログラムC1600が使用するライブラリのうちの一部、又はその全てがプログラムA、プログラムBでは呼び出されたことのないライブラリ関数であった場合ケースBについて説明する。S1703では、呼び出し履歴が参照されるが、例えばS1704で一致する関数がないと判断するので、S1708の処理が行われる。S1708では、プログラムC1600が必要とする新たなライブラリ例えばライブラリCを読み込み、使用可能になるよう処理する。続いて、S1709では、呼び出し履歴1500に使用したライブラリ名とシンボル名及び関数の呼び出し回数を記録する。そして、図19に示す再構成処理において、OS220の終了処理S1901が行われ、擬似ライブラリ構成部700は、新たに擬似ライブラリへの再構成が必要であるか否かを検証するS1902、S1903。ここでは、例えば、プログラムC1600が新たなライブラリ関数を呼び出していなければ擬似ライブラリ再構成の必要は無く、直ちに再構成処理を終了する。S1904、S1905では、擬似ライブラリ構成部700は、実施形態1及び実施形態2と同様に擬似ライブラリを作成し、擬似ライブラリをプログラムCが使用するように呼び出し履歴1800を更新する。なお、次回以降のプログラムの実行方法は、実施形態1、実施形態2と同様である。上述した構成によれば、新たにプログラムが実行される場合であっても、例えば主記憶装置の使用効率を高めることができる。<実施形態4>実施形態4では、例えばエラー処理のような通常では行われない、例外的に実行される部分でライブラリ関数が呼び出されるような場合について図20を参照して説明する。図20は、主記憶装置102の構成の一例を示す図である。本実施形態では、実施形態1~実施形態3と同一の構成については同一の符号を用いてその説明を適宜省略する。エラー処理のような例外処理は、通常、情報処理装置100上で実行されないことが多い。よって、実施形態1から実施形態3までで述べた擬似ライブラリには、上記例外処理内で呼び出されるライブラリ関数を含んでいないことが考えられる。以上のような場合については、図19に示すように、呼び出し履歴に記載されていないライブラリ関数関数FuncAYも擬似ライブラリA214の後方に位置するよう構成する。なお、本実施形態では、関数FuncAYに関する情報については、呼び出し履歴1800には記録しない。以上の構成によれば、仮に関数FuncAYが呼び出された場合、必要に応じてライブラリの関数FuncAYは、主記憶装置102に読み込まれ実行されるようになる。ここで、関数FuncAYは、例外的に実行される関数であるので、一度実行された後はすぐに関数FuncAYが占有する主記憶装置102のページ部分を開放してもよいし、一定時間が経過した後に開放処理を行ってもよい。また、関数FuncAYの呼び出し履歴は、例外的な呼び出しであるのでリンクロード履歴記録部502が記録しなくてもよい。また、一旦記録してから一定時間呼ばれなかったらリンクロード履歴記録部502が呼び出し履歴から削除してもよい。上述した構成によれば、例外的に実行される部分でライブラリ関数が呼び出されるような場合であっても、例えば主記憶装置の使用効率を高めることができる。なお、本発明はコンピュータ内のプログラムによっても実現できることは当然である。上述した構成によれば、プログラムが使用する主記憶装置の容量を削減することができる。また、上述した実施形態によれば、前回に使用したライブラリ関数の状況に応じて構成された代替ライブラリに使用を切り替えることで、プログラムの主記憶装置の使用を効率化することができる。すなわち、情報処理装置上で共有ライブラリを動的リンクして実行されるプログラムの主記憶装置の使用効率を高めることができ、主記憶装置の使用資源の削減が可能となる。<その他の実施形態>本実施形態は、上述した構成に限られるものではない。例えば、擬似ライブラリ構成部700は、必要に応じて、記録された共有ライブラリの呼び出し関係から元の共有ライブラリを再構成してもよい。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ又はCPUやMPU等がプログラムを読み出して実行する処理である。上述した実施形態の構成によれば、情報処理装置上で共有ライブラリを動的にリンクして実行されるプログラムにおける主記憶装置の使用をより効率的に行うことができる。以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形変更が可能である。