(57)【特許請求の範囲】
【請求項１】
ＯＳが組込まれたホスト装置に所定のハードウェアを接続してなり、前記ＯＳにより、デバイスドライバを介してハードウェアを管理するとともに、前記ＯＳ上で動作するアプリケーションからの要求に対して、タイムアウト値を超えてもハードウェアから何らの応答がない場合に、前記ＯＳによりデバイスドライバおよびハードウェアの再初期化を行なうように制御するようにしてなるハードウェア初期化システムであって、前記アプリケーションがハードウェアの異常を検出した場合に、前記アプリケーションから極めて短いタイムアウト値を設定した要求をデバイスドライバに発行するように制御するようにしたことを特徴とするハードウェア初期化システム。
【請求項２】
前記アプリケーションから極めて短いタイムアウト値を設定した要求をデバイスドライバに発行した後、前記ハードウェアから応答がない場合に、前記ＯＳによりデバイスドライバおよびハードウェアの再初期化を行なうようにしたことを特徴とする請求項１に記載のハードウェア初期化システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はハードウェア初期化システムに係り、特に、ＯＳ上で動作するアプリケーションからの要求に対して応答がない場合に、ＯＳによりデバイスドライバおよびハードウェアの再初期化を行なうように制御するようにしてなるハードウェア初期化システムに関する。
【０００２】
【従来の技術】
従来から、ホスト装置に所定のハードウェアを接続してなるコンピュータシステムが多く用いられており、このようなコンピュータシステムにおいては、前記ホスト装置に組込まれたＯＳ（オペレーティング・システム）により、デバイスドライバを介してハードウェアを管理することが行なわれている。
【０００３】
一般に、ある程度高級なＯＳにおいては、ＯＳによりデバイスドライバを介してハードウェアを直接管理するものであり、アプリケーションからは直接ハードウェアを制御することができないようになっている。これは、ＯＳがハードウェアを管理することにより、ＯＳ上で動作する種々のアプリケーションからハードウェアに対して要求があった場合に、矛盾がないようにハードウェアを管理する必要があるためである。
【０００４】
このようなコンピュータシステムにおいて、前記ホスト装置に組込まれたＯＳ上でアプリケーションを動作させた場合、このアプリケーションがハードウェアを使用する場合には、アプリケーションからの要求は、ＯＳを介してデバイスドライバに送られるようになっており、このアプリケーションからの要求を受けたデバイスドライバが、この要求に応じてハードウェアを動作させるようになっている。そして、アプリケーションからデバイスドライバに対して要求を発行する場合には、従来から、その要求を実行するために必要十分なタイムアウト値を設定した要求を発行するようになっている。
【０００５】
そして、アプリケーションからの要求に対して、タイムアウト値を超えてもハードウェアから何らの応答がない場合には、ＯＳによりハードウェアあるいはデバイスドライバが異常であると判断して、ＯＳによりデバイスドライバおよびハードウェアの再初期化を行なうように制御するようになっている。
【０００６】
【発明が解決しようとする課題】
しかし、従来のハードウェア初期手段においては、ＯＳによりデバイスドライバおよびハードウェアの再初期化を行なうものであるが、通常、汎用のＯＳの場合は、あらゆるアプリケーションに対応することができるようにある程度十分なタイムアウト値を設定して制御するようになっている。
【０００７】
そのため、汎用のＯＳにより、デバイスドライバあるいはハードウェアの異常を検出する場合に、各アプリケーションに対応した的確な判断を行なうことができないという問題を有している。
【０００８】
また、アプリケーションが異常を検出した場合に、アプリケーションから直接デバイスドライバあるいはハードウェアの初期化を行なうことができるようにしてしまうと、ＯＳによる管理と矛盾が生じるおそれがあるという問題を有している。
【０００９】
本発明は前記した点に鑑みてなされたもので、汎用のＯＳであっても、アプリケーションに対応した的確な異常検出を行なうことができ、しかも、ＯＳによる管理と矛盾が生じることなくハードウェアの初期化を行なうことのできるハードウェア初期化システムを提供することを目的とするものである。
【００１０】
【課題を解決するための手段】
前記目的を達成するため請求項１に記載の発明に係るハードウェア初期化システムは、ＯＳが組込まれたホスト装置に所定のハードウェアを接続してなり、前記ＯＳにより、デバイスドライバを介してハードウェアを管理するとともに、前記ＯＳ上で動作するアプリケーションからの要求に対して、タイムアウト値を超えてもハードウェアから何らの応答がない場合に、前記ＯＳによりデバイスドライバおよびハードウェアの再初期化を行なうように制御するようにしてなるハードウェア初期化システムであって、前記アプリケーションがハードウェアの異常を検出した場合に、前記アプリケーションから極めて短いタイムアウト値を設定した要求をデバイスドライバに発行するように制御するようにしたことを特徴とするものである。
【００１１】
この請求項１に記載の発明によれば、アプリケーションがハードウェアの異常を検出した場合に、アプリケーションから極めて短いタイムアウト値を設定した要求をデバイスドライバに発行するように制御するようにしているので、ハードウェアはこのアプリケーションの要求に応答できず、結果として、タイムアウト値を超えても応答がないことになることから、汎用のＯＳを用いた場合であっても、デバイスドライバあるいはハードウェアの異常を検出する場合に、各アプリケーションに対応した的確な判断を行なって、ＯＳによりハードウェアあるいはデバイスドライバが異常であると判断させることができる。
【００１２】
また、請求項２に記載のハードウェア初期化システムは、請求項１において、前記アプリケーションから極めて短いタイムアウト値を設定した要求をデバイスドライバに発行した後、前記ハードウェアから応答がない場合に、前記ＯＳによりデバイスドライバおよびハードウェアの再初期化を行なうようにしたことを特徴とするものである。
【００１３】
この請求項２に記載の発明によれば、アプリケーションから極めて短いタイムアウト値を設定した要求をデバイスドライバに発行した後、ハードウェアから応答がない場合に、これをきっかけとして、ＯＳによりデバイスドライバおよびハードウェアの再初期化を行なうようにしているので、アプリケーションは、極めて短いタイムアウト値を設定した要求をするだけであり、デバイスドライバあるいはハードウェアの再初期化はＯＳが行なうことから、ＯＳによる管理と矛盾が生じることを防止することができる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態を図１および図２を参照して説明する。
【００１５】
図１は本発明に係るハードウェア初期化システムの実施の一形態を示したもので、本実施形態のハードウェア初期化システムは、ホスト装置１を有しており、このホスト装置１には、所定の制御を行なうためのＯＳ２がインストールされている。このＯＳ２上で各種アプリケーション３が動作するようになっており、また、前記ＯＳ２には、デバイスドライバ４を介してハードウェア５が接続されるようになっている。
【００１６】
前記ハードウェア５には、例えば、ハードディスクドライブ装置、ＣＤ−ＲＯＭドライブ装置、フロッピィディスクドライブ装置、ターミナルアダプタ、モデム、プリンタ等、各種ハードウェア５が含まれるものであり、ホスト装置１に内蔵される場合であると、外付けされる場合とを問わない。
【００１７】
次に、本実施形態の作用について、図２に示すフローチャートを参照して説明する。
【００１８】
本実施形態においては、ホスト装置１において、ＯＳ２上でアプリケーション３を動作させた場合、このアプリケーション３がハードウェア５を使用する場合には、アプリケーション３から要求があると（ＳＴ１）、この要求がＯＳ２を介してデバイスドライバ４に送られるようになっており（ＳＴ２）、このアプリケーション３からの要求を受けたデバイスドライバ４は、この要求に応じてハードウェア５を動作させるようになっている。
【００１９】
このとき、アプリケーション３からデバイスドライバ４に対して要求を発行する場合には、その要求を実行するために必要十分なタイムアウト値を設定した要求を発行するようになっており、アプリケーション３からの要求に対してハードウェア５から何らの応答があるか否か判断し（ＳＴ３）、タイムアウト値を超えてもハードウェア５から何らの応答がない場合には、従来と同様に、ＯＳ２によりハードウェア５あるいはデバイスドライバ４が異常であると判断して、ＯＳ２によりデバイスドライバ４およびハードウェア５の再初期化を行なうように制御するようになっている（ＳＴ４）。
【００２０】
また、本実施形態においては、アプリケーション３は、ハードウェア５の異常があるか否か判断し（ＳＴ５）、アプリケーション３がハードウェア５の異常を検出した場合に、アプリケーション３から極めて短いタイムアウト値を設定した要求をデバイスドライバ４に発行するように制御するようになっている（ＳＴ６）。このようにアプリケーション３によりハードウェア５が異常であると判断する場合には、例えば、アプリケーション３から比較的長時間にわたってデータ要求を行なう場合等のように、アプリケーション３からの要求に対する現在の進捗状況を逐次チェックすることが行なわれているが、デバイスドライバ４から現在の進捗状況を送ってくるものの、その進捗状況が変らなくなった場合、あるいは、ハードウェア５からの応答が、ハードウェア５が定めたタイムアウト値を満たしているが、そのハードウェア５の性能からはあまりに応答が遅いと判断する場合等が考えられる。
【００２１】
そして、本実施形態においては、アプリケーション３がハードウェア５の異常を検出した場合に、アプリケーション３から極めて短いタイムアウト値を設定した要求をデバイスドライバ４に発行することにより、ハードウェア５はこのアプリケーション３の要求に応答できず、結果として、タイムアウト値を超えても応答がないことになるので、ＯＳ２によりハードウェア５あるいはデバイスドライバ４が異常であると判断させることができる。
【００２２】
その後、本実施形態においては、これをきっかけとして、ＯＳ２により、デバイスドライバ４あるいはハードウェア５の再初期化を行なわせるようになっている（ＳＴ４）。
【００２３】
したがって、本実施形態においては、アプリケーション３がハードウェア５の異常を検出した場合に、アプリケーション３から極めて短いタイムアウト値を設定した要求をデバイスドライバ４に発行することにより、これをきっかけとしてＯＳ２により、デバイスドライバ４あるいはハードウェア５の再初期化を行なわせるようにしているので、汎用のＯＳ２を用いた場合であっても、デバイスドライバ４あるいはハードウェア５の異常を検出する場合に、各アプリケーション３に対応した的確な判断を行なうことができる。また、アプリケーション３は、極めて短いタイムアウト値を設定した要求をするだけであり、これをきっかけとして、デバイスドライバ４あるいはハードウェア５の再初期化はＯＳ２が行なうので、ＯＳ２による管理と矛盾が生じることもない。
【００２４】
なお、本発明は前記実施形態のものに限定されるものではなく、必要に応じて種々変更することが可能である。
【００２５】
【発明の効果】
以上述べたように請求項１に記載の発明に係るハードウェア初期化システムは、アプリケーションがハードウェアの異常を検出した場合に、アプリケーションから極めて短いタイムアウト値を設定した要求をデバイスドライバに発行するように制御するようにしているので、汎用のＯＳを用いた場合であっても、デバイスドライバあるいはハードウェアの異常を検出する場合に、各アプリケーションに対応した的確な判断を行なって、ＯＳによりハードウェアあるいはデバイスドライバが異常であると判断させることができる。
【００２６】
また、請求項２に記載のハードウェア初期化システムは、アプリケーションから極めて短いタイムアウト値を設定した要求をデバイスドライバに発行した後、ハードウェアから応答がない場合に、これをきっかけとして、ＯＳによりデバイスドライバおよびハードウェアの再初期化を行なうようにしているので、アプリケーションは、極めて短いタイムアウト値を設定した要求をするだけであり、デバイスドライバあるいはハードウェアの再初期化はＯＳが行なうことから、ＯＳによる管理と矛盾が生じることを防止することができる等の効果を奏する。
【図面の簡単な説明】
【図１】  本発明に係るハードウェア初期化システムの実施形態を示すブロック図
【図２】  本発明に係るハードウェア初期化システムの動作を示すフローチャート
【符号の説明】
１  ホスト装置
２  ＯＳ
３  アプリケーション
４  デバイスドライバ
５  ハードウェア
【図１】
0003708766.tif 000002
【図２】
0003708766.tif 000003