(57)【要約】【課題】システムの終了処理および次回の起動処理からなる再起動処理に要する時間を短縮することができる情報処理装置およびこの情報処理装置の再起動方法を提供する。【解決手段】本発明に係る情報処理装置１０は、ＣＰＵ１１、主記憶装置としてのＲＡＭ１２、不揮発性の記憶装置としてのＨＤＤ１３、給電制御部１５、などを有し、給電制御部１５によりＲＡＭ１２に対して常時給電可能に構成される。ＣＰＵ１１は、終了処理の際に、ＲＡＭ１２にロードされたプログラムの値が変更された部分のみをリロードすることにより、終了処理および次回の起動処理からなる再起動処理に要する時間をより短縮する処理を実行する。【選択図】  図１
2009266122.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを記憶した不揮発性の記憶装置と、
前記不揮発性の記憶装置から転送された前記プログラムを所要の物理アドレスに一時的に記憶する揮発性の主記憶装置と、
前記主記憶装置に対してシステムが終了された際を含め常に給電を行う給電制御手段と、
前記主記憶装置の所要の領域に格納され、前記プログラムのうち少なくとも前記プログラムが実行されると値が変更されうる領域である変数領域について、前記変数領域に対応する前記物理アドレスのそれぞれと前記値が変更されたか否かの情報とを関連付けて記憶する変更履歴テーブルと、
前記システムの終了処理および前記システムの次回起動処理からなる再起動処理が実行される際に前記不揮発性の記憶装置から前記主記憶装置に対してプログラムが転送されるにあたり、前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送するリロード処理手段と、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記主記憶装置に対して前記プログラムが転送されると、前記変数領域に対応する前記物理アドレスの属性を読み取り専用に設定する属性設定手段と、
前記変数領域に対応する前記物理アドレスに対する書込み要求があると、この書込み要求があった物理アドレスの属性を書込み可能に変更するとともに、前記変更履歴テーブルに対し前記書込み要求があった物理アドレスに対応する前記値が変更された旨の情報を記憶させる例外処理手段と、
をさらに備えた請求項１記載の情報処理装置。
【請求項３】
前記物理アドレスと論理アドレスとを関連付けて記憶する変換テーブル、
をさらに備え、
前記属性設定手段は、
前記主記憶装置に対して前記プログラムが転送されると、前記変数領域に対応する前記物理アドレスの属性を読み取り専用に設定し、この属性を前記物理アドレスに対してさらに関連付けて前記変換テーブルに記憶させ、
前記例外処理手段は、
前記変数領域に対応する前記物理アドレスに対する書込み要求があると、前記変換テーブルに対してこの書込み要求があった物理アドレスの属性を書込み可能に変更して記憶させるとともに、前記変更履歴テーブルに対して前記書込み要求があった物理アドレスに対応する前記値が変更された旨の情報を記憶させる、
請求項２記載の情報処理装置。
【請求項４】
前記リロード処理手段は、
前記再起動処理のうち前記システムの終了処理の際に、前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送し、
前記再起動処理のうち前記システムの次回起動処理の際は、前記不揮発性記憶媒体から前記主記憶装置へ前記プログラムが転送されない請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項５】
前記リロード処理手段は、
前記再起動処理のうち前記システムの次回起動処理の際に、前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送し、
前記再起動処理のうち前記システムの終了処理の際には、前記主記憶装置に記憶された前記プログラムはそのままの状態で維持される請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項６】
前記変更履歴テーブルは、
前記変数領域に対応する前記物理アドレスのそれぞれに対して一意に１ビットずつ割り当てられたビットマップであり、前記各物理アドレスに割り当てられたビット値が、前記値が変更されたか否かの情報を示す、
請求項１ないし５のいずれか１項に記載の情報処理装置。
【請求項７】
不揮発性の記憶装置に記憶されたプログラムを転送されてこのプログラムを一時的に記憶する主記憶装置に対しシステムが終了された際を含め常に給電を行うよう構成された情報処理装置の再起動方法であって、
前記不揮発性の記憶装置から転送された前記プログラムを揮発性の主記憶装置の所要の物理アドレスに一時的に記憶させるステップと、
前記プログラムのうち少なくとも前記プログラムが実行されると値が変更されうる領域である変数領域について、前記変数領域に対応する前記物理アドレスのそれぞれと前記値が変更されたか否かの情報とを関連付けた変更履歴テーブルを、前記主記憶装置の所要の領域に記憶させるステップと、
前記システムの終了処理および前記システムの次回起動処理からなる再起動処理が実行される際に前記不揮発性の記憶装置から前記主記憶装置に対してプログラムが転送されるにあたり、前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送するステップと、
を有することを特徴とする再起動方法。
【請求項８】
前記主記憶装置に対して前記プログラムが転送されると、前記変数領域に対応する前記物理アドレスの属性を読み取り専用に設定するステップと、
前記変数領域に対応する前記物理アドレスに対する書込み要求があると、この書込み要求があった物理アドレスの属性を書込み可能に変更するステップと、
前記変更履歴テーブルに対し前記書込み要求があった物理アドレスに対応する前記値が変更された旨の情報を記憶させるステップと、
をさらに有する請求項７記載の再起動方法。
【請求項９】
前記物理アドレスと論理アドレスとを関連付けて変換テーブルに記憶させるステップ、
をさらに有し、
前記変数領域に対応する前記物理アドレスの属性を読み取り専用に設定するステップは、
前記主記憶装置に対して前記プログラムが転送されると、前記変数領域に対応する前記物理アドレスの属性を読み取り専用に設定し、この属性を前記物理アドレスに対してさらに関連付けて前記変換テーブルに記憶させるステップであり、
前記書込み要求があった物理アドレスの属性を書込み可能に変更するステップは、
前記変数領域に対応する前記物理アドレスに対する書込み要求があると、前記変換テーブルに対してこの書込み要求があった物理アドレスの属性を書込み可能に変更して記憶させるステップである、
請求項８記載の再起動方法。
【請求項１０】
前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送するステップは、
前記再起動処理のうち前記システムの終了処理の際に、前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送するステップであり、
前記再起動処理のうち前記システムの次回起動処理の際は、前記不揮発性記憶媒体から前記主記憶装置へ前記プログラムが転送されない、
請求項７ないし９のいずれか１項に記載の再起動方法。
【請求項１１】
前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送するステップは、
前記再起動処理のうち前記システムの次回起動処理の際に、前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送するステップであり、
前記再起動処理のうち前記システムの終了処理の際には、前記主記憶装置に記憶された前記プログラムはそのままの状態で維持される請求項７ないし９のいずれか１項に記載の再起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムの再起動に要する時間を短縮可能な情報処理装置およびこの情報処理装置の再起動方法に関する。
【背景技術】
【０００２】
テレビジョン受像機をはじめとする組み込みシステムやパーソナルコンピュータをはじめとする汎用システムなどの情報処理装置は、近年、プログラムの複雑化に伴い、システムの再起動に要する時間（再起動時間）が長くなる傾向にある。
【０００３】
これは、ＲＡＭにロード（転送）されたプログラムにシステム稼働中に変更された部分が生じている場合があることから、システムの再起動時にはプログラムをＲＡＭに再度ロード（リロード）する必要があるためである。一般に、ＲＡＭにロードされたプログラムのうち、変数を格納するデータセクションなどの変数領域は、システム稼働中に変更されることが多い。一方、プログラムのうち機械語の部分を格納するテキストセクション（テキスト領域）は、通常のシステム稼働中には変更されない。
【０００４】
従来、この種のシステムの再起動時間を短縮する技術に、特開平３−６７３４９号公報（特許文献１）に開示されたものがある。
【０００５】
この特許文献１に開示されたプログラムローディング方式は、ＲＡＭに対して電力を供給したままシステムを再起動する際の再起動時間を短縮するプログラムローディング方式であって、システム再起動時にＲＡＭにプログラムをリロードする際にプログラムのテキスト領域はリロードせずにプログラムの変数領域のみをリロードする。このため、このプログラムローディング方式によれば、プログラム全体をリロードする場合に比べ、システムの再起動時間を短縮することができるようになっている。
【特許文献１】特開平３−６７３４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来の技術は、システムの再起動時にプログラムの変数領域全体をリロードするようになっている。このため、従来の技術では、変数領域のうち前回のロード時から変更がない部分についてもリロードする必要がある。したがって、従来の技術はプログラムのリロードに要する時間に無駄がある。
【０００７】
本発明は、上述した事情を考慮してなされたもので、システムの終了処理および次回の起動処理からなる再起動処理に要する時間を短縮することができる情報処理装置およびこの情報処理装置の再起動方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る情報処理装置は、上述した課題を解決するために、プログラムを記憶した不揮発性の記憶装置と、前記不揮発性の記憶装置から転送された前記プログラムを所要の物理アドレスに一時的に記憶する揮発性の主記憶装置と、前記主記憶装置に対してシステムが終了された際を含め常に給電を行う給電制御手段と、前記主記憶装置の所要の領域に格納され、前記プログラムのうち少なくとも前記プログラムが実行されると値が変更されうる領域である変数領域について、前記変数領域に対応する前記物理アドレスのそれぞれと前記値が変更されたか否かの情報とを関連付けて記憶する変更履歴テーブルと、前記システムの終了処理および前記システムの次回起動処理からなる再起動処理が実行される際に前記不揮発性の記憶装置から前記主記憶装置に対してプログラムが転送されるにあたり、前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送するリロード処理手段と、を備えたことを特徴とするものである。
【０００９】
一方、本発明に係る再起動方法は、上述した課題を解決するために、不揮発性の記憶装置に記憶されたプログラムを転送されてこのプログラムを一時的に記憶する主記憶装置に対しシステムが終了された際を含め常に給電を行うよう構成された情報処理装置の再起動方法であって、前記不揮発性の記憶装置から転送された前記プログラムを揮発性の主記憶装置の所要の物理アドレスに一時的に記憶させるステップと、前記プログラムのうち少なくとも前記プログラムが実行されると値が変更されうる領域である変数領域について、前記変数領域に対応する前記物理アドレスのそれぞれと前記値が変更されたか否かの情報とを関連付けた変更履歴テーブルを、前記主記憶装置の所要の領域に記憶させるステップと、前記システムの終了処理および前記システムの次回起動処理からなる再起動処理が実行される際に前記不揮発性の記憶装置から前記主記憶装置に対してプログラムが転送されるにあたり、前記変更履歴テーブルにもとづいて前記プログラムのうち前記値が変更された物理アドレスに対応する部分のみを再転送するステップと、を有することを特徴とする方法である。
【発明の効果】
【００１０】
本発明に係る情報処理装置およびこの装置の再起動方法によれば、システムの終了処理および次回の起動処理からなる再起動処理に要する時間を短縮することができる。
【発明を実施するための最良の形態】
【００１１】
本発明に係る情報処理装置およびこの装置の再起動方法の実施の形態について、添付図面を参照して説明する。
【００１２】
図１は、本発明に係る情報処理装置の第１実施形態を示す概略的な全体構成図である。
【００１３】
本発明は、揮発性の主記憶装置に対して常時給電可能に構成された情報処理装置に対して適用することができ、たとえばテレビジョン受像機をはじめとする組み込みシステムやパーソナルコンピュータをはじめとする汎用システムなどを用いることができる。以下の説明では、本発明に係る情報処理装置として、少なくとも揮発性の主記憶装置に対して常時給電可能に構成されたテレビジョン受像機を用いる場合の一例について示す。
【００１４】
図１に示すように、情報処理装置１０は、ＣＰＵ１１、主記憶装置としてのＲＡＭ１２、不揮発性の記憶装置としてのＨＤＤ１３、ＢＩＯＳ１４ａ（Basic Input Output System）を記憶したフラッシュメモリ１４、給電制御部１５、キー入力部１６、リモコン受信部１７、放送信号処理部２０、表示部１８および音声出力部１９を有する。
【００１５】
この情報処理装置１０は、給電制御部１５により少なくともＲＡＭ１２およびリモコン受信部１７に対して常時給電可能に構成される。
【００１６】
ＣＰＵ１１は、フラッシュメモリ１４内に記憶されたＢＩＯＳ１４ａおよびＨＤＤ１３内に記憶されたプログラム群１３ａ（ＯＳ（Operating System）を含む）に従って、情報処理装置１０の動作を制御するとともに、システムの再起動に要する時間（再起動時間）を短縮する処理を実行する。
【００１７】
なお、以下の説明では、「電源オフ状態」とは、ＲＡＭ１２およびリモコン受信部１７を除く各種デバイスに対する給電が停止した状態をいうものとする。
【００１８】
また、「起動処理」とは、電源オフ状態にある情報処理装置１０に対し各種デバイスに対する給電を開始した（起動開始）時点から、ＯＳを含むプログラム群１３ａがＲＡＭ１２へ転送されてプログラム群１３ａが実行可能となる（起動完了）までに実行される処理をいうものとする。
【００１９】
また、「終了処理」とは、システムの定常稼働中にある情報処理装置１０が電源オフ要求を受付けた（終了開始）時点から電源オフ状態に移行した（終了完了）時点までに実行される処理をいうものとする。
【００２０】
さらに、「再起動処理」とは、終了処理およびこの終了処理後の次回起動処理をあわせた処理をいうものとする。また、「再起動時間」とは、終了処理に要する時間と次回起動処理に要する時間とを加えた時間をいうものとする。ここで、終了処理から次回起動処理まで（終了完了から次回起動開始まで）の時間は任意の長さであり、たとえば２４時間以上であっても構わないことに注意する。
【００２１】
本実施形態に係る情報処理装置１０は、この再起動処理に要する時間（再起動時間）を短縮可能に構成される。
【００２２】
主記憶装置としてのＲＡＭ１２は、ＣＰＵ１１が実行するプログラムおよびデータを一時的に格納するワークエリアを提供する。また、ＲＡＭ１２の所要のワークエリアには、ＣＰＵ１１により変更履歴テーブルとしてのビットマップ１２ａが格納される。ＲＡＭ１２は、給電制御部１５により電源オフ状態を含め常に給電される。
【００２３】
不揮発性の記憶装置としてのＨＤＤ１３は、少なくともＯＳを含むプログラム群１３ａを記憶しておく。また、フラッシュメモリ１４は、少なくともＢＩＯＳ１４ａを記憶しておく。
【００２４】
給電制御部１５は、図示しない商用電源から電力を供給され、情報処理装置１０の各種デバイスに対する給電を制御する。たとえば、給電制御部１５は、電源オフ状態では少なくともＲＡＭ１２およびリモコン受信部１７に対して電力を供給する。
【００２５】
キー入力部１６は、電源ボタンを含むハードキーにより構成され、ユーザの操作に対応した操作入力信号をＣＰＵ１１に出力する。
【００２６】
リモコン受信部１７は、ユーザの操作に対応した信号をリモコン１７ａから受信し、受信した信号に応じた出力をＣＰＵ１１に与える。リモコン受信部１７は、給電制御部１５により電源オフ状態を含め常に給電される。この結果、ユーザは、電源オフ状態にある情報処理装置１０に対し、リモコン１７ａを介してシステムを起動するべき旨の指示を与えることができる。
【００２７】
放送信号処理部２０は、デジタルチューナやＭＰＥＧ−２デコーダなどを有し、デジタル放送情報１を受信して、このデジタル放送情報１に含まれる番組の映像データ、音声データおよびその他のデータ（ＰＳＩ／ＳＩデータなど）を分離する。そして、放送信号処理部２０は、映像データをＬＣＤやＰＤＰなどにより構成される表示部１８に与えてデジタル放送情報１に含まれる映像を表示部１８を介して出力させ、音声データを音声出力部１９（スピーカ）に与えてデジタル放送情報１に含まれる音声を音声出力部１９を介して出力させ、その他のデータをＣＰＵ１１に与えてその他のデータに含まれる番組情報などの情報をＨＤＤ１３に記憶させる。
【００２８】
図２は、図１に示すＣＰＵ１１の機能実現部の構成例を示す概略的なブロック図である。なお、この機能実現部の一部または全部は、ハードウエアロジックによって構成されてもよい。
【００２９】
ＣＰＵ１１は、初期設定部２１、変換テーブルとしてのＴＬＢ２２（Translation Lookaside Buffer）および例外判定部２３を有する。また、ＣＰＵ１１は、ＢＩＯＳ１４ａおよびＯＳに従って、ロード判定部３１、プログラム転送部３２、bitmap設定部３３、リロード処理部３４、属性設定部３５、例外処理部３６および終了判定部３７として機能する。この各部３１〜３７は、ＲＡＭ１２の所要のワークエリアを、データの一時的な格納場所として利用する。
【００３０】
初期設定部２１は、各種デバイスの動作テストなどの一般的な初期設定処理を実行する。
【００３１】
例外判定部２３は、書込み違反（Write Fault）が発生したかどうか、すなわち、読み取り専用の物理アドレスに対して書込み要求が発生したかどうかを判定する。
【００３２】
ロード判定部３１は、ＲＡＭ１２のロード済みフラグを検索し、ＲＡＭ１２にプログラム群１３ａがロードされているかどうかを判定する機能を有する。
【００３３】
このロード済みフラグは、たとえば終了判定部３７によりシステムの終了要求があったと判定されるとＲＡＭ１２の所要のワークエリアに設定されるようにするとよい。本発明に係る情報処理装置１０は、給電制御部１５に対する商用電源からの電力供給が停止（以下、停電という）しない限りＲＡＭ１２は給電されている。このため、ＲＡＭ１２にロードされたプログラムは、停電しない限りＲＡＭ１２上から消えることはない。また、給電制御部１５に対する商用電源からの電力供給開始（たとえばコンセントを接続するなど）した後最初のシステム起動開始からシステム終了前までには、ＲＡＭ１２にはプログラム群１３ａがロードされていると考えられる。
【００３４】
本実施形態では、ロード済みフラグは、終了判定部３７によりシステムの終了要求があったと判定されるとＲＡＭ１２の所要のワークエリアに設定される場合の例について説明する。
【００３５】
プログラム転送部３２は、ＨＤＤ１３からＲＡＭ１２にＯＳを含むプログラム群１３ａをロードする機能を有する。このとき、変換テーブルとしてのＴＬＢ２２には、ＲＡＭ１２にロードされたプログラム群１３ａの物理アドレスと論理アドレスとが関連付けられて記憶される。
【００３６】
図３は、ビットマップ１２ａとＲＡＭ１２にロードされたプログラムの変数領域とが一対一に対応する様子を示す説明図である。
【００３７】
bitmap設定部３３は、ＲＡＭ１２の所要のワークエリアに変更履歴テーブルとしてのビットマップ１２ａを作成する機能を有する。このビットマップ１２ａを構成する各ビットは、図３に示すように、ＲＡＭ１２にロードされたプログラムの変数領域の各ページ（４ＫＢｙｔｅ単位）と一対一に対応するように作成される。ＴＬＢ２２が記憶する物理アドレスは、ＲＡＭ１２上の各ページを指し示すために用いられる指標である。ビットマップ１２ａは、変数領域のうち変更されたページをリロード処理部３４が特定するために用いられる。
【００３８】
ここで、プログラムの変数領域について説明する。
【００３９】
プログラムは、テキストセクション、データセクション、ＢＳＳ（Block Started by Symbol）セクションなどの複数のセクションによって構成され、セクションごとにＲＡＭ１２に配置される。
【００４０】
テキストセクションは、プログラムのうち機械語の部分を格納するセクションである。
【００４１】
データセクションは、プログラムのうち初期値を持つ変数を格納するセクションである。また、ＢＳＳセクションは、プログラムのうち初期値を持たない変数を格納するセクションである。
【００４２】
テキストセクションは、一般に、システム稼働中には変更されない。一方、データセクションおよびＢＳＳセクションの一部または全部はシステム稼働中に変更されることが多い。以下の説明では、ＲＡＭ１２にロードされたプログラムのうち、システム稼働中に値が変更される場合がある領域（たとえばデータセクションおよびＢＳＳセクション）を変数領域と総称する。
【００４３】
リロード処理部３４は、ビットマップ１２ａを参照し、ＲＡＭ１２にロードされているプログラムの変数領域のうち、値が変更された物理アドレスに対応する部分のみをＨＤＤ１３からリロード（再転送）する機能を有する。
【００４４】
属性設定部３５は、属性設定部３５は、変数領域に対応する物理アドレスの属性を読み取り専用に設定し、この属性を物理アドレスに対してさらに関連付けてＴＬＢ２２に記憶させる機能を有する。属性設定部３５に制御されて、ＴＬＢ２２は、物理アドレスと論理アドレスと属性とを互いに関連付けて記憶することになる。
【００４５】
図４は、例外処理部３６によりビットマップ１２ａが変更される様子を示す説明図である。図４において、ハッチングが施された部分は値の変更があった部分を示す。
【００４６】
例外処理部３６（エクセプションハンドラー）は、ビットマップ１２ａに対して書込み要求があった物理アドレスに対応する値が変更された旨の情報を記憶させる機能を有す機能を有する。具体的には、例外処理部３６は、変数領域に対する書込み要求があった旨の情報を例外判定部２３から受けると、書込み要求があった物理アドレスに対応するビットマップ１２ａのビットを１に変更する。
【００４７】
また、例外処理部３６は、ＴＬＢ２２に対して書込み要求があった物理アドレスの属性を書込み可能に変更して記憶させる機能を有する。
【００４８】
終了判定部３７は、キー入力部１６またはリモコン受信部１７を介してユーザの指示を受け、または設定されたタイマ時刻の到来などにより、システム終了要求があったかどうか判定する機能を有する。また、終了判定部３７は、既にＲＡＭ１２にプログラム群１３ａがロードされている旨を示すロード済みフラグを、ＲＡＭ１２の所要のワークエリアに設定する機能を有する。
【００４９】
次に、本実施形態に係る情報処理装置１０の動作の一例について説明する。
【００５０】
図５は、終了処理の際にプログラム群１３ａのうち値が変更された部分だけを再転送することにより再起動時間を短縮するための手順を示す手順を示すフローチャートである。図５において、Ｓに数字を付した符号は、フローチャートの各ステップを示す。なお、「値が変更された部分」とは、ＲＡＭ１２上のプログラムのうちＨＤＤ１３に記憶されているプログラムと異なる部分をいう。
【００５１】
この手順は、電源オフ状態にある情報処理装置１０に対し、キー入力部１６またはリモコン受信部１７を介してユーザの指示を受け、または設定されたタイマ時刻の到来などにより、システム起動要求があり、給電制御部１５が各種デバイスに対する給電を開始した（起動開始）時点でスタートとなる。
【００５２】
まず、ステップＳ１において、初期設定部２１は、各種デバイスの動作テストなどの一般的な初期設定処理を実行する。
【００５３】
次に、ステップＳ２において、ロード判定部３１は、ＲＡＭ１２のロード済みフラグを検索し、ＲＡＭ１２にプログラム群１３ａがロードされているかどうかを判定する。ＲＡＭ１２にプログラム群１３ａがロードされていない場合は、ＲＡＭ１２にＯＳを含むプログラム群１３ａをロードするためステップＳ３に進む。一方、ロードされている場合は、ＲＡＭ１２にプログラムをロードする必要がないため、ステップＳ５に進む。
【００５４】
次に、ステップＳ３において、プログラム転送部３２は、ＨＤＤ１３からＲＡＭ１２へＯＳを含むプログラム群１３ａをロードする。このとき、ＴＬＢ２２には、ＲＡＭ１２にロードされたプログラム群１３ａの物理アドレスと論理アドレスとが関連付けられて記憶される。
【００５５】
次に、ステップＳ４において、bitmap設定部３３は、ＲＡＭ１２にロードされたプログラムの変数領域の各ページと一対一に対応するように、ＲＡＭ１２の所要のワークエリアにビットマップ１２ａを作成する。
【００５６】
次に、ステップＳ５において、bitmap設定部３３は、ＲＡＭ１２の所要のワークエリアに格納されたビットマップ１２ａをクリア（全てゼロに）する。
【００５７】
次に、ステップＳ６において、属性設定部３５は、変数領域に対応する物理アドレスの属性を読み取り専用に設定し、この属性を物理アドレスに対してさらに関連付けてＴＬＢ２２に記憶させる。この結果、ＴＬＢ２２は、物理アドレスと論理アドレスと属性とを互いに関連付けて記憶することになる。
【００５８】
本実施形態では、以上のＳ６までを起動処理というものとする。ステップＳ６の実行後、システムの定常稼動状態に移行する。
【００５９】
次に、ステップＳ７において、所要のプログラムが実行される。
【００６０】
次に、ステップＳ８において、例外判定部２３は、書込み違反（Write Fault）が発生したかどうか、すなわち、変数領域に対応する物理アドレスに対して書込み要求が発生したかどうかを判定する。変数領域に対応する物理アドレスに対して書込み要求が発生した場合、ステップＳ９に進む。一方、書込み違反（Write Fault）が発生しない場合はステップＳ１２に進む。
【００６１】
次に、ステップＳ９において、例外処理部３６は、書込み要求があった物理アドレスに対応するビットマップ１２ａのビットを１に変更する（図４参照）。
【００６２】
次に、ステップＳ１０において、例外処理部３６は、ＴＬＢ２２に対して書込み要求があった物理アドレスの属性を書込み可能に変更して記憶させる。この結果、再び同一の物理アドレスに対する書込み要求があっても、書込み違反（Write Fault）は発生しない。
【００６３】
次に、ステップＳ１１において、ステップＳ８で書込み要求を行ったプログラムは、再び同一のアドレスに対する書込み要求を行う。このとき、この物理アドレスの属性は書込み可能に変更されているため、プログラムは書込み違反（Write Fault）を発生させることなくこの物理アドレスの値を変更することができる。
【００６４】
次に、ステップＳ１２において、終了判定部３７は、キー入力部１６またはリモコン受信部１７を介してユーザの指示を受け、または設定されたタイマ時刻の到来などにより、システム終了要求があったかどうか判定する。システム終了要求があった場合はステップＳ１３に進み、終了処理が開始される。一方、システム終了要求がない場合は、ステップＳ８に戻る。
【００６５】
次に、ステップＳ１３において、終了判定部３７は、既にＲＡＭ１２にプログラム群１３ａがロードされている旨を示すロード済みフラグを、ＲＡＭ１２の所要のワークエリアに設定する。このロード済みフラグは、次回起動処理時のステップＳ２において、ロード判定部３１によって利用される。
【００６６】
次に、ステップＳ１４において、リロード処理部３４は、ビットマップ１２ａを参照し、ＲＡＭ１２にロードされているプログラムの変数領域のうち、値が変更された物理アドレスに対応する部分のみをＨＤＤ１３からリロード（再転送）する。この値が変更された物理アドレスに対応する部分のみをＨＤＤ１３からリロードする処理（以下、部分リロード処理という）は、プログラムの変数領域を全てリロードする場合に比べ、短時間ですむ。この結果、変数領域を含め、ＨＤＤ１３に記憶されているプログラムと全く同一のプログラムが既にＲＡＭ１２にロードされていることになる。このため、次回の起動処理では、ＨＤＤ１３からＲＡＭ１２へプログラムをロードする必要が全くない。
【００６７】
次に、ステップＳ１５において、給電制御部１５は、ＲＡＭ１２およびリモコン受信部１７を除く各種デバイスに対する給電を停止して終了処理を完了し、一連の手順は終了となる。
【００６８】
以上の手順により、終了処理の際にプログラム群１３ａのうち値が変更された部分だけを再転送することにより、再起動時間を短縮することができる。
【００６９】
続いて、部分リロード処理を実行する際の手順について説明する。
【００７０】
図６は、図５のステップＳ１４でＣＰＵ１１のリロード処理部３４により実行される部分リロード処理の手順を示すサブルーチンフローチャートである。図６において、Ｓに数字を付した符号は、フローチャートの各ステップを示す。
【００７１】
ステップＳ１４１において、リロード処理部３４は、ビットマップ１２ａの各ビットを順次参照し、ビットの値が１であるかどうか（書込み要求があった物理アドレスに対応するビットであるかどうか）を判定する。ビットの値が１であると、このビットに対応する物理アドレスに格納された部分に変更があるため、この部分をＨＤＤ１３に記憶されている部分と一致させるためにリロードすべくステップＳ１４２に進む。一方、ビットの値が０であると、このビットに対応する物理アドレスに格納されている部分には変更がなくリロードの必要がないためステップＳ１４３に進む。
【００７２】
次に、ステップＳ１４２において、リロード処理部３４は、このビットに対応する物理アドレスの部分をＨＤＤ１３からＲＡＭ１２へリロードする。この結果、この部分はＨＤＤ１３とＲＡＭ１２で一致したものになる。
【００７３】
次に、ステップＳ１４３において、リロード処理部３４は、部分リロード処理が完了したかどうか（ビットマップ１２ａの全てのビットに対してステップＳ１４１を実行したかどうか）を判定する。この判定は、ビットマップ１２ａの先頭のビットから最後のビットに向かって順次部分リロード処理を行う場合は、現在のビットが最後のビットであるか否かで判定することができる。部分リロード処理が完了した場合は、ステップＳ１５に進む。一方、完了していない場合はステップＳ１４１に戻り、次のビットについてステップＳ１４１からの手順を繰り返す。
【００７４】
以上の手順によって部分リロード処理を実行することができる。
【００７５】
本実施形態に係る情報処理装置１０は、ＲＡＭ１２に対して常時給電可能に構成された情報処理装置１０であって、終了処理の際に、ＲＡＭ１２にロードされたプログラムの変数領域のうち値が変更された部分のみをリロードする。このため、リロード領域を最小限にすることができ、従来の変数領域を全てリロードする技術に比べ、リロードに要する時間を短縮することができる。したがって、本実施形態に係る情報処理装置１０によれば、従来の技術に比べ、終了処理および次回の起動処理からなる再起動処理に要する時間をより短縮することができる。
【００７６】
次に、本発明に係る情報処理装置の第２実施形態について説明する。
【００７７】
図７は、第２実施形態に係るＣＰＵ１１の機能実現部の構成例を示す概略的なブロック図である。なお、この機能実現部の一部または全部は、ハードウエアロジックによって構成されてもよい。
【００７８】
この第２実施形態に示す情報処理装置１０Ａは、部分リロード処理を終了処理の際には行わず、起動処理の際に行う点で第１実施形態に示す情報処理装置１０と異なる。他の構成および作用については図１に示す情報処理装置１０と実質的に異ならないため、同じ構成には同一符号を付して説明を省略する。
【００７９】
次に、第２実施形態に係る情報処理装置１０Ａの動作の一例について説明する。
【００８０】
図８は、起動処理の際にプログラム群１３ａのうち値が変更された部分だけを再転送することにより再起動時間を短縮するための手順を示す手順を示すフローチャートである。図８において、Ｓに数字を付した符号は、フローチャートの各ステップを示す。図５と同等のステップには同一符号を付し、重複する説明を省略する。
【００８１】
ステップＳ２でＲＡＭ１２にプログラム群１３ａがロードされていると判定された場合、ステップＳ２１において、リロード処理部３４は、図５のステップＳ１４と同様に、ビットマップ１２ａを参照して部分リロード処理を実行する（図６参照）。
【００８２】
また、ステップＳ１３で終了判定部３７によりロード済みフラグが設定された後、プログラムのリロードは全く行われず、ステップＳ１５に移行して終了処理が完了する。この結果、終了処理を経たＲＡＭ１２には、部分的に値が変更されたプログラムがロードされたままとなる。この値が変更されている部分は、次回の起動処理においてステップＳ２１で部分リロードされる。
【００８３】
本実施形態に係る情報処理装置１０Ａは、ＲＡＭ１２に対して常時給電可能に構成された情報処理装置１０Ａであって、起動処理の際に、ＲＡＭ１２にロードされたプログラムの変数領域のうち値が変更された部分のみをリロードする。このため、本実施形態にかかる情報処理装置１０Ａによっても、リロード領域を最小限にすることができ、従来の技術に比べ、終了処理および次回の起動処理からなる再起動処理に要する時間をより短縮することができる。
【００８４】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【００８５】
また、本発明の実施形態では、フローチャートの各ステップは、記載された順序に沿って時系列的に行われる処理の例を示したが、必ずしも時系列的に処理されなくとも、並列的あるいは個別実行される処理をも含むものである。
【図面の簡単な説明】
【００８６】
【図１】本発明に係る情報処理装置の第１実施形態を示す概略的な全体構成図。
【図２】図１に示すＣＰＵの機能実現部の構成例を示す概略的なブロック図。
【図３】ビットマップとＲＡＭにロードされたプログラムの変数領域とが一対一に対応する様子を示す説明図。
【図４】例外処理部によりビットマップが変更される様子を示す説明図。
【図５】終了処理の際にプログラム群のうち値が変更された部分だけを再転送することにより再起動時間を短縮するための手順を示す手順を示すフローチャート。
【図６】図５のステップＳ１４でＣＰＵのリロード処理部により実行される部分リロード処理の手順を示すサブルーチンフローチャート。
【図７】第２実施形態に係るＣＰＵの機能実現部の構成例を示す概略的なブロック図。
【図８】起動処理の際にプログラム群のうち値が変更された部分だけを再転送することにより再起動時間を短縮するための手順を示す手順を示すフローチャート。
【符号の説明】
【００８７】
１  デジタル放送情報
１０  情報処理装置
１１  ＣＰＵ
１２  ＲＡＭ
１２ａ  ビットマップ（変更履歴テーブル）
１３  ＨＤＤ
１３ａ  プログラム群
１４  フラッシュメモリ
１４ａ  ＢＩＯＳ
１５  給電制御部
１６  キー入力部
１７  リモコン受信部
１７ａ  リモコン
１８  表示部
１９  音声出力部
２０  放送信号処理部
２１  初期設定部
２２  ＴＬＢ（変換テーブル）
２３  例外判定部
３１  ロード判定部
３２  プログラム転送部
３３  bitmap設定部
３４  リロード処理部
３５  属性設定部
３６  例外処理部
３７  終了判定部
【図１】
2009266122.tif 000003
【図２】
2009266122.tif 000004
【図３】
2009266122.tif 000005
【図４】
2009266122.tif 000006
【図５】
2009266122.tif 000007
【図６】
2009266122.tif 000008
【図７】
2009266122.tif 000009
【図８】
2009266122.tif 000010