JP2002366373A - タスクスケジューリング装置及びタスクスケジューリング方法 - Google Patents

タスクスケジューリング装置及びタスクスケジューリング方法

Info

Publication number
JP2002366373A
JP2002366373A JP2001172731A JP2001172731A JP2002366373A JP 2002366373 A JP2002366373 A JP 2002366373A JP 2001172731 A JP2001172731 A JP 2001172731A JP 2001172731 A JP2001172731 A JP 2001172731A JP 2002366373 A JP2002366373 A JP 2002366373A
Authority
JP
Japan
Prior art keywords
task
unit
time limit
queue
limit
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
JP2001172731A
Other languages
English (en)
Other versions
JP4449255B2 (ja
Inventor
Takafumi Ito
隆文 伊藤
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2001172731A priority Critical patent/JP4449255B2/ja
Publication of JP2002366373A publication Critical patent/JP2002366373A/ja
Application granted granted Critical
Publication of JP4449255B2 publication Critical patent/JP4449255B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

(57)【要約】 【課題】デッドラインが実時間で制限されるタスクと、
イベント等の割り込み回数で制限され割り込み周期が時
間とともに変化するタスクとを含むシステムにおいて効
率よくスケジューリングを行うスケジューリング装置等
を提供する 【解決手段】制限時間内に実行を完了すべきタスクを制
限時間が短い順に並べる制限時間キュー部10とイベン
ト割込みの制限回数内に実行を完了すべきタスクを制限
回数の少ない順に並べるイベントの種類毎に設けた制限
回数キュー部20(第1〜第n制限回数キュー部)を備
え、換算部30は各制限回数キュー部20の先頭タスク
の制限回数を制限時間へ換算する。換算したそれぞれの
イベント毎の制限時間と制限時間キュー部10の先頭タ
スクの制限時間の中で最も制限時間の短いタスクを選択
部40で選択し、ディスパッチ部50でそのタスクをデ
ィスパッチする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】タスクスケジューリング装置
及びタスクスケジューリング方法に関する。
【0002】
【従来の技術】従来から、複数のタスクを擬似的に並列
に処理するマルチタスキング処理において、各タスクの
実行順序を決定する方法、つまりスケジューリングにつ
いて種々の検討がなされてきた。現在、多くのRTOS
(リアルタイム処理に用いられるオペレーティングシス
テム)では各タスクに優先度を割り当て、優先度の高い
タスクから順に実行する優先度固定型のスケジューリン
グが用いられている。
【0003】しかしながら、この方式ではそれぞれのタ
スクがいつ終了するかは予測不能であり、いわゆるリア
ルタイム処理が必要な場合のように、タスクに明確なデ
ッドライン(その時点までに該タスクが終了することが
必要な期限)がある場合に、そのデッドラインを保証し
てスケジューリングを行うことは不可能であった。この
ようなリアルタイム処理を必要とするスケジューリング
方法として、デッドラインでタスクの実行を管理するE
DF(Earlist Deadline First)スケジューリング方式が
知られている。これはデッドラインに最も近いタスクか
ら実行権を与える方式である。この方式については以下
の文献で紹介されている。
【0004】Xu and Parnas, "Scheduling Process
with Release Times, Deadlines, Precedence,
and Exclusion Relations", IEEE Transactions o
n Software Engineering, Vol.16, No.3, March
1990, pp.360-369. 藤倉俊幸、”スケジューリング可能性を判定する理論と
手法”、月刊インターフェース1998年12月、p1
01〜p112、CQ出版社 この方式は、各タスクがデッドラインを守ることができ
るようにスケジューリングする方式としては、最も直接
的で確実である。
【0005】
【発明が解決しようとする課題】しかしながら、EDF
スケジューリング方式を適用する為にはすべてのタスク
の明確なデッドラインが既知でなくてはならない。ただ
し、システムによってはデッドラインが、時間により変
化するようなタスクが存在する場合がある。たとえばリ
アルタイム性が要求されるエンジン制御を例にとって見
ると、エンジン制御には点火タスク、燃料噴射タスク等
のクランク角からの入力される割込み信号の回数でデッ
ドラインが決まるタスクと、何ミリ秒毎といった実時間
で予めデッドラインが決まったタスクが混在して動作す
る。そしてクランク角からの割込み信号に同期したタス
クはエンジンの回転数によってクランク割込み信号の間
隔が変わり、デッドラインがダイナミックに変化するこ
とになる。従ってエンジン回転数により、何ミリ秒毎と
いった固定周期で起動されるタスクとの実行順位が入れ
替わる可能性がある。この為に、エンジン回転数の変化
にともないEDFスケジューリングを頻繁に行わなけれ
ばならない。エンジン回転数は連続的に変化する為、E
DFスケジューリングをその度に行なった場合、CPU
がスケジューリングに多大な処理時間を費やし、本来の
タスク処理に費やす時間が圧迫されることが問題とな
る。
【0006】例えば、割込み信号の回数でデッドライン
が決まるタスク(所定のイベント入力回数(制限回数)
内に実行を完了すべきタスク)である制限回数タスク
と、絶対時間で予めデッドラインが決められたタスク
(所定時間(制限時間)内に実行を完了すべきタスク)
である制限時間タスクとが混在する場合に、最もデッド
ラインに近いタスク(ディスパッチすべきタスク)を決
定するためには、例えば制限回数タスク群のデッドライ
ンの表現単位であるイベント入力の回数(制限回数)を
所定の換算係数等を用いて制限時間に換算し、制限時間
タスク群と合わせて、制限時間の昇べきの順にすべての
タスクを1つのキューに整列して、一番先頭のタスクを
選択するなどする必要がある。このようにした場合、制
限回数から制限時間へ換算する際の換算係数はイベント
入力の周期(間隔)に応じて変化するので、イベント入
力の周期が変わる毎に、すべての制限回数タスクのデッ
ドライン(制限回数)を制限時間へ換算しなければなら
ず、しかもこの換算したすべての制限回数タスクとすべ
ての制限時間タスクとを合わせてタスクの制限時間の大
きさによってキュー内のタスクを再整列する処理も行わ
なければならない。そのためCPUがスケジューリング
に多大な処理時間を費やし、本来のタスク処理に費やす
時間が圧迫されてしまう。
【0007】そこで本発明は、例えば制限時間タスクと
制限回数タスクのように、デッドラインの表現単位が異
なるタスクが混在し、デッドラインが時間によって変化
する表現単位を含む場合に特に効率よくスケジューリン
グを行うことのできるスケジューリング装置及びスケジ
ューリング方法を提供することを目的とする。
【0008】
【課題を解決するための手段及び発明の効果】上述した
問題点を解決するためになされた請求項1に記載のタス
クスケジューリング装置は、デッドラインの表現単位別
にタスクを管理する。そして、デッドラインの表現単位
別に管理された各タスク群において、それぞれのタスク
群中で最もデッドラインの近いタスクを抽出し、その抽
出されたタスクのうち換算すべき表現単位のタスクのデ
ッドラインを、基準となる表現単位にそれぞれ換算す
る。基準となる表現単位は、管理している表現単位のう
ちのいずれかの表現単位を利用してもよいし、別の所定
の表現単位を利用してもよい。管理しているいずれかの
表現単位を基準とする表現単位とする場合には抽出され
たタスクのうち基準となる表現単位以外のタスクのデッ
ドラインを、基準となる表現単位にそれぞれ換算してそ
の換算されたデッドラインと基準となる表現単位のデッ
ドラインとの中で最もデッドラインの近いタスクをディ
スパッチする。一方、別の所定の表現単位を基準とする
表現単位とする場合には抽出されたタスクを所定の基準
となる表現単位にそれぞれ換算してその換算されたデッ
ドラインの中で最もデッドラインの近いタスクをディス
パッチする。
【0009】例えば、請求項3に示すように、デッドラ
インが絶対時間により決まるタスク、すなわちデッドラ
インが実時間で制限される制限時間タスク(表現単位が
制限時間)と、デッドラインがイベントの発生回数によ
り決まる制限回数タスク(表現単位が制限回数)とがあ
る場合には、制限時間タスクと制限回数タスクを別々に
管理する。そして、制限時間タスク群の中で最もデッド
ラインに近いタスクと制限回数タスク群の中で最もデッ
ドラインに近いタスクとから、換算すべきタスクを基準
となる表現単位のデッドラインに換算する。
【0010】例えば、基準となる表現単位として制限時
間を用いる場合には、制限回数タスク群の中で最もデッ
ドラインに近いタスクの制限回数を制限時間に換算す
る。そしてこの換算した制限時間と制限時間タスク群の
中で最もデッドラインに近いタスクの制限時間との中
で、制限時間の最も小さいタスクをディスパッチする。
【0011】一方、基準となる表現単位として制限回数
を用いる場合には、制限時間タスク群の中で最もデッド
ラインに近いタスクの制限時間を制限回数に換算する。
そしてこの換算した制限回数と制限回数タスク群の中で
最もデッドラインに近いタスクの制限回数とを比較し
て、制限回数の最も少ないタスクをディスパッチする。
【0012】また、基準となる表現単位として制限回数
や制限時間とは別の所定の制限単位を用いる場合には、
制限回数タスク群の中で最もデッドラインに近いタスク
の制限回数を所定の制限単位に換算し、制限時間タスク
群の中で最もデッドラインに近いタスクの制限時間を所
定の制限単位に換算する。そして換算された制限単位の
値を比較してその値の最も小さいタスクをディスパッチ
する。
【0013】このようにデッドラインの表現単位が異な
るタスクを別々に管理し、各々の表現単位のタスク群の
中で最もデッドラインに近いタスクをそれぞれ抽出する
ので、各表現単位内ではそれぞれの表現単位のままで管
理することができる。したがって、従来は1つにまとめ
て管理する場合に必要なすべてのタスクの表現単位の値
の換算処理や、換算後の値を用いて整列する処理などが
不要になり、効率よくスケジューリングを行うことので
きる。
【0014】しかも、請求項2に示すように換算内容が
時々刻々変化するものがある場合には、単に抽出された
それぞれの表現単位における最もデッドラインの近いタ
スクのうち、換算内容の変化したタスクを換算しなおし
て、最もデッドラインの近いタスクを選ぶだけでよい。
したがって従来のように換算内容が変化するたびにすべ
てのタスクの換算をし直して整列し直す必要がない。よ
って、例えば、エンジンの回転によって発生するクラン
ク割込み等のようにイベントの周期に応じて換算係数等
の換算方法(換算関数)が変化する場合においても、ス
ケジューリングを効率よく行うことができる。
【0015】なお基準となる表現単位は、表現単位を統
一した際に最小のピッチを持つ表現単位を採用するとよ
い。すなわち例えば、表現単位を統一しようとした際に
制限時間の方が制限回数より細かいピッチで表現される
場合には制限時間を基準となる表現単位とし、制限回数
の方が制限時間より細かいピッチで表現される場合には
制限回数を基準となる表現単位とすればよい。こうする
ことで換算後の値を正確な値とすることができる。
【0016】そして、デッドラインの表現単位が異なる
タスクとしては、請求項4に示すようにイベントの種類
が異なるタスクを管理するものも含む。このようにすれ
ば、イベントの種類毎にタスクが管理されるので、ある
イベントが発生した際にはそのイベントに関して管理さ
れたタスク群に対して処理を行うだけで済む。また、換
算もイベントの種類毎行うので、例えば換算係数等をイ
ベントの種類毎に変えることも容易にできる。
【0017】なおそれぞれの表現単位別のタスクの管理
は例えば請求項5のようにするとよい。このようにすれ
ば、管理を容易に行うことができる。このように請求項
1〜5のいずれかに記載のタスクスケジューリング装置
よれば、すべてのタスクを1つにまとめて管理する場合
に比べて、効率よくEDFスケジューリングを行うこと
ができる。
【0018】こうしたタスクスケジューリング装置は、
例えば請求項6に示すように構成することができる。請
求項6に記載のタスクスケジューリング装置によれば、
換算部によって制限回数キュー部の先頭タスクが持つ制
限回数が制限時間に換算され、制限時間キュー部の先頭
タスクが持つ制限時間と比較して制限時間が最も短いタ
スクをディスパッチする。
【0019】したがって、ディスパッチすべきタスクを
決定するために、従来のようにデッドラインが制限回数
で表現されるすべてのタスクのデッドラインを制限時間
によるデッドラインに換算して整列する必要はなく、そ
れぞれの制限回数キュー部の先頭タスクのみ制限時間に
換算するだけで済む。したがって例えば換算部における
換算係数が、時間の経過に伴って変化しても、先頭タス
クのみ新たな換算係数を用いて制限時間に換算するだけ
でよい。よって、デッドラインが実時間で制限されるタ
スクと、デッドラインがイベント等の割り込み回数で決
まりその割り込み周期が時間とともに変化するタスクを
含むシステムにおいて、効率よくEDFスケジューリン
グを行うことができる。
【0020】なお、このようなスケジューリングは、ソ
フトウェアでもハードウェアでも行うことができる。そ
してこうした制限時間キュー部は、例えば請求項7のよ
うに構成することができる。また制限回数キュー部は、
例えば請求項8のように構成することができる。
【0021】請求項7に記載のタスクスケジューリング
装置は、制限時間キュー部の各タスクの制限時間を、基
本周期信号に同期してディクリメントする。また、新た
なタスクを追加する際に制限時間の短い順に再整列す
る。同様に請求項8に記載のタスクスケジューリング装
置は、制限回数キュー部の各タスクの制限回数を、基本
周期信号に同期してディクリメントする。また、新たな
タスクを追加する際に制限回数の少ない順に再整列す
る。
【0022】制限回数キュー部の先頭タスクが持つ制限
回数を制限時間に換算する方法としては、種々の方法が
ありうる。例えば、制限回数と制限時間の関係をルック
アップテーブルとして持ち、制限回数をインデックスと
して制限時間に換算するようにしてもよい。また例え
ば、請求項9に示すように制限回数キュー部の持つ制限
回数に基本周期信号の入力回数により求めたイベント入
力の周期を乗じて制限時間に換算するようにしてもよ
い。
【0023】また請求項10に示すように、あるイベン
トが入力されてから次に同じイベントが入力されるまで
の間、基本周期信号入力に同期して制限回数キュー部の
先頭タスクが持つ制限回数分を累積加算して換算するよ
うにしてもよい。そして、この場合、選択部は制限回数
キュー部に待ちタスクが存在しない場合には、請求項1
1に示すように累積加算を行わず、制限時間キュー部の
先頭タスクを優先的に実行するようにしてもよい。
【0024】請求項9〜11に示すように、イベント周
期内の基本周期信号の入力回数を換算係数として用いる
のは、次のイベント入力までの時間をイベント入力の周
期から推定することに相当する。すなわちイベント入力
の間隔が相対的に短ければイベント周期内の基本周期信
号の入力回数は小さくなり換算後の制限時間は短くな
る。一方、イベント入力の間隔が相対的に長ければ基本
周期信号の入力回数は大きくなり、制限時間は長くな
る。すなわち周期から制限時間を推定することに相当す
る。このような換算方法は、イベント信号の入力間隔が
まったくランダムではなく、ある連続性を持って変化す
る場合に特に有効である。例えばエンジン制御のように
機械系の動作を検出するセンサ等からの入力信号は、あ
る連続性を持って変化する場合が多く、特に有効であ
る。
【0025】なお、請求項12〜17は、請求項6〜1
1に記載の内容にそれぞれ対応するタスクスケジューリ
ング方法であり、それぞれ対応する請求項の効果と同様
の効果を奏する。例えば、請求項12に記載のタスクス
ケジューリング方法によれば、上述した請求項6に記載
のタスクスケジューリング装置における効果と同様の効
果を奏する。
【0026】
【発明の実施の形態】以下、本発明が適用された実施例
について図面を用いて説明する。なお、本発明の実施の
形態は、下記の実施例に何ら限定されることなく、本発
明の技術的範囲に属する限り種々の形態を採りうること
は言うまでもない。 [第1実施例]図1は第1実施例としてのタスクスケジ
ューリング装置100の構成を示す図である。本実施例
のタスクスケジューリング装置100は、制限時間キュ
ー部10、第1〜第NまでのN個の制限回数キュー部2
0、第1〜第NまでのN個の換算部30、選択部40、
ディスパッチ部50より構成される。
【0027】制限時間キュー部10は実行可能かつデッ
ドラインがタイマー割込み等の基本周期信号に同期した
実時間で決まるタスクが待ち行列を形成する。基本周期
信号は、CPUに使用されるクロックを分周したもの
で、例えばCPUの10MHzのクロックを10000
分の1分周することにより1msの周期の基本周期信号
を生成する。待ち行列には、各タスクに予め割り当てら
れたIDと各タスクに対する現時刻における制限時間と
のペアを制限時間が小さいタスク(デッドラインが近い
タスク)順に整列し、先頭に位置するタスクの制限時間
とタスクIDを選択部40に出力する。また、制限時間
キュー(待ち行列)中の各タスクに対する制限時間はタ
イマー割込みが入る毎に、デクリメントする。
【0028】第1〜第N制限回数キュー部20は実行可
能かつデッドラインが第1〜第Nのそれぞれのイベント
の入力回数で決まるタスクが待ち行列を形成する。この
待ち行列には各タスクに予め割り当てられたIDと各タ
スクの現時刻における各イベント入力に対する制限回数
とのペアを制限回数が小さいタスク(デッドラインが近
いタスク)順に整列し、先頭に位置するタスクの制限回
数を換算部30へ、タスクIDを選択部40へ出力す
る。また、制限回数キュー部20中の各タスクに対する
制限回数はイベント入力が起こる毎に、デクリメントす
る。
【0029】第1〜第N換算部30はそれぞれ第1〜第
N制限回数キュー部20より出力される先頭タスクの制
限回数を、制限時間に換算し、換算結果を選択部40へ
出力する。選択部40は、制限時間キュー部10の先頭
タスクの現時点での制限時間と、第1〜第N制限回数キ
ュー部20のそれぞれの先頭タスクの現時点での制限回
数をそれぞれ第1〜第N換算部30で換算した換算結果
の制限時間と比較し、これらの中で最も制限時間が少な
いタスクを選択して、そのタスクIDをディスパッチ部
50に出力する。
【0030】ディスパッチ部50は選択部40より入力
したタスクIDが、現在、CPUで実行中のタスクに対
するタスクIDと異なる場合に、選択部40より入力し
たタスクIDのタスクのディスパッチを実施する。この
ようにして最もデッドラインに近いタスクを実行させる
ことができる。
【0031】なお、換算部30と選択部40とを合わ
せ、図1に破線で示す部分を換算選択部としてまとめた
ブロック構成としてもよい。以下、さらに具体的にタス
クスケジューリング装置100の構成及び動作を説明す
る。ここでは、説明を分かりやすくするため、制限回数
キュー部20が1つのみ(N=1)の場合について説明
する。
【0032】例えば、図2に示すように、現在の制限時
間キュー部10の先頭のタスクIDが2で制限時間が1
9、制限回数キュー部20の先頭のタスクIDが1で制
限回数が6の場合について考えてみる。この制限回数
「6」は、図3に示す換算部30によって制限時間に換
算する。なお図3に示す換算部30は請求項10に記載
の換算部に相当する。
【0033】換算部30の動作を図3のブロック図及び
図4に示すタイミングチャートを用いて説明する。図3
の換算部30に入力されるイベント入力信号は、外部か
ら非同期に入力されたイベント割込み信号を一旦、基本
周期信号でラッチすることにより、基本制御信号に同期
した信号としたものである。図3に示すREG1は制限
回数キュー部20の先頭タスクの制限回数を記憶するレ
ジスタで、Selector1の出力が入力される。S
elector1は制御信号であるイベント入力信号が
0の場合はREG1の出力を、1の場合はREG1の出
力をデクリメント(DEC)した結果を出力するセレク
タである。これによりREG1はイベント入力信号が1
で、かつ基本周期信号の立ち上がりに同期して制限回数
をデクリメントする。図4のタイミングチャートにおい
ては、1回目のイベント入力信号が1の際に、基本周期
信号の立ち上がりに同期してREG1が6から5にデク
リメントされる動作がそれに相当する(時刻t1参
照)。
【0034】REG2はSelector2の出力が入
力されるレジスタである。Selector2は制御信
号であるイベント入力信号が0の場合はREG2の値と
REG1の出力からデクリメント(DEC)した値を加
算した結果を、1の場合は0を出力するセレクタであ
る。これによりREG2は基本周期信号の立ち上がり時
に、イベント入力信号が1の場合は、値を0にリセット
し、0の場合はREG1からデクリメントした値を自自
身の値に加算する。図4のタイミングチャートにおいて
は1回目のイベント入力信号が1の際に、基本周期信号
の立ち上がりで0にリセットされ(時刻t1参照)、そ
の後、基本周期信号の立ち上がりに同期して、4、8、
12とREG1が保持する5から1デクリメントした4
づつ累積加算を行う動作がそれに相当する。
【0035】REG3はSelector3の出力が入
力されるレジスタである。Selector3は制御信
号であるイベント入力信号が0の場合はREG3の値か
らデクリメント(DEC)した値を、1の場合はAdd
erの値を出力するセレクタである。これによりREG
3は基本周期信号の立ち上がり時に、イベント入力信号
が0の場合は、自身の値をデクリメントし、1の場合は
REG2が保持する値とREG1をデクリメントした値
を加算した値をプリセットする。図4のタイミングチャ
ートにおいて、2回目のイベント入力信号が1で、かつ
基本周期信号の立ち上がりに同期して、REG2が保持
する値「12」とREG1をデクリメントした値「4」
を加算した値「16」をプリセットし(時刻t2参
照)、その後、基本周期信号の立ち上がりに同期して、
15、14とデクリメントする動作がそれに相当する。
【0036】以上の動作により求まる制限回数キュー部
20の先頭タスクの制限回数を制限時間に換算した結果
(REG3)と、制限時間キュー部10の先頭タスクの
制限時間が選択部40へ出力され、選択部40において
これらの制限時間の大小判定を行い、小さい値を持つ方
の先頭タスクのタスクIDをディスパッチ部50に出力
し、ディスパッチ部50でそのタスクIDのタスクをデ
ィスパッチすることでそのタスクがCPUで実行される
ことになる。図4のタイミングチャートにおいては、制
限時間キュー部10の先頭タスクの制限時間が7の時
に、制限回数キュー部20の先頭タスクの制限時間(R
EG3)の値が制限時間キュー部10の制限時間より小
さくなる為、選択部40が出力するタスクIDが2から
1へと変化する(時刻t3参照)。これによりディスパ
ッチ部50によりタスク2からタスク1へのディスパッ
チ処理が実施される。このようなディスパッチが起きた
のは、イベント入力信号の周期が時間とともに短い周期
へと変化し、制限回数で示すタスク1のデッドラインの
方が、制限時間で示すタスク2のデッドラインより早ま
ったことによる。
【0037】なお、制限回数キュー部20が複数ある場
合(図1においてN>1)にも、それぞれの制限回数キ
ュー部20は、同様に動作する。そして、選択部40
は、それぞれの第1〜第N換算部30によって換算され
たそれぞれの換算結果の換算時間と、制限時間キュー部
10の出力する制限時間との中で、最も制限時間の短い
タスクを選択し、そのタスクIDをディスパッチ部50
へ出力する。したがって、もっともデッドラインに近い
タスクがCPUによって実行される。
【0038】このようにして、制限時間キュー部10と
制限回数キュー部20とをそれぞれ別のキューとして備
え、例えば何ミリ秒毎といった実時間で予めデッドライ
ンが決まったタスク(タスクIDと制限時間のペア)は
制限時間キュー部10に制限時間の短い順に並べる一
方、デッドラインが割込みの間隔で変化するタスクにつ
いてはそれぞれのイベント毎の制限回数キュー部20を
設け、それぞれの制限回数キュー部20内で制限回数の
短い順にタスク(タスクIDと制限回数のペア)を並べ
る。そして、制限回数キュー部20の先頭タスクの制限
回数を換算部30で制限時間に換算して、選択部40は
この換算結果の制限時間群と制限時間キュー部10の先
頭タスクの制限時間との中で最も制限時間が少ないタス
クのタスクIDをディスパッチ部50へ出力し、ディス
パッチ部50がそのタスクIDのタスクをディスパッチ
する。
【0039】よって、従来のようにキューが1本で制限
回数を毎度制限時間に変換してキュー内のタスク(タス
クIDと制限時間のペア)の並べ替えをし、そのキュー
の先頭タスクをディスパッチする方式に比べて処理時間
がかからず、効率よくスケジューリングを行うことがで
きる。 [第2実施例]第2実施例は、第1実施例の構成のうち
換算部30の構成を図3に示した構成から図5に示す構
成に代えたものである。図5の換算部30は請求項9に
記載の換算部に相当する。
【0040】第1実施例と同様にして、制限時間キュー
部10及び制限回数キュー部20の状態が図2に示す状
態であるものとして、図5の換算部30を用いた場合の
動作を図6のタイミングチャートに示して説明する。図
5に示すREG1は、図3に示すREG1と同様の動作
となる。
【0041】REG2はSelector2の出力が入
力される。Selector2は制御信号であるイベン
ト入力信号が0の場合はREG2の値をインクリメント
した値を、1の場合は1を出力する。これによりREG
2は基本周期信号の立ち上がり時に、イベント入力信号
が1の場合は、値を1にプリセットし、1の場合は自身
の値をインクリメントする。図6のタイミングチャート
においては1回目のイベント入力信号が1の際に、基本
周期信号の立ち上がりに同期して1にリセットされ(図
6のt1参照)、その後、基本周期信号の立ち上がりに
同期して、2、3、4とインクリメントする動作がそれ
に相当する。
【0042】REG3はSelector3の出力が入
力される。Selector3は制御信号であるイベン
ト入力信号が1の場合はREG2の値とREG1からデ
クリメントした値を乗算した結果を、0の場合はREG
3をデクリメントした値を出力する。これによりREG
3は基本周期信号の立ち上がり時に、イベント入力信号
が1の場合は、乗算結果(Mulの出力)をプリセット
し、0の場合はデクリメント動作を行う。図6のタイミ
ングチャートにおいて、2回目のイベント入力信号が1
の際に、基本周期信号の立ち上がりに同期して、REG
1が保持する値5からデクリメントした値「4」とRE
G2で保持する値「4」を乗算した値「16」をプリセ
ットし(図6のt2参照)、その後、基本周期信号の立
ち上がりに同期して、15、14とデクリメントする動
作がそれに相当する。図3、図5においてREG3の導
出過程は異なるものの、図4、図6の両タイミングチャ
ートにおいてREG3の保持する値はまったく同じもの
となり、その結果ディスパッチ部により同じタイミング
でタスクID=2からタスクID=1へのディスパッチ
処理が実施される(図6のt3参照)。 [第3実施例]図7及び図8は、コンピュータによって
実行されるタスクスケジューリング処理を示すフローチ
ャートである。図7におけるSTEP1、図8における
STEP6は特許請求の範囲に記載の制限時間制御ステ
ップに相当し、STEP2、STEP7は制限回数ステ
ップに相当する。また、STEP3は換算ステップに相
当し、STEP4は選択ステップに相当する。そして、
STEP5はディスパッチステップに相当する。
【0043】以下、図7及び図8のフローチャートを参
照して処理のながれについて説明する。最初にフローチ
ャート中に用いる変数について説明する。図7において
TMQ[t]は制限時間キューを表わし、構成要素とし
てタスクID:TMQ[t].idに、制限時間をTM
Q[t].timeを持つ。なおTMQ[0]が0番目
の制限時間キュー、すなわち制限時間キューの先頭を表
わす。一方、EVQ[t]は制限回数キューを表わし、
構成要素としてタスクID:EVQ[t].id、制限
回数:EVQ[t].priodを持つ。EVQ[0]
が0番目の制限時間キュー、すなわち制限時間キューの
先頭を表わす。
【0044】EVQ.tmpは制限回数キューの先頭タ
スクの制限回数を制限時間に換算する際に一時的に値を
格納する変数である。また、EVQ.timeは制限回
数キューの先頭タスクの制限回数を制限時間に換算した
結果が代入される変数である。
【0045】RUN_TSKは現在、CPUにて実行さ
れているタスクのタスクIDが代入される変数であり、
TMP_TSKはディスパッチ有無の判定の際に用いる
変数である。また基本周期信号としてはタイマー割込み
を、イベント入力信号としてはイベント割込みを想定す
る。
【0046】新しいタスクをキューに追加する場合やキ
ューからタスクを削除する場合、図8に示すようする。
すなわち、制限時間キューに対してタスクの追加、削除
が起きた場合には、STEP6において各タスクの持つ
制限時間に基づいてタスクの並び替えを行い、先頭タス
クに最も制限時間の短いタスクを持ってきて、以後、制
限時間の短い順に整列する。また制限回数キューに対し
てタスクの追加、削除が起きた場合には、STEP7に
おいて各タスクの持つ制限回数に基づいてタスクの並び
替えを行い、先頭タスクに最も制限回数の短いタスクを
持ってきて、以後、制限回数の少ない順に整列する。
【0047】一方、割込みが発生すると図7の処理を実
行する。はじめに割込みの要因がタイマ割込みか否かを
判定し(S100)、タイマ割込みの場合にはSTEP
1の処理を実行する(S110へ移行する)。STEP
1において、タイマー割込みにより制限時間キュー上の
すべてのタスクの制限時間をデクリメントする。すなわ
ち、はじめにキューの位置を示す値tを0とし(S11
0)、t番目の制限時間キューであるTMQ[t]に待
ち要素があるか否かを判定して(S120)、待ち要素
がある場合には(S120:Y)、そのt番目の制限時
間キューのタスクの制限時間をデクリメントし(TMQ
[t].time−−)、待ち要素の有無を判定する位
置を次の位置へ変更し(t++)、S120へ戻る。こ
のようにして待ち要素が無くなるまで、各構成要素の制
限時間をデクリメントする。そして、待ち要素が無くな
ると(S120:N)、STEP3のS140へ移行す
る。
【0048】S140では、制限回数キューの先頭EV
Q[0]に待ち要素があるか否かを判定し、待ち要素が
ある場合には(S140:Y)、現在のEVQ.tmp
の値に、制限回数キューの先頭タスクの制限回数から1
引いた値であるEVQ[0].priod−1を加え、
制限回数の換算結果であるEVQ.timeをディクリ
メントする。一方制限回数キューの先頭EVQ[0]に
待ち要素がない場合には(S140:N)この処理を終
了する。
【0049】このようにして、割込み要因がタイマ割込
みの場合には(S100:Y)、制限時間キューの待ち
要素の制限時間をデクリメントし、制限回数キューの換
算結果をディクリメントし、制限回数を制限時間に換算
するための累積加算(EVQ.tmp+=(EVQ
[0].priod−1)を行う。
【0050】一方、割込み要因がイベント割込みの場合
には(S100:N,S160:Y)、STEP2(S
170)からの処理を行う。STEP2では、イベント
割込みにより制限回数キュー上のすべてのタスクの制限
回数をデクリメントする。すなわち、STEP1と同様
に、はじめにキューの位置を示す値tを0とし(S17
0)、t番目の制限回数キューであるEVQ[t]に待
ち要素があるか否かを判定して(S180)、待ち要素
がある場合には(S180:Y)、そのt番目の制限回
数キューのタスクの制限回数をデクリメントし(EVQ
[t].priod−−)、待ち要素の有無を判定する
位置を次の位置へ変更し(t++)、S180へ戻る。
このようにして待ち要素が無くなるまで、各構成要素の
制限回数をデクリメントする。そして、待ち要素が無く
なると(S120:N)、STEP3のS200へ移行
する。
【0051】S200では、制限回数キューの先頭EV
Q[0]に待ち要素があるか否かを判定し、待ち要素が
ある場合には(S200:Y)、制限回数キューの先頭
タスクの制限回数の制限時間への換算結果であるEV
Q.timeにEVQ.tmpの値を代入し、EVQ.
tmpをリセットする(EVQ.tmp=0)(S21
0)。
【0052】続いてSTEP4では、RUN_TSKを
TMP_TSKに待避し(S220)、制限時間キュー
の先頭タスクの制限時間TMQ[0].timeと制限
回数キューの先頭タスクの制限回数を制限時間に換算し
たEVQ.timeを比較し(S230)、制限時間キ
ューの先頭タスクの制限時間が制限回数キューの先頭タ
スクの制限回数を換算した制限時間より小さい(TMQ
[0].time <EVQ.time)場合は(S2
30:Y)、制限時間キューの先頭タスクのタスクID
をRUN_TSKに代入し(RUN_TSK=TMQ
[0].id)(S240)、そうでない場合は(S2
30:N)、制限回数キューの先頭タスクのタスクID
をRUN_TSKに代入する(RUN_TSK=EVQ
[0].id)(S250)。
【0053】続くSTEP5では、TMP_TSKとR
UN_TSKが異なるか否かを判定し(S260)、T
MP_TSKとRUN_TSKが異なる場合は(S26
0:Y)、現在CPUにて実行しているタスクと異なる
タスクをCPUで実行する必要がある為、タスクIDが
TMP_TSKのタスクからタスクIDがRUN_TS
Kのタスクへのディスパッチ処理を実行する(S27
0)。
【0054】このように、STEP3の処理によって、
制限回数キューの先頭タスクの制限回数を制限時間に換
算し、その換算結果の制限時間と制限時間キューの先頭
の制限時間を比較することで、タスクスケジューリング
を行う。したがって、スケジューリングのコストを減ら
すことができる。
【0055】なお、本実施例においてSTEP3のS1
50の処理が請求項16に記載の加算ステップに相当す
る。 [第4実施例]第3実施例における図7のSTEP3の
換算処理に代えて、図9に示すSTEP3の処理を行う
ように構成することもできる。すなわち、図7のS15
0に代えて、図9のS155を行い、図7のS210に
代えて、図9のS215を行う。その他の処理は、第3
実施例と同様であるので、S155及びS215の処理
について説明する。
【0056】STEP3において、タイマー割込みが起
き(S100:Y)、制限回数キューにタスクが存在す
る場合に(S140:Y)、EVQ.tmpをインクリ
メントし、換算結果EVQ.timeをデクリメントす
る。また、イベント割込みが起き(S100:Y,S1
60:Y)、制限回数キューにタスクが存在する場合は
(S200:Y)、制限回数キューの先頭タスクの制限
回数から1減じた値(EVQ[0].priod−1)
にEVQ.tmpを乗じた値をEVQ.timeに代入
し、EVQ.tmpを0にリセットする(S215)。
【0057】このようにして、制限回数キューの先頭タ
スクの制限回数を制限時間に換算してもよい。本実施例
においてSTEP3のS215の処理が請求項15に記
載の乗算ステップに相当する。 [第5実施例]第1実施例から第4実施例では、制限回
数キュー部の先頭タスクを換算部で制限時間に換算する
ことで、デッドラインの最も短いタスクを選択している
が、逆に、制限時間を制限回数に換算した上ですること
でデッドラインの最も短いタスクを選択するようにして
もよい。
【0058】すなわち、制限回数の最小周期と制限時間
の最小周期(基本周期)を比較して小さい方の値に変換
すればよいので、制限回数の方が制限時間より小さい周
期の場合にはこのような構成になる。例えば、第1イベ
ント入力信号の制限回数で換算する場合には、図10に
示すように、制限時間キュー部10の先頭の制限時間を
第1換算部30において第1イベント入力信号の制限回
数で換算する一方、図示しない第2制限回数キュー部2
0〜第N制限回数キュー部20までの制限回数を第1イ
ベント入力信号の制限回数で換算する。そして、これら
換算部30からの出力と第1制限回数キュー部の先頭の
制限回数との中で最も制限回数が少ないタスクのタスク
IDを選択部40で選択し、ディスパッチ部50へ出力
する。したがって、最もデッドラインに近いタスクが実
行されることになる。 [第6実施例]第1〜第4実施例の構成において、換算
部あるいは換算ステップは、制限回数と制限時間の関係
をルックアップテーブルにしておいて、制限回数をイン
デックスとして制限時間を求めることもできる。第5実
施例においても同様にルックアップテーブルを用いて変
換してもよい。 [第7実施例]第1実施例〜第6実施例に記載の構成
は、例えばエンジンの電子制御装置(ECU)における
タスクスケジューリング装置として用いることができ
る。例えば、基本周期が1msのECUにおける制御用
タスクとして、制限時間が21msのエンジンの水温検
知タスクと、制限時間が19msの吸気管の圧力検知タ
スクと、制限回数が2回でエンジン1回転毎にかかる割
込みに基づく処理タスクがある場合に、例えばエンジン
の回転数が6000rpmの場合には、換算係数は10
msとなる。この場合、換算後の制限時間は10ms×
2=20msとなり、制限時間が19msの吸気管の圧
力検知タスクがディスパッチされることになる。しか
し、エンジンの回転数の変化に応じて、これらの優先順
位は変化する。この例のように、タスクの優先順位がク
ロスするオーダーのデッドラインを持つタスクを持つ場
合に特に有効に機能する。
【図面の簡単な説明】
【図1】タスクスケジューリング装置の構成を示すブロ
ック図である。
【図2】第1実施例の制限時間及び制限回数の例を示す
図である。
【図3】第1実施例の制限回数キュー部と換算部の構成
を示す説明図である。
【図4】第1実施例の制限回数キュー部・換算部・選択
部の動作を示す説明図である。
【図5】第2実施例の換算部の構成を示す図である。
【図6】第2実施例の制限回数キュー部・換算部・選択
部の動作を示す説明図である。
【図7】第3実施例のタスクスケジューリング処理にお
ける割込み時の処理を示すフローチャートである。
【図8】第3実施例のタスクスケジューリング処理にお
けるタスク状態変化時の処理を示すフローチャートであ
る。
【図9】第4実施例のタスクスケジューリング処理を示
すフローチャートである。
【図10】第5実施例のタスクスケジューリング装置の
構成を示すブロック図である。
【符号の説明】
100…タスクスケジューリング装置 10…制限時間キュー部 20…制限回数キュー部 30…換算部 40…選択部 50…ディスパッチ部

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】デッドラインの表現単位が異なるタスクを
    スケジューリングするタスクスケジューリング装置であ
    って、 前記デッドラインの表現単位別にタスクを管理し、 前記デッドラインの表現単位別に管理された各タスク群
    において、それぞれのタスク群中で最もデッドラインの
    近いタスクを抽出し、 該抽出されたタスクのうち基準となる表現単位以外のタ
    スクのデッドラインを前記基準となる表現単位にそれぞ
    れ換算して該換算されたデッドラインと前記基準となる
    表現単位のデッドラインとの中で最もデッドラインの近
    いタスクをディスパッチするか、あるいは、該抽出され
    たタスクを所定の基準となる表現単位にそれぞれ換算し
    て該換算されたデッドラインの中で最もデッドラインの
    近いタスクをディスパッチすることを特徴とするタスク
    スケジューリング装置。
  2. 【請求項2】請求項1に記載のタスクスケジューリング
    装置において、 前記表現単位には前記換算の内容が時々刻々変化するも
    のを含むことを特徴とするタスクスケジューリング装
    置。
  3. 【請求項3】請求項1または2に記載のタスクスケジュ
    ーリング装置において、 前記デッドラインの表現単位が異なるタスクとして、デ
    ッドラインが絶対時間により決まるタスクとデッドライ
    ンがイベントの発生回数により決まるタスクとを管理す
    ることを特徴とするタスクスケジューリング装置。
  4. 【請求項4】請求項1〜3のいずれかに記載のタスクス
    ケジューリング装置において、 前記デッドラインの表現単位が異なるタスクとして、イ
    ベントの種類が異なるタスクを管理することを特徴とす
    るタスクスケジューリング装置。
  5. 【請求項5】請求項1〜4のいずれかに記載のタスクス
    ケジューリング装置において、 前記表現単位別のタスクの管理は、それぞれの表現単位
    別に設けたキューで行い、各表現単位別のキューはそれ
    ぞれデッドラインの近いタスクの順にタスクを整列して
    格納し、 前記それぞれのタスク群中で最もデッドラインの近いタ
    スクとして、それぞれの各表現単位別のキューの先頭の
    タスクを用いることを特徴とするタスクスケジューリン
    グ装置。
  6. 【請求項6】実行可能状態のタスクの内、最も短い制限
    時間を持つタスクを優先的に実行する時限優先スケジュ
    ーリングを行うタスクスケジューリング装置であって、 デッドラインが絶対時間により決まるタスクを制限時間
    が短い順に並べ、実行順序を管理する制限時間キュー部
    と、 イベント入力の種類毎に備えられ、デッドラインが当該
    イベント入力の発生回数により決まるタスクを制限回数
    が少ない順に並べ、実行順序を管理する制限回数キュー
    部と、 前記制限回数キュー部の先頭タスクが持つ制限回数を制
    限時間に換算する換算部と、 前記換算部により得た換算結果の制限時間と、制限時間
    キュー部の先頭タスクが持つ制限時間を比較し、制限時
    間が最も短いタスクを次の実行タスクとして選択する選
    択部と、 前記選択部が選択したタスクが、現在実行しているタス
    クと異なる場合にタスクを切替えるディスパッチ部とを
    備えることを特徴とするタスクスケジューリング装置。
  7. 【請求項7】請求項6に記載のタスクスケジューリング
    装置において、 前記制限時間キュー部は、 システムの時間管理に必要な基本周期信号に同期して、
    前記制限時間キュー部の各タスクの制限時間をデクリメ
    ントするデクリメント部と、 新たに前記制限時間キュー部にタスクを追加する場合
    に、追加するタスクに課された制限時間を、前記制限時
    間キュー部に並ぶ他のタスクの制限時間と比較し、比較
    結果に従って前記制限時間キュー部の各タスクを制限時
    間の短い順に再整列する並び替え部とを備えることを特
    徴とするタスクスケジューリング装置。
  8. 【請求項8】請求項6または7に記載のタスクスケジュ
    ーリング装置において、 前記制限回数キュー部は、 対象イベントの入力が起こる度に、イベント回数キュー
    部の各タスクの制限回数をデクリメントするデクリメン
    ト部と、 新たに前記制限回数キュー部にタスクを追加する場合
    に、追加するタスクに課された制限回数を、当該制限回
    数キュー部に並ぶ他のタスクの制限回数と比較し、比較
    結果に従って当該制限回数キュー部の各タスクを制限回
    数の少ない順に再整列する並び替え部とを備えることを
    特徴とするタスクスケジューリング装置。
  9. 【請求項9】請求項6〜8のいずれかに記載のタスクス
    ケジューリング装置において、 前記換算部は、 イベント入力の周期を基本周期信号の入力回数により求
    めるイベント周期測定部と、 前記制限回数キュー部の先頭タスクが持つ制限回数に、
    前記イベント割込み周期測定部が求めたイベント入力の
    周期を乗じる乗算部を備えることを特徴とするタスクス
    ケジューリング装置。
  10. 【請求項10】請求項6〜9のいずれかに記載のタスク
    スケジューリング装置において、 前記換算部は、あるイベントが入力されてから、次に同
    じイベントが入力されるまでの間、基本周期信号に同期
    して前記制限回数キュー部の先頭タスクが持つ制限回数
    分を累積加算する加算部を備えることを特徴とするタス
    クスケジューリング装置。
  11. 【請求項11】請求項10に記載のタスクスケジューリ
    ング装置において、 前記選択部は、前記制限回数キュー部に待ちタスクが存
    在しない場合は、前記累積加算を行わず、前記制限時間
    キュー部の先頭タスクを優先的に実行させることを特徴
    とするタスクスケジューリング装置。
  12. 【請求項12】実行可能状態のタスクの内、最も短い制
    限時間を持つタスクを優先的に実行する時限優先スケジ
    ューリングを行うタスクスケジューリング方法であっ
    て、 デッドラインが絶対時間により決まるタスクを制限時間
    が短い順に制限時間キュー部に並べ、実行順序を管理す
    る制限時間管理ステップと、 イベント入力の種類毎に備えられ、デッドラインが当該
    イベント入力の発生回数により決まるタスクを制限回数
    が少ない順に制限回数キュー部に並べ、実行順序を管理
    する制限回数管理ステップと、 前記制限回数キュー部の先頭タスクが持つ制限回数を制
    限時間に換算する換算ステップと、 前記換算ステップにより得た換算結果の制限時間と、制
    限時間管理ステップにより得た先頭タスクが持つ制限時
    間を比較し、制限時間が最も短いタスクを次の実行タス
    クとして選択する選択ステップと、 前記選択ステップにより選択したタスクが、現在実行し
    ているタスクと異なる場合にタスクを切替えるディスパ
    ッチステップとを備えることを特徴とするタスクスケジ
    ューリング方法。
  13. 【請求項13】請求項12に記載のタスクスケジューリ
    ング方法において、 前記制限時間管理ステップは、 システムの時間管理に必要な基本周期信号に同期して、
    前記制限時間キュー部の各タスクの制限時間をデクリメ
    ントするデクリメントステップと、 新たに前記制限時間キュー部にタスクを追加する場合
    に、追加するタスクに課された制限時間を、前記制限時
    間キュー部に並ぶ他のタスクの制限時間と比較し、比較
    結果に従って前記制限時間キュー部の各タスク制限時間
    の短い順に再整列する並び替えステップとを備えること
    を特徴とするタスクスケジューリング方法。
  14. 【請求項14】請求項12または13に記載のタスクス
    ケジューリング方法において、 前記制限回数制御ステップは、 対象イベントの入力が起こる度に、イベント回数キュー
    部の各タスクの制限回数をデクリメントするデクリメン
    トステップと、 新たに前記制限回数キュー部にタスクを追加する場合
    に、追加するタスクに課された制限回数を、当該制限回
    数キュー部に並ぶ他のタスクの制限回数と比較し、比較
    結果に従って当該制限回数キュー部の各タスクを制限回
    数の少ない順に再整列する並び替えステップとを備える
    ことを特徴とするタスクスケジューリング方法。
  15. 【請求項15】請求項12〜14のいずれかに記載のタ
    スクスケジューリング方法において、 前記換算ステップは、 イベント入力の周期を基本周期信号の入力回数により求
    めるイベント周期測定ステップと、 前記制限回数管理ステップにより得た先頭タスクが持つ
    制限回数に、前記イベント周期測ステップにより求めた
    イベント入力の周期を乗じる乗算ステップを備えること
    を特徴とするタスクスケジューリング方法。
  16. 【請求項16】請求項12〜15のいずれかに記載のタ
    スクスケジューリング方法において、 前記換算ステップは、あるイベントが入力されてから、
    次に同じイベントが入力されるまでの間、基本周期信号
    に同期して前記制限回数ステップにより得た先頭タスク
    が持つ制限回数分を累積加算する加算ステップを備える
    ことを特徴とするタスクスケジューリング方法。
  17. 【請求項17】請求項16に記載のタスクスケジューリ
    ング方法において、 前記選択ステップは、前記制限回数制御ステップの対象
    となるタスクが存在しない場合は、前記累積加算を行わ
    ず、前記制限時間制御ステップにより得られた先頭タス
    クを優先的に実行させることを特徴とするタスクスケジ
    ューリング方法。
JP2001172731A 2001-06-07 2001-06-07 タスクスケジューリング装置及びタスクスケジューリング方法 Expired - Fee Related JP4449255B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001172731A JP4449255B2 (ja) 2001-06-07 2001-06-07 タスクスケジューリング装置及びタスクスケジューリング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001172731A JP4449255B2 (ja) 2001-06-07 2001-06-07 タスクスケジューリング装置及びタスクスケジューリング方法

Publications (2)

Publication Number Publication Date
JP2002366373A true JP2002366373A (ja) 2002-12-20
JP4449255B2 JP4449255B2 (ja) 2010-04-14

Family

ID=19014301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001172731A Expired - Fee Related JP4449255B2 (ja) 2001-06-07 2001-06-07 タスクスケジューリング装置及びタスクスケジューリング方法

Country Status (1)

Country Link
JP (1) JP4449255B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7420115B2 (en) 2004-12-28 2008-09-02 Yamaha Corporation Memory access controller for musical sound generating system
JP2008299841A (ja) * 2007-05-29 2008-12-11 Palo Alto Research Center Inc モデル・ベース・プランニング使用方法およびモデル・ベース・プランニング支援システム
JP2009079490A (ja) * 2007-09-25 2009-04-16 Denso Corp エンジン制御装置
US7912623B2 (en) 2007-09-25 2011-03-22 Denso Corporation Engine control system designed to manage schedule of engine control tasks
CN111597016A (zh) * 2020-04-08 2020-08-28 延锋伟世通电子科技(上海)有限公司 一种系统任务的时间保护方法、系统、存储介质及终端

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7420115B2 (en) 2004-12-28 2008-09-02 Yamaha Corporation Memory access controller for musical sound generating system
JP2008299841A (ja) * 2007-05-29 2008-12-11 Palo Alto Research Center Inc モデル・ベース・プランニング使用方法およびモデル・ベース・プランニング支援システム
JP2009079490A (ja) * 2007-09-25 2009-04-16 Denso Corp エンジン制御装置
JP4544284B2 (ja) * 2007-09-25 2010-09-15 株式会社デンソー エンジン制御装置
US7912623B2 (en) 2007-09-25 2011-03-22 Denso Corporation Engine control system designed to manage schedule of engine control tasks
CN111597016A (zh) * 2020-04-08 2020-08-28 延锋伟世通电子科技(上海)有限公司 一种系统任务的时间保护方法、系统、存储介质及终端
CN111597016B (zh) * 2020-04-08 2023-02-14 延锋伟世通电子科技(上海)有限公司 一种系统任务的时间保护方法、系统、存储介质及终端

Also Published As

Publication number Publication date
JP4449255B2 (ja) 2010-04-14

Similar Documents

Publication Publication Date Title
Schranzhofer et al. Timing analysis for TDMA arbitration in resource sharing systems
US6542921B1 (en) Method and apparatus for controlling the processing priority between multiple threads in a multithreaded processor
Liu et al. Supporting soft real-time DAG-based systems on multiprocessors with no utilization loss
JP2002342097A (ja) タスク割当可能時間決定装置及びタスク割当可能時間決定方法
Manzak et al. Variable voltage task scheduling algorithms for minimizing energy/power
Tang et al. Combining hard periodic and soft aperiodic real-time task scheduling on heterogeneous compute resources
EP2192492A1 (en) Method, mechanism and computer program product for executing several tasks in a multithreaded processor and for providing estimates for worst-case execution times
JP2002366373A (ja) タスクスケジューリング装置及びタスクスケジューリング方法
Henderson et al. Improving the accuracy of scheduling analysis applied to distributed systems computing minimal response times and reducing jitter
Nguyen et al. Exact polynomial time algorithm for the response time analysis of harmonic tasks
Baek et al. Response-time analysis for multi-mode tasks in real-time multiprocessor systems
Ahmed et al. Prediction-based asynchronous CPU-budget allocation for soft-real-time applications
Grass et al. Improved response-time bounds in fixed priority scheduling with arbitrary deadlines
JP3830133B2 (ja) 電力制御装置及び方法並びに電力制御プログラム
EP1405171A1 (en) Method and apparatus to use task priority to scale processor performance
Liu et al. Nonutilization bounds and feasible regions for arbitrary fixed-priority policies
Siemers et al. Reliable event-triggered systems for mechatronic applications
CN113495781B (zh) 任务调度方法、装置、设备及可读存储介质
Chen Fundamentals of Real-Time Systems
Sundharam et al. An optimizing framework for real-time scheduling
Goossens et al. Simulation intervals for uniprocessor real-time schedulers with preemption delay
Sommer et al. Admissibility Tests for Interrupted Earliest Deadline First Scheduling with Priority Inheritance
Goh et al. Reducing response-time bounds via global fixed preemption point edf-like scheduling
Siemers et al. Supporting the hard real-time requirements of mechatronic systems by 2-level interrupt service management
Ghaffari et al. Dynamic and on-line design space exploration for reconfigurable architectures

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091207

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100105

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100118

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

Free format text: PAYMENT UNTIL: 20130205

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees