JP2007219834A - デッドライン監視システムおよびデッドライン監視方法 - Google Patents

デッドライン監視システムおよびデッドライン監視方法 Download PDF

Info

Publication number
JP2007219834A
JP2007219834A JP2006039595A JP2006039595A JP2007219834A JP 2007219834 A JP2007219834 A JP 2007219834A JP 2006039595 A JP2006039595 A JP 2006039595A JP 2006039595 A JP2006039595 A JP 2006039595A JP 2007219834 A JP2007219834 A JP 2007219834A
Authority
JP
Japan
Prior art keywords
task
deadline
wake
monitoring
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.)
Pending
Application number
JP2006039595A
Other languages
English (en)
Inventor
Takeshi Sugitani
猛 杉谷
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2006039595A priority Critical patent/JP2007219834A/ja
Publication of JP2007219834A publication Critical patent/JP2007219834A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】監視対象タスクのデッドラインオーバーを監視するための処理に要するCPU負荷を低減しながらデッドラインオーバーを確実に検出するデッドライン監視装置およびデッドライン監視方法を提供すること。
【解決手段】デッドライン監視システム200は、起床命令に基づいてタスクの起床を行うタスク起床手段102と、タスク起床手段102により起床させようとするタスクが既に処理を開始している場合に所定の許容段数を有する待ち行列に起床命令を加えるキューイング手段103と、キューイング手段103により待ち行列に加えられた起床命令の数が所定の許容段数を超えた場合にタスクがデッドラインオーバーになったと判断するデッドラインオーバー判断手段105とを備えることを特徴とする。
【選択図】図1

Description

