JPH0245838A - プログラム実行状態監視方法 - Google Patents

プログラム実行状態監視方法

Info

Publication number
JPH0245838A
JPH0245838A JP63196113A JP19611388A JPH0245838A JP H0245838 A JPH0245838 A JP H0245838A JP 63196113 A JP63196113 A JP 63196113A JP 19611388 A JP19611388 A JP 19611388A JP H0245838 A JPH0245838 A JP H0245838A
Authority
JP
Japan
Prior art keywords
task
wdt
count value
value
monitoring method
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.)
Granted
Application number
JP63196113A
Other languages
English (en)
Other versions
JP2965075B2 (ja
Inventor
Keisuke Ichieda
一枝 圭祐
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP63196113A priority Critical patent/JP2965075B2/ja
Publication of JPH0245838A publication Critical patent/JPH0245838A/ja
Application granted granted Critical
Publication of JP2965075B2 publication Critical patent/JP2965075B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明はウォッチドッグタイマを使用してプログラム
の実行状態を監視するプログラム実行状態監視方法に関
するものである。
〔従来の技術〕
第5図は従来のプログラム実行状態監視方法を示すプロ
グラム構成図であシ、第6図は従来のプログラム実行状
態監視方法が適用されるハードウェア環境を示すブロッ
ク図である。図において、1aは複数のタスクの実行お
よび切替えを管理するマルチタスクオペレーティングシ
ステム(以下、単にO8という)、21〜2nは処理プ
ログラムを適当な処理単位に分割した第1のタスク−第
Uのタスク、3はウォッチドッグタイマ5に計数値を設
定するWDT設定用の割込タスクである。4は081m
、第1のタスク21〜第nのタスク2nに従って処理を
実行する中央処理装置(以下、CPUとい5)、5はカ
ウンタを内蔵し、このカウンタの計数値がOになると、
CPU4に対して割込動作要求信号7を発生するウォッ
チドッグタイマ(以下、WDTという)で、このWDT
5のカウンタは、プログラムの実行状態とは無関係に計
数値がカウントダウンしていくのでプログラムが無限ル
ープに陥ったような場合に、その状態を検出するために
設けられている。また、6はCPU 4からWDT5に
計数値を設定するときの計数値の流れ、7は前記割込動
作要求信号(以下、ウォッチドッグエラー割込という)
、8は081aが第1のタスク21〜第nのタスク2n
を切替えるタイミングを発生する等のために設けられた
タイマ、9はこのタイマ8からCPU4に対して出力さ
れる割込動作要求信号(以下、タイマ割込という)、1
0はO81a、第1のタスク21〜第nの2n等のプロ
グラムと関連するデータとが格納されたメモリ、11は
プログラムの処理の対象となる周辺装置である。
次に動作について説明する。まずCPU 4はO81&
に従って動作する。つtb、081aを実行する。08
1aは適宜、第1のタスク21〜第nのタスク2nに従
ってCPU4が動作するように切替えるようなプログラ
ムとなっているので、CPU4は第1のタスク21〜第
nのタスク2nのうちのどれか、例えばタスク21に従
って動作する。
つまシ、CPU4は第1のタスク21を実行する。
第1のタスク21の実行が適当な時間経過後に終了する
と、CPU4は081aを実行するように切替わシ、次
いで、OS 1 aのプログラムに従って、CPU4は
第2のタスク22〜第nのタスク2nのどれか、例えば
第2のタスク22を実行する。このようKO31aK従
って、CPU4が実行するタスクが切替わる動作をスケ
ジユーリングという。
また、以上の動作中に、プログラムの実行状態を監視す
るために、周期的にWDT設定用の割込タスク3がWD
T5に計数値を設定する。例えば一定周期のタイマ割込
9が発生し、081aがこれを認識したらVDT設定用
の割込タスク3が起動され、WDT5に所定の計数値を
設定する。プログラムの実行状態が正常の場合は、周期
的にWDT5に対して所定の計数値が再設定されるので
、WDT5内のカウンタの計数値がOになることはない
。しかし、第1のタスク21〜第nのタスク2nのうち
のどれかが無限ループに陥ったような場合には、周期的
なWDT5への計数値の設定が中断されるので、WDT
5内のカウンタは計数値が0となシウォッチドッグエラ
ー割込7を発生する。CPU4は、このとき081aを
実行して、このウォッチドッグエラー割込7の発生によ
シ、第1のタスク21〜第nのタスク2nのうちのどれ
かが無限ループに陥った等によシ、正常に動作していな
いことを知る。
WDT5の第2の使用法としては、第1のタスク21〜
第nのタスク2nが周期的KWDT5に対して所定の計
数値を設定する方法もある。また、2つの方法を併用す
ることもある。
〔発明が解決しようとする課題〕
従来のプログラム実行状態監視方法は以上のように構成
されているので、例えば第7図に示すように第1のタス
ク21が無限ループに陥ってしまりた場合でも、QSl
aに切替わることができる状態であれば、第2のタスク
22〜第nのタスク2nのどれかをスケジユーリングし
て、wDT5に対する計数値の設定が行なわれてしまう
ので、第1のタスク21の異常が検出できない、あるい
は、第1のタスク21〜第nのタスク2nの全てが無限
ループに陥ったシ、デッドロックに陥りたシ、または全
タスクが停止してしまった場合でも、少なくとも、WD
T設定用の割込タスク3が起動されていれば、ウォッチ
ドッグエラー割込7は発生せず、異常であるにもかかわ
らず、その検出が行えないなどの課題があった。
この発明は上記のような課題を解消するため釦なされた
もので、WDT5に対する計数値の設定が周期的に行な
われている状態で、第1のタスク21〜第nのタスク2
nのうちのどれかに異常が発生しても、その検出を確実
に行えるプログラム実行状態監視方法を得ることを目的
とする。
〔課題を解決するための手段〕
この発明に係るプログラム実行状態監視方法は、各タス
クの制御情報を保存するタスクコントロ−ルブロック(
以下、TCBという)内に各タスク専用のWDT計数値
を保存するエリア(WDT計数値エリア)を設け、O8
がタスクの切替えを行なうときに、直前に実行していた
タスクに対応したTCBOWDT計数値エリアにWDT
から読み出した計数値を格納するとともに、これから実
行するタスクに対応したTCBのWDT計数値エリアか
ら計数値を取シ出し、これをWDTに再設定するように
したものである。
〔作用〕
この発明におけるTCB内のWDT計数値エリアは、各
タスクごとに設けられていて、O8Kよレジスタの切替
が行われる時に新たな設定値が設定される。
〔実施例〕
以下、この発明の一実施例を図について説明する。第1
図において、4はCPU、5はウォッチドッグタイマ(
WDT)、6はこのWDT5への計数値の流れ、7はウ
ォッチドッグエラー割込、8はタイマ、9はタイマ割込
、10はメモリ、11は周辺装置で、以上のものは第6
図に示した従来のものと同一である。12はCPU4が
WDT5内のカウンタの計数値を読み出すときの計数値
の流れである。また、第2図はプログラム実行状態監視
方法を示すプログラム構成図であ夛、第5図に示した従
来のものとほぼ同等であるが、第3図に示すような第1
のタスク21〜第nのタスク2nのそれぞれに対応して
メモリ10に設けられているTCB14の内容にWDT
計数値エリア15が追加されている分、および081が
このTCB14内のWDT計数値を管理する機能を有す
る分だけ異なっている。第2図、第3図において、1は
WDT計数値を管理する機能を有するO8.21は08
1のもとで制御される第1のタスク、22は第2のタス
ク、2nは第nのタスク、14は第1のタスク21〜第
nのタスク2nのそれぞれに対応して、メモリ10上に
設けられ、O81によシ管理されるTCBで、とのTC
B14の中には、対応するタスクの状態(実行可能であ
るレディ状態、I10処理完了を待つウェイト状態等)
、タスクの切替えを行ったときのレジスタの値、タスク
の優先度などの従来よシ使用されている情報を格納する
エリアに加えて、タスク専用のVDT計数値を格納する
WDT計数値エリア15を有している。
次に動作について説明する。まず、あるタスクが生成さ
れる場合、O81は処理開始における各レジスタの初期
値、優先度等と合わせて、このタスクのWDT計数値を
対応するTCB14の各エリアに設定する。WDT計数
値の値は、各タスクの処理内容に相違があるため、各タ
スクごとに独立した値が設定される。次に、第2図に示
した第1のタスク21および第2のタスク22が実行さ
れる様子を、第4図に示すフローチャートを参照して説
明する。第4図に示したフローチャートは桁方向に、第
1のタスク、O8および第2のタスクの3種に分けて示
している。まず、ステップ5T100に示すように、第
1のタスク21がプログラムの先頭でWDT計数値、例
えば100を設定するようなプログラムとなっているの
で、CPU4はWDT5に100を設定しくステップS
 T 100 )、その後、第1のタスクの処理を実行
する(ステップST 101 )。この間、WDTのカ
ウンタはプログラムの実行状態に関係なく、つまシルW
的にカウントダウンされる。その後、タイマ割込、外部
からのキー人力等の何らかの要因により、CPU4が第
1のタスク21に従って動作する状態から、O81に従
りて動作する状態に切替えられ(O81に制御が切替え
られ)、081が実行開始される。
081はまず、WDT5の計数値を読み取シ、これを第
1のタスク21に対応したTCB14のWDT計数値エ
リア15に保存する(ステップS T 102 )、そ
の値がここでは20であったとする。次いで、タスクの
スケジューリングを行ない(ステップST 103 )
 、第2のタスク22に制御を切替えることになりた場
合、081は第2のタスク22に対応したTCB14の
WDT計数値エリア15から計数値を取シ出して、WD
T5に設定する(ステップS T 104 )。この値
は70であったとする。次に、第2のタスク22に制御
が切替えられ、第2のタスク22の処理が実行される(
ステップS T 105 )。
その後、何らかの切替要因が発生したらO81に制御が
切替えられ、O81は同上の処理、つまシWDT5から
計数値を読み取シ、これを第2のタスク22に対応した
TCB14のWDT計数値エリア15に保存し、スケジ
ェーリングを行ない、第1のタスク21に対応したTC
B14からWDTの計数値を取シ出してWDT5に再設
定する処理を実行する(ステップS T 106 )。
ここで、ステップ5T102で保存したWDT5の計数
値は20であったので、WDT5には20が設定された
ことになる。以上のようにして、第1のタスク21の処
理が再開されるのであるが、この後、第1めタスク21
が何らかの原因でWDT5に対して計数値の設定を実行
することができなかりたとき、WDT5のカウンタは0
までカウントダウンされ、WDT5はウォッチドッグエ
ラー割込Tを発生する。この割込によ、り、081に制
御が移、り、O8Iはどのタスクが実行中であったかを
調べ、この場合は第1のタスク21が実行中に異常が発
生したことを認識する。
そこで、第1のタスク21を消滅させる等の異常回復処
理を実行することができる。
なお、上記実施例では第1のタスク21および第2のタ
スク2202つのタスクを対象としたが、さらに多くの
タスクを対象としても有効であることはいうまでもない
また、上記実施例では第1のタスク21、第2のタスク
22いずれに対してもWDT5による監視を行うように
説明したが、監視の必要がないタスクに対しては、その
TCB14内のWDT計数値エリア15に特定の値を設
定して、oslがスケジューリング後に%WDT計数値
エリア15の値をチエツクして特定値ならばWDT5の
動作を一時的に停止させておくようKしてもよい。
〔発明の効果〕
以上のように1この発明によればプログラム実行状態監
視方法を、O8が管理する各タスクごとのTCBKWD
T計数値を保存して、この保存した計数値を基に各タス
クととKWDTによる監視を行なうよ5に構成したので
、どれかのタスクに異常が発生した場合、確実にその検
出ができるものが得られる効果がある。
【図面の簡単な説明】
第1図はこの発明の一実施例によるプログラム実行状態
監視方法が適用されるハードウェア環境ヲ示すブロック
図、第2図はこのプログラム実行状態監視方法を示すプ
ログラム構成図、第3図はTCHの構成図、第4図はプ
ログラム実行状態監視方法による動作を示すフローチャ
ート、第5図は従来のプログラム実行状態監視方法を示
すプログラム構成図、第6図は従来のプログラム実行状
態監視方法が適用されるハードウェア環境を示すブロッ
ク図、第7図は従来のプログラム実行状態監視方法によ
る動作を示すフローチャートである。 1はマルチタスクオペレーティングシステム(O8)、
21は第1のタスク、22は第2のタスク、2nは第n
のタスク、4はCPU15はウォッチドッグタイマ(W
DT)、14はTCB、15はWDT計数値エリア。 なお、図中、同一符号は同一、又は相当部分を示す。 第3因 第 図

