JPH04280329A - プログラム異常検出方式 - Google Patents
プログラム異常検出方式Info
- Publication number
- JPH04280329A JPH04280329A JP3067704A JP6770491A JPH04280329A JP H04280329 A JPH04280329 A JP H04280329A JP 3067704 A JP3067704 A JP 3067704A JP 6770491 A JP6770491 A JP 6770491A JP H04280329 A JPH04280329 A JP H04280329A
- Authority
- JP
- Japan
- Prior art keywords
- task
- interval
- interrupt
- value
- time
- 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.)
- Withdrawn
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、プログラムの異常を検
出するためのプログラム動作異常検出方式に関し、特に
タイムスライス・マルチタスクOS(オペレーティング
・システム)にいてタスクの動作異常を検出するための
プログラム異常検出方式に関するものである。
出するためのプログラム動作異常検出方式に関し、特に
タイムスライス・マルチタスクOS(オペレーティング
・システム)にいてタスクの動作異常を検出するための
プログラム異常検出方式に関するものである。
【0002】ソフトウエア処理の複雑化に伴って、従来
用いられているシングルタスクOSに代わって、マルチ
タスクOSが一般的に広く用いられるようになった。シ
ングルタスクOSの場合は、一つのプログラム(タスク
)がシーケンシャルに実行されるので、プログラム異常
の検出は比較的容易であるが、マルチタスクOSの場合
は、複数のプログラム(タスク)が同時に実行されるた
め、プログラム異常が発生した場合、まずはじめにどの
プログラム(タスク)で異常が発生したのかを検出する
ことが必要となる。
用いられているシングルタスクOSに代わって、マルチ
タスクOSが一般的に広く用いられるようになった。シ
ングルタスクOSの場合は、一つのプログラム(タスク
)がシーケンシャルに実行されるので、プログラム異常
の検出は比較的容易であるが、マルチタスクOSの場合
は、複数のプログラム(タスク)が同時に実行されるた
め、プログラム異常が発生した場合、まずはじめにどの
プログラム(タスク)で異常が発生したのかを検出する
ことが必要となる。
【0003】マルチタスクOSには大別して2種類のも
のがある。その一つはOSが提供するシステムコールお
よび割り込み等の事象の発生により、タスクによる中央
処理装置(CPU)の使用権の切り替えすなわちディス
パッチを行う方法であり、もう一つはTSS(時分割シ
ステム)と同様にある一定時間間隔でタスクのディスパ
ッチを行う方法である。両者の大きな違いは、ディスパ
ッチの方法が異なる点にあり、前者の場合はタスク自身
がディスパッチの事象を発生させるが、後者の場合はO
Sがディスパッチの事象を発生させる。後者の場合のO
Sは、タイムスライスOSと呼ばれる。
のがある。その一つはOSが提供するシステムコールお
よび割り込み等の事象の発生により、タスクによる中央
処理装置(CPU)の使用権の切り替えすなわちディス
パッチを行う方法であり、もう一つはTSS(時分割シ
ステム)と同様にある一定時間間隔でタスクのディスパ
ッチを行う方法である。両者の大きな違いは、ディスパ
ッチの方法が異なる点にあり、前者の場合はタスク自身
がディスパッチの事象を発生させるが、後者の場合はO
Sがディスパッチの事象を発生させる。後者の場合のO
Sは、タイムスライスOSと呼ばれる。
【0004】マルチタスクOSに対するプログラム動作
異常検出方式は、ある一定時間間隔でタスクのディスパ
ッチを行うタイムスライスOS下のタスクに対しも、動
作異常状態のタスクの検出を行うことができるものであ
ることが要望される。
異常検出方式は、ある一定時間間隔でタスクのディスパ
ッチを行うタイムスライスOS下のタスクに対しも、動
作異常状態のタスクの検出を行うことができるものであ
ることが要望される。
【0005】
【従来の技術】図7は、タイムスライスOSの動作を説
明するものであって、3つのタスクA,B,Cが動作し
ている場合を表し、タスクAとタスクBとタスクCとが
一定時間Tごとに順次実行されることが示されている。 図中、Tはタイムスライスを行う時間間隔(ディスパッ
チ間隔)であり、実線は実行状態を表している。
明するものであって、3つのタスクA,B,Cが動作し
ている場合を表し、タスクAとタスクBとタスクCとが
一定時間Tごとに順次実行されることが示されている。 図中、Tはタイムスライスを行う時間間隔(ディスパッ
チ間隔)であり、実線は実行状態を表している。
【0006】図8は、タイムスライスOSにおける異常
発生時の動作を示したものであって、タスクBにおいて
デッドロック,無限ループ等の異常が発生した場合を表
している。図中Pは、以後のこの時間間隔Tにおいては
、タスクBはタイムスライスによってCPUの使用権を
得るが、動作を行うことができないことを示している。
発生時の動作を示したものであって、タスクBにおいて
デッドロック,無限ループ等の異常が発生した場合を表
している。図中Pは、以後のこの時間間隔Tにおいては
、タスクBはタイムスライスによってCPUの使用権を
得るが、動作を行うことができないことを示している。
【0007】このようにタイムスライスOSの場合は、
図8に示されるように、例えばタスクBに異常が発生し
ても、従来は異常を検出する手段がないため、異常が発
生しているにも拘わらず、一定時間Tの経過によってタ
イムスライスが実行されて、タスクAとタスクCに処理
が移行する。このためシステム全体としては、動作異常
となることなく動作を継続する。
図8に示されるように、例えばタスクBに異常が発生し
ても、従来は異常を検出する手段がないため、異常が発
生しているにも拘わらず、一定時間Tの経過によってタ
イムスライスが実行されて、タスクAとタスクCに処理
が移行する。このためシステム全体としては、動作異常
となることなく動作を継続する。
【0008】
【発明が解決しようとする課題】上述のようにタイムス
ライスOSの場合、あるタスクが動作異常となっても、
一定時間間隔で異常が発生したタスクに対してもディス
パッチを行い、CPUの使用時間を割り当ててしまう。 このため、あるタスクに動作異常が発生しても、他のタ
スクは正常に動作できるため、システム全体としては、
異常になることなく動作し続けるという問題がある。
ライスOSの場合、あるタスクが動作異常となっても、
一定時間間隔で異常が発生したタスクに対してもディス
パッチを行い、CPUの使用時間を割り当ててしまう。 このため、あるタスクに動作異常が発生しても、他のタ
スクは正常に動作できるため、システム全体としては、
異常になることなく動作し続けるという問題がある。
【0009】本発明はこのような従来技術の課題を解決
しようとするものであって、タイムスライス・マルチタ
スクOSにおいて、タスクの動作異常を検出することよ
って、異常動作が継続的に行われるのを防止することが
できるプログラム異常検出方式を提供することを目的と
している。
しようとするものであって、タイムスライス・マルチタ
スクOSにおいて、タスクの動作異常を検出することよ
って、異常動作が継続的に行われるのを防止することが
できるプログラム異常検出方式を提供することを目的と
している。
【0010】
【課題を解決するための手段】本発明は、核となるプロ
グラムを有するカーネル部と、カーネル部に対するタイ
ムスライス用割り込みを発生するタイムスライス用割り
込み部と、この割り込みに基づくカーネル部からの起動
に応じて複数のタスクをディスパッチするスケジューラ
とからなるオペレーティングシステム(OS)において
、一定時間間隔で動作するインターバルタイマと、各タ
スクの現在の動作状態を表示するタスク動作状態テーブ
ルと、各タスクの前回の動作状態を表示するタスク前動
作状態テーブルと、各タスクの動作時間間隔数を計数す
るタスク動作間隔カウンタと、各タスクの正常動作時の
最大許容動作間隔を保持するタスク動作間隔テーブルと
を設け、インターバルタイマが、各タスクの現動作状態
と前動作状態とを比較して変化がないときタスクの動作
時間間隔の計数値と動作間隔のテーブル値とを比較して
計数値がテーブル値より大きいときタスクにおける動作
異常発生を判定することを特徴とするものである。
グラムを有するカーネル部と、カーネル部に対するタイ
ムスライス用割り込みを発生するタイムスライス用割り
込み部と、この割り込みに基づくカーネル部からの起動
に応じて複数のタスクをディスパッチするスケジューラ
とからなるオペレーティングシステム(OS)において
、一定時間間隔で動作するインターバルタイマと、各タ
スクの現在の動作状態を表示するタスク動作状態テーブ
ルと、各タスクの前回の動作状態を表示するタスク前動
作状態テーブルと、各タスクの動作時間間隔数を計数す
るタスク動作間隔カウンタと、各タスクの正常動作時の
最大許容動作間隔を保持するタスク動作間隔テーブルと
を設け、インターバルタイマが、各タスクの現動作状態
と前動作状態とを比較して変化がないときタスクの動作
時間間隔の計数値と動作間隔のテーブル値とを比較して
計数値がテーブル値より大きいときタスクにおける動作
異常発生を判定することを特徴とするものである。
【0011】また本発明は、核となるプログラムを有す
るカーネル部と、カーネル部に対するタイムスライス用
割り込みを発生するタイムスライス用割り込み部と、こ
の割り込みに基づくカーネル部からの起動に応じて複数
のタスクをディスパッチするスケジューラとからなるオ
ペレーティングシステム(OS)において、各タスクの
現在の動作状態を表示するタスク動作状態テーブルと、
各タスクの前回の動作状態を表示するタスク前動作状態
テーブルと、各タスクの動作時間間隔数を計数するタス
ク動作間隔カウンタと、各タスクの正常動作時の最大許
容動作間隔を保持するタスク動作間隔テーブルとを設け
、タイムスライス用割り込み部が一定時間間隔で動作し
て、各タスクの現動作状態と前動作状態とを比較して変
化がないときタスクの動作時間間隔の計数値と動作間隔
のテーブル値とを比較して計数値がテーブル値より大き
いときタスクにおける動作異常発生を判定することを特
徴とするものである。
るカーネル部と、カーネル部に対するタイムスライス用
割り込みを発生するタイムスライス用割り込み部と、こ
の割り込みに基づくカーネル部からの起動に応じて複数
のタスクをディスパッチするスケジューラとからなるオ
ペレーティングシステム(OS)において、各タスクの
現在の動作状態を表示するタスク動作状態テーブルと、
各タスクの前回の動作状態を表示するタスク前動作状態
テーブルと、各タスクの動作時間間隔数を計数するタス
ク動作間隔カウンタと、各タスクの正常動作時の最大許
容動作間隔を保持するタスク動作間隔テーブルとを設け
、タイムスライス用割り込み部が一定時間間隔で動作し
て、各タスクの現動作状態と前動作状態とを比較して変
化がないときタスクの動作時間間隔の計数値と動作間隔
のテーブル値とを比較して計数値がテーブル値より大き
いときタスクにおける動作異常発生を判定することを特
徴とするものである。
【0012】さらに本発明は、核となるプログラムを有
するカーネル部と、カーネル部に対するタイムスライス
用割り込みを発生するタイムスライス用割り込み部と、
この割り込みに基づくカーネル部からの起動に応じて複
数のタスクをディスパッチするスケジューラとからなる
オペレーティングシステム(OS)において、各タスク
の現在の動作状態を表示するタスク動作状態テーブルと
、各タスクの前回の動作状態を表示するタスク前動作状
態テーブルと、各タスクの動作時間間隔数を計数するタ
スク動作間隔カウンタと、各タスクの正常動作時の最大
許容動作間隔を保持するタスク動作間隔テーブルとを設
け、スケジューラが一定時間間隔で動作して、各タスク
の現動作状態と前動作状態とを比較して変化がないとき
タスクの動作時間間隔の計数値と動作間隔のテーブル値
とを比較して計数値がテーブル値より大きいときタスク
における動作異常発生を判定することを特徴とするもの
である。
するカーネル部と、カーネル部に対するタイムスライス
用割り込みを発生するタイムスライス用割り込み部と、
この割り込みに基づくカーネル部からの起動に応じて複
数のタスクをディスパッチするスケジューラとからなる
オペレーティングシステム(OS)において、各タスク
の現在の動作状態を表示するタスク動作状態テーブルと
、各タスクの前回の動作状態を表示するタスク前動作状
態テーブルと、各タスクの動作時間間隔数を計数するタ
スク動作間隔カウンタと、各タスクの正常動作時の最大
許容動作間隔を保持するタスク動作間隔テーブルとを設
け、スケジューラが一定時間間隔で動作して、各タスク
の現動作状態と前動作状態とを比較して変化がないとき
タスクの動作時間間隔の計数値と動作間隔のテーブル値
とを比較して計数値がテーブル値より大きいときタスク
における動作異常発生を判定することを特徴とするもの
である。
【0013】
【作用】図1は本発明の原理的構成を示したものである
。本発明の対象であるオペレーティングシステム(OS
)は、核となるプログラムを有するカーネル部1と、こ
のカーネル部1に対する一定時間間隔ごとの割り込みを
発生するタイムスライス用割り込み部2と、このタイム
スライス用割り込み部2からの割り込みに基づいて複数
のタスク3に対して処理装置の使用権を順次割り当てる
スケジューラ4とからなっている。本発明においては、
これに対して、一定時間間隔で動作するインターバルタ
イマ5を設けるとともに、タスク動作状態テーブル6を
設けて、各タスクの現在の動作状態を表示し、タスク前
動作状態テーブル7を設けて、各タスクの前回の動作状
態を表示し、タスク動作間隔カウンタ8を設けて、各タ
スクの動作時間間隔数を計数し、タスク動作間隔テーブ
ル9を設けて、各タスクの正常動作時の最大許容動作間
隔を保持する。そして、インターバルタイマ5が、各タ
スクの現動作状態と前動作状態とを比較して変化がない
とき、このタスクの動作時間間隔の計数値と動作間隔の
テーブル値とを比較して計数値がテーブル値より大きい
とき、このタスクにおける動作異常発生を判定する。
。本発明の対象であるオペレーティングシステム(OS
)は、核となるプログラムを有するカーネル部1と、こ
のカーネル部1に対する一定時間間隔ごとの割り込みを
発生するタイムスライス用割り込み部2と、このタイム
スライス用割り込み部2からの割り込みに基づいて複数
のタスク3に対して処理装置の使用権を順次割り当てる
スケジューラ4とからなっている。本発明においては、
これに対して、一定時間間隔で動作するインターバルタ
イマ5を設けるとともに、タスク動作状態テーブル6を
設けて、各タスクの現在の動作状態を表示し、タスク前
動作状態テーブル7を設けて、各タスクの前回の動作状
態を表示し、タスク動作間隔カウンタ8を設けて、各タ
スクの動作時間間隔数を計数し、タスク動作間隔テーブ
ル9を設けて、各タスクの正常動作時の最大許容動作間
隔を保持する。そして、インターバルタイマ5が、各タ
スクの現動作状態と前動作状態とを比較して変化がない
とき、このタスクの動作時間間隔の計数値と動作間隔の
テーブル値とを比較して計数値がテーブル値より大きい
とき、このタスクにおける動作異常発生を判定する。
【0014】また本発明においては、上述のようなオペ
レーティングシステム(OS)において、タスク動作状
態テーブル6を設けて、各タスクの現在の動作状態を表
示し、タスク前動作状態テーブル7を設けて、各タスク
の前回の動作状態を表示し、タスク動作間隔カウンタ8
を設けて、各タスクの動作時間間隔数を計数し、タスク
動作間隔テーブル9を設けて、各タスクの正常動作時の
最大許容動作間隔を保持する。そして、タイムスライス
用割り込み部2が一定時間間隔で動作して、各タスクの
現動作状態と前動作状態とを比較して変化がないときこ
のタスクの動作時間間隔の計数値と動作間隔のテーブル
値とを比較して計数値がテーブル値より大きいとき、こ
のタスクにおける動作異常発生を判定する。
レーティングシステム(OS)において、タスク動作状
態テーブル6を設けて、各タスクの現在の動作状態を表
示し、タスク前動作状態テーブル7を設けて、各タスク
の前回の動作状態を表示し、タスク動作間隔カウンタ8
を設けて、各タスクの動作時間間隔数を計数し、タスク
動作間隔テーブル9を設けて、各タスクの正常動作時の
最大許容動作間隔を保持する。そして、タイムスライス
用割り込み部2が一定時間間隔で動作して、各タスクの
現動作状態と前動作状態とを比較して変化がないときこ
のタスクの動作時間間隔の計数値と動作間隔のテーブル
値とを比較して計数値がテーブル値より大きいとき、こ
のタスクにおける動作異常発生を判定する。
【0015】さらに本発明においては、上述のような処
理装置のオペレーティングシステム(OS)において、
タスク動作状態テーブル6を設けて、各タスクの現在の
動作状態を表示し、タスク前動作状態テーブル7を設け
て、各タスクの前回の動作状態を表示し、タスク動作間
隔カウンタ8を設けて、各タスクの動作時間間隔数を計
数し、タスク動作間隔テーブル9を設けて、各タスクの
正常動作時の最大許容動作間隔を保持する。そして、ス
ケジューラ4が一定時間間隔で動作して、各タスクの現
動作状態と前動作状態とを比較して変化がないときこの
タスクの動作時間間隔の計数値と動作間隔のテーブル値
とを比較して計数値がテーブル値より大きいとき、この
タスクにおける動作異常発生を判定する。
理装置のオペレーティングシステム(OS)において、
タスク動作状態テーブル6を設けて、各タスクの現在の
動作状態を表示し、タスク前動作状態テーブル7を設け
て、各タスクの前回の動作状態を表示し、タスク動作間
隔カウンタ8を設けて、各タスクの動作時間間隔数を計
数し、タスク動作間隔テーブル9を設けて、各タスクの
正常動作時の最大許容動作間隔を保持する。そして、ス
ケジューラ4が一定時間間隔で動作して、各タスクの現
動作状態と前動作状態とを比較して変化がないときこの
タスクの動作時間間隔の計数値と動作間隔のテーブル値
とを比較して計数値がテーブル値より大きいとき、この
タスクにおける動作異常発生を判定する。
【0016】従って本発明によれば、タイムスライス・
マルチタスクOSにおいて、一定時間間隔でタスクの動
作状態変化をチェックすることによって、タイムスライ
スOS下のタスクで発生した異常の検出を行うことがで
きる。
マルチタスクOSにおいて、一定時間間隔でタスクの動
作状態変化をチェックすることによって、タイムスライ
スOS下のタスクで発生した異常の検出を行うことがで
きる。
【0017】
【実施例】図2は、本発明の一実施例の構成を示したも
のであって、11はタイムスライスOS部を示し、タイ
ムスライスOS部11において、12はタイムスライス
用割り込みを発生する処理を行うタイムスライス用割り
込み部、13はOSの核となるカーネル部、14はタス
ク切り替え処理を行うスケジューラである。15はタス
ク群を示し、151 〜15n はそれぞれタスクであ
る。 16は一定時間間隔を計時するインターバルタイマ、1
7は各タスクの動作状態を示すタスク動作状態テーブル
、18は各タスクの前回の動作状態を示すタスク前動作
状態テーブル、19は各タスクの動作間隔を示すタスク
動作間隔テーブル、20は各タスクの動作間隔を計数す
るタスク動作間隔カウンタである。
のであって、11はタイムスライスOS部を示し、タイ
ムスライスOS部11において、12はタイムスライス
用割り込みを発生する処理を行うタイムスライス用割り
込み部、13はOSの核となるカーネル部、14はタス
ク切り替え処理を行うスケジューラである。15はタス
ク群を示し、151 〜15n はそれぞれタスクであ
る。 16は一定時間間隔を計時するインターバルタイマ、1
7は各タスクの動作状態を示すタスク動作状態テーブル
、18は各タスクの前回の動作状態を示すタスク前動作
状態テーブル、19は各タスクの動作間隔を示すタスク
動作間隔テーブル、20は各タスクの動作間隔を計数す
るタスク動作間隔カウンタである。
【0018】図3は、図2の実施例におけるタイムスラ
イスによるタスクの実行を説明するものであって、A,
B,Cの3個のタスクがあるシステムにおける動作例を
示し、図中、17はタスク動作状態テーブル、Tはタイ
ムスライスを行う時間間隔である。タスク動作状態テー
ブル17はタスク数分の要素を持つことが必要であり、
この例では3個の要素をタスクA,B,Cに対応して有
している。
イスによるタスクの実行を説明するものであって、A,
B,Cの3個のタスクがあるシステムにおける動作例を
示し、図中、17はタスク動作状態テーブル、Tはタイ
ムスライスを行う時間間隔である。タスク動作状態テー
ブル17はタスク数分の要素を持つことが必要であり、
この例では3個の要素をタスクA,B,Cに対応して有
している。
【0019】ある時間間隔TにおいてタスクAの処理が
行われて、終了時、タスク動作状態テーブル17におけ
るタスクAの領域がインクリメントされることによって
、動作状態の書き込みが行われる。すなわちタスク動作
状態テーブル17は、タスクが1つの処理を行うごとに
、インクリメントされる。次の時間間隔Tにおいて、タ
スクBの処理が行われて、終了時、タスク動作状態テー
ブル17におけるタスクBの領域がインクリメントされ
ることによって、動作状態の書き込みが行われる。さら
に次の時間間隔Tにおいて、タスクCの処理が行われて
、タスク動作状態テーブル17におけるタスクCの領域
がインクリメントされることによって、動作状態の書き
込みが行われる。以下このような処理が時間間隔Tごと
に順次繰り返して行われる。
行われて、終了時、タスク動作状態テーブル17におけ
るタスクAの領域がインクリメントされることによって
、動作状態の書き込みが行われる。すなわちタスク動作
状態テーブル17は、タスクが1つの処理を行うごとに
、インクリメントされる。次の時間間隔Tにおいて、タ
スクBの処理が行われて、終了時、タスク動作状態テー
ブル17におけるタスクBの領域がインクリメントされ
ることによって、動作状態の書き込みが行われる。さら
に次の時間間隔Tにおいて、タスクCの処理が行われて
、タスク動作状態テーブル17におけるタスクCの領域
がインクリメントされることによって、動作状態の書き
込みが行われる。以下このような処理が時間間隔Tごと
に順次繰り返して行われる。
【0020】図4は、図2の実施例におけるインターバ
ルタイマの動作を示すフローチャートであって、インタ
ーバルタイマ16を使用して異常検出を行う場合を示し
、図3に示された3個のタスクA,B,Cを有する場合
を例示している。
ルタイマの動作を示すフローチャートであって、インタ
ーバルタイマ16を使用して異常検出を行う場合を示し
、図3に示された3個のタスクA,B,Cを有する場合
を例示している。
【0021】まずタスク動作状態テーブル17からタス
クAの動作状態を獲得する(S1)。次に、インターバ
ルタイマ16は、タスク前動作状態テーブル18からタ
スクAの前動作状態を獲得する(S2)。そして前状態
と現状態との間に変化があったか否かをみて(S3)、
変化がないときは、タスク動作間隔カウンタ20のタス
クAの領域をカウントアップして(S4)、次に動作間
隔カウンタ20におけるタスクAの時間間隔カウント値
が、タスク動作間隔テーブル19に予め設定されている
タスクAの動作間隔値より大きいか否かをみて(S5)
、大きいときはタスクAに動作異常発生と判定する。動
作間隔カウンタ20におけるタスクAのカウント値が、
タスク動作間隔テーブル19に予め設定されているタス
クAの動作間隔値より大きくないときは、タスクAの処
理を終了して、同様にタスクBとタスクCの動作状態変
化をチェックし、正常でなければ動作異常発生を判定し
、正常であれば処理を終了する。
クAの動作状態を獲得する(S1)。次に、インターバ
ルタイマ16は、タスク前動作状態テーブル18からタ
スクAの前動作状態を獲得する(S2)。そして前状態
と現状態との間に変化があったか否かをみて(S3)、
変化がないときは、タスク動作間隔カウンタ20のタス
クAの領域をカウントアップして(S4)、次に動作間
隔カウンタ20におけるタスクAの時間間隔カウント値
が、タスク動作間隔テーブル19に予め設定されている
タスクAの動作間隔値より大きいか否かをみて(S5)
、大きいときはタスクAに動作異常発生と判定する。動
作間隔カウンタ20におけるタスクAのカウント値が、
タスク動作間隔テーブル19に予め設定されているタス
クAの動作間隔値より大きくないときは、タスクAの処
理を終了して、同様にタスクBとタスクCの動作状態変
化をチェックし、正常でなければ動作異常発生を判定し
、正常であれば処理を終了する。
【0022】ステップS3に戻って、前状態と現状態と
の間に変化があるときは、タスク動作状態テーブル17
の値をタスク前動作状態テーブル18にセットし(S6
)、タスク動作間隔カウンタ20のタスクAの領域のカ
ウント値をクリアして(S7)、次のタスクBとタスク
Cの処理に移行する。
の間に変化があるときは、タスク動作状態テーブル17
の値をタスク前動作状態テーブル18にセットし(S6
)、タスク動作間隔カウンタ20のタスクAの領域のカ
ウント値をクリアして(S7)、次のタスクBとタスク
Cの処理に移行する。
【0023】1このように、インターバルタイマ16は
、一定時間間隔Tの割り込みによって動作し、動作時に
各タスクのタスク前動作状態テーブル18とタスク動作
状態テーブル17とを比較して、動作状態に変化がある
か否かを調べる。変化がある場合には、そのタスクは前
の状態と変わっているので、正常動作していることにな
る。変化がない場合には、タスク動作間隔テーブル20
に指定されている時間数分インターバルタイマの割り込
みのカウントアップを行う。指定時間が経過しても動作
状態に変化がない場合には、そのタスクに異常が発生し
たものとして、処理を行う。タスク動作間隔テーブル2
0には、各タスクごとの処理時間間隔の最大値より大き
な値を設定しておく。すなわち、タスク動作間隔テーブ
ル20に記載されている時間以上、タスクの動作状態が
変化しないということは、タスクになんらかの異常が発
生して、通常の処理時間より長くかかっていることを示
しているので、これによってタスクごとの異常検出を行
うことができる。
、一定時間間隔Tの割り込みによって動作し、動作時に
各タスクのタスク前動作状態テーブル18とタスク動作
状態テーブル17とを比較して、動作状態に変化がある
か否かを調べる。変化がある場合には、そのタスクは前
の状態と変わっているので、正常動作していることにな
る。変化がない場合には、タスク動作間隔テーブル20
に指定されている時間数分インターバルタイマの割り込
みのカウントアップを行う。指定時間が経過しても動作
状態に変化がない場合には、そのタスクに異常が発生し
たものとして、処理を行う。タスク動作間隔テーブル2
0には、各タスクごとの処理時間間隔の最大値より大き
な値を設定しておく。すなわち、タスク動作間隔テーブ
ル20に記載されている時間以上、タスクの動作状態が
変化しないということは、タスクになんらかの異常が発
生して、通常の処理時間より長くかかっていることを示
しているので、これによってタスクごとの異常検出を行
うことができる。
【0024】図5は、本発明の他の実施例の構成を示し
たものであって、図2におけると同じものを同じ番号で
示しているが、インターバルタイマ16を欠いている。 図5の実施例においては、タイムスライス用割り込み部
12において、図2の実施例に示されたインターバルタ
イマ16によるタスク異常検出と同様の処理を行うもの
であり、この場合の処理方法は図2の実施例の場合と同
様にして実現できる。
たものであって、図2におけると同じものを同じ番号で
示しているが、インターバルタイマ16を欠いている。 図5の実施例においては、タイムスライス用割り込み部
12において、図2の実施例に示されたインターバルタ
イマ16によるタスク異常検出と同様の処理を行うもの
であり、この場合の処理方法は図2の実施例の場合と同
様にして実現できる。
【0025】図6は、本発明のさらに他の実施例の構成
を示したものであって、図2におけると同じものを同じ
番号で示しているが、インターバルタイマ16を欠いて
いる。図6の実施例においては、スケジューラ14にお
いて、図2の実施例に示されたインターバルタイマ16
によるタスク異常検出と同様の処理を行うものであり、
この場合の処理方法は図2の実施例の場合と同様にして
実現できる。
を示したものであって、図2におけると同じものを同じ
番号で示しているが、インターバルタイマ16を欠いて
いる。図6の実施例においては、スケジューラ14にお
いて、図2の実施例に示されたインターバルタイマ16
によるタスク異常検出と同様の処理を行うものであり、
この場合の処理方法は図2の実施例の場合と同様にして
実現できる。
【0026】
【発明の効果】以上説明したように本発明のプログラム
異常検出方式によれば、タイムスライス・マルチタスク
OSにおいて、一定時間間隔の割り込み動作によって、
各タスクの動作状態変化を監視することによって、タイ
ムスライスOS下のタスクで発生した動作異常の検出を
行うことができる。
異常検出方式によれば、タイムスライス・マルチタスク
OSにおいて、一定時間間隔の割り込み動作によって、
各タスクの動作状態変化を監視することによって、タイ
ムスライスOS下のタスクで発生した動作異常の検出を
行うことができる。
【図1】本発明の原理的構成を示す図である。
【図2】本発明の一実施例の構成を示す図である。
【図3】図2の実施例におけるタイムスライスによるタ
スクの実行を説明する図である。
スクの実行を説明する図である。
【図4】図2の実施例におけるインターバルタイマの動
作を示すフローチャートである。
作を示すフローチャートである。
【図5】本発明の他の実施例の構成を示す図である。
【図6】本発明のさらに他の実施例の構成を示す図であ
る。
る。
【図7】タイムスライスOSの動作を説明する図である
。
。
【図8】タイムスライスOSにおける異常発生時の動作
を示す図である。
を示す図である。
1 カーネル部
2 タイムスライス用割り込み部
3 タスク
4 スケジューラ
5 インターバルタイマ
6 タスク動作状態テーブル
7 タスク前動作状態テーブル
8 タスク動作間隔カウンタ
9 タスク動作間隔テーブル
Claims (3)
- 【請求項1】 核となるプログラムを有するカーネル
部(1)と、該カーネル部(1)に対するタイムスライ
ス用割り込みを発生するタイムスライス用割り込み部(
2)と、該割り込みに基づく前記カーネル部(1)から
の起動に応じて複数のタスク(3)をディスパッチする
スケジューラ(4)とからなるオペレーティングシステ
ム(OS)において、一定時間間隔で動作するインター
バルタイマ(5)と、各タスクの現在の動作状態を表示
するタスク動作状態テーブル(6)と、各タスクの前回
の動作状態を表示するタスク前動作状態テーブル(7)
と、各タスクの動作時間間隔数を計数するタスク動作間
隔カウンタ(8)と、各タスクの正常動作時の最大許容
動作間隔を保持するタスク動作間隔テーブル(9)とを
設け、前記インターバルタイマ(5)が、各タスクの現
動作状態と前動作状態とを比較して変化がないとき該タ
スクの動作時間間隔の計数値と動作間隔のテーブル値と
を比較して該計数値が該テーブル値より大きいとき該タ
スクにおける動作異常発生を判定することを特徴とする
プログラム異常検出方式。 - 【請求項2】 核となるプログラムを有するカーネル
部(1)と、該カーネル部(1)に対するタイムスライ
ス用割り込みを発生するタイムスライス用割り込み部(
2)と、該割り込みに基づく前記カーネル部(1)から
の起動に応じて複数のタスク(3)をディスパッチする
スケジューラ(4)とからなるオペレーティングシステ
ム(OS)において、各タスクの現在の動作状態を表示
するタスク動作状態テーブル(6)と、各タスクの前回
の動作状態を表示するタスク前動作状態テーブル(7)
と、各タスクの動作時間間隔数を計数するタスク動作間
隔カウンタ(8)と、各タスクの正常動作時の最大許容
動作間隔を保持するタスク動作間隔テーブル(9)とを
設け、前記タイムスライス用割り込み部(2)が一定時
間間隔で動作して、各タスクの現動作状態と前動作状態
とを比較して変化がないとき該タスクの動作時間間隔の
計数値と動作間隔のテーブル値とを比較して該計数値が
該テーブル値より大きいとき該タスクにおける動作異常
発生を判定することを特徴とするプログラム異常検出方
式。 - 【請求項3】 核となるプログラムを有するカーネル
部(1)と、該カーネル部(1)に対するタイムスライ
ス用割り込みを発生するタイムスライス用割り込み部(
2)と、該割り込みに基づく前記カーネル部(1)から
の起動に応じて複数(3)のタスクをディスパッチする
スケジューラ(4)とからなるオペレーティングシステ
ム(OS)において、各タスクの現在の動作状態を表示
するタスク動作状態テーブル(6)と、各タスクの前回
の動作状態を表示するタスク前動作状態テーブル(7)
と、各タスクの動作時間間隔数を計数するタスク動作間
隔カウンタ(8)と、各タスクの正常動作時の最大許容
動作間隔を保持するタスク動作間隔テーブル(9)とを
設け、前記スケジューラ(4)が一定時間間隔で動作し
て、各タスクの現動作状態と前動作状態とを比較して変
化がないとき該タスクの動作時間間隔の計数値と動作間
隔のテーブル値とを比較して該計数値が該テーブル値よ
り大きいとき該タスクにおける動作異常発生を判定する
ことを特徴とするプログラム異常検出方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3067704A JPH04280329A (ja) | 1991-03-08 | 1991-03-08 | プログラム異常検出方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3067704A JPH04280329A (ja) | 1991-03-08 | 1991-03-08 | プログラム異常検出方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04280329A true JPH04280329A (ja) | 1992-10-06 |
Family
ID=13352615
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3067704A Withdrawn JPH04280329A (ja) | 1991-03-08 | 1991-03-08 | プログラム異常検出方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04280329A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10198583A (ja) * | 1997-01-10 | 1998-07-31 | Nec Corp | 空走プロセスの検出と処置方式及び方法 |
| JP2007334587A (ja) * | 2006-06-14 | 2007-12-27 | Denso Corp | 異常監視用プログラム、記録媒体及び電子装置 |
| JP2010033245A (ja) * | 2008-07-28 | 2010-02-12 | Nippon Signal Co Ltd:The | 二重化データ処理回路 |
| JP2015057685A (ja) * | 2013-08-12 | 2015-03-26 | 株式会社三菱東京Ufj銀行 | 監視システム |
-
1991
- 1991-03-08 JP JP3067704A patent/JPH04280329A/ja not_active Withdrawn
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10198583A (ja) * | 1997-01-10 | 1998-07-31 | Nec Corp | 空走プロセスの検出と処置方式及び方法 |
| JP2007334587A (ja) * | 2006-06-14 | 2007-12-27 | Denso Corp | 異常監視用プログラム、記録媒体及び電子装置 |
| US7996732B2 (en) | 2006-06-14 | 2011-08-09 | Denso Corporation | Program-execution monitoring method, system, and program |
| JP2010033245A (ja) * | 2008-07-28 | 2010-02-12 | Nippon Signal Co Ltd:The | 二重化データ処理回路 |
| JP2015057685A (ja) * | 2013-08-12 | 2015-03-26 | 株式会社三菱東京Ufj銀行 | 監視システム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0652518B1 (en) | Operating system based performance monitoring of programs | |
| US6269478B1 (en) | Monitoring method for recognizing endless loops and blocked processes in a computer system using task state comparisons | |
| US20120029659A1 (en) | Safety controller and safety control method | |
| CN101523351A (zh) | 用于转换带有多个执行单元的系统的方法 | |
| JPH04280329A (ja) | プログラム異常検出方式 | |
| JP2965075B2 (ja) | プログラム実行状態監視方法 | |
| JPS63163932A (ja) | 制御用計算機のシステム監視方式 | |
| JP3859564B2 (ja) | イベント通知タスク制御処理方式及び方法並びにプログラム | |
| JP3269489B2 (ja) | プロセス監視システムおよびプロセス監視方法 | |
| JP4313858B2 (ja) | 計算機 | |
| JP2006227962A (ja) | アプリケーションタスク監視システムおよび方法 | |
| JPH05241906A (ja) | プログラマブル制御装置 | |
| JP2006252388A (ja) | ソフトウェア異常検出方法 | |
| JPH0334037A (ja) | システム異常の検出処理方式 | |
| JPH05257748A (ja) | マイクロプロセッサ装置 | |
| JPH0581080A (ja) | マイクロプロセツサの暴走監視装置 | |
| JPS63280345A (ja) | プログラム異常検出方法 | |
| JPS62145336A (ja) | 計算機システムのプログラムル−プ検出方式 | |
| JPS5868166A (ja) | プロセツサ異常監視装置 | |
| JPH05224998A (ja) | アプリケーション・タスクの障害検出方式 | |
| JP2004199423A (ja) | 処理監視装置 | |
| JPS59135557A (ja) | 情報処理装置 | |
| JPH05346877A (ja) | マルチタスクシステムの動作監視方式 | |
| JPH0991170A (ja) | 障害検出装置 | |
| JPH01183701A (ja) | プラント監視装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19980514 |