(57)【要約】【課題】ウォッチドックタイマのタイムアウトによる再起動が不用意に繰り返されてしまうことを防止することが可能な電子機器及びプログラムを提供する。【解決手段】自己の装置の起動時に計時を開始する計時手段と、前記計時手段のカウント値が所定のタイムアウト値に到達するタイムアウト時に、自己の装置の再起動を行うリブート手段と、前記タイムアウト値よりも小さい一定の間隔毎に、前記計時手段のカウント値をリセットするカウント値リセット手段と、前記リブート手段により連続的に行われた再起動の回数を集計する集計手段と、前記集計手段による集計結果が所定の回数を上回った場合に、前記計時手段による計時を停止させた状態で起動を行う制御手段と、を備える。【選択図】図２
2011138231.tif 000002
【特許請求の範囲】
【請求項１】
自己の装置の起動時に計時を開始する計時手段と、
前記計時手段のカウント値が所定のタイムアウト値に到達するタイムアウト時に、自己の装置の再起動を行うリブート手段と、
前記タイムアウト値よりも小さい一定の間隔毎に、前記計時手段のカウント値をリセットするカウント値リセット手段と、
前記リブート手段により連続的に行われた再起動の回数を集計する集計手段と、
前記集計手段による集計結果が所定の回数を上回った場合に、前記計時手段による計時を停止させた状態で起動を行う制御手段と、
を備えたことを特徴とする電子機器。
【請求項２】
前記制御手段は、前記集計手段による集計結果が所定の回数を上回った場合に、当該集計手段が集計した回数をクリアすることを特徴とする請求項１に記載の電子機器。
【請求項３】
前記制御手段は、前記集計手段による集計結果が所定の回数を上回った場合に、エラーの発生を報知することを特徴とする請求項１又は２に記載の電子機器。
【請求項４】
前記制御手段は、前記計時手段を用いて前記エラーの発生を報知する時間の計時を開始し、前記タイムアウト値よりも小さい所定の報知時間を経過すると自己の装置の電源をオフとすることを特徴とする請求項３に記載の電子機器。
【請求項５】
前記制御手段は、前記集計手段による集計結果が所定の回数を上回った場合に、自己の装置の電源をオフとすることを特徴とする請求項１又は２に記載の電子機器。
【請求項６】
コンピュータを、
自己の装置の起動時に計時を開始する計時手段と、
前記計時手段のカウント値が所定のタイムアウト値に到達するタイムアウト時に、自己の装置の再起動を行うリブート手段と、
前記タイムアウト値よりも小さい一定の間隔毎に、前記計時手段のカウント値をリセットするカウント値リセット手段と、
前記リブート手段により連続的に行われた再起動の回数を集計する集計手段と、
前記集計手段による集計結果が所定の回数を上回った場合に、前記計時手段による計時を停止させた状態で起動を行う制御手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウォッチドックタイマを用いてハードウェアの再起動を行う電子機器及びプログラムに関する。
【背景技術】
【０００２】
ＰＣ（Personal  Computer）やＰＯＳ（Point  Of  Sale）端末等のＢＩＯＳ（Basic  Input/Output  System）を搭載する電子機器では、電源スイッチのオンにより電源供給が開始されると、ＢＩＯＳを用いてハードウェアの初期化を行った後、所定の起動デバイスからＯＳ（Operating  System）の起動を行っている。係る電子機器では、ハングアップ等のロック状態からの復帰のため、ウォッチドックタイマ（以下、ＷＤＴという）とよばれるデバイスを用いて、ハードウェアの再起動（リブート）を行う仕組みが一般に設けられている。
【０００３】
ＷＤＴは、ＢＩＯＳ起動時及びＯＳ起動時の各起動時に計時が開始され、ロック状態の発生によりウォッチドックタイマがタイムアウトすると、ハードウェアの再起動が自動的に行われるよう構成されている。このように、ＷＤＴを搭載する電子機器では、ＷＤＴのタイムアウトによる再起動により、ロック状態の原因となったエラーの解消を試みている。例えば、特許文献１には、ハードウェアの起動に際して予め定められたテストを実行し、そのテストの実行に伴い動作してタイムカウントし、そのタイムカウントが所定の閾値に達するタイムアウト時にハードウェアを再起動せしめるＷＤＴを備えた電子機器が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示の電子機器では、エラーが解消しない限りウォッチドックタイマのタイムアウトによる再起動が繰り返し実行されてしまうという問題がある。
【０００５】
本発明は上記に鑑みてなされたものであって、ウォッチドックタイマのタイムアウトによる再起動が不用意に繰り返されてしまうことを防止することが可能な電子機器及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、自己の装置の起動時に計時を開始する計時手段と、前記計時手段のカウント値が所定のタイムアウト値に到達するタイムアウト時に、自己の装置の再起動を行うリブート手段と、前記タイムアウト値よりも小さい一定の間隔毎に、前記計時手段のカウント値をリセットするカウント値リセット手段と、前記リブート手段により連続的に行われた再起動の回数を集計する集計手段と、前記集計手段による集計結果が所定の回数を上回った場合に、前記計時手段による計時を停止させた状態で起動を行う制御手段と、を備える。
【０００７】
また、本発明は、コンピュータを、自己の装置の起動時に計時を開始する計時手段と、前記計時手段のカウント値が所定のタイムアウト値に到達するタイムアウト時に、自己の装置の再起動を行うリブート手段と、前記タイムアウト値よりも小さい一定の間隔毎に、前記計時手段のカウント値をリセットするカウント値リセット手段と、前記リブート手段により連続的に行われた再起動の回数を集計する集計手段と、前記集計手段による集計結果が所定の回数を上回った場合に、前記計時手段による計時を停止させた状態で起動を行う制御手段と、して機能させる。
【発明の効果】
【０００８】
本発明によれば、ウォッチドックタイマのタイムアウトによる再起動が、不用意に繰り返されてしまうことを防止することが可能な電子機器及びプログラムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、電子装置の構成を模式的に示すブロック図である。
【図２】図２は、第１の実施形態に係る第１カウント開始処理の手順を示すフローチャートである。
【図３】図３は、第１の実施形態に係る第２カウント開始処理の手順を示すフローチャートである。
【図４】図４は、第１の実施形態に係るカウント停止処理の手順を示すフローチャートである。
【図５】図５は、第２の実施形態に係る第１カウント開始処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本発明に係る電子機器及びプログラムの実施形態を詳細に説明する。なお、以下に説明する実施形態により本発明が限定されるものではない。
【００１１】
図１は、本実施形態に係る電子装置の構成を模式的に示すブロック図である。電子機器１００は、ＰＣやＰＯＳ端末等であって、ＣＲＴ（Cathode  Ray  Tube）やＬＣＤ（Liquid  Crystal  Display）等の表示デバイスで構成される表示装置２００に、文字列や画像を表示する機能を有している。
【００１２】
電子機器１００は、ＣＰＵ（Central  Processing  Unit）１１と、メモリ１２と、Ｉ／Ｏコントローラ１３と、ＲＯＭ１４と、設定情報記憶部１５と、ＨＤＤ（Hard  Disk  Drive）１６と、操作入力部１７と、外部装置接続コネクタ１８と、表示装置接続コネクタ１９と、ＷＤＴ２０と、リブート回路２１と、電源回路２２と、電源スイッチ２３とを備えている。
【００１３】
ＣＰＵ１１は、ＲＯＭ１４に記憶されたＢＩＯＳ１４１やＨＤＤ１６に記憶されたＯＳ等のプログラムを実行し、電子機器１００を構成する各部の動作を統括的に制御する。また、ＣＰＵ１１は、ＲＯＭ１４に記憶されたＢＩＯＳ１４１やＨＤＤ１６に記憶されたＯＳ等のプログラムとの協働によりカウント値リセット手段、集計手段及び制御手段として機能し、後述する第１カウント開始処理（図２参照）、第２カウント開始処理（図３参照）、カウント停止処理（図４参照）等を実行する。
【００１４】
また、ＣＰＵ１１は、メモリコントローラ１１１と、ＶＧＡコントローラ１１２とを有している。ここで、メモリコントローラ１１１は、電子機器１００の主記憶装置であるメモリ１２に対するデータの読み出し及び書き出しを制御するものである。また、ＶＧＡコントローラ１１２は、表示装置接続コネクタ１９と接続されており、当該表示装置接続コネクタ１９に画像データを送出することで表示装置２００に文字列や画像を表示させるものである。
【００１５】
Ｉ／Ｏコントローラ１３は、ＣＰＵ１１と各部との間のデータの入出力を制御するためのものであって、ＲＯＭ１４、設定情報記憶部１５、ＨＤＤ１６、操作入力部１７及び外部装置接続コネクタ１８等が接続されている。
【００１６】
ＲＯＭ１４は、ＣＰＵ１１が実行するＢＩＯＳ１４１や、各種の設定情報（図示せず）を記憶している。ここで、ＢＩＯＳ１４１には、電子機器１００が具備する各部の初期化に係るプログラムが含まれている。ＣＰＵ１１は、このＢＩＯＳ１４１に含まれたプログラムを実行することで、後述する第１カウント開始処理（図２参照）等を実行する。
【００１７】
設定情報記憶部１５は、ＥＥＰＲＯＭやＣＭＯＳ（但し電池付き）等の記憶媒体であって、ＢＩＯＳ１４１の実行に係る設定情報を記憶する。また、設定情報記憶部１５は、ＷＤＴ２０の計時状態を示す後述する“ＷＤＴリブートフラグ”や、ＷＤＴ２０のタイムアウトによる再起動の連続的な繰り返し回数を保持するための情報である“連続回数”の記憶場所として用いられる。
【００１８】
設定情報記憶部１５に記憶される設定情報としては、例えば、起動を開始するデバイス（以下、ブートデバイス）を定義したブートデバイス設定、ＷＤＴ２０による計時の有効／無効を定義したＷＤＴ設定、ＷＤＴ２０のタイムアウト値を定義したタイムアウト設定、ＷＤＴ２０のタイムアウトによる再起動の繰り返し回数の上限値（以下、連続回数上限値という）を定義した連続回数上限設定等が挙げられる。ここで、ＷＤＴ２０のタイムアウト値は、後述する処理（第１カウント開始処理、第２カウント開始処理）毎に異なる値を保持する形態としてもよい。なお、第１カウント開始処理に係るタイムアウト値については、電子機器１００がＢＩＯＳ１４１の正常起動を完了する起動時間よりも大きな値が設定されているものとする。
【００１９】
ＨＤＤ１６は、電子機器１００の補助記憶装置として機能し、ＯＳや当該ＯＳ上で実行されるドライバ等を実現するための各種プログラム、各種の設定情報を記憶している。ＣＰＵ１１は、ＨＤＤ１６に記憶されたプログラムを実行することで、後述する第２カウント開始処理（図３参照）及びカウント停止処理（図４参照）等を実行する。
【００２０】
操作入力部１７は、キーボードやマウス等の入力デバイス（図示せず）を接続するためのインタフェースであって、入力デバイスを通じてユーザからの操作内容を受け付ける。
【００２１】
外部装置接続コネクタ１８は、図示しない外部装置と電子機器１００とを接続するためのインタフェースである。外部装置接続コネクタ１８としては、例えば、ＲＳ−２３２ＣやＵＳＢ、ＩＥＥＥ１３９４等のシリアルインタフェースや、イーサネット（登録商標）
等のネットワークインタフェースを用いることができる。
【００２２】
表示装置接続コネクタ１９は、ＶＧＡコントローラ１１２から入力される画像データを表示装置２００へ出力することで、当該表示装置２００に画像データを表示させる。
【００２３】
ＷＤＴ２０は、計時手段として機能し、ＣＰＵ１１の制御に従い電子機器１００の起動時に計時を開始する。また、ＷＤＴ２０は、ＣＰＵ１１から計時カウントのクリアを指示するクリア信号を受け付けると、計時したカウント値をクリアした後、再度計時を開始する。なお、本実施形態では、ＷＤＴ２０により計時手段を実現しているが、これに限定するものではなく、ＣＰＵ１１とＲＯＭ１４に記憶されたプログラムとの協働により計時手段を実現することも可能である。
【００２４】
リブート回路２１は、リブート手段として機能し、ＷＤＴ２０のカウント値が所定の値（タイムアウト値）に到達するタイムアウト時に、電源回路２２を制御することで電子機器１００の再起動（リブート）を行う。電子機器１００では、このＷＤＴ２０及びリブート回路２１の機構による再帰動により、ハングアップ等のロック状態に陥った場合にこのロック現象の原因となったエラーの解消を試みる。
【００２５】
電源回路２２は、電子機器１００の各部へ電力を供給する電源ユニットである。電源回路２２は、ユーザによる電源スイッチ２３の押下に応じてオンとオフとを切り替え、オン時において各部への電力供給を開始する。また、電源回路２２は、ＣＰＵ１１の制御に従い、電源オンの状態から電源オフやサスペンド状態等の省電力状態に切り替える。また、電源回路２２は、リブート回路２１の制御に従い、電源オンの状態を一旦オフとした後、再びオンとすることで電子機器１００を再起動する。
【００２６】
以下、図２〜図４を参照して、ＷＤＴ２０の計時に係る電子機器１００の動作について説明する。図２は、ＣＰＵ１１とＢＩＯＳ１４１との協働により実現される第１カウント開始処理の手順を示すフローチャートである。なお、本処理は、電子機器１００の起動時時（ＢＩＯＳ実行時）に実行されるものである。
【００２７】
まず、ＣＰＵ１１は、設定情報記憶部１５に記憶されたブートデバイス設定を参照し、ブートデバイスがＨＤＤ１６に設定されているか否かを判定する（ステップＳ１１）。ここで、ＨＤＤ１６以外のデバイス（例えば、外部装置接続コネクタに接続される外部デバイス等）に設定されていた場合（ステップＳ１１；Ｎｏ）、ＣＰＵ１１は、指定されたデバイスから起動を開始し（ステップＳ１２）、本処理を終了する。
【００２８】
ステップＳ１１において、ブートデバイスがＨＤＤ１６と設定されていると判定した場合（ステップＳ１１；Ｙｅｓ）、ＣＰＵ１１は、設定情報記憶部１５に記憶されたＷＤＴ設定を参照し、ＷＤＴ２０による計時が有効か否かを判定する（ステップＳ１３）。ここで、ＷＤＴ２０による計時が無効と設定されていた場合（ステップＳ１３；Ｎｏ）、ＣＰＵ１１は、ＷＤＴリブートフラグを“０”に設定した後（ステップＳ１４）、ＨＤＤ１６からの起動を開始し（ステップＳ２３）、本処理を終了する。
【００２９】
一方、ステップＳ１３において、ＷＤＴ２０による計時が有効と設定されていた場合（ステップＳ１３；Ｙｅｓ）、ＣＰＵ１１は、設定情報記憶部１５に記憶された連続回数及び連続回数上限設定を参照し、この連続回数の値が連続回数上限値以下か否かを判定する（ステップＳ１５）。ここで、連続回数の値が連続回数上限値を上回ると判定した場合（ステップＳ１５；Ｎｏ）、ＣＰＵ１１は、ＷＤＴリブートフラグを“０”に設定した後（ステップＳ１６）、設定情報記憶部１５に記憶された連続回数をクリアする（ステップＳ１７）。つまり、ＣＰＵ１１は、連続回数の値が連続回数上限値を上回った場合に、ＷＤＴ２０の計時を停止させた状態で電子機器１００の起動を行う。そして、ＣＰＵ１１は、ＨＤＤ１６に記憶されたＯＳの起動を開始し（ステップＳ２３）、本処理を終了する。
【００３０】
一方、ステップＳ１５において、連続回数の値が連続回数上限値以下と判定した場合（ステップＳ１５；Ｙｅｓ）、ＣＰＵ１１は、さらに設定情報記憶部１５に記憶されたＷＤＴリブートフラグの値が“０”か否かを判定する（ステップＳ１８）。ここで、ＷＤＴリブートフラグの値が“１”であった場合（ステップＳ１８；Ｎｏ）、ＣＰＵ１１は、設定情報記憶部１５に記憶された連続回数の値に１を加算し（ステップＳ１９）、ステップＳ２１に移行する。
【００３１】
また、ステップＳ１８において、ＷＤＴリブートフラグの値が“０”であった場合（ステップＳ１８；Ｙｅｓ）、ＣＰＵ１１は、設定情報記憶部１５に保持された連続回数をクリアし（ステップＳ２０）、ステップＳ２１に移行する。
【００３２】
続いて、ＣＰＵ１１は、ＷＤＴ２０による計時を開始した後（ステップＳ２１）、ＷＤＴリブートフラグを“１”に設定する（ステップＳ２２）。そして、ＣＰＵ１１は、ＨＤＤ１６に記憶されたＯＳの起動を開始し（ステップＳ２３）、本処理を終了する。
【００３３】
図３は、ＣＰＵ１１とＨＤＤ１４に記憶されたＯＳとの協働により実現される第２カウント開始処理の手順を示すフローチャートである。なお、本処理は、上述した第１カウント開始処理のステップＳ２３に応じて実行されるものである。
【００３４】
まず、ＣＰＵ１１は、設定情報記憶部１５に記憶されたＷＤＴリブートフラグの値が“１”か否かを判定する（ステップＳ３１）。ここで、ＷＤＴリブートフラグの値が“０”と判定した場合、ＣＰＵ１１は、本処理を直ちに終了する。つまり、ＣＰＵ１１は、ＷＤＴリブートフラグの値が“０”のとき、ＷＤＴ２０の計時を停止させた状態でＯＳを立ち上げることになる。
【００３５】
一方、ステップＳ３１でＷＤＴリブートフラグの値が“１”と判定した場合（ステップＳ３１；Ｙｅｓ）、ＣＰＵ１１は、ＷＤＴ２０にクリア信号を送出することで、ＷＤＴ２０のカウント値をリセットする（ステップＳ３２）。次いで、ＣＰＵ１１は、所定時間が経過するまで待機し（ステップＳ３３；Ｎｏ）、この所定時間が経過すると（ステップＳ３３；Ｙｅｓ）、ステップＳ３２に再び戻り、ＷＤＴ２０のカウント値をクリアする。つまり、ＷＤＴリブートフラグの値が“１”のとき、ＷＤＴ２０の計時を行いながらＯＳが立ち上がることになる。なお、ステップＳ３３での所定時間は、ＷＤＴ２０のタイムアウト値よりも小さな値（一定値）であるとする。
【００３６】
図４は、ＣＰＵ１１とＨＤＤ１４に記憶されたＯＳとの協働により実現されるカウント停止処理の手順を示すフローチャートである。本処理は、ＯＳのシャットダウン時やサスペンド時等、正規の手順で電源回路２２の電源オフ又は省電力状態への移行が操作入力部１７を介して指示された場合に実行されるものである。
【００３７】
まず、ＣＰＵ１１は、ＷＤＴ２０の計時を停止すると（ステップＳ４１）、ＷＤＴブートフラグを“０”に設定する（ステップＳ４２）。そして、ＣＰＵ１１は、電源回路２２を電源オフ又は省電力状態に移行させ（ステップＳ４３）、本処理を終了する。
【００３８】
以下、上述した各処理に基づき、電子機器１００にロック状態が発生した場合での処理内容について説明する。なお、以下ではＷＤＴ２０のタイムアウトによる再起動動作を前提に説明を進めるため、図２のステップＳ１１；Ｎｏ→ステップＳ１２、ステップＳ１３；Ｎｏ→ステップＳ１４の流れについては説明を省略する。
【００３９】
まず、ＢＩＯＳ１４１の起動時にロック状態が発生した場合について説明する。ＢＩＯＳ１４１の起動時に何らかのエラーが発生しロック状態に陥ると、ステップＳ２１で計時が開始されたＷＤＴ２０のタイムアウトにより電子機器１００が再起動される。この再起動によりエラーが解消されず、ＢＩＯＳ１４１の起動時に再びロック状態が発生すると、ＷＤＴ２０のタイムアウトにより電子機器１００が繰り返し再起動されることになる。
【００４０】
ＢＩＯＳ１４１の起動時に再起動が発生した場合、ステップＳ２２で設定されたＷＤＴリブートフラグの値“１”が保持される。そのため、ＷＤＴ２０による再起動が繰り返し行われる毎に、その繰り返し回数が連続回数としてステップＳ１８；Ｎｏ→ステップＳ１９の処理で集計されることになる。
【００４１】
ここで、連続回数が連続回数上限値（例えば、３回）を上回ると、ステップＳ１６でＷＤＴリブートフラグが“０”に設定され、ＷＤＴ２０の計時が停止された状態で起動が行われる。これにより、ステップＳ２３によりＨＤＤ１６からＯＳの起動が開始されたとしても、ＷＤＴリブートフラグが“０”であるためＷＤＴ２０の計時は開始されない（ステップＳ３１；Ｎｏ）。そのため、ＷＤＴ２０のタイムアウトによる再起動は、連続回数上限値の回数だけ繰り返し行われることになる。
【００４２】
次に、ＢＩＯＳ１４が正常に起動した後（即ち、ＷＤＴリブートフラグが“１”）、ＯＳの起動時にロック状態が発生した場合について説明する。ＯＳの起動時に何らかのエラーが発生しロック状態に陥ると、ステップＳ３２で計時が開始されたＷＤＴ２０のタイムアウトにより電子機器１００が再起動される。
【００４３】
正規の手続きでＯＳが終了する場合、ＷＤＴリブートフラグは“０”に設定されるが（図４、ステップＳ４２参照）、ＷＤＴ２０のタイムアウトによる再起動時にはＷＤＴリブートフラグは“１”のまま保持される。そのため、再起動の繰り返し行われる毎に、その繰り返し回数が連続回数として第１カウント処理のステップＳ１８；Ｎｏ→ステップＳ１９の処理で集計されることになる。
【００４４】
ここで、連続回数が連続回数上限値（例えば、３回）を上回ると、ＢＩＯＳ起動時と同様、ステップＳ１６でＷＤＴリブートフラグが“０”に設定される。これにより、ＷＤＴ２０の計時は行われなくなるため、ＷＤＴ２０のタイムアウトによる再起動は、連続回数上限値の回数だけ繰り返し行われることになる。
【００４５】
以上のように、本実施形態によれば、ＷＤＴ２０のタイムアウトによる再起動によりロック状態の原因となったエラーを解消できない場合であっても、この再起動の回数を連続回数上限値に抑えることができるため、ＷＤＴ２０のタイムアウトによる再起動が不用意に繰り返されてしまうことを防止することができる。
【００４６】
なお、本実施形態では、第１カウント開始処理のステップＳ１７で連続回数をクリアする形態としたが、これに限らず、連続回数を保持したまま処理を進める形態としてもよい。この形態の場合、操作入力部１７等を介して設定情報記憶部１５に記憶された連続回数のクリアを行うものとする。
【００４７】
［第２の実施形態］
次に、第２の実施形態について説明する。上述した第１の実施形態では、ＷＤＴ２０のタイムアウトによる再起動が行われる回数を連続回数上限値に抑えることが可能であるが、ＷＤＴ２０の機能が停止された状態でＯＳが起動するため、このＯＳの起動中又は実行時にロック状態に陥る場合がある。この場合、例えば表示内容が待機画面でＯＳがロック状態に陥ると、一見してエラー状態にあることが分からず、エラー状態にあることを把握するまで時間を要する可能性がある。
【００４８】
また、エラー状態にある電子機器が他の装置に影響を及ぼす可能性がある。例えば、ネットワークを介して他の電子機器と接続されている場合、ＯＳロックにより予期せぬ信号を他の電子機器に送出し、他の電子機器の正常動作を妨げる可能性がある。
【００４９】
そこで、本実施形態では、ＷＤＴ２０が再起動を連続上限回数行った場合に、エラーの発生をユーザに報知するとともに、自動的に電源をオフ状態とすることが可能な構成について説明する。なお、本実施形態の電子機器は、上述した第１の実施形態と実質的にＢＩＯＳに含まれるプログラム内容が異なるのみ、つまり第１カウント開始処理の内容が異なるのみである。そのため、以下では本実施形態に係るＢＩＯＳをＢＩＯＳ１４２と表記し、図１の構成を用いて説明する。
【００５０】
図５は、ＣＰＵ１１とＢＩＯＳ１４２との協働により実行される第１カウント開始処理の手順を示すフローチャートである。
【００５１】
まず、ＣＰＵ１１は、設定情報記憶部１５に記憶されたブートデバイス設定を参照し、ブートデバイスがＨＤＤ１６に設定されているか否かを判定する（ステップＳ５１）。ここで、ＨＤＤ１６以外のデバイス（例えば、外部装置接続コネクタ１８に接続されるデバイス等）に設定されていた場合（ステップＳ５１；Ｎｏ）、ＣＰＵ１１は、指定されたデバイスから起動を開始し（ステップＳ５２）、本処理を終了する。
【００５２】
ステップＳ５１において、ブートデバイスがＨＤＤ１６と設定されていると判定した場合（ステップＳ５１；Ｙｅｓ）、ＣＰＵ１１は、設定情報記憶部１５に記憶されたＷＤＴ設定を参照し、ＷＤＴ２０による計時が有効か否かを判定する（ステップＳ５３）。ここで、ＷＤＴ２０による計時が無効と設定されていた場合（ステップＳ５３；Ｎｏ）、ＣＰＵ１１は、ＷＤＴリブートフラグを“０”に設定した後（ステップＳ５４）、ＨＤＤ１６からの起動を開始し（ステップＳ６６）、本処理を終了する。
【００５３】
一方、ステップＳ５３において、ＷＤＴ２０による計時が有効と設定されていた場合（ステップＳ５３；Ｙｅｓ）、ＣＰＵ１１は、設定情報記憶部１５に記憶された連続回数及び連続回数上限設定を参照し、この連続回数の値が連続回数上限値以下か否かを判定する（ステップＳ５５）。ここで、連続回数の値が連続回数上限値を上回ると判定した場合（ステップＳ５５；Ｎｏ）、ＣＰＵ１１は、ＷＤＴリブートフラグを“０”に設定する（ステップＳ５６）。つまり、ＣＰＵ１１は、連続回数の値が連続回数上限値を上回った場合に、ＷＤＴ２０の計時を停止させた状態で電子機器１００の起動を行う。
【００５４】
次いで、ＣＰＵ１１は、ＷＤＴ２０による計時を開始した後（ステップＳ５７）、エラー発生の旨のメッセージ（エラー発生画面）を表示装置２００に表示させることで、ユーザにエラーの発生を報知する（ステップＳ５８）。なお、ステップＳ５７での計時開始は、エラー発生の報知間を測定するためであるとともに、ステップＳ５８でのエラー発生の表示中にロック状態に陥った場合にＷＤＴ２０のタイムアウトによる再起動を行うためである。
【００５５】
続いて、ＣＰＵ１１は、ＷＤＴ２０による計時時間が所定時間（例えば、１分等）に到達するまで待機する（ステップＳ５９；Ｎｏ）。なお、ステップＳ５９の所定時間は設定情報として設定情報記憶部１５に保持されているものとする。また、ステップＳ５９の所定時間（報知時間）は、ＷＤＴ２０のタイムアウト値よりも小さな値であるとする。
【００５６】
ステップＳ５９において所定時間に到達したと判定すると（ステップＳ５９；Ｙｅｓ）、ＣＰＵ１１は、電源回路２２を電源オフとした後（ステップＳ６０）、本処理を終了する。
【００５７】
一方、ステップＳ５５において、連続回数の値が連続回数上限値以下と判定した場合（ステップＳ５５；Ｙｅｓ）、ＣＰＵ１１は、さらに設定情報記憶部１５に記憶されたＷＤＴリブートフラグの値が“０”か否かを判定する（ステップＳ６１）。ここで、ＷＤＴリブートフラグの値が“１”であった場合（ステップＳ６１；Ｎｏ）、ＣＰＵ１１は、設定情報記憶部１５に記憶された連続回数の値に１を加算し（ステップＳ６２）、ステップＳ６４に移行する。
【００５８】
また、ステップＳ６１において、ＷＤＴリブートフラグの値が“０”であった場合（ステップＳ６１；Ｙｅｓ）、ＣＰＵ１１は、設定情報記憶部１５に記憶された連続回数の値をクリアし（ステップＳ６３）、ステップＳ６４に移行する。
【００５９】
続いて、ＣＰＵ１１は、ＷＤＴ２０による計時を開始した後（ステップＳ６４）、ＷＤＴリブートフラグを“１”に設定する（ステップＳ６５）。そして、ＣＰＵ１１は、ＨＤＤ１６に記憶されたＯＳの起動を開始し（ステップＳ６６）、本処理を終了する。
【００６０】
以下、図５で説明した第１カウント開始処理に基づき、ＢＩＯＳ１４２の起動時にロック状態が発生した場合の処理内容について説明する。なお、以下ではＷＤＴ２０のタイムアウトによる再起動動作を前提に説明を進めるため、図５のステップＳ５１；Ｎｏ→ステップＳ５２、ステップＳ５３；Ｎｏ→ステップＳ５４の流れについては説明を省略する。
【００６１】
ＢＩＯＳ１４２の起動時に何らかのエラーが発生しロック状態に陥ると、ステップＳ６４で計時が開始されたＷＤＴ２０のタイムアウトにより電子機器１００が再起動される。この再起動によりエラーが解消されず、ＢＩＯＳ１４１の起動時にロック状態に再び陥ると、ＷＤＴ２０のタイムアウトによる再起動も再び行われることになる。このとき、ブートフラグの値“１”が保持されるため、ＷＤＴ２０による再起動が繰り返し行われる毎に、その繰り返し回数が連続回数としてステップＳ６１；Ｎｏ→ステップＳ６２の処理で集計されることになる。
【００６２】
ここで、連続回数が連続回数上限値を上回ると、ステップＳ５６でＷＤＴリブートフラグを“０”に設定し、エラー発生画面の報知時間をカウントするため、ステップＳ５７でＷＤＴ２０の計時を開始する。そして、ＷＤＴ２０のカウント値が所定時間を経過するまでの間、表示装置２００にエラー発生画面を表示した後、電子機器１００の電源をオフ状態とする（ステップＳ５８→Ｓ６０）。
【００６３】
また、エラー発生画面の表示中にロック状態に陥った場合、ステップＳ５７で計時が開始されたＷＤＴ２０のタイムアウトにより自動的に再起動が行われる。このとき、連続回数は従前のまま保持されているため、ステップＳ５１→Ｓ５３→Ｓ５５；Ｎｏ→Ｓ５６と処理が流れ、ステップＳ５７でＷＤＴ２０の計時が開始された後、ステップＳ５９でエラー発生画面の表示が再び行われることになる。
【００６４】
なお、ＯＳの起動時にロック状態が発生した場合についても、上記と同様、ＷＤＴ２０による再起動が連続上限回数の値だけ行われた際には、ステップＳ５８→Ｓ６０において、ＷＤＴ２０のカウント値が所定時間を経過するまでの間、表示装置２００にエラー発生画面を表示された後、電子機器１００の電源がオフ状態とされる。
【００６５】
以上のように、本実施形態によれば、ＷＤＴ２０のタイムアウトによる再起動によりロック状態の原因となったエラーを解消できない場合であっても、この再起動の回数を連続回数上限値に抑えることができるため、ＷＤＴ２０のタイムアウトによる再起動が不用意に繰り返されてしまうことを防止することができる。
【００６６】
また、ＷＤＴ２０のタイムアウトによる再起動が連続回数上限値だけ行われた場合に、エラー発生の旨のメッセージを表示装置２００に表示させるため、エラーの発生をユーザに報知することができる。さらに、自動的に電源をオフ状態とすることができるため、電子機器１００に接続された他の電子機器に対する影響を抑制することができる。
【００６７】
なお、本実施形態では、ＷＤＴ２０のタイムアウトによる再起動が連続回数上限値だけ行われた後に、この再起動の連続回数のクリアを行わない形態としたが、これに限らず、例えば、ステップＳ５６の後段で連続回数をクリアする形態としてもよい。
【００６８】
また、本実施形態では、ＷＤＴ２０のタイムアウトによる再起動が連続回数上限値だけ行われた後に、エラー発生の報知と電子機器１００の電源オフとを行う形態としたが、何れか一方のみを行う形態としてもよい。
【００６９】
以上、本発明の実施の形態について説明したが、本発明はこれに限定されるものではなく、本発明の主旨を逸脱しない範囲での種々の変更、置換、追加等が可能である。
【００７０】
例えば、上記実施形態の電子機器１００で実行されるプログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記憶媒体に記録して提供する形態としてもよい。
【００７１】
また、上記実施形態の電子機器１００で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供する構成としてもよい。また、上記実施形態の表示処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布する構成としてもよい。
【符号の説明】
【００７２】
１００  電子機器
１１  ＣＰＵ
１１１  メモリコントローラ
１１２  ＶＧＡコントローラ
１２  メモリ
１３  Ｉ／Ｏコントローラ
１４  ＲＯＭ
１４１  ＢＩＯＳ
１４２  ＢＩＯＳ
１５  設定情報記憶部
１６  ＨＤＤ
１７  操作入力部
１８  外部装置接続コネクタ
１９  表示装置接続コネクタ
２０  ＷＤＴ
２１  リブート回路
２２  電源回路
２３  電源スイッチ
２００  表示装置
【先行技術文献】
【特許文献】
【００７３】
【特許文献１】特開２００８−１４００７２公報
【図１】
2011138231.tif 000003
【図２】
2011138231.tif 000004
【図３】
2011138231.tif 000005
【図４】
2011138231.tif 000006
【図５】
2011138231.tif 000007