JPH10269110A - 計算機システムのハングアップ回避方法並びにこの方法を用いた計算機システム。 - Google Patents

計算機システムのハングアップ回避方法並びにこの方法を用いた計算機システム。

Info

Publication number
JPH10269110A
JPH10269110A JP9073484A JP7348497A JPH10269110A JP H10269110 A JPH10269110 A JP H10269110A JP 9073484 A JP9073484 A JP 9073484A JP 7348497 A JP7348497 A JP 7348497A JP H10269110 A JPH10269110 A JP H10269110A
Authority
JP
Japan
Prior art keywords
computer system
cpu
hang
tss
avoid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9073484A
Other languages
English (en)
Inventor
Katsumi Fukuwaki
克己 福脇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP9073484A priority Critical patent/JPH10269110A/ja
Publication of JPH10269110A publication Critical patent/JPH10269110A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 信頼性の高い計算機システムのハングアップ
回避方法を提供すること。 【解決手段】 CPUの動作情報を定期的に収集する仮
想デバイスドライバ3より情報を受け取って、暴走プロ
セス5の検出を行ない、暴走しているプロセスを検出し
た場合には、該プロセスに対してシグナルの送信を行な
って、動作を制御することを特徴としている 【効果】 本発明により計算機のハングアップ回避方法
の操作性を向上させることができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機のプロセス
スケジューリングおよびその動作を監視し制御する計算
機システムのハングアップ回避方法並びにこの方法を用
いた計算機システムに関する。
【0002】
【従来の技術】従来の計算機システムは、ウォッチドッ
グタイマ(プログラム停止監視時限装置)と称される機
能によって中央計算機(CPU)の暴走を検出し、暴走
を検出した場合にはハードウェアリセット(機械的再起
動)を行って再起動する方式がとられる場合が多い。
【0003】また、プロセスの動作を監視し制御を行お
うとした場合には、既存のオペレーティング・システム
(OS)処理に対して改造を加える必要が高く、ソース
コードを持たないと実現は不可能である。
【0004】計算機が複数のCPUを持つマルチプロセ
ッサ構成をとった場合、一つのCPU上でプロセスが暴
走した場合には、他のCPUによってシステム全体の処
理が行われるようにしている。このため動作の継続性と
いう点では問題ないが、パフォーマンス(実行効率性)
という点では劣化を起こし、この状態を検出する方法が
なかった。
【0005】
【発明が解決しようとする課題】従来の計算機システム
における非TSSポリシーのスケジューリング(時分割
利用をしない動作スケジュールの設定)では、一つのプ
ロセスが連続してCPUを使用して動作する場合、より
高い優先度を持つプロセスが動作しようとするまで、低
い優先度をもつプロセスや計算機システムに同時に存在
するTSSプロセスは動作できない。
【0006】また、CPUを占有して動作しているプロ
セスが、プログラムのバグ等によつて、CPUを離さな
くなった揚合、ほとんどの場合は操作不能となって、シ
ステムを止めるほか手段がない。さらにシステムの停止
処理も、複数のTSSプロセスが動作する必要もあり、
上記のような状況下においては、システムの停止すらお
ぼつかない。そして、このような状況はプログラマが未
熟な場合などによく発生する。
【0007】従来より使われているウォッチドッグタイ
マによる監視は、CPUがハードウエア的に暴走した場
合をエラーとして検出するように実装されている場合が
多い。従ってたとえば、UNIX(X/OPENカンパ
ニー・リミテッドの登録商標)等の多重優先度スケジュ
ーリングを行うような計算機システムにおいては、高優
先度プロセスの暴走はCPUのハードウエア暴走ではな
いために検出することはできない(CPUとしても、O
Sとしても異常ではない)という問題がある。
【0008】またウォッチドッグ機能では、エラーと判
定した後にシステムのリセットを行うが、最近のOSの
ようにメモリ上にファイルキャッシュをおいてI/O
(入出力)を高速化する等といつた高度なファイル管理
を行っているシステムに対しては、強制的なリセットは
ファイルシステムの破壊を引き起こす可能性が高く、行
うべきではない。
【0009】一方で、計算機システムがマルチプロセッ
サ構成の場合、各CPU毎にプロセスの暴走を監視、検
出、排除することによって、一つのCPU上において暴
走が発生してハングアップ(停止)した場合でも、それ
を回避し、システムのパフオーマンス劣化を防止する必
要がある。
【0010】本発明は次の項目を可能とする計算機シス
テムのハングアップ回避方法を提供することを目的とし
ている。
【0011】(1) 高優先度プロセスがCPUを占有
して動作しているる状況を検出し、該当プロセスを強制
停止もしくは一時停止させることによって、システムの
健全な動作を得る。
【0012】(2) 計算機システムがマルチプロセッ
サ構成の場合にも、高優先度プロセスがCPUを占有し
て動作している状況を検出できるようにする。
【0013】(3) 上記機構を、OSを改変すること
なく実現できるようにする。
【0014】
【課題を解決するための手段】請求項1に記載した計算
機システムのハングアップ回避方法は、非TSSスケジ
ューリングポリシーを持つ計算機システムにおいて、C
PUの動作情報をもとに、一定時間以上連続して動作す
るプロセスを検出する機構を備え、計算機システムのハ
ングアップを回避することを特徴としている。
【0015】請求項2に記載した計算機システムのハン
グアップ回避方法は、非TSSスケジューリングポリシ
ーを持つ計算機システムにおいて、マルチプロセッサ構
成をとる場合に、各プロセッサ毎に一定時間以上連続し
て動作するプロセスを検出する機構を備え、計算機シス
テムのハングアップを回避することを特徴としている。
請求項3に記載した計算機システムのハングアップ回
避方法は、非TSSスケジューリングポリシーを持つ計
算機システムにおいて、一定時間以上連続して動作する
プロセスを検出した場合に、プロセスを強制終了もしく
は一時停止することによって操作不能状態を回避して、
計算機システムのハングアップを回避することを特徴と
している。
【0016】請求項4に記載した計算機システムのハン
グアップ回避方法は、非TSSスケジューリングポリシ
ーを持つ計算機システムにおいて、操作不能状態回避機
構をOSの改変によって行なうのではなく、外づけの機
構によって実現する構成として計算機システムのハング
アップを回避することを特徴としている。
【0017】請求項5に記載した計算機システムのハン
グアップ回避方法は、非TSSスケジューリングポリシ
ーを持つ計算機システムにおいて、CPUの動作情報の
取得可否をもとに、OSのサービスを利用せずにCPU
のオンライン/オフラインを検出できる検出して、計算
機システムのハングアップを回避することを特徴として
いる。
【0018】請求項6に記載した計算機システムは非T
SSスケジューリングポリシーを持つ計算機システムに
おいて、CPUの動作情報を定期的に収集する仮想ディ
バイスドライバと、このディバイスドライバからのCP
U動作情報を受け取って暴走プロセスの検知を行なう暴
走プロセス検知手段と、この暴走プロセス検知手段から
の信号により暴走プロセスを強制終了または一時停止さ
せる監視手段とを備えたことを特徴としている。
【0019】すなわち、OSと同じ特権レベルで動作
し、OSの管理するCPU動作情報を一定周期で参照し
て各CPU上で動作しているプロセスに関する情報を保
持する仮想デバイスドライバと、アプリケーションと同
じ特権レベルにて、システムで一番高い優先度動作し、
仮想デバイスドライバから各CPU毎の動作プロセスに
関する情報を受け取る監視プロセスとから構成する。
【0020】そして、この監視プロセスは一定時間間隔
で動作する。すなわち、プロセス情報を受け取り、各C
PU毎にプロセスのスイッチング(切り替え)回数を前
回の動作時の状態と比較する。スイッチング回数が自分
にスイッチされた回数よりも2以上大きければ、自分の
他に2つのプロセスがディスパッチされたことになるの
で正常に動作していることになる。
【0021】スイッチング回数が自分のみである場合に
も、他に動作しているプロセスがないことになり問題が
ない。自分の他に1つのプロセスがディスパッチされた
状態が、一つのプロセスが動作している状態である。こ
の状態が一定時間以上継続した場合、動作しているプロ
セスは暴走していると判定する。
【0022】この判定結果によりOSは、暴走している
プロセスを検出した場合、暴走理由に応じて該当プロセ
スに対し適宜シグナルの送信を行い、送信するシグナル
の種類によって、該当プロセスを強制終了させたり、一
時停止させたりすることが可能である。
【0023】上記手段によって、特定のプロセスによる
バグ等による意図しないCPU占有状態が防止でき、一
般のプロセスの動作が可能となる。また、上記構成はO
Sに何の改変を加えることなく実現できる。
【0024】
【発明の実施の形態】次に本発明による計算機システム
のハングアップ回避方法の実施の形態を説明する。図1
において、CPU動作情報2はOSが管理しているCP
U動作情報であり、マルチプロセッサ構成の場合には各
CPU毎に存在している。
【0025】仮想デバイスドライバ3はOSと同じ特権
レベルで動作するデバイスドライバであり、計算機1に
あってCPU動作情報2を定期的に収集し、実際に制御
するハードウェアを持たないデバイスドライバである。
【0026】監視プロセス4は仮想デバイスドライバ3
に接続され、仮想デバイスドライバ3より情報を受け取
り、アプリケーションプロセスと同じ特権レベルで動作
し、暴走プロセス5の検出を行ない、暴走しているプロ
セスを検出した場合には、該プロセスに対してシグナル
の送信を行ない、動作を制御するプロセスである。
【0027】監視プロセス相当の処理をOSと同じ特権
レベルで実行すると、負荷が高くなってシステムのパフ
ォーマンスに影響するためアプリケーション動作空間で
動作させる。アプリケーション動作空間は、通常のOS
であればOSの動作する空間とは特権レベルが異なるた
め、OSが管理する情報を直接参照することはできな
い。このために仮想デバイスドライバ3を設ける。ま
た、動作情報を参照できる場合であっても、参照を行う
という動作によって、動作しているプロセスが自分自身
になってしまい、有用な情報を得ることができない。そ
のため、プロセスのコンテキストを持たないドライバで
情報を参照する必要がある。
【0028】すなわち仮想デバイスドライバ3は、OS
の管理するCPU動作情報2を外部参照し、必要なデー
タを自分自身のローカル変数にコピーする。そして参照
の際には、参照途中の変数の変更が行われないように、
変数に対してロックをかけて排他処理を行う。
【0029】なお、OSの管理するCPU動作情報2に
は、プロセスのスイッチング回数、現在のCPU上での
動作プロセスなどの情報が含まれており、これらの情報
により、プロセスの暴走検出、動作プロセスの特定が可
能である。
【0030】また、CPU情報の参照により、CPUの
オンライン/オフライン状況を監視することができ、シ
ステムの予防保全の点からも有効である。
【0031】以上のように本発明により、(1) 高優
先度プロセスの予期せぬCPU占有を検出することがで
きる。
【0032】(2) マルチプロセッサ構成であって
も、1つのプロセスの占有状況を検出することができ
る。
【0033】(3) CPU占有によるシステムのハン
グアップを検出した場合、該当プロセスを強制終了また
は一時停止等の方法によって状況を回復することができ
る。
【0034】(4) CPUのオンライン/オフライン
状況を、アプリケーシヨンレベルでモニタリングするこ
とができる。
【0035】
【発明の効果】本発明により、計算機システムのハング
アップ回避方法の信頼性を向上させることができる。
【図面の簡単な説明】
【図1】本発明の一実施例を示す計算機システムのハン
グアップ回避方法の説明図である。
【符号の説明】
1 計算機 2 CPU動作情報 3 仮想デバイスドライバ 4 監視プロセス 5 暴走プロセス

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 非TSSスケジューリングポリシーを持
    つ計算機システムにおいて、CPUの動作情報をもと
    に、一定時間以上連続して動作するプロセスを検出する
    機構を具備し、計算機システムのハングアップを回避す
    る計算機システムのハングアップ回避方法。
  2. 【請求項2】 非TSSスケジューリングポリシーを持
    つ計算機システムにおいて、マルチプロセッサ構成をと
    る場合に、各プロセッサ毎に一定時間以上連続して動作
    するプロセスを検出する機構を具備し、計算機システム
    のハングアップを回避する計算機システムのハングアッ
    プ回避方法。
  3. 【請求項3】 非TSSスケジューリングポリシーを持
    つ計算機システムにおいて、一定時間以上連続して動作
    するプロセスを検出した場合に、前記プロセスを強制終
    了もしくは一時停止することによって操作不能状態を回
    避して、計算機システムのハングアップを回避する計算
    機システムのハングアップ回避方法。
  4. 【請求項4】 非TSSスケジューリングポリシーを持
    つ計算機システムにおいて、前記操作不能状態回避機構
    をOSの改変によって行なうのではなく、外づけの機構
    によって実現する構成としたことを特徴とする請求項3
    に記載した計算機システムのハングアップ回避方法。
  5. 【請求項5】 非TSSスケジューリングポリシーを持
    つ計算機システムにおいて、CPUの動作情報の取得可
    否をもとに、OSのサービスを利用せずにCPUのオン
    ライン/オフラインを検出し、計算機システムのハング
    アップを回避する計算機システムのハングアップ回避方
    法。
  6. 【請求項6】 非TSSスケジューリングポリシーを持
    つ計算機システムにおいて、CPUの動作情報を定期的
    に収集する仮想ディバイスドライバと、このディバイス
    ドライバからの前記CPU動作情報を受け取って暴走プ
    ロセスの検知を行なう暴走プロセス検知手段と、この暴
    走プロセス検知手段からの信号により前記暴走プロセス
    を強制終了または一時停止させる監視手段とを備えたこ
    とを特徴とする計算機システム。
JP9073484A 1997-03-26 1997-03-26 計算機システムのハングアップ回避方法並びにこの方法を用いた計算機システム。 Pending JPH10269110A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9073484A JPH10269110A (ja) 1997-03-26 1997-03-26 計算機システムのハングアップ回避方法並びにこの方法を用いた計算機システム。

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9073484A JPH10269110A (ja) 1997-03-26 1997-03-26 計算機システムのハングアップ回避方法並びにこの方法を用いた計算機システム。

Publications (1)

Publication Number Publication Date
JPH10269110A true JPH10269110A (ja) 1998-10-09

Family

ID=13519610

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9073484A Pending JPH10269110A (ja) 1997-03-26 1997-03-26 計算機システムのハングアップ回避方法並びにこの方法を用いた計算機システム。

Country Status (1)

Country Link
JP (1) JPH10269110A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277115A (ja) * 2005-03-28 2006-10-12 Fujitsu Ten Ltd 異常検出プログラムおよび異常検出方法
JP2009289116A (ja) * 2008-05-30 2009-12-10 Fujitsu Ltd 異常検出方法、異常検出プログラム及び情報処理装置
JP2012247978A (ja) * 2011-05-27 2012-12-13 Toyota Motor Corp 制御装置及び制御方法
JP2013533553A (ja) * 2010-09-07 2013-08-22 ヒョンダイ モーター カンパニー システムテスト方法
US9354996B2 (en) 2010-06-28 2016-05-31 Hyundai Motor Company System test apparatus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277115A (ja) * 2005-03-28 2006-10-12 Fujitsu Ten Ltd 異常検出プログラムおよび異常検出方法
JP2009289116A (ja) * 2008-05-30 2009-12-10 Fujitsu Ltd 異常検出方法、異常検出プログラム及び情報処理装置
US9354996B2 (en) 2010-06-28 2016-05-31 Hyundai Motor Company System test apparatus
JP2013533553A (ja) * 2010-09-07 2013-08-22 ヒョンダイ モーター カンパニー システムテスト方法
JP2012247978A (ja) * 2011-05-27 2012-12-13 Toyota Motor Corp 制御装置及び制御方法

Similar Documents

Publication Publication Date Title
US6434591B1 (en) Thread control system and method in a computer system
US7328367B2 (en) Logically partitioned computer system and method for controlling configuration of the same
US6892261B2 (en) Multiple operating system control method
US7275122B2 (en) Method and system for maintaining a desired service level for a processor receiving excessive interrupts
JP2001154885A (ja) コンピュータシステムのロックアップ防止方法及びコンピュータシステムをモニターする方法
JPH08328880A (ja) 複数のアプリケーションプログラムを同時に実行できるオペレーティングシステムにおける計算機運転管理システム
JP2001101033A (ja) オペレーティングシステム及びアプリケーションプログラムの障害監視方法
US7444450B2 (en) Method and system for detecting excessive interrupt processing for a processor
US7089413B2 (en) Dynamic computer system reset architecture
US20020120884A1 (en) Multi-computer fault detection system
EP1162536A1 (en) Multiple operating system control method
JP2000076087A (ja) マルチオペレーティングシステム制御方法
US6338151B1 (en) Input/output recovery which is based an error rate and a current state of the computer environment
JPH10269110A (ja) 計算機システムのハングアップ回避方法並びにこの方法を用いた計算機システム。
KR100697988B1 (ko) 과도한 인터럽트로부터 시스템을 보호하는 장치 및 그 방법
JP2965075B2 (ja) プログラム実行状態監視方法
CN110968448A (zh) 一种多任务运行状态的监视方法
US6338145B1 (en) Input/output recovery system which is based upon an error rate and a current state of the computer environment
JP3859564B2 (ja) イベント通知タスク制御処理方式及び方法並びにプログラム
JP2006227962A (ja) アプリケーションタスク監視システムおよび方法
JPH10116261A (ja) 並列計算機システムのチェックポイントリスタート方法
JP2005182594A (ja) コンピュータ及びプログラム
JP2008077388A (ja) マルチプロセッサ制御システム、方法、およびプログラム
JP2019020869A (ja) 車両制御装置
JPH01116739A (ja) Cpuの監視装置