Claims (1)

    【特許請求の範囲】
  1. 1つの中央処理装置を使用し、複数のタスクの実行およ
    び切替えを、前記複数のタスクのそれぞれに対応したタ
    スクコントロールブロックによって管理するマルチタス
    クオペレーティングシステムが、ウォッチドッグタイマ
    の計数値が所定の値に達したことを認識して、プログラ
    ムの異常状態を検出するプログラム実行状態監視方法に
    おいて、前記マルチタスクオペレーティングシステムが
    タスクの切替えを行なうときに、前記ウォッチドッグタ
    イマから読み出した計数値を直前に実行したタスクに対
    応した前記タスクコントロールブロックに保存するとと
    もに、直後に実行するタスクに対応した前記タスクコン
    トロールブロックから前記計数値を読み出して前記ウォ
    ッチドッグタイマに再設定することを特徴とするプログ
    ラム実行状態監視方法。
JP63196113A 1988-08-08 1988-08-08 プログラム実行状態監視方法 Expired - Lifetime JP2965075B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63196113A JP2965075B2 (ja) 1988-08-08 1988-08-08 プログラム実行状態監視方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63196113A JP2965075B2 (ja) 1988-08-08 1988-08-08 プログラム実行状態監視方法

Publications (2)

Publication Number Publication Date
JPH0245838A true JPH0245838A (ja) 1990-02-15
JP2965075B2 JP2965075B2 (ja) 1999-10-18