本発明は、デッドライン監視システムおよびデッドライン監視方法に関し、より詳細には、タスクのデッドラインオーバーを監視するための処理に要するCPU(Central Processing Unit)負荷を低減しながらもタスクのデッドラインオーバーを確実に検出するデッドライン監視装置およびデッドライン監視方法に関する。
従来のリアルタイムオペレーティングシステム(以下、「RTOS(Real Time Operation System)」という。)におけるタスク(RTOSが処理するプログラムの実行単位をいう。)のデッドライン監視システムは、監視対象となるタスクの処理に費やした時間と、当該タスクが処理を開始した時刻から処理を終了すべき時刻までの時間(以下、「デッドライン時間」という。)と、を比較して、費やした時間がデッドライン時間を超えた(以下、「デッドラインオーバー」という。)か否かを監視する。
係るデッドライン監視システムは、RTOSが標準的に有する機能(システムコール)の他に、デッドラインオーバーを検出するために必要な情報を取得するための特別なタスクを、定期的に、或いは、タスクの切り替え(以下、「ディスパッチ」という。)が発生する度に起床させることにより行われていた。
デッドラインオーバーが発生してタスクが中止されると、それまでに費やしたCPUの処理時間が無駄になり、さらには、他のタスクのデッドラインオーバーを連鎖的に引き起こしてしまう場合もあるので、デッドラインオーバーの発生を防止することは重要であるが、係るデッドラインオーバーの監視は、多大な負荷をCPUに掛けてしまう。
そのため、特許文献1に記載のリアルタイムタスク制御装置は、タスクのディスパッチが発生する度に、ディスパッチされるタスクの残りの所要時間と、現時点からデッドラインまでの時間とを比較し、デッドラインオーバーとなるようならば、そのタスクを事前に終了させることで無駄な処理を防止し、他のタスクが連鎖的にデッドラインオーバーとなるのを抑制しようとする。
特開平5−241906号公報
しかしながら、特許文献1に記載のリアルタイムタスク制御装置は、デッドラインオーバーの連鎖的な発生を抑制するが、デッドラインオーバー監視のために多大な負荷がCPUに掛かることに変わりはない。また、監視するタスクの数が増大すると、タスク毎に開始時刻の記録、経過時間の算出およびデッドライン時間との比較等を実行しなければならず、監視のための負荷がさらに増大し、監視対象タスクを事前に終了させ易くしてしまう。
係る問題に鑑み、本発明は、監視対象タスクのデッドラインオーバーを監視するための処理に要するCPU負荷を低減しながらもデッドラインオーバーを確実に検出するデッドライン監視装置およびデッドライン監視方法を提供することを目的とする。
上述の目的を達成するために、第1の発明に係るデッドライン監視システムは、起床命令に基づいてタスクの起床を行うタスク起床手段と、前記タスク起床手段により起床させる前記タスクが処理を開始している場合、所定の許容段数を有する待ち行列に前記起床命令を加えるキューイング手段と、前記キューイング手段により前記待ち行列に加えられた前記起床命令の数が前記所定の許容段数を超えた場合に、前記タスクがデッドラインオーバーになったと判断するデッドラインオーバー判断手段と、を備えることを特徴とする。
また、第2の発明は、第1の発明に係るデッドライン監視システムにおいて、前記起床命令は所定の周期で発せられることを特徴とする。
また、第3の発明に係るデッドライン監視方法は、起床命令に基づいてタスクの起床を行うタスク起床ステップと、前記タスク起床ステップにおいて起床させる前記タスクが処理を開始している場合、所定の許容段数を有する待ち行列に前記起床命令を加えるキューイングステップと、前記キューイングステップにおいて前記待ち行列に加えられた前記起床命令の数が前記所定の許容段数を超えた場合に、前記タスクがデッドラインオーバーになったと判断するデッドラインオーバー判断ステップと、を備えることを特徴とする。
上述の手段により、本発明は、監視対象タスクのデッドラインオーバーを監視するための処理に要するCPU負荷を低減しながらもデッドラインオーバーを確実に検出するデッドライン監視装置およびデッドライン監視方法を提供することができる。
以下、図面を参照しつつ、いくつかの実施例に分けて、本発明を実施するための最良の形態の説明を行う。
図1は、本発明に係るデッドライン監視システムの構成例を示す図である。デッドライン監視システム200は、二次記憶装置1、CPU2、主記憶装置3を有し、二次記憶装置1は、RTOS10および監視対象タスク11を実行するためのプログラムを格納する。
RTOS10は、デッドライン監視システム200を備える装置の電源が起動されると、主記憶装置3にロードされ、二次記憶装置1に格納された監視対象タスク11等を主記憶装置3にロードしながら各種処理を実行する。
デッドライン監視システム200は、デッドラインオーバーを検出してそのタスクの実行を中断または中止させるシステムであり、例えば、RTOS10により更新されるTCB(Task Control Block)の情報に基づいてデッドラインを監視する。
ここで、「TCB」とは、タスクの属性情報を格納するための構造体であり、デッドライン時間、タスク状態、優先度、タスク起床周期、キューイング数、キュー段数等の情報を格納する。
タスク状態とは、RTOS10がタスクの実行順序を決定する(以下、「スケジューリング」という。)際に参照するタスクの状態であり、例えば、実行状態、実行可能状態、待ち状態等がある。
タスクは生成後に起動されると実行可能状態になり、その後、ディスパッチされると、実行可能状態が実行状態に移行し、反対に、より優先度の高いタスクに実行権が奪われると(以下、「プリエンプト」という。)、実行状態が実行可能状態に移行する。また、タスクは実行が終了すると待ち状態に移行し、起床されると、待ち状態が実行可能状態に移行する。なお、デッドライン監視システム200は、タスクが実行可能状態または実行状態の場合に同じタスクが起床されると、その起床命令を待ち行列(キュー)に格納する。
また、優先度とは、複数のタスクの処理の優先順位を決定するために用いられる値であり、この値を使用してRTOS10は優先度の低いタスクをプリエンプトし、優先度の高いタスクとのディスパッチを行う。
タスク起床周期は、各タスクの起床命令を出す時間間隔であり、キューイング数は、待ち行列に積まれた起床命令の数であり、キュー段数は、待ち行列の許容段数である。
なお、「中断」とは、監視対象のタスクを一旦待ち状態とし、現状のコンテキスト(タスクに関する情報をいう。)を二次記憶装置1の他の領域に待避させ、後に処理を再開できるようにしておくことをいう。また、「中止」とは、実行中のタスクを終了させ、後に処理を再開できないようにすることをいう。
監視対象タスク11は、アプリケーション毎に準備され、RTOS10によりデッドライン時間を超えたか否かが監視されるタスクであり、外部割り込みルーチンであるハンドラやRTOS10のタスク起床手段102により起床される。
また、RTOS10は、標準的な機能(システムコール)としてスケジューリング手段101、タスク起床手段102、キューイング手段103、タスク制御情報設定手段104およびデッドラインオーバー判断手段105を有する。
スケジューリング手段101は、実行可能状態となっているタスクの中から次に実行させるタスクを選択するための手段であり、例えば、TCBの優先度を参照して、次に実行するタスクを選択する。
タスク起床手段102は、タスクを起床させるための手段であり、所定のタイミングで、或いは、周期的に、RTOS10のスケジューリング手段101により選択されたタスクを待ち状態から実行可能状態に移行させる。
キューイング手段103は、タスク起床手段102が起床させようとしたタスクが既に実行状態または実行可能状態である場合に、その起床命令を待ち行列(キュー)に加えるための手段であり、例えば、起床させるタスク毎にキュー段数だけ起床命令を積み上げる(加える)ことができる。格納された起床命令の数がキュー段数を超えた場合、後述のデッドラインオーバー判断手段105は、当該タスクによる処理の経過時間がデッドライン時間を超えたとして当該タスクの処理を中止または中断させる。
タスク制御情報設定手段104は、TCBの設定を変更するための手段であり、例えば、CPU2の負荷状況に応じてTCBにおける優先度、タスク起床周期およびキュー段数等の設定値を変更する。タスクの起床周期を大きくしてデッドライン監視のために費やされるCPU2の負荷を小さくしたり、タスクの優先度に応じてデッドライン監視を強化したり、緩和したりすることで、デッドラインの設定を柔軟に行えるようにするためである。
デッドラインオーバー判断手段105は、デッドラインオーバー発生の有無を判断するための手段であり、例えば、TCBに格納されたキューイング数がTCBで設定されたキュー段数を超えた場合に、監視対象タスク11の処理時間がデッドライン時間を超えたと判断して、監視対象タスク11の実行を中断または中止させる。
デッドラインオーバー判断手段105は、デッドラインオーバーとなった監視対象タスク11のTCBに格納された優先度をより低い値に変更したり、タスク状態を強制的に待ち状態若しくは終了状態に設定したりすることにより、監視対象タスク11の実行を中断または中止させる。
また、デッドラインオーバー判断手段105は、タスク毎に設定されるデッドライン時間を利用しないので、監視対象タスク11の処理開始時刻を記憶したり、処理に要した経過時間を算出したり、或いは、経過時間と所定のデッドライン時間とを比較したりする処理を省略させることができ、TCBのサイズを低減させ、かつ、CPU2の負荷を低減させることができる。
なお、スケジューリング手段101、タスク起床手段102、キューイング手段103、タスク制御情報設定手段104は、RTOS10に標準的に備えられるシステムコールであり、RTOS10上で動作する監視対象タスク11のようにアプリケーション毎に別途作成する必要が無く、また、デッドラインオーバー判断手段105も、既にTCBが標準的に有する情報を利用してデッドラインオーバー発生の有無を判断するので、RTOS10の標準的な機能として組み込まれてもよい。
次に、図2のフローチャートを参照しながら、デッドライン監視システム200がデッドラインを監視する処理の流れについて説明する。
最初に、デッドライン監視システム200は、監視対象のタスクが処理を開始してから、当該タスクのTCBに設定されたタスク起床周期(時間)が経過したか否かを判断する(ステップS1)。
タスク起床周期(時間)が経過していない場合には(ステップS1のNO)、デッドライン監視システム200は、タスク起床周期(時間)が経過するまで待機する。タスク起床周期(時間)が経過した場合には(ステップS1のYES)、タスク起床手段102により、監視対象タスク11に対する起床命令を発する(ステップS2:タスク起床ステップ)。
次に、タスク起床手段102は、監視対象タスク11のTCBを参照してタスク状態を判断する(ステップS3)。タスク起床手段102によりタスク状態が実行状態または実行可能状態でないと判断された場合には(ステップS3のNO)、処理を終了させる。
タスク起床手段102によりタスク状態が実行状態または実行可能状態であると判断された場合には(ステップS3のYES)、キューイング手段103が起床命令を待ち行列に加え、TCBのキューイング数に「1」を加算する(ステップS4:キューイングステップ)。
その後、デッドラインオーバー判断手段105は、キューイング手段103により待ち行列に加えられた起床命令の数(キューイング数)がTCBに設定されたキュー段数を超えたか否かを監視し(ステップS5:デッドラインオーバー判断ステップ)、キューイング数がキュー段数を超えていないことを検出した場合には(ステップS5のNO)、処理を終了させる。
キューイング数がキュー段数を超えたことを検出した場合(ステップS5のYES)、デッドラインオーバー判断手段105は、監視対象タスク11がデッドラインオーバーになったと判断し監視対象タスク11を中断または中止させる(ステップS6)。
この構成により、デッドライン監視システム200は、監視対象タスク11の処理開始時刻の記憶、経過時間の算出、経過時間とデッドライン時間との比較といった、RTOS10のシステムコールにない、CPU2の負荷を増大させてしまう機能を用いることなく、デッドラインオーバーの判断を行うことができ、監視のためのタスクが却ってCPU2の負荷を増大させてデッドラインオーバーを引き起こすのを防止することができる。
次に、本発明に係るデッドライン監視システム200と従来のデッドライン監視システムとの違いについて説明する。
図3は、タスク起床からの経過時間に基づいてデッドラインオーバーを監視する従来のデッドライン監視システムと、キューイング手段103により待ち行列に格納された起床命令の数を用いてデッドラインオーバーを判断する本発明に係るデッドライン監視システム200との違いを示す図である。
図3(A)は、従来のデッドライン監視システムにおける経過時間と実行されるタスクとの関係例を示す図であり、縦軸にタスクの処理優先度を示し、横軸に経過時間を示す。処理優先度は、図面上方ほど高く、RTOSの処理を最高に、監視タスク、監視対象タスクの順に低くなる。また、実行状態のタスクを実線のバー、実行可能状態のタスクを点線のバーで示す。
監視対象タスクの起床が行われると、監視対象タスクは、待ち状態から実行可能状態に移行し、他に優先度のより高いタスクが実行可能状態となっていない限り、実行状態となる。なお、RTOSは、監視対象タスクの実行が開始された時刻をTCBに格納する。
その後、RTOSのシステムコールに含まれない監視タスクが所定の周期(例えば4ミリ秒)で起床され、監視タスクは、実行される毎に現在時刻を取得し、現在時刻とタスク開始時刻との差から経過時間を算出し、かつ、予めTCBに設定されたデッドライン時間(例えば、15ミリ秒)とその経過時間とを比較して、経過時間がデッドライン時間を超えたか否かを判断する。なお、所定の周期は、監視タスクのTCBで予め設定される。
監視タスクは、監視対象タスクによる処理の経過時間がデッドライン時間を超えていないと判断すると、監視を終了して待ち状態となる。
一方、監視タスクは、監視対象タスクによる処理の経過時間がデッドライン時間を超えたと判断すると、監視対象タスクのTCBのタスク状態を終了状態に設定し処理を中止させ、TCBに格納された監視対象タスクの開始時刻を消去する。
監視タスクによる現在時刻の取得、経過時間の算出、デッドライン時間と経過時間との比較等の処理は、RTOSのシステムコールには含まれないので、アプリケーション毎に作成して用意する必要があり、複雑な処理を行うためにCPU2の負荷も増大する。
図3(B)は、本発明に係るデッドライン監視システム200における経過時間と実行されるタスクとの関係例を示す図である。図3(A)と同様に、縦軸にタスクの処理優先度、横軸に経過時間を示し、処理優先度は、RTOS10、監視対象タスク11の順となる。
タスク起床手段102により監視対象タスク11の起床が行われると、監視対象タスク11は、待ち状態から実行可能状態に移行し、他に優先度のより高いタスクが実行可能状態となっていない限り、実行状態となる。なお、RTOS10は、監視対象タスク11の実行が開始された時刻をTCBに格納することはない。デッドライン監視に経過時間を使用しないからである。
その後、RTOS10のタスク起床手段102により監視対象タスク11の起床がTCBのタスク起床周期に基づいて周期的(例えば、4ミリ秒)に実行され、キューイング手段103は、監視対象タスク11のTCBを参照してタスク状態が実行状態である場合には、待ち行列に起床命令を加える。
なお、監視対象タスク11に対する起床命令がタスク起床周期に基づいて行われるようにすると、TCBにおける設定値をタスク起床周期のみに簡素化できるという利点があるが、他の設定値を利用し、監視対象タスク11に対する起床命令を発するタイミングを変化させ、柔軟性を持たせるようにしてもよい。
待ち行列に格納された起床命令の数が所定のキュー段数(例えば、2)を超えた場合、RTOS10は、デッドラインオーバー判断手段105により監視対象タスク11がデッドラインに達したと判断し、監視対象タスク11のTCBにおけるタスク状態を終了状態とし、キューイング数をゼロにリセットして、監視対象タスク11の処理を中止させる。
或いは、デッドラインオーバー判断手段105は、監視対象タスク11がデッドラインに達したと判断した後、監視対象タスク11のタスク状態を待ち状態とし、優先度を下げて、監視対象タスク11の処理を中断させるようにしてもよい。
待ち行列に格納された起床命令の数が所定のキュー段数(例えば、2)を超える前に、監視対象タスク11が終了した場合、RTOS10は、監視対象タスク11のTCBにおけるタスク状態を終了状態、キューイング数をゼロとし、監視対象タスク11の周期的な起床を中止させる。既に終了した監視対象タスク11のデッドラインを監視する必要は無いからである。
なお、デッドラインオーバー判断手段105は、必ずしもRTOS10のシステムコールである必要はなく、RTOS10上で実行される別のタスクであってもよい。その場合、アプリケーション毎に監視タスクを用意する必要があるが、従来と比べ、現在時刻の取得、経過時間の算出、デッドライン時間と経過時間との比較等の処理が省略されることに変わりはなく、係るデッドラインオーバー判断手段105を備えるデッドライン監視システム200は、監視に伴うCPU2の負荷を低減させることができる。
次に、監視対象タスクを複数有する場合における、本発明に係るデッドライン監視システム200と従来のデッドライン監視システムとの違いについて説明する。
図4は、図3と同様、タスクが処理を開始した後の経過時間からデッドラインを監視する従来のデッドライン監視システムと、キューイング手段103により待ち行列に格納された起床命令の数を用いてデッドラインを監視する本発明に係るデッドライン監視システム200との違いを示す図である。
図4(A)は、従来のデッドライン監視システムにおいて、経過時間と実行されるタスクとの関係例を示す図であり、縦軸にタスクの処理優先度を示し、横軸に経過時間を示す。処理優先度は、図面上方ほど高く、RTOSの処理を最高に、監視タスク、第1監視対象タスク、第2監視対象タスク、第3監視対象タスクの順に低くなる。
最初に、第3監視対象タスクの起床が行われると、第3監視対象タスクは、待ち状態から実行可能状態に移行し、他に優先度のより高いタスクが実行可能状態となっていない限り、実行状態となる。
その後、監視タスクが所定の周期(例えば、4ミリ秒)で起床され、監視タスクは、実行される毎に現在時刻を取得し、現在時刻とタスク開始時刻との差から経過時間を算出し、かつ、予めTCBに設定されたデッドライン時間(例えば、15ミリ秒)とその経過時間とを比較して、経過時間がデッドライン時間を超えたか否かを判断する。なお、監視タスクの処理時間を示すバー内の数字は、デッドラインオーバーが監視される監視対象タスクの番号を示し、例えば、「3」は、第3監視対象タスクに対する処理であることを示す。
その後、第2監視対象タスクの起床が行われると、優先度が第2監視対象タスクより低い第3監視対象タスクがプリエンプトされ実行可能状態となり、第2監視対象タスクがディスパッチされ実行状態となる。
さらに、第1監視対象タスクの起床が行われると、第1監視対象タスクより優先度の低い第2監視対象タスクがプリエンプトされ実行可能状態となり、第1監視対象タスクがディスパッチされ実行状態となる。
その後、2回目の監視タスクが起床され、監視タスクは、起床された3つ全ての監視対象タスクに対し、それぞれの処理の経過時間がデッドライン時間を超えたか否かを判断する。この時点では、何れの監視対象タスクもデッドラインオーバーとなっていないため、監視タスクは処理を終了する。
その後、第1監視対象タスクが処理を終了し、次に優先度の高い第2監視対象タスクがディスパッチされ実行状態となる。
その後、3回目の監視タスクが起床され、監視タスクは、既に終了した第1監視対象タスクを除く2つの監視対象タスクに対し、それぞれの処理の経過時間がデッドライン時間を超えたか否かを判断する。この時点では、何れの監視対象タスクもデッドラインオーバーとなっていないため、監視タスクは処理を終了する。
その後、4回目の監視タスクが起床され、監視タスクは、2つの監視対象タスクに対し、それぞれの処理の経過時間がデッドライン時間を超えたか否かを判断する。この時点では、第2監視対象タスクの処理時間がデッドライン時間を超えたため、監視タスクは第2監視対象タスクを中止させる。
図4(B)は、本発明に係るデッドライン監視システム200における経過時間と実行されるタスクとの関係例を示す図である。図4(A)と同様に、縦軸にタスクの処理優先度、横軸に経過時間を示し、処理優先度は、RTOS10、第1監視対象タスク、第2監視対象タスク、第3監視対象タスクの順となる。
最初に、第3監視対象タスクの起床が行われると、第3監視対象タスクは、待ち状態から実行可能状態に移行し、他に優先度のより高いタスクが実行可能状態となっていない限り、実行状態となる。
その後、第2監視対象タスクの起床が行われると、第2監視対象タスクより優先度の低い第3監視対象タスクはプリエンプトされ実行可能状態となり、第2監視対象タスクがディスパッチされ実行状態となる。
さらに、第1監視対象タスクの起床が行われると、第1監視対象タスクより優先度の低い第2監視対象タスクはプリエンプトされ実行可能状態となり、第1監視対象タスクがディスパッチされ実行状態となる。
その後、第1監視対象タスクが処理を終了し、次に優先度の高い第2監視対象タスクがディスパッチされ実行状態となる。
その後、第2監視対象タスクの実行が開始された時点からTCBのタスク起床周期で設定された時間が経過すると、第2監視対象タスクの起床が行われる。この場合、第2監視対象タスクが実行状態となっているため、起床命令はキューイング手段103により待ち行列に加えられるが、キュー段数がゼロに設定されていた場合、デッドラインオーバー判断手段105は、キューイング数がキュー段数を超えたとして第2監視対象タスクの処理時間がデッドラインに達したと判断する。
その後、デッドラインオーバー判断手段105は、第2監視対象タスクのTCBにおけるタスク状態を終了状態とし、第2監視対象タスクを中止させる。
以上、説明を簡略化するために、図4(A)および図4(B)に示す双方のデッドライン監視システムにおいて、それぞれ同じタイミングで第1監視対象タスク、第2監視対象タスクおよび第3監視対象タスクを起床させ、かつ、第2監視対象タスクを同じデッドライン時間(例えば、15ミリ秒)で中止させているが、本発明に係るデッドライン監視システム200(図4(B)参照。)の第2監視対象タスクの進捗度合いが従来のデッドライン監視システム(図4(A)参照。)より大きく進んでいることが分かる。
図4(A)に示す従来のデッドライン監視システムは、CPUの負荷が比較的大きい監視タスクを監視対象タスク毎に実行し、かつ、実行可能状態にある全ての監視対象タスクを監視するために監視周期が比較的短いのに対し、図4(B)に示す本発明に係るデッドライン監視システム200は、CPU2の負荷の比較的小さいタスク起床手段102(システムコール)によるタスク起床を、実行可能状態にある監視対象タスク毎に設定されたタスク起床周期で実行するので、デッドラインの監視に要するCPU2の負荷が低減されるからである。
この構成により、デッドライン監視システム200は、経過時間とデッドライン時間とを比較しながらデッドラインオーバーを監視するといった優先度の高い監視タスクを必要とせず、また、監視対象タスク毎にタスク起床周期を設定できるので不必要な監視を省略できるので、監視対象タスクの数が増大しても、監視に要するCPU2の負荷を増大させることなく、デッドラインオーバーを確実に監視することができる。
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなく、上述した実施例に種々の変形及び置換を加えることができる。
例えば、上述の実施例では、待ち行列に積まれたタスク起床命令の数に基づいてデッドラインオーバーの判断を行うが、RTOS10が有するタスク起動命令を利用し、タスク起動命令用の待ち行列に加えられたタスク起動命令の数とその待ち行列の許容段数とに基づいてデッドラインオーバーの判断を行ってもよい。
本発明に係るデッドライン監視システムの構成例を示す図である。 デッドライン監視システムがデッドラインを監視する処理の流れを示すフローチャートである。 従来のデッドライン監視システムと本発明に係るデッドライン監視システムとの違いを説明する図(その1)である。 従来のデッドライン監視システムと本発明に係るデッドライン監視システムとの違いを説明する図(その2)である。
符号の説明
1 二次記憶装置
2 CPU
3 主記憶装置
10 RTOS
11 監視対象タスク
101 スケジューリング手段
102 タスク起床手段
103 キューイング手段
104 タスク制御情報設定手段
105 デッドラインオーバー判断手段
200 デッドライン監視システム

