JPH03233738A - プログラム暴走監視方式 - Google Patents

プログラム暴走監視方式

Info

Publication number
JPH03233738A
JPH03233738A JP2030363A JP3036390A JPH03233738A JP H03233738 A JPH03233738 A JP H03233738A JP 2030363 A JP2030363 A JP 2030363A JP 3036390 A JP3036390 A JP 3036390A JP H03233738 A JPH03233738 A JP H03233738A
Authority
JP
Japan
Prior art keywords
task
cpu
execution
program
counter
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
JP2030363A
Other languages
English (en)
Inventor
Tsuneji Yano
矢野 恒二
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2030363A priority Critical patent/JPH03233738A/ja
Publication of JPH03233738A publication Critical patent/JPH03233738A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (概要) コンピュータのプログラ二が正常に実行されtくなった
事を検出するプログラム暴走監視方式;こ関し、 CPUが処理するプログラムの実行優先順位の低いタス
クが、無限ループ又はデッドロック等に陥った時でも、
その検出が可能であり、また、タスクの実行時間が、W
atch Dog Timerによるリセット処理の間
隔により制限されないようなプログラム暴走監視方式を
目的とし、 CPUがメモリ内のプログラムを続出して実行しタイマ
が一定周期で該CPUに対し割込信号を発し該cpuが
該割込信号を基にカウンタに実行に必要な計時をさせ、
その計数値を予めランチに保持している値と比較し等し
くなった時に)IALT信号を発生して該cpuの実行
を停止させるとともに該割込の一定回数毎に該カウンタ
の計数値をリセットするシステムにて、xl c P 
Uより該カウンタの計数値の読出しを可能とする記憶手
段と、該ランチの保持値の書替えを可能とする記憶手段
を具え、さらに該CPυにて実1テされるプログラムの
8能単位毎の最大実行時間を設定することにより、各プ
ログラムの機能単位の処理時間に応した暴走の監視を行
うように構成する。
こ産業上の利用分野〕 本発明はコンピュータのプログラムが正常に実行されな
くなった事を検出するプログラム暴走監視方式に関する
コンピュータシステムでは、ハードウェアでプログラム
の実行を監視するタイマ所謂−atch dogtim
er、WDTを設け、プログラムにより一定周期内にリ
セット(WDTリセット)が実行されない場合は、プロ
グラムの暴走と見做して、ハードウェアによりCPUの
実行を停止させて、システムへの悪影響を防止している
ξ従来の技術〕 従来のプログラム暴走監視方式は、第4図に示す如< 
、CPU l−1がメモリ1−2内のプログラムを読み
出して実行する。タイマ1−4は一定周期で、CP[I
 Ll ニ対し割込信号を発生し、CPU Llは、こ
の割込信号を基準としプログラムの実行に必要な計時処
理を行うとともに、この割込のN回(Nは1以上の整数
)につき1回の割合でWDTリセット処理を行う。そし
て此の−DTリセント処理が行われると、CPU 11
が、バス1−3上に所定のアドレス信号を出力する。す
るとデコーダ1−8がカウンタ1−10へリセット信号
1−9を送出する。その時、カウンタ1−10はデコー
ダ1−8からのリセット信号1−9により、計数値を零
に戻す。
カウンタ1−10は、クロック1−5からの周期信号を
計数しており、その計数値は比較回路1−6に入力され
る。比較回路1−6は、その計数値とランチ1−11に
予め保持されている値を比較し、両者が等しくなった時
にプログラムの実行を停止させる、所謂HALT信号を
送出し、CPU 1−1にプログラムの実行を停止させ
る。ここでクロック1−5からの周期信号を10 m5
ec、ラッチ1−11の保持値を50タイマ1−4の周
期を20m5ecとすれば、CPU 11は、タイマ1
−4からの25回の割込みにつき1回の割合で、WDT
リセット処理を行えば、プログラムの実行を継続できる
。またプログラムの暴走により−DTリセット処理が実
行できなくなった場合は、最大で10 x 50=50
0msec後に、CPU 1−1のプログラムの実行が
停止される。
次に、CPU 1−1にて実行するプログラム・シーケ
ンスの一例を第3図に示す。同図において、タスク1,
2.3は、第4図のメモリ1−2に格納されるプログラ
ムの機能単位であり、夫々が時分割で動作することによ
り、コンピュータシステムの目的とする処理を実行する
。メモリ1−2の内部のO3(Operating S
ystem)は、前記タスクL2.3の実行制御を行い
、コンピュータシステムを効率良く動作させる為のプロ
グラムである。O3は、外部回路からの割込み、タスク
からの制御要求等を契機として、メモリI−2に格納さ
れているデータTC8(Task Control B
Lock)を基にして5亥当するタスクの起動、停止等
の実行制御を行う。尚、TCBは、各タスクに対応して
実行優先順位、実行開始アドレス、実行中断アドレス、
タスク状態等の情報を保持している。本例では、タスク
の実行優先順位は、高い順にタスク1.タスク2.タス
ク3とする。
以下に実行プログラムのシーケンスの一例を示す。
■CPυ1−1に接続された外部回路からタスク2の実
行開始要因となる割込信号が入力される。
■O5は、タスク2のTCBより実行開始アドレスを求
め、同タスク2へCPUの実行権を移す。
■タスク2は、処理実行中に、タスクlの起動要求をO
3に対して発行する。
■O3は、タスク1の実行優先順位が高いので、タスク
2の実行中断アドレスをタスク2のTCHに保存した後
、タスク1のTCBより実行開始アドレスを求め、タス
ク1へCPUの実行権を移す。
■タスクlは、処理を終了すると、O3に対して実行終
了要求を発行する。
■O8は、タスク2が実行終了していないため、同タス
ク2のTCBより実行中断アドレスを求め、cpuの実
行権を移す。
■タスク2は、処理を終了すると、O5に対して実行終
了要求を発行する。
ここで、WDTリセット処理の実行方式として、以Fの
3通りがある。
(a)タイマ1−4からの割込み処理ルーチンにて、W
DTリセット処理を実行する。
(bl実行優先順位が一番高いタスクを周期的に起動し
同タスクにてWDTリセット処理を実行する。
(C)実行優先順位が一番低いタスクを周期的に起動し
同タスク↓こて−DTリセット処理を実行する。
[発明が解決しようとする課題] 上記(al、 (blの場合は、実行優先順位の低いタ
スクが、処理の′P、結しない無限ループ又は処理が停
止し続けるデッドロック等に陥った時には、プログラム
異常の検出が不可能である。また、(C)の場合は、タ
スクの実行時間が、WDT リセ・ノド処理の間隔によ
り制限されるため、プログラムの柔軟性に欠けるという
問題があった。本発明の課題は、CPUの処理する実行
優先順位の低いタスクか無限ループ又はデッドロック等
に陥った時でも、そのプログラム異常の検出が可能であ
り、且つタスクの実行時間が、WDTリセット処理の間
隔により制限されないようなプログラム暴走監視方式の
提供にある。
1課題を解決するための手段〕 この課題は、第1図の如< 、CPU 2−1より、カ
ウンタ2−10の計数値の読出しを可能とする記憶手段
2−13と、ラッチ2−11の保持値の書替えを可能と
する記憶手段2−12を具え、さらにCPU 2−1が
実行するタスク1,2.3毎の最大実行時間を設定する
ことにより、各タスクL2.3の処理時間に応した暴走
の監視を行うようにした本発明によって解決される。
本発明のプログラム暴走監視方式の基本構成を示す第1
図の原理図において、 1は、CPU 2−1の実行するメモリ2−2の内部の
実行優先順位が一番高いプログラムの機能単位であるタ
スクである。
2は、CPU 2−1の実行する。Zモリ2−2の内部
の実行優先順位が次に高いタスクである。
3は、CPt12−1 の実行するメモリ2−2の内部
の実行優先順位が一番低いタスクである。
2−1は、メモリ2〜2の内部のブロクラムを実行する
CPじである。
22は、CPIJ2〜lが実行するプログラムを内蔵す
るメモリてあって、基本プロゲラ、L O5,タスク1
タスク2.タスク3を内蔵する。
2−35よ、CPt12−1の制御により、メモリ2−
2のプログラムのデータとアドレスを人出力するハスで
ある。
2−4は、CPU 2−1に対し一定周期で割込信号を
発生するタイマである。
2−5は、カウンタ2−10が計数する周期信号を発生
して該カウンタに供給するクロックである。
2−6は、カウンタ2−10がクロックを計数した計数
値と、ラッチ2−11が予め保持している計数値とを比
較□で、同し値の時にHA L T信弓を発生してCP
O2〜1−・送出する比;咬回路である。
2=8は、CPt12−1のWDTリセット処理が行わ
れ、3gcpuがメモリ2−2からハス2−3上↓こ所
定のアドレスを出力した時に、該アドレスを解読してカ
ウンタ■−10へ其の計数値を零とするリセット信号1
9を出力するデコーダである。
2−9は、デコーダ2−8がカウンタ2−工0へ出力す
るリセット信号である。
2−10は、クロック2−5からの周期信号を計数する
カウンタであって、その計数値を比較回路2−6へ送出
するが、リセット信号2−9によりその時までの計数値
が零とされる。
2−11は、予め比較の基準となる値が書き込まれ保持
するランチである。
2−13は、CPU 2−1より、カウンタ2−10の
計数値の続出しを可能とする記憶手段である。
2−12は、CPU 2−1より、ラッチ2−11の保
持値の書き替えを可能とする記憶手段ある。
そしてCPt12−1が実行するメモリ2−2内のタス
りL2,3毎の最大実行時間を設定することにより各タ
スクの処理時間↓こ応した暴走の監視を行うようムこ構
成する。
〔作用〕
本発明では、CP[I 2−1のメモリ2.2の内部の
O5が、タスク12.3の起動時に、記憶手段2−12
のラッチ・バッファを介し、ラッチ2−11の保持値を
最大実行時間に書替え設定し、タスク実行中断時に、記
憶手段2−13のカウンタ・へソファを介して、カウン
タ2−10の計数値を読出し、其の計数値をタスク実行
時に、ラッチ2−11へ設定するので、タスク1.2.
3毎に設定されている最大実行時間をもってプログラム
の暴走監視が可能となる。従って、本発明のプログラム
暴走監視方式は、CPUの処理する実行優先順位の低い
タスクが無限ループ又はデンドロツク等に陥った時でも
、そのプログラム異常の検出が可能であり、また、タス
クの実行時間が、WDT リセット処理の間隔により制
限されないので問題は解失される。
E実施例] 第2図は本発明の実施例のプログラム暴走監視方式の構
成を示すプロ、り図であって、同図に右ける2−1〜2
−9は、第3図の従来例の1−1〜l−9と同様の動作
を行う。第2図において、記憶手段2−12は、ハス2
−3とランチ2−11の間で該ラッチの保持する計数値
の書替えの為に書込み読出しを行うランチ・バッファで
あり、記憶手段2−13は、ハス2−3とカウンタ2−
10の間で該カウンタの計数値の読出しの為に書込み読
出しを行うカウンタ・バッファである。
第3図は本発明の実施例の動作を説明するための実行プ
ログラム・シーケンス図である。
第2図において、カウンタ2−10は、その計数値を比
較回路2−6とカウィタハッファ2−13に出力する。
カウンタバッファ2−13は、CPU 2−1からの読
出し制御に従い、その時点の計数値をバス2−3に出力
する。
ラッチ・バッファ2−12は、CPU2−1からの書込
み制御に従い、ハス2−3上のデータをラッチ2−11
に出力する。ランチ2〜11番よ、同データを比較回路
2−6に出力する。
本発明の実施例のWDTリセット処理は以下の通り行わ
れる。
■CP[] 2−1が、カウンタ・バッファ2−13よ
り、現在のカウンタの計数値を読み込み、メモリ2−2
に格納する。
■CPU 2−1が、ハス2−3上にデコーダ2−8の
出力のアドレスを出力し、これをカウンタ2−10への
りセント信号とする。
■CPLI 2−1が、ラッチ・バッファ2−12に新
しい値を書き込む。
次に、第2図に示す実行プログラム・シーケンスにおけ
る本実施例の動作を説明する。
■CPU 2−1に接続された外部回路からタスク2の
実行開始要因となる割込信号が人力される。
■O3は、タスク2のTCBよりWILT値を求め、前
記WDTリセット処理を実行(現在の計数値は破棄)し
た後、タスク2へCPUの実行権を移す。
■タスク2は1.処理実行中に、タスク1の起動要求を
O3に対して発行する。
■O3は、タスク1の実行優先順位が高いため、タスク
2の実行中断アドレスを同TCHに保存した後、タスク
IのTCBより−DT値を求め、前記の匈DTリセット
処理を実行し、現在の計数値をタスク2のTCBに保存
する。更に、タスク1のTCBより実行開始アドレスを
求め、同タスクへCPUの実行権を移す。
■タスクlは、処理が終了すると、O3に対して実行終
了要求を発行する。
■O3は、タスク2が実行終了していないため、同タス
ク2のTCBより、■で保存していた計数値を求めてW
DTリセット処理を実行(現在の計数値は破棄)した後
に、同タスクのTCBより実行中断アドレスを求め、C
PUの実行権を移す。
■タスク2は、処理が終了すると、O3に対して実行処
理を発行する。
〔発明の効果〕
以上説明した如く、本発明によれば、プロゲラ、i、i
能鎮位(タスク)毎の暴走監視が可能となるので、■実
行優先順位の低いタスクの無限ループ又はデッド・ロッ
ク等が検出可能となる。■プログラムの柔軟性に制限を
与えない。したがって、本発明を用いたコンピュータシ
ステムの信頼性を向りする効果が得られる。
【図面の簡単な説明】
第1図は本発明のプログラム暴走監視方式の基本構成を
示す原理図、 第2図は本発明の実施例のプログラム暴走監視方式の構
成を示ナブロノク図、 第3図は本発明の実施例の動作を説明するための実行プ
ログラム・ンーケンス図、 第4図は従来のプログラム暴走監視方式のブロック図で
ある。 図において、 1.2.3はタスク、1−1.2−1はCPU、 1−
2.2−2はメモリ、1−3.2−3はハス、1−4.
2−4はタイマ、1−5.2−5はクロック、1−6.
2−6二よ比較回路、L82−8はデコーダ、I−9,
2−9はリセ、(・信号、1−102−10はカウンタ
、1−IL2−11はう、チ、2−12は記憶手段でラ
ンチ・バッファ、2−13は記憶手段でカウンタ・ハソ
ファである。

Claims (1)

    【特許請求の範囲】
  1. CPU(2−1)がメモリ(2−2)のプログラムを読
    出して実行しタイマ(2−4)が一定周期で該CPUに
    対し割込信号を発し該CPUが該割込信号を基にカウン
    タ(2−10)に実行に必要な計時をさせ、その計数値
    を予めラッチ(2−11)に保持している値と比較し等
    しくなった時に信号を発生して該CPUの実行を停止さ
    せるとともに該割込の一定回数毎に該カウンタの計数値
    をリセットするシステムにおいて、該CPUより該カウ
    ンタの計数値の読出しを可能とする記憶手段(2−13
    )と、該ラッチの保持値の書替えを可能とする記憶手段
    (2−12)を具え、さらに該CPUにて実行されるプ
    ログラムの機能単位(1、2、3)毎の最大実行時間を
    設定することにより、各プログラムの機能単位の処理時
    間に応じた暴走の監視を行うことを特徴としたプログラ
    ム暴走監視方式。
JP2030363A 1990-02-09 1990-02-09 プログラム暴走監視方式 Pending JPH03233738A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2030363A JPH03233738A (ja) 1990-02-09 1990-02-09 プログラム暴走監視方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2030363A JPH03233738A (ja) 1990-02-09 1990-02-09 プログラム暴走監視方式

Publications (1)

Publication Number Publication Date
JPH03233738A true JPH03233738A (ja) 1991-10-17

Family

ID=12301784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2030363A Pending JPH03233738A (ja) 1990-02-09 1990-02-09 プログラム暴走監視方式

Country Status (1)

Country Link
JP (1) JPH03233738A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19827430C2 (de) * 1997-07-22 2001-07-12 Siemens Ag Überwachungsverfahren zur Erkennung von Endlosschleifen und blockierten Prozessen in einem Rechnersystem

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19827430C2 (de) * 1997-07-22 2001-07-12 Siemens Ag Überwachungsverfahren zur Erkennung von Endlosschleifen und blockierten Prozessen in einem Rechnersystem

Similar Documents

Publication Publication Date Title
JP2520544B2 (ja) タスクのオ―バ―ラン状態を監視する方法及びタスク実行サイクルのオ―バ―ランを検出する装置
US8108696B2 (en) Optimizing non-preemptible read-copy update for low-power usage by avoiding unnecessary wakeups
US8055918B2 (en) Optimizing preemptible read-copy update for low-power usage by avoiding unnecessary wakeups
US7043729B2 (en) Reducing interrupt latency while polling
US7617488B2 (en) Method and apparatus and determining processor utilization
JP2007534049A (ja) プロセッサの機能性を監視するためのウォッチドッグシステムおよび方法
US20020116670A1 (en) Failure supervising method and apparatus
CN111796574A (zh) 用于使用数据收集进行的以os为中心的性能监测的硬件支持
US8543803B2 (en) Apparatus, system, and method for accurate automated scheduling of computer suspend and resume
US6321289B1 (en) Apparatus for automatically notifying operating system level applications of the occurrence of system management events
US6463492B1 (en) Technique to automatically notify an operating system level application of a system management event
JP2965075B2 (ja) プログラム実行状態監視方法
US6981081B2 (en) Method for SMI arbitration timeliness in a cooperative SMI/driver use mechanism
JPH03233738A (ja) プログラム暴走監視方式
CN111597016B (zh) 一种系统任务的时间保护方法、系统、存储介质及终端
Drótos et al. Interrupt driven parallel processing
CN117234848A (zh) 一种进程监控方法、装置、电子设备及可读存储介质
JP2731386B2 (ja) 制御装置
JP2557785Y2 (ja) シングルチップマイクロコンピュータ
JPH02150942A (ja) バス異常検出回路
JPS63280345A (ja) プログラム異常検出方法
JPS60140440A (ja) 中央処理装置
JPH0149975B2 (ja)
JPH0236971B2 (ja)
JPS63138437A (ja) プログラム制御システム