Family

ID=16352454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63196113A Expired - Lifetime JP2965075B2 (ja) 1988-08-08 1988-08-08 プログラム実行状態監視方法

Country Status (1)

Country Link
JP (1) JP2965075B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58137796A (ja) * 1982-02-10 1983-08-16 株式会社日立製作所 液体金属冷却高速炉の冷却系設備の収納施設における漏洩冷却材の処理方法
JPWO2006075532A1 (ja) * 2004-12-24 2008-06-12 テイ・エス テック株式会社 自動車用シート
JP2009003757A (ja) * 2007-06-22 2009-01-08 Nippon Telegr & Teleph Corp <Ntt> 時間監視装置、方法、およびプログラム
WO2009133936A1 (ja) 2008-04-30 2009-11-05 株式会社ブリヂストン 変性重合体を含有するゴム組成物を使用したタイヤ
JP2010192980A (ja) * 2009-02-16 2010-09-02 Mitsubishi Electric Corp 2重系制御装置
WO2010126095A1 (ja) 2009-04-28 2010-11-04 株式会社ブリヂストン 空気入りタイヤ
WO2011010662A1 (ja) 2009-07-22 2011-01-27 株式会社ブリヂストン タイヤ
WO2011010665A1 (ja) 2009-07-22 2011-01-27 株式会社ブリヂストン 空気入りタイヤ

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60144145U (ja) * 1984-02-29 1985-09-25 日新電機株式会社 プログラム監視装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60144145U (ja) * 1984-02-29 1985-09-25 日新電機株式会社 プログラム監視装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58137796A (ja) * 1982-02-10 1983-08-16 株式会社日立製作所 液体金属冷却高速炉の冷却系設備の収納施設における漏洩冷却材の処理方法
JPWO2006075532A1 (ja) * 2004-12-24 2008-06-12 テイ・エス テック株式会社 自動車用シート
JP2009003757A (ja) * 2007-06-22 2009-01-08 Nippon Telegr & Teleph Corp <Ntt> 時間監視装置、方法、およびプログラム
WO2009133936A1 (ja) 2008-04-30 2009-11-05 株式会社ブリヂストン 変性重合体を含有するゴム組成物を使用したタイヤ
JP2010192980A (ja) * 2009-02-16 2010-09-02 Mitsubishi Electric Corp 2重系制御装置
WO2010126095A1 (ja) 2009-04-28 2010-11-04 株式会社ブリヂストン 空気入りタイヤ
WO2011010662A1 (ja) 2009-07-22 2011-01-27 株式会社ブリヂストン タイヤ
WO2011010665A1 (ja) 2009-07-22 2011-01-27 株式会社ブリヂストン 空気入りタイヤ

Also Published As

Publication number Publication date
JP2965075B2 (ja) 1999-10-18

Similar Documents

Publication Publication Date Title
US7174554B2 (en) Tools and methods for discovering race condition errors
US5214652A (en) Alternate processor continuation of task of failed processor
EP0351536B1 (en) Systematic recovery of excessive spin loops in an n-way mp environment
JP2520544B2 (ja) タスクのオ―バ―ラン状態を監視する方法及びタスク実行サイクルのオ―バ―ランを検出する装置
JP4562568B2 (ja) 異常検出プログラムおよび異常検出方法
US20020116670A1 (en) Failure supervising method and apparatus
JPH0245838A (ja) プログラム実行状態監視方法
JP2001318807A (ja) タスク切り替え制御方法及び装置
JPH07113898B2 (ja) 障害検出方式
TW200416605A (en) Method for meeting SMI duration limits by time slicing SMI handlers
JP2012108848A (ja) 動作ログ収集システム及びプログラム
JP2000076081A (ja) タスクマネージャー及びプログラム記録媒体
JPS6115239A (ja) プロセツサ診断方式
JPH04266141A (ja) スタックオーバーフロー検出方式
JPH10269110A (ja) 計算機システムのハングアップ回避方法並びにこの方法を用いた計算機システム。
JP2002251299A (ja) プログラムトレース装置
JP3005580B1 (ja) デッドロック検出装置及びその検出方法
JP2009217760A (ja) 電子計算機装置
JP3185780B2 (ja) システム監視装置及びその方法
JPH07210421A (ja) スレッド環境におけるデバッグ方法
JP2000122882A (ja) マルチスレッドプロセッサおよびデバッグ装置
JPH01147640A (ja) マルチプログラミング・デバッグ装置
JPH0520106A (ja) システム機能停止防止方式
JPH03233738A (ja) プログラム暴走監視方式
JPH0793188A (ja) プロセス制御装置の暴走復旧装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070813

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080813

Year of fee payment: 9

EXPY Cancellation because of completion of term