Claims (3)

  1. 起床命令に基づいてタスクの起床を行うタスク起床手段と、
    前記タスク起床手段により起床させる前記タスクが処理を開始している場合、所定の許容段数を有する待ち行列に前記起床命令を加えるキューイング手段と、
    前記キューイング手段により前記待ち行列に加えられた前記起床命令の数が前記所定の許容段数を超えた場合に、前記タスクがデッドラインオーバーになったと判断するデッドラインオーバー判断手段と、
    を備えることを特徴とするデッドライン監視システム。
  2. 前記起床命令は所定の周期で発せられる、
    ことを特徴とする請求項1に記載のデッドライン監視システム。
  3. 起床命令に基づいてタスクの起床を行うタスク起床ステップと、
    前記タスク起床ステップにおいて起床させる前記タスクが処理を開始している場合、所定の許容段数を有する待ち行列に前記起床命令を加えるキューイングステップと、
    前記キューイングステップにおいて前記待ち行列に加えられた前記起床命令の数が前記所定の許容段数を超えた場合に、前記タスクがデッドラインオーバーになったと判断するデッドラインオーバー判断ステップと、
    を備えることを特徴とするデッドライン監視方法。
JP2006039595A 2006-02-16 2006-02-16 デッドライン監視システムおよびデッドライン監視方法 Pending JP2007219834A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006039595A JP2007219834A (ja) 2006-02-16 2006-02-16 デッドライン監視システムおよびデッドライン監視方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006039595A JP2007219834A (ja) 2006-02-16 2006-02-16 デッドライン監視システムおよびデッドライン監視方法

Publications (1)

Publication Number Publication Date
JP2007219834A true JP2007219834A (ja) 2007-08-30

Family

ID=38497071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006039595A Pending JP2007219834A (ja) 2006-02-16 2006-02-16 デッドライン監視システムおよびデッドライン監視方法

Country Status (1)

Country Link
JP (1) JP2007219834A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018049405A (ja) * 2016-09-21 2018-03-29 日立オートモティブシステムズ株式会社 車両制御装置および車両制御システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56129951A (en) * 1980-03-18 1981-10-12 Yokogawa Hokushin Electric Corp Mis-processing preventing device for constant periodic processing data
JPS6190253A (ja) * 1984-10-09 1986-05-08 Fujitsu Ltd 待ち行列を有するシステムを用いた情報処理方法および装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56129951A (en) * 1980-03-18 1981-10-12 Yokogawa Hokushin Electric Corp Mis-processing preventing device for constant periodic processing data
JPS6190253A (ja) * 1984-10-09 1986-05-08 Fujitsu Ltd 待ち行列を有するシステムを用いた情報処理方法および装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018049405A (ja) * 2016-09-21 2018-03-29 日立オートモティブシステムズ株式会社 車両制御装置および車両制御システム
WO2018055907A1 (ja) * 2016-09-21 2018-03-29 日立オートモティブシステムズ株式会社 車両制御装置および車両制御システム

Similar Documents

Publication Publication Date Title
US6349321B1 (en) Data processing system and scheduling method
JPWO2005106623A1 (ja) Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体
US8706265B2 (en) Safety controller and safety control method
JP2003345612A5 (ja)
US7793299B2 (en) System and method for scheduling tasks for execution
WO2012087534A1 (en) Minimizing resource latency between processor application states in a portable computing device by scheduling resource set transitions
US20120198464A1 (en) Safety controller and safety control method
JP5347451B2 (ja) マルチプロセッサシステム、競合回避プログラム及び競合回避方法
CN108536531B (zh) 一种基于单片机的任务调度和电源管理方法
KR100959548B1 (ko) 인터럽트 스케줄링 방법
JP2005165470A (ja) 電子機器およびプロセッサ速度制御方法
JP2007219834A (ja) デッドライン監視システムおよびデッドライン監視方法
US20080313652A1 (en) Notifying user mode scheduler of blocking events
JP6669705B2 (ja) 数値制御装置
CN108121432B (zh) 一种任务运行的控制方法和装置
JP5771114B2 (ja) コントローラ、およびタスクとラダーの処理方法
JP2008204011A (ja) マルチスレッドシステム、スレッド動作異常検知方法
JP3859564B2 (ja) イベント通知タスク制御処理方式及び方法並びにプログラム
JP2008204013A (ja) スレッド動作異常検知方法、マルチスレッドシステム
JPH08272627A (ja) リアルタイムタスク制御装置
JP2010102567A (ja) 周期駆動タスク実行装置、周期駆動タスク実行方法及びプログラム
JPH07191863A (ja) マルチタスク実行管理方式
JPH05204667A (ja) 計算機システムのタスク実行制御装置
JP2006172229A (ja) タスクの動作制御方法、タスクの動作制御システムおよびプログラム
JPH01258135A (ja) トランザクション実行制御方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100223

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100706