(57)【要約】【課題】  既存のＯＳになんら変更を加えることなく、ＯＳの動作監視を行うことが可能な情報処理システムを提供する。【解決手段】  Ｉ／Ｏ装置４のＯＳ  ａｌｉｖｅ監視機構４１は、従来のＩ／Ｏバスに実装される装置が持つ割込みという機構を用いて実現しており、割込みを通知することで、ＯＳ１０が割込みの要因を検査するためにＩ／Ｏ装置４内に存在する自装置の状態を示すレジスタにアクセスしてくることを検出し、割込みに対してＯＳ１０が応答するかどうかを監視する。ＯＳ１０の応答がない場合、Ｉ／Ｏ装置４はＯＳ１０が停止したと判定し、ＯＳ１０がＩ／Ｏ装置４を初期化する際に設定しておくデータと、ＯＳ１０の動作中に、ＯＳ１０からの指示で動作していた情報とを基に、必要なデータを送出するというＯＳ１０の停止後の動作を開始する。【選択図】      図１
2006119778.tif 000002
【特許請求の範囲】
【請求項１】
障害の部位を判定するために有用なデータとして、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のコンソールメッセージ及びエラーメッセージをメインメモリに保持する情報処理装置と、前記コンソールメッセージ及びエラーメッセージを出力する入出力装置とを含む情報処理システムであって、
前記入出力装置は、割込み元デバイス及び要因が特定できない空割込みを前記情報処理装置に行って前記ＯＳの動作状態を監視する監視手段を有することを特徴とする情報処理システム。
【請求項２】
前記監視手段は、前記空割込みを予め設定された一定時間毎に発生させることを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記監視手段は、前記空割込みの発生に応答して前記ＯＳが割込みの要因を示す割込み要因レジスタの調査を行うかどうかを監視することを特徴とする請求項１または請求項２記載の情報処理システム。
【請求項４】
前記入出力装置は、前記監視手段で前記ＯＳの停止状態を検出した時に前記メインメモリの特定エリアの内容を取得して外部に送出するシステム障害時データ取得手段を含むことを特徴とする請求項１から請求項３のいずれか記載の情報処理システム。
【請求項５】
前記メインメモリは、前記コンソールメッセージ及びエラーメッセージを保持するメッセージバッファを含み、
前記システム障害時データ取得手段は、前記ＯＳが最後にメッセージ出力要求を通知してきた時の前記メッセージバッファの内容と、前記ＯＳが停止した後の前記メッセージバッファの内容との差分を外部に送出することを特徴とする請求項４記載の情報処理システム。
【請求項６】
障害の部位を判定するために有用なデータとして情報処理装置のメインメモリに保持されるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のコンソールメッセージ及びエラーメッセージを出力する入出力装置であって、
割込み元デバイス及び要因が特定できない空割込みを前記情報処理装置に行って前記ＯＳの動作状態を監視する監視手段を有することを特徴とする入出力装置。
【請求項７】
前記監視手段は、前記空割込みを予め設定された一定時間毎に発生させることを特徴とする請求項６記載の入出力装置。
【請求項８】
前記監視手段は、前記空割込みの発生に応答して前記ＯＳが割込みの要因を示す割込み要因レジスタの調査を行うかどうかを監視することを特徴とする請求項６または請求項７記載の入出力装置。
【請求項９】
前記監視手段で前記ＯＳの停止状態を検出した時に前記メインメモリの特定エリアの内容を取得して外部に送出するシステム障害時データ取得手段を含むことを特徴とする請求項６から請求項８のいずれか記載の入出力装置。
【請求項１０】
前記メインメモリが、前記コンソールメッセージ及びエラーメッセージを保持するメッセージバッファを含む場合、
前記システム障害時データ取得手段は、前記ＯＳが最後にメッセージ出力要求を通知してきた時の前記メッセージバッファの内容と、前記ＯＳが停止した後の前記メッセージバッファの内容との差分を外部に送出することを特徴とする請求項９記載の入出力装置。
【請求項１１】
障害の部位を判定するために有用なデータとして、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のコンソールメッセージ及びエラーメッセージをメインメモリに保持する情報処理装置と、前記コンソールメッセージ及びエラーメッセージを出力する入出力装置とを含む情報処理システムに用いるシステム障害時の自動データ送出方法であって、
前記入出力装置が、割込み元デバイス及び要因が特定できない空割込みを前記情報処理装置に行って前記ＯＳの動作状態を監視する処理を実行することを特徴とする自動データ送出方法。
【請求項１２】
前記ＯＳの動作状態を監視する処理は、前記空割込みを予め設定された一定時間毎に発生させることを特徴とする請求項１１記載の自動データ送出方法。
【請求項１３】
前記ＯＳの動作状態を監視する処理は、前記空割込みの発生に応答して前記ＯＳが割込みの要因を示す割込み要因レジスタの調査を行うかどうかを監視することを特徴とする請求項１１または請求項１２記載の自動データ送出方法。
【請求項１４】
前記入出力装置が、前記ＯＳの動作状態を監視する処理で前記ＯＳの停止状態を検出した時に前記メインメモリの特定エリアの内容を取得して外部に送出する処理を実行することを特徴とする請求項１から請求項３のいずれか記載の自動データ送出方法。
【請求項１５】
前記メインメモリに、前記コンソールメッセージ及びエラーメッセージを保持するメッセージバッファを設け、
前記特定エリアの内容を取得して外部に送出する処理は、前記ＯＳが最後にメッセージ出力要求を通知してきた時の前記メッセージバッファの内容と、前記ＯＳが停止した後の前記メッセージバッファの内容との差分を外部に送出することを特徴とする請求項１４記載の自動データ送出方法。
【請求項１６】
障害の部位を判定するために有用なデータとして、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のコンソールメッセージ及びエラーメッセージをメインメモリに保持する情報処理装置と、前記コンソールメッセージ及びエラーメッセージを出力する入出力装置とを含む情報処理システムに用いるシステム障害時の自動データ送出方法のプログラムであって、前記入出力装置のコンピュータに、割込み元デバイス及び要因が特定できない空割込みを前記情報処理装置に行って前記ＯＳの動作状態を監視する処理を実行させるためのプログラム。
【請求項１７】
前記入出力装置のコンピュータに、前記ＯＳの動作状態を監視する処理で前記ＯＳの停止状態を検出した時に前記メインメモリの特定エリアの内容を取得して外部に送出する処理を実行させるための請求項１６記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理入出力システム、入出力装置及びそれに用いるシステム障害時の自動データ送出方法並びにそのプログラムに関し、特に情報処理装置の障害発生時における障害情報の取得方法に関する。
【背景技術】
【０００２】
コンピュータに障害が発生した場合、障害の部位を判定するために有用なデータとして、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のコンソールメッセージ及びエラーメッセージが存在する。これらのメッセージはメインメモリ上の特定のエリアに格納されている場合が多く、ＯＳは任意のタイミングで格納しているメッセージの出力をＩ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ：入出力）装置に対して要求し、画面または他のコンピュータを通してメッセージ出力を行う。
【０００３】
特に、中・大型コンピュータにおいては、メッセージを通信回線を通して接続された小型コンピュータに送出し、実際にメッセージを文字列として出力するのが小型コンピュータであるというケースが多い。
【０００４】
メインとなるコンピュータに障害が発生した場合、メモリ上のメッセージエリアには出力予定のメッセージが用意されているにもかかわらず、メッセージの送出指示が行われていないケースが頻繁に存在し、障害発生の原因となる動作またはエラーに関するメッセージがコンソール上に出力されていないため、保守の効率が悪化するという問題がある。
【０００５】
このような場合、中・大型コンピュータでは、診断専用プロセッサからメインメモリ上のメッセージエリアのデータを抜き出し、バイナリデータを解析して最終メッセージを得ることが可能であるシステムが存在する。しかしながら、ＯＳが用意したメッセージエリアの特定及びそのエリアから得られたバイナリデータの解析を行うには、保守員に高いスキルが要求され、すべての保守員にそのスキルがあるとは限らず、結果として専門の解析要員が必要になる。
【０００６】
尚、上記のコンピュータシステムにおいては、プラットフォームＯＳに障害が発生しても、プラットフォームＯＳを自動的に再起動してアプリケーションにおける処理を自動続行させる方法が提案されている（例えば、特許文献１参照）。
【０００７】
【特許文献１】特開２００２−２４４８８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来、ＡＴ（Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ）バス、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス、ＰＣＩ−Ｘバス等のコンピュータシステムに搭載されるＩ／Ｏ用バスには、バス上で障害が発生したことを上位装置に通知するための手段が設けられているが、上位装置の障害をバス上に実装された装置に通知する手段は提供されていない。このため、Ｉ／Ｏバス上に実装された装置からはＯＳの動作停止を的確に判断することが困難である。
【０００９】
また、従来のＩ／Ｏバス上に実装された装置は、ＯＳからの指示によって各種動作を行うため、ＯＳが停止した場合、データの通信等の動作が不能になるという問題がある。尚、上記の特許文献１ではこの問題を解決することはできない。
【００１０】
そこで、本発明の目的は上記の問題点を解消し、既存のＯＳになんら変更を加えることなく、ＯＳの動作監視を行うことができる情報処理システム、入出力装置及びそれに用いるシステム障害時の自動データ送出方法並びにそのプログラムを提供することにある。
【００１１】
また、本発明の他の目的は、システム障害発生時でもＯＳが出力すべく用意した全メッセージの出力が行われ、障害復旧のための情報取得を容易に行うことができる情報処理システム、入出力装置及びそれに用いるシステム障害時の自動データ送出方法並びにそのプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明による情報処理システムは、障害の部位を判定するために有用なデータとして、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のコンソールメッセージ及びエラーメッセージをメインメモリに保持する情報処理装置と、前記コンソールメッセージ及びエラーメッセージを出力する入出力装置とを含む情報処理システムであって、
前記入出力装置が、割込み元デバイス及び要因が特定できない空割込みを前記情報処理装置に行って前記ＯＳの動作状態を監視する監視手段を備えている。
【００１３】
本発明による他の情報処理システムは、上記の構成のほかに、前記入出力装置が、前記監視手段で前記ＯＳの停止状態を検出した時に前記メインメモリの特定エリアの内容を取得して外部に送出するシステム障害時データ取得手段を具備している。
【００１４】
本発明による入出力装置は、障害の部位を判定するために有用なデータとして情報処理装置のメインメモリに保持されるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のコンソールメッセージ及びエラーメッセージを出力する入出力装置であって、
割込み元デバイス及び要因が特定できない空割込みを前記情報処理装置に行って前記ＯＳの動作状態を監視する監視手段を備えている。
【００１５】
本発明による他の入出力装置は、上記の構成のほかに、前記監視手段で前記ＯＳの停止状態を検出した時に前記メインメモリの特定エリアの内容を取得して外部に送出するシステム障害時データ取得手段を具備している。
【００１６】
本発明によるシステム障害時の自動データ送出方法は、障害の部位を判定するために有用なデータとして、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のコンソールメッセージ及びエラーメッセージをメインメモリに保持する情報処理装置と、前記コンソールメッセージ及びエラーメッセージを出力する入出力装置とを含む情報処理システムに用いるシステム障害時の自動データ送出方法であって、
前記入出力装置が、割込み元デバイス及び要因が特定できない空割込みを前記情報処理装置に行って前記ＯＳの動作状態を監視する処理を実行している。
【００１７】
本発明による他のシステム障害時の自動データ送出方法は、上記の処理のほかに、前記入出力装置が、前記ＯＳの動作状態を監視する処理で前記ＯＳの停止状態を検出した時に前記メインメモリの特定エリアの内容を取得して外部に送出する処理を実行している。
【００１８】
本発明によるシステム障害時の自動データ送出方法のプログラムは、障害の部位を判定するために有用なデータとして、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のコンソールメッセージ及びエラーメッセージをメインメモリに保持する情報処理装置と、前記コンソールメッセージ及びエラーメッセージを出力する入出力装置とを含む情報処理システムに用いるシステム障害時の自動データ送出方法のプログラムであって、前記入出力装置のコンピュータに、割込み元デバイス及び要因が特定できない空割込みを前記情報処理装置に行って前記ＯＳの動作状態を監視する処理を実行させている。
【００１９】
本発明による他のシステム障害時の自動データ送出方法のプログラムは、前記入出力装置のコンピュータに、前記ＯＳの動作状態を監視する処理で前記ＯＳの停止状態を検出した時に前記メインメモリの特定エリアの内容を取得して外部に送出する処理を実行させている。
【００２０】
すなわち、本発明の情報処理システムは、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ：入出力）バスに搭載される通信装置が、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）がＨＷ（ハードウェア）障害またはパニック等の原因によって動作を停止したことを検出するＯＳ  ａｌｉｖｅ監視機構と、ＯＳの停止が検出された際にＯＳの指示なくメモリ上の特定エリアのデータを取得する手段とを持つことを特徴とする。
【００２１】
ＯＳ  ａｌｉｖｅ監視機構は、従来のＩ／Ｏバスに実装される装置が持つ「割込み」という機構を用いて実現している。通常のＩ／Ｏ装置でも、動作の終了やエラーをＯＳに通知するため、割込み手段を持っており、Ｉ／Ｏバスは割込みをＯＳに通知するための手段を提供している。
【００２２】
割込みが通知された場合、ＯＳは割込みの要因を検査するためにＩ／Ｏ装置内に存在する「Ｉ／Ｏ装置の状態を示すレジスタ」にアクセスするのが一般的であるが、本発明の情報処理システムでは、ＯＳが「Ｉ／Ｏ装置の状態を示すレジスタ」へアクセスしてくることを検出する手段を持ち、割込みに対してＯＳが応答するかどうかを監視する。ＯＳの応答がない場合、Ｉ／Ｏ装置はＯＳが停止したと判定し、ＯＳ停止後の動作を開始する。
【００２３】
ＯＳ停止後の動作については、ＯＳがＩ／Ｏ装置を初期化する際に設定しておくデータと、ＯＳ動作中にＯＳからの指示で動作していた情報とを基に、必要なデータを送出するための回路を装置内に持ち、ＯＳ停止判定が行われた際にＯＳ停止後の動作を行う回路を動作させる。
【００２４】
これによって、本発明の情報処理システムでは、ＯＳが停止したことを検出する機構と、ＯＳ停止をきっかけとしてメッセージエリアのデータ出力を自動的に行う機構とを通信装置に持たせることによって、ＯＳ停止時に出力されていないメッセージが存在する場合に、そのメッセージを自動的に出力することで、エラー解析の効率を上げることを可能にしている。
【００２５】
つまり、本発明の情報処理システムでは、上記の機構を用いることによって、システム障害発生時でもＯＳが出力すべく用意した全メッセージの出力が行われ、障害復旧のための情報取得が容易になる。
【００２６】
また、本発明の情報処理システムでは、ＯＳ  ａｌｉｖｅ監視手段によるＯＳの動作監視について、Ｉ／Ｏの割込みをサポートするＯＳであれば、既存のＯＳになんら変更を加えることなく動作が可能であり、上記の通信装置をコンピュータシステムに実装するだけでＯＳの動作監視を行うことが可能となる。
【発明の効果】
【００２７】
本発明の情報処理システムは、以下に述べるような構成及び動作とすることで、既存のＯＳになんら変更を加えることなく、ＯＳの動作監視を行うことができるという効果が得られる。
【００２８】
本発明の他の情報処理システムは、以下に述べるような構成及び動作とすることで、システム障害発生時でもＯＳが出力すべく用意した全メッセージの出力が行われ、障害復旧のための情報取得を容易に行うことができるという効果が得られる。
【発明を実施するための最良の形態】
【００２９】
次に、本発明の実施の形態について図面を参照して説明する。図１は本発明の実施の形態による情報処理システムの構成を示すブロック図である。図１において、本発明の実施の形態による情報処理システムは、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１０を含むＣＰＵ（中央処理装置）１と、メインメモリ（Ｍａｉｎ  Ｍｅｍｏｒｙ）２と、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ：入出力）ブリッジ（Ｂｒｉｄｇｅ）３とからなる情報処理装置（コンピュータ本体）と、Ｉ／Ｏブリッジ３に接続されているＩ／Ｏバス１００に接続されるＩ／Ｏ装置４及び他のＩ／Ｏ装置５とから構成されている。
【００３０】
ここで、他のＩ／Ｏ装置５はＩ／Ｏバス１００上に接続された適当なＩ／Ｏカード（Ｃａｒｄ）であり、その存在の有無等は問わない。本発明の実施の形態で開示する機構を備えた装置はＩ／Ｏ装置４である。
【００３１】
Ｉ／Ｏ装置４はＯＳ  ａｌｉｖｅ監視機構４１と、システム障害時データ取得手段４２と、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）制御部４３と、通常動作制御部４４と、ローカルメモリ（Ｌｏｃａｌ  Ｍｅｍｏｒｙ）４５と、データ（Ｄａｔａ）送出元切替え部４６と、通信制御部４７とから構成されており、通信制御部４７は図示せぬネットワークに接続されている。
【００３２】
Ｉ／Ｏ装置４において、ＯＳ  ａｌｉｖｅ監視機構４１及びシステム障害時データ取得手段４２は本発明の実施の形態の特色となる回路である。また、他のＤＭＡ制御部４３、通常動作制御部４４、ローカルメモリ４５、通信制御部４７は、一般のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）［例えば、Ｅｔｈｅｒｎｅｔ（登録商標）等］カードに存在する回路であり、既知の技術として知られている。
【００３３】
さらに、データ送出元切替え部４６は、ネットワークに送出するデータを、システム障害時データ取得手段４２と通常動作制御部４４とのどちらから通信制御部４７に入力するかを切替えるために必要な回路であるが、この回路についても動作は機知の技術として提供される。
【００３４】
ＯＳ  ａｌｉｖｅ監視機構４１は、従来のＩ／Ｏバスに実装される装置が持つ「割込み」という機構を用いて実現している。通常のＩ／Ｏ装置でも、動作の終了やエラーをＯＳに通知するため、割込み手段を持っており、Ｉ／Ｏバスは割込みをＯＳに通知するための手段を提供している。
【００３５】
割込みが通知された場合、ＯＳは割込みの要因を検査するためにＩ／Ｏ装置内に存在する「Ｉ／Ｏ装置の状態を示すレジスタ」にアクセスするのが一般的であるが、本発明の実施の形態による情報処理システムでは、ＯＳ１０が「Ｉ／Ｏ装置の状態を示すレジスタ」へアクセスしてくることを検出する手段を持ち、割込みに対してＯＳ１０が応答するかどうかを監視する。ＯＳ１０の応答がない場合、Ｉ／Ｏ装置４はＯＳ１０が停止したと判定し、ＯＳ１０の停止後の動作を開始する。
【００３６】
ＯＳ１０の停止後の動作については、ＯＳ１０がＩ／Ｏ装置４を初期化する際に設定しておくデータと、ＯＳ１０の動作中に、ＯＳ１０からの指示で動作していた情報とを基に、必要なデータを送出するための回路をＩ／Ｏ装置４内に持ち、ＯＳ１０の停止判定が行われた際に、ＯＳ１０の停止後の動作を行う回路を動作させる。
【００３７】
これによって、本発明の実施の形態による情報処理システムでは、ＯＳ１０が停止したことを検出する機構と、ＯＳ１０の停止をきっかけとしてメッセージエリアのデータ出力を自動的に行う機構とをＩ／Ｏ装置４に持たせることによって、ＯＳ１０の停止時に出力されていないメッセージが存在する場合に、そのメッセージを自動的に出力することで、エラー解析の効率を上げることができる。
【００３８】
つまり、本発明の実施の形態による情報処理システムでは、上記の機構を用いることによって、システム障害発生時でもＯＳ１０が出力すべく用意した全メッセージの出力が行われ、障害復旧のための情報取得が容易になる。
【００３９】
また、本発明の実施の形態による情報処理システムでは、ＯＳ  ａｌｉｖｅ監視機構４１によるＯＳ１０の動作監視について、Ｉ／Ｏの割込みをサポートするＯＳであれば、既存のＯＳになんら変更を加えることなく動作が可能であり、上記のＩ／Ｏ装置４をコンピュータシステムに実装するだけでＯＳ１０の動作監視を行うことができる。
【実施例１】
【００４０】
次に、本発明の一実施例について図面を参照して説明する。図２は本発明の一実施例による情報処理システムの構成を示すブロック図である。図２において、本発明の一実施例による情報処理システムは、ＣＰＵ１と、メインメモリ２と、Ｉ／Ｏブリッジ３とからなるコンピュータ本体と、Ｉ／Ｏブリッジ３に接続されているＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス２００に接続されているＩ／Ｏ装置４及び他のＩ／Ｏ装置５とから構成されている。ここで、Ｉ／Ｏ装置５はＰＣＩバス２００上に接続された適当なＰＣＩカードであり、その存在の有無等は問わない。本実施例で開示する機構を備えた装置はＩ／Ｏ装置４である。
【００４１】
Ｉ／Ｏ装置４において、ＯＳ  ａｌｉｖｅ監視機構４１と、システム障害時データ取得手段４２とが本実施例の特色となる回路である。また、Ｉ／Ｏ装置４において他の回路、つまりＤＭＡ制御部４３、通常動作制御部４４、ローカルメモリ４５、メッセージ表示装置６が接続されたＬＡＮ制御部４８は一般のＬＡＮカードに存在する回路であり、既知の技術として知られている。
【００４２】
さらに、データ送出元切替え部４６は、ＬＡＮ（図示せず）に送出するデータを、システム障害時データ取得手段４２と通常動作制御回路４４とのどちらからＬＡＮ制御部４８に入力するかを切替えるために必要な回路であるが、この回路についても動作は機知の技術として提供される。
【００４３】
図３は図２のＯＳ  ａｌｉｖｅ監視装置４１の構成を示すブロック図である。図３において、ＯＳ  ａｌｉｖｅ監視装置４１は割込み手段４１１と、タイマ（Ｔｉｍｅｒ）回路４１２と、割込要因レジスタ４１３と、割込要因レジスタアクセス検出手段４１４と、タイマ回路４１５と、タイムアウト（Ｔｉｍｅｏｕｔ）判定部４１６とから構成されている。
【００４４】
割込み手段４１１及び割込要因レジスタ４１３は、実際には図２に示すところの通常動作制御部４４と共用する回路である。さらに、割込み要因レジスタ４１３とは、ＰＣＩ  ＢＵＳ規格で定められるＰＣＩ  Ｓｔａｔｕｓレジスタのことであり、すべてのＰＣＩカードが実装している標準レジスタである。
【００４５】
図４は図２のメインメモリ２上のデータ格納イメージを示す図であり、図５は図２のシステム障害時データ取得手段４２の構成を示すブロック図である。図４において、メインメモリ２上には、ｄｅｓｃｒｉｐｔｏｒと、メッセージバッファ（Ｍｅｓｓａｇｅ  Ｂｕｆｆｅｒ）と、バッファポインタ（Ｂｕｆｆｅｒ  ｐｏｉｎｔｅｒ）とが設けられている。
【００４６】
図５において、障害時データ取得手段４２はレジスタ群４２１と、システム障害時データ取得制御部４２２と、メッセージ保存バッファ４２３と、メッセージ比較用バッファ４２４と、差分出力部４２５とから構成されている。
【００４７】
レジスタ群４２１は、ＯＳ１０のメッセージバッファの開始アドレスを保持するためのバッファポインタアドレス（Ｂｕｆｆｅｒ  ｐｏｉｎｔｅｒ  ａｄｄｒｅｓｓ）レジスタと、ＯＳ１０のメッセージバッファサイズを示すバッファサイズ（Ｂｕｆｆｅｒ  ｓｉｚｅ）レジスタと、ＯＳ１０が最後に通知してきたバッファの開始アドレスを保持するバッファポインタ＃１レジスタと、ＯＳ１０の停止後にバッファポインタを検査した結果を格納するバッファポインタ＃２レジスタとからなる。
【００４８】
メッセージ保存バッファ４２３は、ＯＳ１０が最後にメッセージ出力要求を通知してきた時のメッセージバッファの内容を保持する。メッセージ比較用バッファ４２４は、ＯＳ１０が停止した後のメッセージバッファ内のデータを取得保存する。差分出力部４２５はメッセージ保存バッファ４２３の内容とメッセージ比較用バッファ４２４の内容とを比較し、それらの差分を出力する。
【００４９】
まず、従来のＰＣＩバス上のＩ／Ｏ装置の動作について簡単に説明する。図１０は一般的なＰＣＩカードの一例として、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）カードの構造を示している。ここではメインメモリ６上に用意されたデータをＤＩＳＫ９０上に格納する場合の動作について説明する。
【００５０】
メインメモリ６上にアプリケーション（図示せず）またはＯＳ１０等が作成したデータをＤＩＳＫ９０上に格納する場合、ＯＳ１０はまずＳＣＳＩカード８に対して与えるコマンドである「Ｄｅｓｃｒｉｐｔｏｒ」をメインメモリ６上に用意する。この「Ｄｅｓｃｒｉｐｔｏｒ」には、「命令（ＤＩＳＫ  Ｗｒｉｔｅ：ＤＩＳＫ９０にライトするという命令）」、「書込みデータアドレス（ＤＩＳＫ９０に書込むデータのメインメモリ６上の格納先頭アドレス）」、「書込みデータの大きさ（ＤＩＳＫ９０に書込むデータの大きさ９」、「ＤＩＳＫ上のアドレス（ＤＩＳＫ９０内の書込み先アドレス）」等が書かれている。
【００５１】
次に、ＯＳ１０はＳＣＳＩカード８に対し、メインメモリ６上の「Ｄｅｓｃｒｉｐｔｏｒ」が格納されているアドレス（Ｄｅｓｃｒｉｐｔｏｒアドレス）をＳＣＳＩカード８に通知する。ＳＣＳＩカード８はＤｅｓｃｒｉｐｔｏｒアドレスを受取ると、ＤＭＡ制御部８２を用いて「Ｄｅｓｃｒｉｐｔｏｒ」をＤＭＡリード（Ｒｅａｄ）し、ローカルメモリ８５上にコピーする。ＳＣＳＩカード８は「Ｄｅｓｃｒｉｐｔｏｒ」に書かれた情報を基に、メインメモリ６から書込みデータをローカルメモリ８５にコピーする。
【００５２】
ＳＣＳＩカード８はＤＩＳＫ制御部８６を用いて、ローカルメモリ８５にコピーしたデータをＤＩＳＫ９０上にライトする。これまでの一連の動作が終了すると、ＳＣＳＩカード８はＳｔａｔｕｓレジスタ８４上に「動作終了」を示すｂｉｔを立て、ＯＳ１０に割込みを行う。
【００５３】
割込みを受取ったＯＳ１０は、まず割込みをしてきたデバイスを探索する。この時、ＯＳ１０は割込みを行う可能性のある装置上のＳｔａｔｕｓレジスタをすべて読出し、割込みの要因が示されているデバイスを探索する。ここではＳＣＳＩカード８が割込み要因をＳｔａｔｕｓレジスタ８４に書いているため、ＯＳ１０はＳＣＳＩカード８が割込み元と判断し、ｄｒｉｖｅｒを通じてデータをＤＩＳＫ９０に書込む動作が終了したことを判定する。
【００５４】
上記の処理は、一般的なＰＣＩカードの一動作例を簡単に説明したものであるが、本実施例の第一の特徴である「ＯＳ  ａｌｉｖｅ監視機構４１」は、上記の説明の中の割込みと呼ばれる動作を用いて実装することができる。ＯＳ  ａｌｉｖｅ監視機構４２の構成は図３に示している。図３の「ａ」でＯＳ  ａｌｉｖｅ監視機構４１はＯＳ１０に対して割込みを通知している。但し、この割込みを行う際にＯＳ  ａｌｉｖｅ監視機構４１は割込み要因を示すレジスタに割込みの要因をセットせずに割込みを行っている。一般的なＰＣＩカードは割込み要因をセットせずに割込み通知を行う動作を行わない。
【００５５】
図６は図２のＯＳ  ａｌｉｖｅ監視機構４１の動作を示すフローチャートである。これら図２〜図６を参照してＯＳ  ａｌｉｖｅ監視機構４１の動作について説明する。
【００５６】
ＯＳ１０は割込み元デバイスと割込みの要因とを調査するために、割込み元となりうるすべてのデバイスを調査するが、この時、ＯＳ１０は割込み要因レジスタ４１３のアドレスを指定してＩ／Ｏのリード命令を発行してくる。ＯＳ  ａｌｉｖｅ監視機構４１はこのＯＳ１０が割込み要因レジスタ４１３のアドレスを指定してリードをしてくる命令を、アドレスをキーとして検出する割込要因レジスタアクセス検出手段４１４を用いて検出する。
【００５７】
もちろん、割込要因はセットしていないため、ＯＳ１０は割込み元デバイスを特定することができずに、割込元デバイスの探索を終了する。上記のように、割込が発生したにもかかわらず、割込み元デバイス及び要因が特定できないタイプの割込みは「空割込み」と呼ばれる。
【００５８】
本実施例では、この「空割込み」を一定時間毎にわざと発生させ、ＯＳ１０が割込み要因レジスタ４１３の調査を行うかどうかを監視することによって（図６ステップＳ１〜Ｓ３，Ｓ５）、ＯＳ１０が正常な動作を行っているかどうかを判定することに特徴がある。
【００５９】
ＯＳ１０が正常な動作をしていない場合、空割込みを発生させても割込要因レジスタ４１３へのアクセスが行われないため、空割込みを発生してから一定時間、割込要因レジスタ４１３へのアクセスが行われないことをきっかけに、ＯＳ１０の停止を判定し、ＯＳ１０の停止信号を出力するのがＯＳ  ａｌｉｖｅ監視機構４１の動作である（図６ステップＳ１〜Ｓ３，Ｓ５，Ｓ６）。尚、本実施例では、ＯＳ１０が正常な動作をしている場合、空割込みを発生させると割込要因レジスタ４１３へのアクセスが行われるため、上記のアクセスタイマのストップとリセットとが行われる。
【００６０】
また、タイマ回路４１２が空割込みを起動する間隔は、任意に設定することができるように設計し、システムに対してＯＳ  ａｌｉｖｅ監視機構４１の空割込みが大きな負担にならないようにするのが望ましい。さらに、タイムアウト判定部４１６も、システム毎に空割込み発生から割込み要因レジスタ４１３の読出しが行われる時間が異なるため、任意の時間経過でＯＳ１０の停止信号を出力することができるように、設定に自由度を持たせることが望ましい。
【００６１】
次に、本実施例の第二の特徴である障害時データ取得手段４２について説明する。本実施例では、ＯＳ１０が正常動作している場合にデータ送信を行う機構として、通常動作制御部４４と、通常動作制御部４４が用いるローカルメモリ４５とが存在すると同時に、ＯＳ１０の障害時にデータ出力を行うシステム障害時データ取得手段４２がＩ／Ｏ装置４に実装されている。
【００６２】
図７〜図９は図２のシステム障害時データ取得手段４２の動作を示すフローチャートである。これら図２〜図５及び図７を参照してシステム障害時データ取得手段４２の動作について説明する。
一般的に、ＯＳ１０がコンソールメッセージを書込むメインメモリ２上のエリアには固定的な領域をサイクリックに使用する。本実施例では、このエリアをメッセージバッファと呼ぶ。メモリの使用状態によってメッセージバッファの位置を変更する必要がある場合のために、多くのＯＳではメッセージバッファの先頭アドレスを示すバッファポインタを用意している。
【００６３】
本実施例におけるＩ／Ｏ装置４には、このバッファポインタがメインメモリ２上のどこにあるかを示すバッファポインタアドレスレジスタを実装しており（図５のレジスタ群４２１参照）、ＯＳ１０がシステムの初期化を行う際に一度だけこのレジスタにバッファポインタの格納アドレスをセットする（図７ステップＳ１１，Ｓ２１、図８ステップＳ３１，Ｓ４１）。また、メッセージバッファのサイズもシステム初期化の際にセットされる。
【００６４】
ＯＳ１０が正常動作している場合、メッセージ出力要求はＯＳ１０からｄｅｓｃｒｉｐｔｏｒアドレスの通知として行われる（図７ステップＳ１２、図８ステップＳ３２）。Ｄｅｓｃｒｉｐｔｏｒアドレスを受取ると、まず、通常動作制御部４４がｄｅｓｃｒｉｐｔｏｒをＤＭＡ制御部４３を用いてローカルメモリ４５に取得する（図７ステップＳ１３、図８ステップＳ３３）。続いて、システム障害時データ取得手段４１がバッファポインタをＤＭＡ制御部４３を用いて取得し、レジスタ群４２１のバッファポインタ＃１レジスタに格納する（図７ステップＳ２２、図８ステップＳ４２）。
【００６５】
さらに、通常動作制御部４４がｄｅｓｃｒｉｐｔｏｒの内容に応じて出力要求があったメッセージをＤＭＡ制御部４３を用いてローカルメモリ４５に取得する（図７ステップＳ１４、図８ステップＳ３４）。通常動作制御部４４は取得したメッセージをデータ送出元切替え部４６を介してＬＡＮ制御部４８に送信し（図８ステップＳ３５）、ＬＡＮ制御部４８がメッセージを通信先に通知する。
【００６６】
メッセージが通信されている間、システム障害時データ取得手段４２はバッファポインタのアドレスが指し示すメッセージバッファの全内容をメッセージ保存バッファ４２３にＤＭＡ制御部４３を用いてコピーする（図７ステップＳ２３、図８ステップＳ４３）。通常動作制御部４４による通信と、システム障害時データ取得手段４２による全メッセージのコピー動作の双方が終了した時点で、通常動作制御部４４はＯＳ１０に対して割込みを行い（図８ステップＳ３６）、メッセージ出力の終了を通知する。
【００６７】
ＯＳ  ａｌｉｖｅ監視機構４１によって、ＯＳ１０の停止が確認された場合、通常動作制御部４４は動作を停止する（図８ステップＳ３７，Ｓ３８）。これと同時に、システム障害時データ取得手段４２は、まずＤＭＡ制御部４３を用いてバッファポインタの内容をレジスタ群４２１のバッファポインタ＃２レジスタにコピーする（図８ステップＳ４４）。さらに、システム障害時データ取得手段４２はレジスタ群４２１のバッファポインタ＃２レジスタの指し示すアドレスからＤＭＡ制御部４３を用いてメッセージバッファの全内容をメッセージ比較用バッファ４２４にコピーする（図８ステップＳ４５）。
【００６８】
バッファポインタ＃１レジスタの内容とバッファポインタ＃２レジスタの内容とが一致する場合（図８ステップＳ４６）、ＯＳ１０は障害発生直前までメッセージバッファをサイクリックに使用していたことになる。このため、新規メッセージはメッセージ保存バッファ４２３の内容とメッセージ比較用バッファ４２４の内容とを比較し、内容に差分があるエリアに格納されていることになる。システム障害時データ取得手段４２はこの差分が検出された内容を通信手段（ＬＡＮ制御部４８）に送出する（図８ステップＳ４７，Ｓ４８）。
【００６９】
これに対し、バッファポインタ＃１レジスタの内容とバッファポインタ＃２レジスタの内容とが異なる場合（図８ステップＳ４６）、ＯＳ１０は最後にメッセージ出力を要求した後、メッセージバッファの領域を変更したことになるため、新規のメッセージはすべて変更後のメッセージバッファの先頭から格納されていることになる。このため、システム障害時データ取得手段４２はメッセージ比較用バッファ４２４内のデータを通信手段（ＬＡＮ制御部４８）に送出し（図８ステップＳ５０，Ｓ５１）、動作を終了する。
【００７０】
このように、本実施例では、上述した機構を用いることによって、システム障害発生時でもＯＳ１０が出力すべく用意した全メッセージの出力が行われ、障害復旧のための情報取得が容易になる。
【００７１】
また、本実施例では、ＯＳ  ａｌｉｖｅ監視機構４１によるＯＳ１０の動作監視について、Ｉ／Ｏの割込みをサポートするＯＳであれば、既存のＯＳになんら変更を加えることなく動作が可能であり、上述した機構をコンピュータシステムに実装するだけで、ＯＳ１０の動作監視を行うことができる。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施の形態による情報処理システムの構成を示すブロック図である。
【図２】本発明の一実施例による情報処理システムの構成を示すブロック図である。
【図３】図２のＯＳ  ａｌｉｖｅ監視装置の構成を示すブロック図である。
【図４】図２のメインメモリ上のデータ格納イメージを示す図である。
【図５】図２のシステム障害時データ取得手段の構成を示すブロック図である。
【図６】図２のＯＳ  ａｌｉｖｅ監視機構の動作を示すフローチャートである。
【図７】図２のシステム障害時データ取得手段の動作を示すフローチャートである。
【図８】図２のシステム障害時データ取得手段の動作を示すフローチャートである。
【図９】図２のシステム障害時データ取得手段の動作を示すフローチャートである。
【図１０】従来例による情報処理システムの構成を示すブロック図である。
【符号の説明】
【００７３】
１  ＣＰＵ
２  メインメモリ
３  Ｉ／Ｏブリッジ
４  Ｉ／Ｏ装置
５  他のＩ／Ｏ装置
６  メッセージ表示装置
１０  ＯＳ
４１  ＯＳ  ａｌｉｖｅ監視機構
４２  システム障害時データ取得手段
４３  ＤＭＡ制御部
４４  通常動作制御部
４５  ローカルメモリ
４６  データ送出元切替え部
４７  通信制御部
４８  ＬＡＮ制御部
１００  Ｉ／Ｏバス
２００  ＰＣＩバス
４１１  割込み手段
４１２，４１５  タイマ回路
４１３  割込要因レジスタ
４１４  割込要因レジスタアクセス検出手段
４１６  タイムアウト判定部
４２１  レジスタ群
４２２  システム障害時データ取得制御部
４２３  メッセージ保存バッファ
４２４  メッセージ比較用バッファ
４２５  差分出力部
【図１】
2006119778.tif 000003
【図２】
2006119778.tif 000004
【図３】
2006119778.tif 000005
【図４】
2006119778.tif 000006
【図５】
2006119778.tif 000007
【図６】
2006119778.tif 000008
【図７】
2006119778.tif 000009
【図８】
2006119778.tif 000010
【図９】
2006119778.tif 000011
【図１０】
2006119778.tif 000012