(57)【要約】【課題】主記憶装置の容量の制約が厳しい条件下においてユーザ要求に対して良好な応答性を得る。【解決手段】システムの稼動中に、システムを起動させるために必要な起動プログラムを含む一部のプログラムの除く複数の選択対象プログラムそれぞれの使用頻度を管理する。本実施形態の情報処理装置は、システムの終了処理時に、複数の選択対象プログラムそれぞれの使用頻度をもとにシステム上で利用する１以上の選択対象プログラムを判定し、判定された１以上の選択対象プログラムと起動プログラムとがシステムの起動直後のＲＡＭに記憶されているように不揮発性記憶装置からＲＡＭに必要な選択対象プログラムまたはその一部をロードする。【選択図】図４
2012048427.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置により読み込まれて処理される１以上のプログラムが記憶され、システムの停止中も通電状態が確保されることで記憶内容を保持することが可能な主記憶装置と、
システムを起動させるために必要な起動プログラム、及び起動されたシステム上で利用可能な複数の選択対象プログラムが予め記憶された不揮発性記憶装置と、
前記複数の選択対象プログラムそれぞれの使用頻度を管理する使用頻度管理部と、
前記複数の選択対象プログラムそれぞれの前記使用頻度をもとに１以上の選択対象プログラムを判定し、システムの終了処理時に、少なくとも前記判定された１以上の選択対象プログラムと前記起動プログラムとがシステムの起動時に前記主記憶装置に記憶されているように前記不揮発性記憶装置から前記主記憶装置に必要なプログラムまたはその一部をロードする主記憶構築部と
を具備する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記主記憶構築部は、判定された１以上の選択対象プログラムと前記起動プログラムとがシステムの起動直後の前記主記憶装置に含まれるように前記不揮発性記憶装置から前記主記憶装置に不足分の選択対象プログラムまたは選択対象プログラムの一部をロードする
情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記主記憶構築部は、前記複数の選択対象プログラムそれぞれの前記使用頻度と、予め前記選択対象プログラム毎に設定された前記使用頻度に対する重みとから、前記選択対象プログラム毎のロード優先度を算出し、算出された前記選択対象プログラム毎のロード優先度をもとに、前記システム上で利用する１以上の選択対象プログラムを判定する
情報処理装置
【請求項４】
請求項３に記載の情報処理装置であって、
前記主記憶構築部は、前記判定された１以上の選択対象プログラムと前記起動プログラムとがシステムの起動直後の前記主記憶装置に含まれるように前記不揮発性記憶装置から前記主記憶装置に必要な選択対象プログラムまたはその一部をロードするとともに、前記主記憶装置の空き容量が不足する場合は、前記主記憶装置に既に記憶された選択対象プログラムのうちロード優先度が最も低い選択対象プログラムから優先的に前記主記憶装置から削除する
情報処理装置
【請求項５】
中央処理装置により読み込まれて処理されるプログラムが記憶され、システムの停止中も通電状態が確保されることで記憶内容を保持することが可能な主記憶装置と、
システムを起動させるために必要な起動プログラム、及び起動されたシステム上で利用可能な複数の選択対象プログラムが予め記憶された不揮発性記憶装置と、を具備する情報処理装置の情報処理方法であって、
使用頻度管理部により、前記起動プログラムを含む一部のプログラムの除く複数の選択対象プログラムそれぞれの使用頻度を管理し、
主記憶構築部により、システムの終了処理時に、前記複数の選択対象プログラムそれぞれの前記使用頻度をもとに前記システム上で利用する１以上の選択対象プログラムを判定し、この判定された１以上の選択対象プログラムと前記起動プログラムとがシステムの起動直後の前記主記憶装置に含まれるように前記不揮発性記憶装置から前記主記憶装置に必要な選択対象プログラムまたはその一部をロードする
情報処理方法。
【請求項６】
中央処理装置により読み込まれて処理されるプログラムが記憶され、システムの停止中も通電状態が確保されることで記憶内容を保持することが可能な主記憶装置と、
システムを起動させるために必要な起動プログラム、及び起動されたシステム上で利用可能な複数の選択対象プログラムが予め記憶された不揮発性記憶装置と、を具備する情報処理装置を動作させるプログラムであって、
前記起動プログラムを含む一部のプログラムの除く複数の選択対象プログラムそれぞれの使用頻度を管理する使用頻度管理部と、
システムの終了処理時に、前記複数の選択対象プログラムそれぞれの前記使用頻度をもとに前記システム上で利用する１以上の選択対象プログラムを判定し、この判定された１以上の選択対象プログラムと前記起動プログラムとがシステムの起動直後の前記主記憶装置に含まれるように前記不揮発性記憶装置から前記主記憶装置に必要な選択対象プログラムまたはその一部をロードする主記憶構築部
として前記情報処理装置を動作させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムの停止中も主記憶装置として用いられるＲＡＭに通電状態が確保されることでシステム終了時の主記憶の内容が次回のシステム起動時に引き継がれる情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータなどの情報処理装置において、システムの起動を高速化するための技術として、サスペンド／レジューム機能がある。このサスペンド／レジューム機能は、電源オフ時の作業内容であるメインメモリの内容をハードディスクドライブなどの不揮発性の記憶部を保持し、電源オン時に不揮発性の記憶部からその内容を読み出してメインメモリに書き戻すことによって、電源オフ時の作業内容を復元するという機能である。サスペンド／レジューム機能を有する情報処理装置では、終了操作時に、サスペンド／レジューム機能を有効とするための終了方法と、サスペンド／レジューム機能を無効とした通常の終了方法とのいずれかを選択することが可能とされている。
【０００３】
一方、スマートホンなどの組み込み機器においては、操作の単純化のため、例えば押しボタンスイッチのオン／オフ操作だけでシステムを起動させたり終了させたりするような構成が採用されているものが多い。このように操作部の構成に制約があることで、スマートホンなどの組み込み機器にはサスペンド／レジューム機能が組み込まれないことが普通である。
【０００４】
また、例えば、不揮発性記憶装置から主記憶として用いられる揮発性記憶装置にプログラムをロードして処理を行うシステムにおいては、プログラムのロード時間がシステムの起動時間及びアプリケーションプログラムの起動時間などにそのまま響き、応答性の向上に向けての壁となる。
【０００５】
特許文献１には、プログラムのロードに要する時間を短縮して起動時間の短縮を図るために、システムの終了処理の際、主記憶装置にロードされたプログラムの変数領域のうち値が変更された部分のみをリロードする技術が開示されている。すなわち、プログラムの変数領域の全体をリロードする場合に比較してリロードに要する時間が短縮されて起動時間を短縮することができる、というものである。
【０００６】
また、特許文献２には、不揮発性記憶装置から揮発性記憶装置へロードされたプログラムにおいて使用頻度の高い部分（モジュール）に対する上書きを禁止し、かつ使用頻度の低い部分（モジュール）に対して上書きを許可することで、使用頻度の高い部分が揮発性記憶装置に定常的に残り、ユーザ要求に対する応答時間を短縮できるという技術が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２６６１２２号公報（段落［００７５］等）
【特許文献２】特開２００１−３３７８４２号公報（段落［００１７］−［００２２］等）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、特許文献１では、主記憶装置に決まった種類のプログラム群がロードされることを前提とするものである。すなわち、不揮発性記憶装置に、全体として主記憶装置の容量を超える程度の複数のプログラムが記憶され、その中から適宜ユーザなどにより選択されたプログラムを主記憶装置にロードして使用するといった状況が考慮されていない。本発明は、かかる状況を前提とするものである。
【０００９】
特許文献２では、揮発性記憶装置の容量に制約の厳しい機器において次のような問題が生じる可能性がある。例えば、前述したように、不揮発性記憶装置に、全体として主記憶装置の容量を超える程度の複数のモジュールが記憶され、その中から適宜ユーザにより選択されたモジュールを主記憶装置にロードして使用するといった場合を考える。このような場合、使用頻度の高いモジュールにより主記憶装置の容量が消費されつくすと、使用頻度のあまり高くないモジュールを使用する必要が生じても、そのモジュールを主記憶装置にロードできないため使用することができなくなる。したがって、これに対処するために、モジュールの単位あるいはモジュール全体の上書きの禁止の設定を強制解除するような特別なコマンドを用意するなど、別の操作及び処理が必要となり、揮発性記憶装置の容量に制約の厳しい機器においては十分な応答性が得られない。
【００１０】
以上のような事情に鑑み、本発明の目的は、主記憶装置の容量の制約が厳しい条件下においてユーザ要求に対して良好な応答性を得ることのできる情報処理装置、情報処理方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明の一形態に係る情報処理装置は、中央処理装置により読み込まれて処理される１以上のプログラムが記憶され、システムの停止中も通電状態が確保されることで記憶内容を保持することが可能な主記憶装置と、システムを起動させるために必要な起動プログラム、及び起動されたシステム上で利用可能な複数の選択対象プログラムが予め記憶された不揮発性記憶装置と、前記複数の選択対象プログラムそれぞれの使用頻度を管理する使用頻度管理部と、前記複数の選択対象プログラムそれぞれの前記使用頻度をもとに１以上の選択対象プログラムを判定し、システムの終了処理時に、少なくとも前記判定された１以上の選択対象プログラムと前記起動プログラムとがシステムの起動時に前記主記憶装置に記憶されているように前記不揮発性記憶装置から前記主記憶装置に必要なプログラムまたはその一部をロードする主記憶構築部とを具備する。
【００１２】
本発明では、次回のシステムの起動時には、主記憶装置に起動プログラムとロード優先度の高い１以上の選択対象プログラムが記憶された環境が構築された状態が確保されていることで、システムの起動時に起動プログラムをロードするための時間や使用頻度の高い選択対象プログラムをロードする時間がトータル的に短縮される。よって、主記憶装置の容量の制約が厳しい条件下においてユーザ要求に対して良好な応答性を得ることが可能になる。
【００１３】
前記主記憶構築部は、判定された１以上の選択対象プログラムと前記起動プログラムとがシステムの起動直後の前記主記憶装置に含まれるように前記不揮発性記憶装置から前記主記憶装置に不足分の選択対象プログラムまたは選択対象プログラムの一部をロードするようにしてもよい。
【００１４】
前記主記憶構築部は、前記複数の選択対象プログラムそれぞれの前記使用頻度と、予め前記選択対象プログラム毎に設定された前記使用頻度に対する重みとから、前記選択対象プログラム毎のロード優先度を算出し、算出された前記選択対象プログラム毎のロード優先度をもとに、前記システム上で利用する１以上の選択対象プログラムを判定するようにしてもよい。例えば、比較的主記憶装置の消費容量が大きい選択対象プログラムの使用頻度の重みを低めに設定しておくとともに、比較的主記憶装置の消費容量が小さい選択対象プログラムの使用頻度の重みを高めに設定してことで、主記憶装置の消費容量が大きい選択対象プログラムによって主記憶装置の容量が大きく奪われて他の優先度の比較的に高い選択対象プログラムがロードされないことを回避することができる。すなわち。主記憶装置の容量の利用効率の向上が期待できる。
【００１５】
前記主記憶構築部は、前記判定された１以上の選択対象プログラムと前記起動プログラムとがシステムの起動直後の前記主記憶装置に含まれるように前記不揮発性記憶装置から前記主記憶装置に必要な選択対象プログラムまたはその一部をロードするとともに、前記主記憶装置の空き容量が不足する場合は、前記主記憶装置に既に記憶された選択対象プログラムのうちロード優先度が最も低い選択対象プログラムから優先的に前記主記憶装置から削除するようにしてもよい。
【００１６】
本発明の他の形態に係る情報処理方法は、中央処理装置により読み込まれて処理されるプログラムが記憶され、システムの停止中も通電状態が確保されることで記憶内容を保持することが可能な主記憶装置と、システムを起動させるために必要な起動プログラム、及び起動されたシステム上で利用可能な複数の選択対象プログラムが予め記憶された不揮発性記憶装置と、を具備する情報処理装置の情報処理方法であって、使用頻度管理部により、前記起動プログラムを含む一部のプログラムの除く複数の選択対象プログラムそれぞれの使用頻度を管理し、主記憶構築部により、システムの終了処理時に、前記複数の選択対象プログラムそれぞれの前記使用頻度をもとに前記システム上で利用する１以上の選択対象プログラムを判定し、この判定された１以上の選択対象プログラムと前記起動プログラムとがシステムの起動直後の前記主記憶装置に含まれるように前記不揮発性記憶装置から前記主記憶装置に必要な選択対象プログラムまたはその一部をロードする方法である。
【００１７】
本発明の他の形態に係るプログラムは、中央処理装置により読み込まれて処理されるプログラムが記憶され、システムの停止中も通電状態が確保されることで記憶内容を保持することが可能な主記憶装置と、システムを起動させるために必要な起動プログラム、及び起動されたシステム上で利用可能な複数の選択対象プログラムが予め記憶された不揮発性記憶装置と、を具備する情報処理装置を動作させるプログラムであって、前記起動プログラムを含む一部のプログラムの除く複数の選択対象プログラムそれぞれの使用頻度を管理する使用頻度管理部と、システムの終了処理時に、前記複数の選択対象プログラムそれぞれの前記使用頻度をもとに前記システム上で利用する１以上の選択対象プログラムを判定し、この判定された１以上の選択対象プログラムと前記起動プログラムとがシステムの起動直後の前記主記憶装置に含まれるように前記不揮発性記憶装置から前記主記憶装置に必要な選択対象プログラムまたはその一部をロードする主記憶構築部として前記情報処理装置を動作させるプログラムである。
【発明の効果】
【００１８】
以上説明したように、本発明によれば、主記憶装置の容量の制約が厳しい条件下においてユーザ要求に対して良好な応答性を得ることが可能になる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態に係る情報処理装置のハードウェア構成を示す図である。
【図２】図１の不揮発性記憶装置に記憶されたプログラム群とこれらの呼び出し関係を示す図である。
【図３】本実施形態の情報処理装置において、システムの起動処理から終了処理までの動作を示すフローチャートである。
【図４】システムの起動処理から終了処理までのＲＡＭの記憶内容の変化の様子を示す図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照しながら、本発明の実施形態を説明する。
【００２１】
本実施形態は、電源スイッチがオフとなったシステムの停止中も主記憶装置として用いられるＲＡＭには通電状態が確保されることでシステム終了時の主記憶の内容が次回のシステム起動時に引き継がれる情報処理装置に関するものである。本実施形態の情報処理装置は、システムの稼動中に、システムを起動させるために必要な起動プログラムを含む一部のプログラムの除く複数の選択対象プログラムそれぞれの使用頻度を管理する。本実施形態の情報処理装置は、システムの終了処理時に、複数の選択対象プログラムそれぞれの使用頻度をもとにシステム上で利用する１以上の選択対象プログラムを判定し、判定された１以上の選択対象プログラムと起動プログラムとがシステムの起動直後のＲＡＭに記憶されているように不揮発性記憶装置からＲＡＭに必要なプログラムまたはその一部をロードする。これにより、ＲＡＭの容量の制約が厳しい条件下においてユーザ要求に対して良好な応答性を得ることが可能になる。以下に、より具体的な実施形態を説明する。
【００２２】
＜第１の実施形態＞
図１は、本発明の一実施形態に係る情報処理装置のハードウェア構成を示す図である。
同図に示すように、この情報処理装置１００は、ＣＰＵ１１、主記憶装置であるＲＡＭ１２、不揮発性記憶装置１３、リモコンインタフェース部１４、リモコン受信部１５、電源制御部１６、電源部１７、システムバス１８などを備える。
【００２３】
ＣＰＵ１１（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）は、主記憶装置であるＲＡＭ１２に記憶されたプログラムを読み込み処理を実行する。
【００２４】
主記憶装置であるＲＡＭ１２（Ｒａｎｄｏｍ Ａｃｃｅｓｓ ＭｅｍｏｒＹＥＳ）は、ＣＰＵ１１により読み込まれて処理されるプログラムが記憶され、電源スイッチがオフとなったシステムの停止中も通電状態が確保されることでシステム終了時の主記憶の内容が次回のシステム起動時に引き継がれる常時通電型の揮発性記憶装置である。なお、図１に示されるＲＡＭ１２の記憶内容はシステム起動時のプログラム群である。
【００２５】
不揮発性記憶装置１３は、具体的にはＨＤＤ（Ｈａｒｄ ｄｉｓｋ ｄｒｉｖｅ）、ＳＤＤ（Ｓｏｌｉｄ Ｓｔａｔｅ Ｄｒｉｖｅ）、不揮発性メモリカードなどの比較的容量の大きい（少なくともＲＡＭ１２の容量より大きい。）不揮発性を有する記憶装置である。この不揮発性記憶装置１３には、ＲＡＭ１２にロードされてＣＰＵ１１により処理される複数のプログラムが格納されている。格納されたプログラムの種類については後で説明する。
【００２６】
リモコン受信部１５は、リモートコントローラ２０から光や電磁波などのキャリアに乗って送信されてくるリモード操作信号を受信し、電気的な信号としてリモコンインタフェース部１４に供給する。リモートコントローラ２０はユーザから情報処理装置１００への各種の操作の指示を受け付けて、その指示に対応するリモード操作信号を送信する。リモートコントローラ２０がユーザから受け付けることのできる指示には、例えば、本情報処理装置１００の電源のオン／オフの切り替えの指示なども含まれる。なお、この電源のオン／オフの切り替えの指示は、本情報処理装置１００の本体に設けられたメインスイッチ（図示せず）などによって入力できるようにしてもよい。
【００２７】
電源部１７は、例えば、バッテリ部、商用電源から本情報処理装置１００にて使用される定格電力を生成する電源回路などである。
【００２８】
電源制御部１６は、電源部１７から本情報処理装置１００の各部への電力の供給を制御する。具体的には、ＣＰＵ１１は、電源オンへの切り替えの指示を受けると、電源制御部１６に対して本情報処理装置１００の各部への電力の供給を開始するように指示し、電源オフへの切り替えの指示を受けると、電源制御部１６に対して、少なくともＲＡＭ１２などを除く各部への電力の供給を停止するように指示する。
【００２９】
［不揮発性記憶装置１３に記憶されたプログラム］
次に、不揮発性記憶装置１３に記憶されたプログラムについて説明する。
図２は、不揮発性記憶装置１３に記憶されたプログラム群とこれらの呼び出し関係を示す図である。
不揮発性記憶装置１３には、次の複数のプログラムが格納されている。
【００３０】
１．起動プログラム３１：システムを起動させるために必要なプログラムである。情報処理装置１００ではシステムを起動させるために様々な内部的な処理が実行される。その具体的な処理内容は装置によって様々であるが、例えば、ハードウェア（ＲＡＭ１２を除く）の初期化、カーネルの起動など、起動プログラム３１以外のプログラムの実行環境を整える処理である。起動プログラム３１は使用頻度管理モジュールを呼び出す処理も行う。
【００３１】
２．アプリケーションプログラム３２：ユーザにより選択的に指定されて使用されるプログラム（選択対象プログラムに相当）である。不揮発性記憶装置１３には、複数のアプリケーションプログラム３２が格納されており、ユーザにより選択されると、不揮発性記憶装置１３から読み出されてＲＡＭ１２にロードされる。不揮発性記憶装置１３に格納されるアプリケーションプログラム３２の種類は、情報処理装置１００の製品形態や用途によって様々である。また、外部からユーザが新規に導入したり削除したりすることのできるプログラムである。
【００３２】
３．使用頻度管理モジュール３３：起動プログラム３１によって呼び出され、主に個々のアプリケーションプログラム３２の使用頻度を管理するためのプログラムである（使用頻度管理部に相当）。ここで、使用頻度は、例えば、不揮発性記憶装置１３から読み出されてロードされた回数などである。
【００３３】
４．ロード優先度判定モジュール３４：終了プログラムによって呼び出され、使用頻度管理モジュール３３にて管理された各アプリケーションプログラム３２の使用頻度をもとに、アプリケーションプログラム３２毎のロード優先度を算出するためのプログラムである（主記憶構築部に相当）。
使用頻度からロード優先度を算出する方法としては、例えば、次のようなものがある。
Ａ．単純に使用頻度の値が大きいほど優先度を高くする方法。
Ｂ．アプリケーションプログラム３２毎に使用頻度の重みを設定しておき、重みを加味した使用頻度の値が大きいほど優先度を高くする方法。
などがある。Ｂの方法によれば、例えば、比較的ＲＡＭ１２の消費容量が大きいアプリケーションプログラム３２の使用頻度の重みを低めに設定しておくとともに、比較的ＲＡＭ１２の消費容量が小さいアプリケーションプログラム３２の使用頻度の重みを高めに設定してことで、ＲＡＭ１２の消費容量が大きいアプリケーションプログラム３２によってＲＡＭ１２容量が大きく奪われて他の優先度の比較的に高いアプリケーションプログラム３２がロードされないことを回避することができる。すなわち。ＲＡＭ１２の利用効率の向上が期待できる。
【００３４】
５．ロード制御モジュール３５：終了プログラムによって呼び出され、システム起動時に、ロード優先度判定モジュール３４にて判定されたロード優先度の高いアプリケーションプログラム３２から優先してＲＡＭ１２にロードするためのプログラムである（主記憶構築部に相当）。
【００３５】
６．終了プログラム３６：システムを終了させるために必要なプログラムである。システム終了プログラム３６は、システムの終了の際にロード制御モジュール３５をＲＡＭ１２にロードするためのプログラムである。したがって、ロード制御モジュール３５は、システム起動プログラム３１及びシステム終了プログラム３６と同様に使用頻度管理モジュール３３による管理対象外のプログラムとして扱うことができる。
【００３６】
［システムの起動処理から終了処理］
次に、本実施形態の情報処理装置１００において、システムの起動処理から終了処理までの動作を図３のフローチャートを用いて説明する。
【００３７】
まず、リモートコントローラ２０やメインスイッチなどからシステムの起動の要求がユーザより与えることで、ＣＰＵ１１にシステムの起動要求が入力される。ＣＰＵ１１は、起動要求に従ってシステムの起動処理を開始する（ステップＳ１０１）。すなわち、ＣＰＵ１１は、この起動処理において、起動プログラム３１がＲＡＭ１２にロードされているかどうかを判定する（ステップＳ１０２）。本実施形態では、前回のシステム終了処理において起動プログラム３１がＲＡＭ１２に記憶されているはずであるから（ステップＳ１０２のＹＥＳ）、そのまま起動プログラム３１が実行される（ステップＳ１０４）。しかし、万が一前回のシステム終了処理において起動プログラム３１のロードに失敗して起動プログラム３１がＲＡＭ１２に記憶されていない場合（ステップＳ１０２のＮＯ）、ＣＰＵ１１はシステムの起動時に改めて起動プログラム３１をＲＡＭ１２にロードする（ステップＳ１０３）。
【００３８】
ＣＰＵ１１は、ステップＳ１０４において、起動プログラム３１に基づいてシステムを起動させるために必要な内部的な処理を実行する。さらに、ＣＰＵ１１は、起動プログラム３１に基づいて、使用頻度管理モジュール３３を不揮発性記憶装置１３からＲＡＭ１２にロードする。これにより、使用頻度管理モジュール３３が起動される。
【００３９】
その後、ＣＰＵ１１は、ユーザからの要求を受けると（ステップＳ１０５）、そのユーザからの要求を認識する。ここでユーザからの要求には「アプリケーションプログラムの起動要求」と「システム終了」などがある。そこで「アプリケーションプログラムの起動要求」が発生した場合から先に説明する。
【００４０】
ＣＰＵ１１は、「アプリケーションプログラムの起動要求」を受けると（ステップＳ１０６）、使用頻度管理モジュール３３に基づいて、そのアプリケーションプログラム３２の使用頻度を更新する（ステップＳ１０７）。この後、そのアプリケーションプログラム３２がＲＡＭ１２にロードされているどうかを判定し（ステップＳ１０８）、ロードされていない場合には、そのアプリケーションプログラム３２を不揮発性記憶装置１３からＲＡＭ１２にロードする（ステップＳ１０９）。この後、ＣＰＵ１１はユーザからの要求を待つ状態に戻る。ここで、そのアプリケーションプログラム３２が使用頻度の高いものである場合、前回のシステム終了処理にそのアプリケーションプログラム３２はＲＡＭ１２に記憶されているので、改めてロードは行われることはない。
【００４１】
次に、ステップＳ１０５において、ユーザからの要求が「システム終了」である場合について説明する。
ステップＳ１０５において、ユーザからの要求が「システム終了」であることが判定されると（ステップＳ１１０）、ＣＰＵ１１は、不揮発性記憶装置１３から終了プログラム３６を読み出してＲＡＭ１２にロードし、これを実行する（ステップＳ１１１）。
【００４２】
ＣＰＵ１１は、この終了プログラム３６に従って、ロード優先度判定モジュール３４及びロード制御モジュール３５を不揮発性記憶装置１３からＲＡＭ１２にロードする。そして、ＣＰＵ１１は、ロード優先度判定モジュール３４及びロード制御モジュール３５に従って、システム起動時のＲＡＭ１２の記憶内容として、ユーザ要求に対する応答性の観点から最適な環境を構築するための処理を次のようにして行う。
【００４３】
まずＣＰＵ１１は、ロード制御モジュール３５に従って起動プログラム３１がＲＡＭ１２に全てロード済みであるかどうかを判定する（ステップＳ１１２）。ここで、起動プログラム３１はシステムの起動後は不要なプログラムであることから、システム上での重要度がアプリケーションプログラム３２より下がり、ユーザによって何らかのアプリケーションプログラム３２が呼び出された場合に、ＲＡＭ１２内の空き容量の不足を補う目的で部分的に削除されたり完全に削除されたりする場合がある。このように起動プログラム３１がＲＡＭ１２に全てロードされていない場合、あるいは起動プログラム３１の一部がロードされていない場合、ＣＰＵ１１は、起動プログラム３１またはその不足分を不揮発性記憶装置１３からＲＡＭ１２にロードする（ステップＳ１１３）。起動プログラム３１がＲＡＭ１２に全てロード済みである場合には、改めてロードは行われることはない。
【００４４】
次に、ＣＰＵ１１は、ロード優先度判定モジュール３４に従って、使用頻度管理モジュール３３にて管理されているアプリケーションプログラム３２毎の使用頻度の値を取得し（ステップＳ１１４）、アプリケーションプログラム３２毎のロード優先度を算出する（ステップＳ１１５）。
【００４５】
次に、ＣＰＵ１１は、ロード優先度判定モジュール３４にて判定されたロード優先度の高いものから優先して、そのアプリケーションプログラム３２がＲＡＭ１２にロードされているかどうかを判定する（ステップＳ１１６）。そのアプリケーションプログラム３２がＲＡＭ１２にロードされていない場合（ステップＳ１１６のＮＯ）、ＣＰＵ１１は、ロード制御モジュール３５に従って、不揮発性記憶装置１３からそのアプリケーションプログラム３２をロードする（ステップＳ１１７）。そのアプリケーションプログラム３２がＲＡＭ１２にロードされている場合は（ステップＳ１１６のＹＥＳ）改めてロードは行われることはない。
【００４６】
なお、起動プログラム３１及びロード優先度の高いアプリケーションプログラム３２のＲＡＭ１２へのロードは、ＲＡＭ１２の空き領域が許す範囲で行われる。すなわち、ＲＡＭ１２には、起動プログラム３１を最優先に、続いてロード優先度のより高いアプリケーションプログラム３２より順次優先して１以上のアプリケーションプログラム３２がロードされる。ＲＡＭ１２の空き領域の不足から、起動プログラム３１及びアプリケーションプログラム３２をロードすることができなくなった場合には、ＣＰＵ１１は、起動プログラム３１及びアプリケーションプログラム３２をロードするために必要なＲＡＭ１２の空き領域を確保するために、ロード優先度が低いものから順にＲＡＭ１２からアプリケーションプログラム３２を削除する。
【００４７】
以上のロード制御モジュール３５によって、システム起動時のＲＡＭ１２の記憶内容として、ユーザ要求に対する応答性の観点から最適な環境が構築される。この後、ＣＰＵ１１は、終了プログラム３６に従って、システムを最終的に終了させるための内部的な処理を実行し、もってシステムが終了する。
【００４８】
図４は、以上説明したシステムの起動処理から終了処理までのＲＡＭ１２の記憶内容の変化の様子を示す図である。
【００４９】
図４の（ａ）はシステムの起動直後のＲＡＭ１２の記憶内容、（ｂ）はシステムの稼動中にアプリケーションプログラムがユーザにより呼び出されたことにより変化したＲＡＭ１２の記憶内容、（ｃ）はシステムの終了処理時のＲＡＭ１２の記憶内容の変化その１、（ｄ）はシステムの終了処理時のＲＡＭ１２の記憶内容の変化その２をそれぞれ示している。
【００５０】
図４の（ａ）に示すように、システムの起動直後のＲＡＭ１２には、起動プログラム、アプリケーションプログラムＤ、アプリケーションプログラムＣ、そしてアプリケーションプログラムＢが記憶されているものとする。
【００５１】
図４の（ｂ）に示すように、システムの稼動中にユーザによりアプリケーションプログラムＡが呼び出されたことでＲＡＭ１２にそのアプリケーションプログラムＡがロードされる。但し、アプリケーションプログラムＡのロード直前にはＲＡＭ１２に空き容量が不足していたため、その不足分を補うため、起動プログラムの一部がＲＡＭ１２から削除されている。
【００５２】
図４の（ｃ）に示すように、システムの終了処理では、個々のアプリケーションプログラム毎の使用頻度などに基づくロード優先度が算出され、結果的にアプリケーションプログラムＡ、アプリケーションプログラムＣの順位でロード優先度が高いことが判定されたこととする。この場合、起動プログラムの不足分が不揮発性記憶装置１３からＲＡＭ１２に最優先でロードされるが、その前に起動プログラムの不足分を記憶するための空き領域を確保するために、ＲＡＭ１２内でロード優先度がより低いアプリケーションプログラムＢとアプリケーションプログラムＤが削除される。続いて、ロード優先度の最も高いアプリケーションプログラムＡと次にロード優先度の最も高いアプリケーションプログラムＣはＲＡＭ１２にロードされているので、そのままとされる（図４の（ｄ）参照）。このようにしてシステムの再起動直前のＲＡＭ１２の記憶内容が構築される。
【００５３】
なお、図４の（ｃ）では、ＲＡＭ１２の記憶空間において各プログラムの配置が連続化されているが、このように各プロトコルの配置を連続化する処理は必ずしも行われる必要はない。
【００５４】
以上により、次回のシステムの起動時には、ＲＡＭ１２に起動プログラム３１とロード優先度の高い１以上のアプリケーションプログラム３２が記憶された環境が構築された状態が確保されていることで、システムの起動時に起動プログラム３１をロードするための時間や使用頻度の高いアプリケーションプログラム３２をロードする時間がトータル的に短縮される。すなわち、ＲＡＭ１２の容量の制約が厳しい条件下においても、ユーザ要求に対して要求先のプログラムが処理を開始するまでの応答時間をトータル的に短縮することができる。
【００５５】
なお、本発明は以上説明した実施の形態には限定されるものではなく、本発明の技術思想の範囲内で種々の変形が可能である。
【００５６】
上記の実施形態では、使用頻度管理部を使用頻度管理モジュール３３を用いて実現し、主記憶構築部をロード優先度判定モジュール３４とロード制御モジュール３５とで実現したが、本発明は、このようにソフトウェアにより実現されることに限定されない。使用頻度管理部及び主記憶構築部をそれぞれ専用の論理回路（ハードウェア）を用いて実現することも可能である。
【符号の説明】
【００５７】
１１    ＣＰＵ
１２    ＲＡＭ
１３    不揮発性記憶装置
３１    起動プログラム
３２    アプリケーションプログラム
３３    使用頻度管理モジュール
３４    ロード優先度判定モジュール
３５    ロード制御モジュール
３６    終了プログラム
１００    情報処理装置
【図１】
2012048427.tif 000003
【図２】
2012048427.tif 000004
【図３】
2012048427.tif 000005
【図４】
2012048427.tif 000006