説明

情報処理装置および再起動方法

【課題】システムの終了処理および次回の起動処理からなる再起動処理に要する時間を短縮することができる情報処理装置およびこの情報処理装置の再起動方法を提供する。
【解決手段】本発明に係る情報処理装置10は、CPU11、主記憶装置としてのRAM12、不揮発性の記憶装置としてのHDD13、給電制御部15、などを有し、給電制御部15によりRAM12に対して常時給電可能に構成される。CPU11は、終了処理の際に、RAM12にロードされたプログラムの値が変更された部分のみをリロードすることにより、終了処理および次回の起動処理からなる再起動処理に要する時間をより短縮する処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システムの再起動に要する時間を短縮可能な情報処理装置およびこの情報処理装置の再起動方法に関する。
【背景技術】
【0002】
テレビジョン受像機をはじめとする組み込みシステムやパーソナルコンピュータをはじめとする汎用システムなどの情報処理装置は、近年、プログラムの複雑化に伴い、システムの再起動に要する時間(再起動時間)が長くなる傾向にある。
【0003】
これは、RAMにロード(転送)されたプログラムにシステム稼働中に変更された部分が生じている場合があることから、システムの再起動時にはプログラムをRAMに再度ロード(リロード)する必要があるためである。一般に、RAMにロードされたプログラムのうち、変数を格納するデータセクションなどの変数領域は、システム稼働中に変更されることが多い。一方、プログラムのうち機械語の部分を格納するテキストセクション(テキスト領域)は、通常のシステム稼働中には変更されない。
【0004】
従来、この種のシステムの再起動時間を短縮する技術に、特開平3−67349号公報(特許文献1)に開示されたものがある。
【0005】
この特許文献1に開示されたプログラムローディング方式は、RAMに対して電力を供給したままシステムを再起動する際の再起動時間を短縮するプログラムローディング方式であって、システム再起動時にRAMにプログラムをリロードする際にプログラムのテキスト領域はリロードせずにプログラムの変数領域のみをリロードする。このため、このプログラムローディング方式によれば、プログラム全体をリロードする場合に比べ、システムの再起動時間を短縮することができるようになっている。
【特許文献1】特開平3−67349号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
従来の技術は、システムの再起動時にプログラムの変数領域全体をリロードするようになっている。このため、従来の技術では、変数領域のうち前回のロード時から変更がない部分についてもリロードする必要がある。したがって、従来の技術はプログラムのリロードに要する時間に無駄がある。
【0007】
本発明は、上述した事情を考慮してなされたもので、システムの終了処理および次回の起動処理からなる再起動処理に要する時間を短縮することができる情報処理装置およびこの情報処理装置の再起動方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る情報処理装置は、上述した課題を解決するために、プログラムを記憶した不揮発性の記憶装置と、前記不揮発性の記憶装置から転送された前記プログラムを所要の物理アドレスに一時的に記憶する揮発性の主記憶装置と、前記主記憶装置に対してシステムが終了された際を含め常に給電を行う給電制御手段と、前記主記憶装置の所要の領域に格納され、前記プログラムのうち少なくとも前記プログラムが実行されると値が変更されうる領域である変数領域について、前記変数領域に対応する前記物理アドレスのそれぞれと前記値が変更されたか否かの情報とを関連付けて記憶する変更履歴テーブルと、前記システムの終了処理および前記システムの次回起動処理からなる再起動処理が実行される際に前記不揮発性の記憶装置から前記主記憶装置に対してプログラムが転送されるにあたり、前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送するリロード処理手段と、を備えたことを特徴とするものである。
【0009】
一方、本発明に係る再起動方法は、上述した課題を解決するために、不揮発性の記憶装置に記憶されたプログラムを転送されてこのプログラムを一時的に記憶する主記憶装置に対しシステムが終了された際を含め常に給電を行うよう構成された情報処理装置の再起動方法であって、前記不揮発性の記憶装置から転送された前記プログラムを揮発性の主記憶装置の所要の物理アドレスに一時的に記憶させるステップと、前記プログラムのうち少なくとも前記プログラムが実行されると値が変更されうる領域である変数領域について、前記変数領域に対応する前記物理アドレスのそれぞれと前記値が変更されたか否かの情報とを関連付けた変更履歴テーブルを、前記主記憶装置の所要の領域に記憶させるステップと、前記システムの終了処理および前記システムの次回起動処理からなる再起動処理が実行される際に前記不揮発性の記憶装置から前記主記憶装置に対してプログラムが転送されるにあたり、前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送するステップと、を有することを特徴とする方法である。
【発明の効果】
【0010】
本発明に係る情報処理装置およびこの装置の再起動方法によれば、システムの終了処理および次回の起動処理からなる再起動処理に要する時間を短縮することができる。
【発明を実施するための最良の形態】
【0011】
本発明に係る情報処理装置およびこの装置の再起動方法の実施の形態について、添付図面を参照して説明する。
【0012】
図1は、本発明に係る情報処理装置の第1実施形態を示す概略的な全体構成図である。
【0013】
本発明は、揮発性の主記憶装置に対して常時給電可能に構成された情報処理装置に対して適用することができ、たとえばテレビジョン受像機をはじめとする組み込みシステムやパーソナルコンピュータをはじめとする汎用システムなどを用いることができる。以下の説明では、本発明に係る情報処理装置として、少なくとも揮発性の主記憶装置に対して常時給電可能に構成されたテレビジョン受像機を用いる場合の一例について示す。
【0014】
図1に示すように、情報処理装置10は、CPU11、主記憶装置としてのRAM12、不揮発性の記憶装置としてのHDD13、BIOS14a(Basic Input Output System)を記憶したフラッシュメモリ14、給電制御部15、キー入力部16、リモコン受信部17、放送信号処理部20、表示部18および音声出力部19を有する。
【0015】
この情報処理装置10は、給電制御部15により少なくともRAM12およびリモコン受信部17に対して常時給電可能に構成される。
【0016】
CPU11は、フラッシュメモリ14内に記憶されたBIOS14aおよびHDD13内に記憶されたプログラム群13a(OS(Operating System)を含む)に従って、情報処理装置10の動作を制御するとともに、システムの再起動に要する時間(再起動時間)を短縮する処理を実行する。
【0017】
なお、以下の説明では、「電源オフ状態」とは、RAM12およびリモコン受信部17を除く各種デバイスに対する給電が停止した状態をいうものとする。
【0018】
また、「起動処理」とは、電源オフ状態にある情報処理装置10に対し各種デバイスに対する給電を開始した(起動開始)時点から、OSを含むプログラム群13aがRAM12へ転送されてプログラム群13aが実行可能となる(起動完了)までに実行される処理をいうものとする。
【0019】
また、「終了処理」とは、システムの定常稼働中にある情報処理装置10が電源オフ要求を受付けた(終了開始)時点から電源オフ状態に移行した(終了完了)時点までに実行される処理をいうものとする。
【0020】
さらに、「再起動処理」とは、終了処理およびこの終了処理後の次回起動処理をあわせた処理をいうものとする。また、「再起動時間」とは、終了処理に要する時間と次回起動処理に要する時間とを加えた時間をいうものとする。ここで、終了処理から次回起動処理まで(終了完了から次回起動開始まで)の時間は任意の長さであり、たとえば24時間以上であっても構わないことに注意する。
【0021】
本実施形態に係る情報処理装置10は、この再起動処理に要する時間(再起動時間)を短縮可能に構成される。
【0022】
主記憶装置としてのRAM12は、CPU11が実行するプログラムおよびデータを一時的に格納するワークエリアを提供する。また、RAM12の所要のワークエリアには、CPU11により変更履歴テーブルとしてのビットマップ12aが格納される。RAM12は、給電制御部15により電源オフ状態を含め常に給電される。
【0023】
不揮発性の記憶装置としてのHDD13は、少なくともOSを含むプログラム群13aを記憶しておく。また、フラッシュメモリ14は、少なくともBIOS14aを記憶しておく。
【0024】
給電制御部15は、図示しない商用電源から電力を供給され、情報処理装置10の各種デバイスに対する給電を制御する。たとえば、給電制御部15は、電源オフ状態では少なくともRAM12およびリモコン受信部17に対して電力を供給する。
【0025】
キー入力部16は、電源ボタンを含むハードキーにより構成され、ユーザの操作に対応した操作入力信号をCPU11に出力する。
【0026】
リモコン受信部17は、ユーザの操作に対応した信号をリモコン17aから受信し、受信した信号に応じた出力をCPU11に与える。リモコン受信部17は、給電制御部15により電源オフ状態を含め常に給電される。この結果、ユーザは、電源オフ状態にある情報処理装置10に対し、リモコン17aを介してシステムを起動するべき旨の指示を与えることができる。
【0027】
放送信号処理部20は、デジタルチューナやMPEG−2デコーダなどを有し、デジタル放送情報1を受信して、このデジタル放送情報1に含まれる番組の映像データ、音声データおよびその他のデータ(PSI/SIデータなど)を分離する。そして、放送信号処理部20は、映像データをLCDやPDPなどにより構成される表示部18に与えてデジタル放送情報1に含まれる映像を表示部18を介して出力させ、音声データを音声出力部19(スピーカ)に与えてデジタル放送情報1に含まれる音声を音声出力部19を介して出力させ、その他のデータをCPU11に与えてその他のデータに含まれる番組情報などの情報をHDD13に記憶させる。
【0028】
図2は、図1に示すCPU11の機能実現部の構成例を示す概略的なブロック図である。なお、この機能実現部の一部または全部は、ハードウエアロジックによって構成されてもよい。
【0029】
CPU11は、初期設定部21、変換テーブルとしてのTLB22(Translation Lookaside Buffer)および例外判定部23を有する。また、CPU11は、BIOS14aおよびOSに従って、ロード判定部31、プログラム転送部32、bitmap設定部33、リロード処理部34、属性設定部35、例外処理部36および終了判定部37として機能する。この各部31〜37は、RAM12の所要のワークエリアを、データの一時的な格納場所として利用する。
【0030】
初期設定部21は、各種デバイスの動作テストなどの一般的な初期設定処理を実行する。
【0031】
例外判定部23は、書込み違反(Write Fault)が発生したかどうか、すなわち、読み取り専用の物理アドレスに対して書込み要求が発生したかどうかを判定する。
【0032】
ロード判定部31は、RAM12のロード済みフラグを検索し、RAM12にプログラム群13aがロードされているかどうかを判定する機能を有する。
【0033】
このロード済みフラグは、たとえば終了判定部37によりシステムの終了要求があったと判定されるとRAM12の所要のワークエリアに設定されるようにするとよい。本発明に係る情報処理装置10は、給電制御部15に対する商用電源からの電力供給が停止(以下、停電という)しない限りRAM12は給電されている。このため、RAM12にロードされたプログラムは、停電しない限りRAM12上から消えることはない。また、給電制御部15に対する商用電源からの電力供給開始(たとえばコンセントを接続するなど)した後最初のシステム起動開始からシステム終了前までには、RAM12にはプログラム群13aがロードされていると考えられる。
【0034】
本実施形態では、ロード済みフラグは、終了判定部37によりシステムの終了要求があったと判定されるとRAM12の所要のワークエリアに設定される場合の例について説明する。
【0035】
プログラム転送部32は、HDD13からRAM12にOSを含むプログラム群13aをロードする機能を有する。このとき、変換テーブルとしてのTLB22には、RAM12にロードされたプログラム群13aの物理アドレスと論理アドレスとが関連付けられて記憶される。
【0036】
図3は、ビットマップ12aとRAM12にロードされたプログラムの変数領域とが一対一に対応する様子を示す説明図である。
【0037】
bitmap設定部33は、RAM12の所要のワークエリアに変更履歴テーブルとしてのビットマップ12aを作成する機能を有する。このビットマップ12aを構成する各ビットは、図3に示すように、RAM12にロードされたプログラムの変数領域の各ページ(4KByte単位)と一対一に対応するように作成される。TLB22が記憶する物理アドレスは、RAM12上の各ページを指し示すために用いられる指標である。ビットマップ12aは、変数領域のうち変更されたページをリロード処理部34が特定するために用いられる。
【0038】
ここで、プログラムの変数領域について説明する。
【0039】
プログラムは、テキストセクション、データセクション、BSS(Block Started by Symbol)セクションなどの複数のセクションによって構成され、セクションごとにRAM12に配置される。
【0040】
テキストセクションは、プログラムのうち機械語の部分を格納するセクションである。
【0041】
データセクションは、プログラムのうち初期値を持つ変数を格納するセクションである。また、BSSセクションは、プログラムのうち初期値を持たない変数を格納するセクションである。
【0042】
テキストセクションは、一般に、システム稼働中には変更されない。一方、データセクションおよびBSSセクションの一部または全部はシステム稼働中に変更されることが多い。以下の説明では、RAM12にロードされたプログラムのうち、システム稼働中に値が変更される場合がある領域(たとえばデータセクションおよびBSSセクション)を変数領域と総称する。
【0043】
リロード処理部34は、ビットマップ12aを参照し、RAM12にロードされているプログラムの変数領域のうち、値が変更された物理アドレスに対応する部分のみをHDD13からリロード(再転送)する機能を有する。
【0044】
属性設定部35は、属性設定部35は、変数領域に対応する物理アドレスの属性を読み取り専用に設定し、この属性を物理アドレスに対してさらに関連付けてTLB22に記憶させる機能を有する。属性設定部35に制御されて、TLB22は、物理アドレスと論理アドレスと属性とを互いに関連付けて記憶することになる。
【0045】
図4は、例外処理部36によりビットマップ12aが変更される様子を示す説明図である。図4において、ハッチングが施された部分は値の変更があった部分を示す。
【0046】
例外処理部36(エクセプションハンドラー)は、ビットマップ12aに対して書込み要求があった物理アドレスに対応する値が変更された旨の情報を記憶させる機能を有す機能を有する。具体的には、例外処理部36は、変数領域に対する書込み要求があった旨の情報を例外判定部23から受けると、書込み要求があった物理アドレスに対応するビットマップ12aのビットを1に変更する。
【0047】
また、例外処理部36は、TLB22に対して書込み要求があった物理アドレスの属性を書込み可能に変更して記憶させる機能を有する。
【0048】
終了判定部37は、キー入力部16またはリモコン受信部17を介してユーザの指示を受け、または設定されたタイマ時刻の到来などにより、システム終了要求があったかどうか判定する機能を有する。また、終了判定部37は、既にRAM12にプログラム群13aがロードされている旨を示すロード済みフラグを、RAM12の所要のワークエリアに設定する機能を有する。
【0049】
次に、本実施形態に係る情報処理装置10の動作の一例について説明する。
【0050】
図5は、終了処理の際にプログラム群13aのうち値が変更された部分だけを再転送することにより再起動時間を短縮するための手順を示す手順を示すフローチャートである。図5において、Sに数字を付した符号は、フローチャートの各ステップを示す。なお、「値が変更された部分」とは、RAM12上のプログラムのうちHDD13に記憶されているプログラムと異なる部分をいう。
【0051】
この手順は、電源オフ状態にある情報処理装置10に対し、キー入力部16またはリモコン受信部17を介してユーザの指示を受け、または設定されたタイマ時刻の到来などにより、システム起動要求があり、給電制御部15が各種デバイスに対する給電を開始した(起動開始)時点でスタートとなる。
【0052】
まず、ステップS1において、初期設定部21は、各種デバイスの動作テストなどの一般的な初期設定処理を実行する。
【0053】
次に、ステップS2において、ロード判定部31は、RAM12のロード済みフラグを検索し、RAM12にプログラム群13aがロードされているかどうかを判定する。RAM12にプログラム群13aがロードされていない場合は、RAM12にOSを含むプログラム群13aをロードするためステップS3に進む。一方、ロードされている場合は、RAM12にプログラムをロードする必要がないため、ステップS5に進む。
【0054】
次に、ステップS3において、プログラム転送部32は、HDD13からRAM12へOSを含むプログラム群13aをロードする。このとき、TLB22には、RAM12にロードされたプログラム群13aの物理アドレスと論理アドレスとが関連付けられて記憶される。
【0055】
次に、ステップS4において、bitmap設定部33は、RAM12にロードされたプログラムの変数領域の各ページと一対一に対応するように、RAM12の所要のワークエリアにビットマップ12aを作成する。
【0056】
次に、ステップS5において、bitmap設定部33は、RAM12の所要のワークエリアに格納されたビットマップ12aをクリア(全てゼロに)する。
【0057】
次に、ステップS6において、属性設定部35は、変数領域に対応する物理アドレスの属性を読み取り専用に設定し、この属性を物理アドレスに対してさらに関連付けてTLB22に記憶させる。この結果、TLB22は、物理アドレスと論理アドレスと属性とを互いに関連付けて記憶することになる。
【0058】
本実施形態では、以上のS6までを起動処理というものとする。ステップS6の実行後、システムの定常稼動状態に移行する。
【0059】
次に、ステップS7において、所要のプログラムが実行される。
【0060】
次に、ステップS8において、例外判定部23は、書込み違反(Write Fault)が発生したかどうか、すなわち、変数領域に対応する物理アドレスに対して書込み要求が発生したかどうかを判定する。変数領域に対応する物理アドレスに対して書込み要求が発生した場合、ステップS9に進む。一方、書込み違反(Write Fault)が発生しない場合はステップS12に進む。
【0061】
次に、ステップS9において、例外処理部36は、書込み要求があった物理アドレスに対応するビットマップ12aのビットを1に変更する(図4参照)。
【0062】
次に、ステップS10において、例外処理部36は、TLB22に対して書込み要求があった物理アドレスの属性を書込み可能に変更して記憶させる。この結果、再び同一の物理アドレスに対する書込み要求があっても、書込み違反(Write Fault)は発生しない。
【0063】
次に、ステップS11において、ステップS8で書込み要求を行ったプログラムは、再び同一のアドレスに対する書込み要求を行う。このとき、この物理アドレスの属性は書込み可能に変更されているため、プログラムは書込み違反(Write Fault)を発生させることなくこの物理アドレスの値を変更することができる。
【0064】
次に、ステップS12において、終了判定部37は、キー入力部16またはリモコン受信部17を介してユーザの指示を受け、または設定されたタイマ時刻の到来などにより、システム終了要求があったかどうか判定する。システム終了要求があった場合はステップS13に進み、終了処理が開始される。一方、システム終了要求がない場合は、ステップS8に戻る。
【0065】
次に、ステップS13において、終了判定部37は、既にRAM12にプログラム群13aがロードされている旨を示すロード済みフラグを、RAM12の所要のワークエリアに設定する。このロード済みフラグは、次回起動処理時のステップS2において、ロード判定部31によって利用される。
【0066】
次に、ステップS14において、リロード処理部34は、ビットマップ12aを参照し、RAM12にロードされているプログラムの変数領域のうち、値が変更された物理アドレスに対応する部分のみをHDD13からリロード(再転送)する。この値が変更された物理アドレスに対応する部分のみをHDD13からリロードする処理(以下、部分リロード処理という)は、プログラムの変数領域を全てリロードする場合に比べ、短時間ですむ。この結果、変数領域を含め、HDD13に記憶されているプログラムと全く同一のプログラムが既にRAM12にロードされていることになる。このため、次回の起動処理では、HDD13からRAM12へプログラムをロードする必要が全くない。
【0067】
次に、ステップS15において、給電制御部15は、RAM12およびリモコン受信部17を除く各種デバイスに対する給電を停止して終了処理を完了し、一連の手順は終了となる。
【0068】
以上の手順により、終了処理の際にプログラム群13aのうち値が変更された部分だけを再転送することにより、再起動時間を短縮することができる。
【0069】
続いて、部分リロード処理を実行する際の手順について説明する。
【0070】
図6は、図5のステップS14でCPU11のリロード処理部34により実行される部分リロード処理の手順を示すサブルーチンフローチャートである。図6において、Sに数字を付した符号は、フローチャートの各ステップを示す。
【0071】
ステップS141において、リロード処理部34は、ビットマップ12aの各ビットを順次参照し、ビットの値が1であるかどうか(書込み要求があった物理アドレスに対応するビットであるかどうか)を判定する。ビットの値が1であると、このビットに対応する物理アドレスに格納された部分に変更があるため、この部分をHDD13に記憶されている部分と一致させるためにリロードすべくステップS142に進む。一方、ビットの値が0であると、このビットに対応する物理アドレスに格納されている部分には変更がなくリロードの必要がないためステップS143に進む。
【0072】
次に、ステップS142において、リロード処理部34は、このビットに対応する物理アドレスの部分をHDD13からRAM12へリロードする。この結果、この部分はHDD13とRAM12で一致したものになる。
【0073】
次に、ステップS143において、リロード処理部34は、部分リロード処理が完了したかどうか(ビットマップ12aの全てのビットに対してステップS141を実行したかどうか)を判定する。この判定は、ビットマップ12aの先頭のビットから最後のビットに向かって順次部分リロード処理を行う場合は、現在のビットが最後のビットであるか否かで判定することができる。部分リロード処理が完了した場合は、ステップS15に進む。一方、完了していない場合はステップS141に戻り、次のビットについてステップS141からの手順を繰り返す。
【0074】
以上の手順によって部分リロード処理を実行することができる。
【0075】
本実施形態に係る情報処理装置10は、RAM12に対して常時給電可能に構成された情報処理装置10であって、終了処理の際に、RAM12にロードされたプログラムの変数領域のうち値が変更された部分のみをリロードする。このため、リロード領域を最小限にすることができ、従来の変数領域を全てリロードする技術に比べ、リロードに要する時間を短縮することができる。したがって、本実施形態に係る情報処理装置10によれば、従来の技術に比べ、終了処理および次回の起動処理からなる再起動処理に要する時間をより短縮することができる。
【0076】
次に、本発明に係る情報処理装置の第2実施形態について説明する。
【0077】
図7は、第2実施形態に係るCPU11の機能実現部の構成例を示す概略的なブロック図である。なお、この機能実現部の一部または全部は、ハードウエアロジックによって構成されてもよい。
【0078】
この第2実施形態に示す情報処理装置10Aは、部分リロード処理を終了処理の際には行わず、起動処理の際に行う点で第1実施形態に示す情報処理装置10と異なる。他の構成および作用については図1に示す情報処理装置10と実質的に異ならないため、同じ構成には同一符号を付して説明を省略する。
【0079】
次に、第2実施形態に係る情報処理装置10Aの動作の一例について説明する。
【0080】
図8は、起動処理の際にプログラム群13aのうち値が変更された部分だけを再転送することにより再起動時間を短縮するための手順を示す手順を示すフローチャートである。図8において、Sに数字を付した符号は、フローチャートの各ステップを示す。図5と同等のステップには同一符号を付し、重複する説明を省略する。
【0081】
ステップS2でRAM12にプログラム群13aがロードされていると判定された場合、ステップS21において、リロード処理部34は、図5のステップS14と同様に、ビットマップ12aを参照して部分リロード処理を実行する(図6参照)。
【0082】
また、ステップS13で終了判定部37によりロード済みフラグが設定された後、プログラムのリロードは全く行われず、ステップS15に移行して終了処理が完了する。この結果、終了処理を経たRAM12には、部分的に値が変更されたプログラムがロードされたままとなる。この値が変更されている部分は、次回の起動処理においてステップS21で部分リロードされる。
【0083】
本実施形態に係る情報処理装置10Aは、RAM12に対して常時給電可能に構成された情報処理装置10Aであって、起動処理の際に、RAM12にロードされたプログラムの変数領域のうち値が変更された部分のみをリロードする。このため、本実施形態にかかる情報処理装置10Aによっても、リロード領域を最小限にすることができ、従来の技術に比べ、終了処理および次回の起動処理からなる再起動処理に要する時間をより短縮することができる。
【0084】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【0085】
また、本発明の実施形態では、フローチャートの各ステップは、記載された順序に沿って時系列的に行われる処理の例を示したが、必ずしも時系列的に処理されなくとも、並列的あるいは個別実行される処理をも含むものである。
【図面の簡単な説明】
【0086】
【図1】本発明に係る情報処理装置の第1実施形態を示す概略的な全体構成図。
【図2】図1に示すCPUの機能実現部の構成例を示す概略的なブロック図。
【図3】ビットマップとRAMにロードされたプログラムの変数領域とが一対一に対応する様子を示す説明図。
【図4】例外処理部によりビットマップが変更される様子を示す説明図。
【図5】終了処理の際にプログラム群のうち値が変更された部分だけを再転送することにより再起動時間を短縮するための手順を示す手順を示すフローチャート。
【図6】図5のステップS14でCPUのリロード処理部により実行される部分リロード処理の手順を示すサブルーチンフローチャート。
【図7】第2実施形態に係るCPUの機能実現部の構成例を示す概略的なブロック図。
【図8】起動処理の際にプログラム群のうち値が変更された部分だけを再転送することにより再起動時間を短縮するための手順を示す手順を示すフローチャート。
【符号の説明】
【0087】
1 デジタル放送情報
10 情報処理装置
11 CPU
12 RAM
12a ビットマップ(変更履歴テーブル)
13 HDD
13a プログラム群
14 フラッシュメモリ
14a BIOS
15 給電制御部
16 キー入力部
17 リモコン受信部
17a リモコン
18 表示部
19 音声出力部
20 放送信号処理部
21 初期設定部
22 TLB(変換テーブル)
23 例外判定部
31 ロード判定部
32 プログラム転送部
33 bitmap設定部
34 リロード処理部
35 属性設定部
36 例外処理部
37 終了判定部

【特許請求の範囲】
【請求項1】
プログラムを記憶した不揮発性の記憶装置と、
前記不揮発性の記憶装置から転送された前記プログラムを所要の物理アドレスに一時的に記憶する揮発性の主記憶装置と、
前記主記憶装置に対してシステムが終了された際を含め常に給電を行う給電制御手段と、
前記主記憶装置の所要の領域に格納され、前記プログラムのうち少なくとも前記プログラムが実行されると値が変更されうる領域である変数領域について、前記変数領域に対応する前記物理アドレスのそれぞれと前記値が変更されたか否かの情報とを関連付けて記憶する変更履歴テーブルと、
前記システムの終了処理および前記システムの次回起動処理からなる再起動処理が実行される際に前記不揮発性の記憶装置から前記主記憶装置に対してプログラムが転送されるにあたり、前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送するリロード処理手段と、
を備えたことを特徴とする情報処理装置。
【請求項2】
前記主記憶装置に対して前記プログラムが転送されると、前記変数領域に対応する前記物理アドレスの属性を読み取り専用に設定する属性設定手段と、
前記変数領域に対応する前記物理アドレスに対する書込み要求があると、この書込み要求があった物理アドレスの属性を書込み可能に変更するとともに、前記変更履歴テーブルに対し前記書込み要求があった物理アドレスに対応する前記値が変更された旨の情報を記憶させる例外処理手段と、
をさらに備えた請求項1記載の情報処理装置。
【請求項3】
前記物理アドレスと論理アドレスとを関連付けて記憶する変換テーブル、
をさらに備え、
前記属性設定手段は、
前記主記憶装置に対して前記プログラムが転送されると、前記変数領域に対応する前記物理アドレスの属性を読み取り専用に設定し、この属性を前記物理アドレスに対してさらに関連付けて前記変換テーブルに記憶させ、
前記例外処理手段は、
前記変数領域に対応する前記物理アドレスに対する書込み要求があると、前記変換テーブルに対してこの書込み要求があった物理アドレスの属性を書込み可能に変更して記憶させるとともに、前記変更履歴テーブルに対して前記書込み要求があった物理アドレスに対応する前記値が変更された旨の情報を記憶させる、
請求項2記載の情報処理装置。
【請求項4】
前記リロード処理手段は、
前記再起動処理のうち前記システムの終了処理の際に、前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送し、
前記再起動処理のうち前記システムの次回起動処理の際は、前記不揮発性記憶媒体から前記主記憶装置へ前記プログラムが転送されない請求項1ないし3のいずれか1項に記載の情報処理装置。
【請求項5】
前記リロード処理手段は、
前記再起動処理のうち前記システムの次回起動処理の際に、前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送し、
前記再起動処理のうち前記システムの終了処理の際には、前記主記憶装置に記憶された前記プログラムはそのままの状態で維持される請求項1ないし3のいずれか1項に記載の情報処理装置。
【請求項6】
前記変更履歴テーブルは、
前記変数領域に対応する前記物理アドレスのそれぞれに対して一意に1ビットずつ割り当てられたビットマップであり、前記各物理アドレスに割り当てられたビット値が、前記値が変更されたか否かの情報を示す、
請求項1ないし5のいずれか1項に記載の情報処理装置。
【請求項7】
不揮発性の記憶装置に記憶されたプログラムを転送されてこのプログラムを一時的に記憶する主記憶装置に対しシステムが終了された際を含め常に給電を行うよう構成された情報処理装置の再起動方法であって、
前記不揮発性の記憶装置から転送された前記プログラムを揮発性の主記憶装置の所要の物理アドレスに一時的に記憶させるステップと、
前記プログラムのうち少なくとも前記プログラムが実行されると値が変更されうる領域である変数領域について、前記変数領域に対応する前記物理アドレスのそれぞれと前記値が変更されたか否かの情報とを関連付けた変更履歴テーブルを、前記主記憶装置の所要の領域に記憶させるステップと、
前記システムの終了処理および前記システムの次回起動処理からなる再起動処理が実行される際に前記不揮発性の記憶装置から前記主記憶装置に対してプログラムが転送されるにあたり、前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送するステップと、
を有することを特徴とする再起動方法。
【請求項8】
前記主記憶装置に対して前記プログラムが転送されると、前記変数領域に対応する前記物理アドレスの属性を読み取り専用に設定するステップと、
前記変数領域に対応する前記物理アドレスに対する書込み要求があると、この書込み要求があった物理アドレスの属性を書込み可能に変更するステップと、
前記変更履歴テーブルに対し前記書込み要求があった物理アドレスに対応する前記値が変更された旨の情報を記憶させるステップと、
をさらに有する請求項7記載の再起動方法。
【請求項9】
前記物理アドレスと論理アドレスとを関連付けて変換テーブルに記憶させるステップ、
をさらに有し、
前記変数領域に対応する前記物理アドレスの属性を読み取り専用に設定するステップは、
前記主記憶装置に対して前記プログラムが転送されると、前記変数領域に対応する前記物理アドレスの属性を読み取り専用に設定し、この属性を前記物理アドレスに対してさらに関連付けて前記変換テーブルに記憶させるステップであり、
前記書込み要求があった物理アドレスの属性を書込み可能に変更するステップは、
前記変数領域に対応する前記物理アドレスに対する書込み要求があると、前記変換テーブルに対してこの書込み要求があった物理アドレスの属性を書込み可能に変更して記憶させるステップである、
請求項8記載の再起動方法。
【請求項10】
前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送するステップは、
前記再起動処理のうち前記システムの終了処理の際に、前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送するステップであり、
前記再起動処理のうち前記システムの次回起動処理の際は、前記不揮発性記憶媒体から前記主記憶装置へ前記プログラムが転送されない、
請求項7ないし9のいずれか1項に記載の再起動方法。
【請求項11】
前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送するステップは、
前記再起動処理のうち前記システムの次回起動処理の際に、前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送するステップであり、
前記再起動処理のうち前記システムの終了処理の際には、前記主記憶装置に記憶された前記プログラムはそのままの状態で維持される請求項7ないし9のいずれか1項に記載の再起動方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate