JP2868501B1 - 処理停止回避方法 - Google Patents

処理停止回避方法

Info

Publication number
JP2868501B1
JP2868501B1 JP10043016A JP4301698A JP2868501B1 JP 2868501 B1 JP2868501 B1 JP 2868501B1 JP 10043016 A JP10043016 A JP 10043016A JP 4301698 A JP4301698 A JP 4301698A JP 2868501 B1 JP2868501 B1 JP 2868501B1
Authority
JP
Japan
Prior art keywords
register
contents
event
counter
master
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.)
Expired - Fee Related
Application number
JP10043016A
Other languages
English (en)
Other versions
JPH11232140A (ja
Inventor
毅 宮元
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.)
NEC Communication Systems Ltd
Original Assignee
NEC Communication Systems Ltd
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 NEC Communication Systems Ltd filed Critical NEC Communication Systems Ltd
Priority to JP10043016A priority Critical patent/JP2868501B1/ja
Application granted granted Critical
Publication of JP2868501B1 publication Critical patent/JP2868501B1/ja
Publication of JPH11232140A publication Critical patent/JPH11232140A/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【要約】 【課題】 発生が予期される各イベントに対する処理と
そのイベントを処理する子プロセスが予め定められてい
て、イベントが発生するごとに、その発生したイベント
の処理を当該イベントに対応する子プロセスに指示する
マスタープロセスのデッドロックを回避する。 【解決手段】 マスタープロセスの実行をチェックする
チェックプロセスを設け、マスタープロセスはイベント
処理のステップの後で乱数を発生し、チェックプロセス
はマスタープロセスが乱数発生を実行していることを検
出して、マスタープロセスが動作していることを確認す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マスタープロセス
がデッドロックすることを防止する処理停止回避方法に
関するものである。たとえば、システム内において各種
の通信制御を行う場合、所定のイベントが発生し、その
発生したイベントの処理として通信制御が行われるが、
発生するイベントとそのイベント処理として行われる通
信制御と、この通信制御を行う子プロセスとは予め定め
られていて、発生した各イベントを識別し、そのイベン
トを処理するように予め定められている各子プロセスを
制御、管理するプロセスをマスタープロセスと称してい
るが、本発明はこのようなマスタープロセスの処理停止
回避方法に関するものである。
【0002】
【従来の技術】電子計算機の暴走(ハングアップを含
む)を防止する方法については、従来色々の方法が開示
されている。然しながら、従来開示されている暴走防止
方法は、主として、制御プログラムが内蔵されていて、
この制御プログラムを読み出すプログラムカウンタを有
する電子計算機に関するものであって、上述のマスター
プロセスはデッドロックしないような簡潔な制御処理と
して、処理停止回避方法は講じられてなかった。
【0003】図3は従来のマスタープロセスの処理の流
れを示すフローチャートで、101は初期設定のステッ
プ、3はイベントの発生を待っているステップ、4はイ
ベントが発生したとき、発生したイベントを処理するイ
ベント処理ステップである。発生したイベントがどのイ
ベントであるかは容易に識別でき、そのイベントに対し
どの子プロセスを起動すべきかということも予め定めら
れているので、マスタープロセスの制御処理は簡潔であ
り、処理停止回避方法は講じられてない。
【0004】
【発明が解決しようとする課題】然し、このような簡単
なマスタープロセスでもデッドロックすることがあり、
このデッドロックが検出され、マスタープロセスが外部
からリセットされるまでには、通常多くの時間が空費さ
れ、そのマスタープロセスがシステム内での通信制御の
マスタープロセスである場合、その間システム内の通信
が途絶えるという事故が発生する。
【0005】従って、本発明の目的は、このようなマス
タープロセスにも処理停止回避の方法を講じ、何らかの
理由によりデッドロックを生じた場合、速やかにマスタ
ープロセスを自動的に再起動する方法を提供することで
ある。
【0006】
【課題を解決するための手段】本発明では、マスタープ
ロセスがイベントの発生を待っているステップに移る前
に乱数を発生し、所定周期内に一回以上の乱数が発生さ
れたか否かを検出することによってマスタープロセスの
デッドロックを検出した。
【0007】すなわち、本発明の一実施形態では、マス
タープロセスの初期設定に際し、予め定められたチェッ
クプロセスを起動するステップ1、マスタープロセスに
乱数発生器を備え、ステップ1の後イベントの発生を待
つ間に一つの乱数を発生して、これをレジスタAに書き
込むステップ2、イベントが発生したときそのイベント
の処理を対応する子プロセスに指示した後ステップ2に
戻るステップ4、前記チェックプロセスの初期設定に際
し、予め定められた周期をカーネルに設定するステップ
5、この初期設定の後、前記チェックプロセスで予め定
められた周期のパルスの到来を待つステップ6、予め定
められた周期のパルスが到来するとチェックプロセスで
レジスタAの内容をレジスタBにロードするステップ
7、このステップ7の後、レジスタBの内容をレジスタ
Cの内容と比較するステップ8、このステップ8の比較
で、レジスタBの内容とレジスタCの内容とに差異があ
るとき、レジスタBの内容をレジスタCにロードしてス
テップ6に戻るステップ9、ステップ8の比較で、レジ
スタBの内容とレジスタCの内容とが一致するとき、前
記マスタープロセスを再起動するプロセス10、を備え
た処理停止回避方法を提供する。
【0008】
【発明の実施の形態】以下、図面について、本発明の実
施の形態を説明する。図1は本発明の実施の一形態を示
すフローチャートで、符号1〜10は各処理ステップを
示す。ステップ1の初期設定では図3のステップ101
に示す初期設定と同様な一般的な初期設定に加えて予め
定められたチェックプロセスを起動する。ステップ3、
4は図3のステップ3、4と同様なステップで、イベン
トの発生を待っており、イベントが発生すると、これを
処理して次のイベントを待つ。
【0009】この発明のマスタープロセスは乱数発生回
路を備えていて、ステップ1の後及びステップ4の後に
一つの乱数を発生し、これをレジスタAに書き込む。書
き込みによってレジスタに従来保持されていた内容は消
去される。従って、初期設定のステップ1においてレジ
スタAの内容をリセットして0にしておくのが一般であ
るが乱数をセットするレジスタであるので、初期設定で
リセットすることは、必ずしも必要ではない。レジスタ
Aに関する以上の説明は、後述のレジスタB、C、D、
E、Fにも同様に適用される。
【0010】ステップ1によって起動されたチェックプ
ロセスはステップ5で一般的な初期設定の他に、予め定
められた周期をカーネルに設定する。チェックプロセス
も簡単なプロセスで、制御プログラムの内蔵もなく、プ
ログラムカウンタもない。カーネルがプログラムカウン
タに代わり設定周期ごとにパルスを発生する。このパル
スにトリガされてチェックプロセスはステップ7、8、
9を繰り返す。ステップ7ではレジスタAの内容をレジ
スタBにロードし(書き込み)、ステップ8ではレジス
タBの内容がレジスタCの内容と一致するか否かを検査
し、一致しなければ、ステップ9でレジスタBの内容を
レジスタCにロードして、ステップ6に戻る。
【0011】すなわち、ステップ8では、マスタープロ
セスが発生する乱数を一つ前の周期で観察した値と、現
在時点で観察した値とを比較することになる。この二つ
が一致することは、所定の周期の間にマスタープロセス
はステップ2を実行しなかったことを意味する。この所
定の周期は、ステップ4でマスタープロセスが子プロセ
スにイベント処理を指示し、次のイベントが発生するま
での時間が最も長いイベントの処理時間の2倍程度に定
めてあるので、この周期の間にステップ2が実行されな
いことは、マスタープロセスがステップ4を実行した後
ステップ2を実行しなかったことを示すもので、マスタ
ープロセスのハングアップと判断し、チェックプロセス
はステップ10に移り、マスタープロセスを再起動し、
ステップ1から実行させる。
【0012】更に、必要があれば、チェックプロセスの
ハングアップをマスタープロセスでチェックすることも
できる。図2は本発明の他の実施形態を示すフローチャ
ートで、図2においてステップ2、3、4、5、6、
7、8、9、10は図1の同一符号のステップと同様で
あるので、図2には簡略化して示してある。
【0013】図2に示す実施形態では、チェックプロセ
スも乱数発生回路を持ち、ステップ7とステップ8の間
に挿入されるステップ19で一つの乱数を発生しレジス
タDにロードする。マスタープロセスはステップ4から
ステップ2へ戻る間に、図2に示すステップ12〜18
を挿入してチェックプロセスのハングアップを検出す
る。そのため、ステップ11の初期設定ではステップ1
の一般初期設定、チェックプロセス起動の外に、カウン
タに所定数値をプリセットする処理を行う。
【0014】マスタープロセスはステップ12でレジス
タDの内容をレジスタEにロードし、ステップ13でレ
ジスタEの内容をレジスタFの内容と比較し、両内容に
差異があればレジスタEの内容をレジスタFにロードし
てステップ2に戻る。レジスタEの内容とレジスタFの
内容とが一致すると、ステップ19の実行ミスを疑って
見る。然し、ステップ19は所定周期毎に実行され、ス
テップ13はイベントの発生ごとに行われているので、
イベントの発生が何回連続すると、その合計時間が必ず
所定周期より長くなるという数値が予め定められてい
て、その数値がカウンタにプリセットされている。
【0015】従って、ステップ15でカウンタの計数値
を調べ、それが正のうちはステップ16に移りカウンタ
の計数値から1を減算して(カウンタデクリメント)ス
テップ2に戻る。その内ステップ19が実行されると、
ステップ13の判定がNOとなって、ステップ14に移
り、ステップ18でカウンタをプリセットした後ステッ
プ2に戻る。ステップ13の判定が連続して所定回数分
YESとなると、カウンタの計数値は0となり、ステッ
プ15でチェックプロセスのハングアップと判断され、
ステップ17でチェックプロセス再起動の上、ステップ
18でカウンタをリセットしてステップ2に戻る。
【0016】
【発明の効果】以上のように、本発明によれば、マスタ
ープロセスのデッドロックを簡単なチェックプロセスで
検出して自動的に再起動することができ、必要があれ
ば、更に当該チェックプロセスのデッドロックを当該マ
スタープロセスにより検出して自動的に再起動すること
ができる。
【図面の簡単な説明】
【図1】本発明の一実施形態を示すフローチャートであ
る。
【図2】本発明の他の実施形態を示すフローチャートで
ある。
【図3】従来の方法を示すフローチャートである。
【符号の説明】
1 初期設定、チェックプロセス起動ステップ 2 乱数書き込みステップ、乱数⇒A 4 イベント処理ステップ 5 チェックプロセス初期設定、周期設定ステップ 7 乱数ロードステップ、A⇒B 8 乱数比較ステップ、B=C? 9 乱数ロードステップ、B⇒C 10 マスタープロセス再起動ステップ

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 発生が予期される各イベントに対する処
    理とそのイベントを処理する子プロセスが予め定められ
    ていて、イベントが発生するごとに、その発生したイベ
    ントの処理を当該イベントに対応する子プロセスに指示
    するマスタープロセスのデッドロックを回避する処理停
    止回避方法において、 当該マスタープロセスの初期設定に際し、予め定められ
    たチェックプロセスを起動するステップ1、 前記マスタープロセスに乱数発生器を備え、ステップ1
    の後イベントの発生を待つ間に一つの乱数を発生して、
    これをレジスタAに書き込むステップ2、 イベントが発生したときそのイベントの処理を対応する
    子プロセスに指示した後ステップ2に戻るステップ4、 前記チェックプロセスの初期設定に際し、予め定められ
    た周期をカーネルに設定するステップ5、 この初期設定の後、前記チェックプロセスで前記予め定
    められた周期のパルスの到来を待つステップ6、 前記予め定められた周期のパルスが到来するとチェック
    プロセスで前記レジスタAの内容をレジスタBにロード
    するステップ7、 このステップ7の後、レジスタBの内容をレジスタCの
    内容と比較するステップ8、 このステップ8の比較で、レジスタBの内容とレジスタ
    Cの内容とに差異があるとき、レジスタBの内容をレジ
    スタCにロードしてステップ6に戻るステップ9、 前記ステップ8の比較で、レジスタBの内容とレジスタ
    Cの内容とが一致するとき、前記マスタープロセスを再
    起動するプロセス10、 を備えた処理停止回避方法。
  2. 【請求項2】 請求項1記載の処理停止回避方法におい
    て、前記ステップ5で設定される周期は、前記発生を予
    期されるイベント中、最大の処理時間を必要とするイベ
    ントの処理時間の2倍程度に定められることを特徴とす
    る処理停止回避方法。
  3. 【請求項3】 請求項1記載の処理停止回避方法におい
    て、前記チェックプロセスは更にステップ7とステップ
    8との間に一つの乱数を発生してこれをレジスタDに書
    き込むステップ19を備え、 前記マスタープロセスは更に、初期設定に際し、予め定
    められたチェックプロセスを起動し、かつカウンタに所
    定数値をリセットするステップ11と、 ステップ4の後ステップ2へ戻る前に、レジスタDの内
    容をレジスタEにロードするステップ12と、 このステップ12の後、レジスタEの内容をレジスタF
    の内容と比較するステップ13と、 このステップ13の比較で、レジスタEの内容とレジス
    タFの内容とに差異があるとき、レジスタEの内容をレ
    ジスタFにロードし前記カウンタをプリセットしてステ
    ップ2に戻るステップ14と、 前記ステップ13の比較で、レジスタEの内容とレジス
    タFの内容とが一致するとき、前記カウンタの数値を検
    査するステップ15と、 検査したカウンタの数値が正であれば、カウンタの数値
    を1だけ減少してステップ2に戻るステップ16と、 検査したカウンタの数値が0又は負であれば、前記チェ
    ックプロセスを再起動し、前記カウンタをプリセットし
    てステップ2に戻るステップ18と、 を備えたことを特徴とする処理停止回避方法。
  4. 【請求項4】 請求項3記載の処理停止回避方法におい
    て前記ステップ11又は前記ステップ18で前記カウン
    タにプリセットされる数値は、前記ステップ5により設
    定される周期と、発生が予期される各イベントの処理時
    間とを考慮して定められることを特徴とする処理停止回
    避方法。
JP10043016A 1998-02-10 1998-02-10 処理停止回避方法 Expired - Fee Related JP2868501B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10043016A JP2868501B1 (ja) 1998-02-10 1998-02-10 処理停止回避方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10043016A JP2868501B1 (ja) 1998-02-10 1998-02-10 処理停止回避方法

Publications (2)

Publication Number Publication Date
JP2868501B1 true JP2868501B1 (ja) 1999-03-10
JPH11232140A JPH11232140A (ja) 1999-08-27

Family

ID=12652189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10043016A Expired - Fee Related JP2868501B1 (ja) 1998-02-10 1998-02-10 処理停止回避方法

Country Status (1)

Country Link
JP (1) JP2868501B1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001250032A (ja) * 2000-03-08 2001-09-14 Dgc Sogo Kenkyusho:Kk 電子商取引システム、電子商取引用のサーバシステム、クライアントシステムおよびそのプログラムを記憶した記憶媒体ならびに電子商取引方法

Also Published As

Publication number Publication date
JPH11232140A (ja) 1999-08-27

Similar Documents

Publication Publication Date Title
AU2010307632B2 (en) Microcomputer and operation method thereof
US6553512B1 (en) Method and apparatus for resolving CPU deadlocks
JP2008009721A (ja) 評価システム及びその評価方法
JP2868501B1 (ja) 処理停止回避方法
JP2001318807A (ja) タスク切り替え制御方法及び装置
US11307973B2 (en) Method and device for testing robustness and stability of SMM, and storage medium
JPH06324914A (ja) コンピュータの暴走検出方法
JP6838234B2 (ja) 車両制御装置
JP3755415B2 (ja) 処理実行装置、当該処理実行装置に搭載される処理プログラム、及び記録媒体
JP5095241B2 (ja) データ処理装置及びプログラム起動方法
JPH04266141A (ja) スタックオーバーフロー検出方式
JP2000155677A (ja) プログラムの暴走防止方法、そのためのコンピューターシステムと暴走防止プログラムを記録した記録媒体
JP2735523B2 (ja) プロシージャ・ステップ処理方法
JP2695775B2 (ja) コンピュータシステムの誤動作からの復帰方法
JPS62293436A (ja) タスク管理装置
JPS59139462A (ja) エラ−検出装置
CN113176939A (zh) 一种嵌入式处理器中断偏移方法、装置、存储介质及电子设备
JP2002251299A (ja) プログラムトレース装置
JP2009093393A (ja) データ処理装置及びデータ処理装置の自己診断方法
JPH05282175A (ja) プログラムディバッガ
JPH05233341A (ja) 業務処理プログラムの再起動制御方式
JPH03167635A (ja) 故障検出時の処理方式
JPH11327959A (ja) プロセッサの異常監視方法及び装置
JPH0213334B2 (ja)
JPH04275648A (ja) データベースシステム監視制御方式

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees