JP6365367B2 - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP6365367B2
JP6365367B2 JP2015053691A JP2015053691A JP6365367B2 JP 6365367 B2 JP6365367 B2 JP 6365367B2 JP 2015053691 A JP2015053691 A JP 2015053691A JP 2015053691 A JP2015053691 A JP 2015053691A JP 6365367 B2 JP6365367 B2 JP 6365367B2
Authority
JP
Japan
Prior art keywords
task
priority
electronic control
control device
schedule
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.)
Active
Application number
JP2015053691A
Other languages
English (en)
Other versions
JP2016173750A (ja
Inventor
直樹 佐田
直樹 佐田
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 JP2015053691A priority Critical patent/JP6365367B2/ja
Publication of JP2016173750A publication Critical patent/JP2016173750A/ja
Application granted granted Critical
Publication of JP6365367B2 publication Critical patent/JP6365367B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、タスクの実行を管理する技術に関する。
リアルタイムOSでは、複数のタスクのそれぞれに設定された優先度に基づいて、タスクの実行をスケジューリングしている。この方式では、優先度の高いタスクの実行が優先されるので、処理負荷が高くなると優先度の低いタスクに実行機会が与えられず、処理抜けが生じることがある。
優先度の低いタスクの場合、ある程度の処理抜けは許容されるものの、処理が連続して抜ける回数に制限が設定されていたり、起床してから処理を完了するまでの期間が設定されていたりする。したがって、優先度の低いタスクであっても、設定されたデッドラインまでに処理を完了することが求められる。
タスクの処理抜け回数をカウントし、処理抜け回数に基づいて優先度を高く設定する技術が知られている。
しかし、タスクによってはデッドラインまでの期間の長さが異なることがあるので、処理抜け回数に基づいて優先度を適切に設定することは困難である。例えば、処理抜け回数が多くてもデッドラインまでの期間が長いタスクよりも、処理抜け回数が少なくてもデッドラインまでの期間が短いタスクの実行を優先した方がよい場合もある。
また、OSのスケジューラによるタスクスケジューリング方式を修正して優先度の低いタスクの処理抜けを管理することも考えられる。しかし、OSを修正することは困難である。
特許文献1には、OSのスケジューラとは別にスケジュールタスクを生成し、このスケジュールタスクを優先度の最も高いタスクに設定してスケジュールタスクに他のタスクの優先度を変更する機能を持たせる技術が開示されている。例えば、スケジュールタスクは、タスク情報テーブル中の起動タイミング等のタスク情報に基づいて実行タスクを決定し、OSのスケジューラが実行タスクを実行するように実行タスクの優先度を他のタスクよりも高く設定する。
特開2004−157737号公報
しかしながら、特許文献1に開示されている技術は、タスクの起動タイミング等に基づいて実行タスクを決定するものであって、タスクの処理抜けを管理するものではない。
本発明は上記問題を解決するためになされたものであり、タスクの処理抜けを容易かつ適切に管理する技術を提供することを目的とする。
本発明の電子制御装置は、タスク管理手段と、タスク処理手段と、を備える。タスク管理手段は、複数のタスクの実行を各タスクの優先度に基づいてスケジューリングする。タスク処理手段は、タスク管理手段によるスケジューリングに基づいてタスクを実行する。
タスク処理手段は、複数のタスクとして、タスク抜けが許容されない抜け不可タスクと、抜け不可タスクよりも優先度が低く実行抜けが許容される抜け許容タスクと、抜け許容タスク毎にデッドラインまでに処理抜けを許容できる余裕度を算出し、余裕度が最低の抜け許容タスクの優先度を現在の優先度よりも高くするスケジュールタスクと、を実行する。
この構成によれば、OSのスケジューラとは別のスケジュールタスクにより、デッドラインまでに処理抜けを許容できる余裕度を算出し、余裕度が最低の抜け許容タスクの優先度を現在よりも高くする。OSのスケジューラは、設定された優先度に基づいて実行するタスクを決定する。これにより、予め設定された優先度が低い抜け許容タスクであっても、余裕度が最低になると優先度が高く設定されるので、実行頻度が上昇する。
その結果、OSのスケジューリング方式を修正することなく、抜け許容タスクの処理抜けを容易かつ適切に管理できる。
尚、特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
本実施形態による車載電子制御装置を示すブロック図。 抜け許容タスクを起床する起床タスクの起床処理を示すフローチャート。 スケジュールタスクのスケジュール処理を示すフローチャート。 抜け許容タスクの実行処理を示すフローチャート。 タスクの実行状態の推移を示すスケジュールチャート。 抜け許容タスクのデッドラインと最長処理期間とを示す図。 比較例によるタスクの実行状態の推移を示すスケジュールチャート。
以下、本発明が適用された実施形態を図に基づいて説明する。
[1.構成]
図1に示す電子制御装置(Electronic Control Unit:ECU)10は車両に搭載されており、タスク管理部12と、タスク処理部14と、優先度テーブル20と、を備える。ECU10は、CPU、RAM、ROM、フラッシュメモリ等を備えるマイクロコンピュータを搭載している。
ECU10は、ROMまたはフラッシュメモリに記憶された処理プログラムをCPUが実行することにより、タスク管理部12およびタスク処理部14として機能し、車両制御を実行する複数のタスクをスケジューリングして実行する。車両制御を実行する複数のタスクには、所定時間間隔で起床される定時タスクと、エンジンの回転角度に同期して起床される角度同期タスクとがある。
定時タスクは、例えば、エンジン負荷率の算出タスク、車両に搭載されている各種アクチュエータをデューティ制御するときのデューティ算出タスクである。角度同期タスクは、例えば、点火時期の制御タスク、燃料噴射の制御タスクなど、エンジン制御を実行するタスクである。
タスク管理部12は、リアルタイムOS(RTOS)に基づいて、車両制御を実行する複数のタスクのそれぞれに設定された優先度に基づいて実行するタスクを決定する。各タスクには、優先度が予め設定されている。タスク処理部14は、タスク管理部12が決定するタスクを実行する。
優先度テーブル20には、複数のタスクの優先度がそれぞれ登録されている。図1では、優先度テーブル20の上に行くほどタスクの優先度が高くなっている。複数のタスクのうち、処理の抜けが許容されない抜け不可タスクの優先度は、処理の抜けが許容される抜け許容タスクの優先度よりも高く設定されている。図1では、抜け許容タスクとして、Aタスク、Bタスク、Cタスクが優先度テーブル20に登録されている。
優先度テーブル20は例えばRAMで構成されている。複数のタスクの優先度は予め設定されており、ROM等の不揮発性記憶装置に記憶されている。そして、ECU10が起動するときに、ROM等の不揮発性記憶装置に記憶されている複数のタスクの優先度が、優先度テーブル20としてRAMに格納される。
スケジュールタスクは、抜け許容タスクの優先度を調整するタスクである。スケジュールタスクの優先度は、抜け不可タスクよりも低く、抜け許容タスクよりも高く設定されている。
[2.処理]
(1)起床処理について図2に基づいて説明する。図2の起床処理は、抜け許容タスクの起床タイミングにおいて、抜け不可タスクに属する起床タスクが実行することもあるし、起床割り込みが実行することある。以下、説明上、起床タスクが抜け許容タスクを起床するものとして説明する。
起床タスクは、抜け許容タスクを起床する前処理を実行し(S400)、今回の起床タイミングで起床する抜け許容タスクを起床させる(S402)。起床タスクは、抜け許容タスクを起床させたときの起床時刻を記憶する(S404)。そして、起床タスクは、スケジュールタスクを起床させ(S406)、起床処理の後処理を実行する(S408)。スケジュールタスクと抜け許容タスクとの処理については後述する。
Aタスクは8ms毎に起床される定時タスクである。Bタスクは30°CA毎に起床される角度同期タスクであり、Cタスクは90°CA毎に起床される角度同期タスクである。
図5はエンジン回転数(NE)が2500rpmのときのスケジュールチャートを示しており、タイムスライス(以下、TSとも言う。)の間隔は1msである。NE=2500rpmのとき、30°CA毎に起床されるBタスクは2ms毎に起床され、90°CA毎に起床されるCタスクは6ms毎に起床される。
図5において、「実」に続く数字は何番目の実行であるかを表わしている。Aタスクは1msのタイムスライスで3回処理を実行すると処理を完了する。Bタスクは1msのタイムスライスで2回処理を実行すると処理を完了する。Cタスクは1msのタイムスライスで1回処理を実行すると処理を完了する。
図5の抜け不可タスクの欄において、斜線箇所は抜け不可タスクが実行されていることを示している。抜け不可タスクに属する起床タスクの実行時間は短いので、抜け不可タスクの欄の斜線箇所ではない空白箇所において、起床タスクが抜け許容タスクの起床処理を実行し、さらにスケジュールタスクまたは抜け許容タスクが処理を実行することもある。
(2)スケジュールタスクが実行するスケジュール処理について、図3に基づいて説明する。スケジュールタスクは、図2のS406および後述する図4のS440で起床される。
S410において、スケジュールタスクは、スケジュールタスクの優先度を抜け許容タスクよりも高くする。これは、後述する図4のS438において、スケジュールタスクよりも優先度を高くした抜け許容タスクが、図3のスケジュール処理の途中で起床されて実行されないようにするためである。
次に、スケジュールタスクは、スケジュールタスクが起床されるタイムスライスにおいて、起床している各抜け許容タスクのデッドラインまでの期間を算出する(S412)。図5において、「DL」はデッドラインのタイムスライスを表している。また、タスク処理期間の欄において、「○」はデッドラインまでに処理が正常に完了したことを表している。
図6に示すように、抜け許容タスクであるAタスク、Bタスク、Cタスクには、それぞれ処理を完了させるデッドラインが設定されている。デッドラインには、タスクが連続して処理の実行が抜けることを不可とする期限と、タスクが1回目に起床されてから連続して処理が実行されないことを不可とする未処理期間の期限とがある。
Aタスクは2回連続、Bタスクは5回連続、Cタスクは3回連続して処理が抜けることを不可とされている。また、Bタスク、Cタスクには500ms、1000msの未処理期間が設定されている。Aタスクには未処理期間は設定されていない。
連続処理抜け回数および未処理期間で設定されるデッドラインのうち早い方のタイミングがデッドラインとして採用される。図5はNE=2500rpmのときのスケジュールチャートを示しているので、連続処理抜け回数で設定されるデッドラインの方が未処理期間で設定されるデッドラインよりもタイミングが早い。
例えば、図5のTS1において、起床タスク以外の抜け不可タスクが実行されないので、起床タスクによりTS1が起床タイミングであるAタスクが1回目に起床され、図2のS406でスケジュールタスクが起床される。スケジュールタスクの方がAタスクよりも優先度が高いので、スケジュールタスクが処理を実行する。
スケジュールタスクは、Aタスクが1回目に起床された時刻、ならびにAタスクが2回連続して処理の抜けを不可とされていることに基づき、TS16をAタスクのデッドライン(DL)に設定する。
尚、各タスクが1回目に起床された時刻は、図2のS404で記憶される。また、図5において、「起1」は各タスクの1回目の起床であることを表わしている。
TS1において、スケジュールタスクは、Aタスクについて、TS1からデッドラインであるTS16までの期間をデッドライン期間として算出する。この場合、Aタスクのデッドライン期間は15msである。
TS1において、Bタスク、Cタスクはまだ起床されていないので、スケジュールタスクは、Bタスク、Cタスクのデッドライン期間を算出しない。したがって、後述する余裕度について、Bタスク、Cタスクの値は不定である。図5の余裕度の欄において、「−」が不定であることを表わしている。
一方、スケジュールタスクが処理を実行するTS5において、Aタスク、Bタスク、Cタスクはすべて起床しているので、スケジュールタスクは、Aタスク、Bタスク、Cタスクのデッドライン期間を算出する。TS5において、Aタスクのデッドライン期間は11msである。
Bタスクのデッドラインは、1回目の起床がTS2であり、Bタスクが5回連続の処理抜けが不可とされていることに基づき、TS11である。したがって、TS5において、Bタスクのデッドライン期間は6msである。
Cタスクのデッドラインは、1回目の起床がTS2であり、Cタスクが3回連続の処理抜けが不可とされていることに基づき、TS19である。したがって、TS5において、Cタスクのデッドライン期間は14msである。
S414において、スケジュールタスクは、各タスクの余裕度を算出する。余裕度は次式(1)から算出される。
余裕度=デッドライン期間/最長処理期間 ・・・(1)
式(1)において、最長処理期間は各タスクが処理を完了するために必要とされる期間を表わしている。最長処理期間は、所定のエンジン回転数の範囲毎に抜け許容タスク毎に予め設定されている。図6から、NE=2500rpmにおいて、Aタスク、Bタスク、Cタスクの最長処理期間はそれぞれ9ms、6ms、4msである。エンジン回転数が上昇するにしたがい、最長処理期間は長くなる傾向にある。
また、TS5において、前述したように、Aタスク、Bタスク、Cタスクのデッドライン期間はそれぞれ11ms、6ms、14msである。
したがって、TS5におけるAタスク、Bタスク、Cタスクの余裕度は、それぞれ式(1)から、1.22、1.00、3.50である。余裕度が高いほどデッドラインまでに処理の抜けを許容できる程度が高いことを表わし、余裕度が低いほどデッドラインまでに処理の抜けを許容できる程度が低いことを表わしている。
S416において、スケシュールタスクは、余裕度が所定値以下のタスクが存在するか否かを判定する。例えば、所定値として2が設定されている。余裕度が所定値以下のタスクが存在する場合(S416:Yes)、スケジュールタスクは、現在の抜け許容タスクの優先度を調整し(S418)、S422に処理を移行する。本実施形態では、余裕度が最低の抜け許容タスクの優先度を抜け許容タスクの中で最高順位に設定して優先度を調整する。
例えば、TS5において、Aタスク、Bタスク、Cタスクの余裕度は、前述したようにそれぞれ1.22、1.00、3.50であり、余裕度が2以下のタスクが存在する。この場合、スケジュールタスクは、余裕度が最低のBタスクの優先度をAタスクよりも上の最高順位に設定する。
余裕度が所定値以下のタスクが存在しない場合(S416:No)、スケジュールタスクは、現在の抜け許容タスクの優先度を、元のAタスク、Bタスク、Cタスクの順番に戻し(S420)、S422に処理を移行する。
S422において、スケジュールタスクは、優先度が切り替えられたか否か、つまり余裕度が最低の抜け許容タスクの優先度が最高順位に設定されたか否かを判定する。優先度が切り替えられていない場合(S422:No)、スケジュールタスクは本処理を終了する。
優先度が切り替えられた場合(S422:Yes)、スケジュールタスクは、切り替え前に優先度が最高順位だったタスクの処理期間を積算し(S424)、優先度の切り替え時刻を記憶する(S426)。
S424で積算するタスク処理期間は、抜け許容タスクの優先度が抜け許容タスクの中で最高順位の状態において、実際に処理を実行した期間と、実行を待ち合わせ期間との積算値である。優先度が最高順位ではない期間は、該当する抜け許容タスクのタスク処理期間として積算しない。
例えば、TS5において、Bタスクの優先度をAタスクよりも上の最上位に切り替えたので、スケジュールタスクは、優先度の切り替え前に優先度が最高順位だったAタスクのタスク処理期間を積算する。この場合、Aタスクのタスク処理期間の積算はTS1〜TS4までの4msである。そして、切り替え時刻はTS5である。
(3)抜け許容タスクの実行処理について、図4に基づいて説明する。抜け許容タスクは図2のS402で起床されており、優先度が最上位の場合、抜け不可タスクが実行されていないタイムスライスで実行される。スケジュールタスクがスケジュール処理に要する時間は短いので、図5に示すように、スケジュールタスクが実行されるタイムスライスでも抜け許容タスクは実行される。
S430において、抜け許容タスクは車両制御のための通常処理を実行する。通常処理を実行中に今回のタイムスライスの時間が経過し、次のタイムスライスが抜け不可タスクの実行タイミングであれば、抜け許容タスクは通常処理の途中で実行を中断する。
例えば、図5のTS5において、スケジュールタスクにより優先度が最高順位に設定されたBタスクは1回目の処理を実行する。次のTS6では、抜け不可タスクが実行されるので、Bタスクの処理は中断される。
S430の通常処理が終了すると、抜け許容タスクは、タスク処理期間の積算値を算出して確定させる(S432)。
例えば、TS1をスケジュールタスクによるスケジュール処理の開始タイミングとして、TS1では優先度はAタスク、Bタスク、Cタスクの順番である。図5において、Aタスクは、最高順位の状態でTS1、TS13、TS14で処理を実行し、TS2〜TS4とTS11、TS12とで実行を待ち合わせている。
TS5〜TS10の間は、Aタスクの優先度は最高順位ではないので、タスク処理期間に積算されない。したがって、Aタスクの処理が完了したTS14において、Aタスクのタスク処理期間の積算値は8msである。
また、Bタスクは、TS5で優先度が最高順位になってから、TS5、TS10で処理を実行し、TS6〜TS9で実行を待ち合わせている。したがって、Bタスクの処理が完了したTS10において、Bタスクのタスク処理期間の積算値は6msである。
また、Cタスクは、TS14の終了時に優先度が最高順位になってから、TS17で処理を実行し、TS15、TS16で実行を待ち合わせている。したがって、Cタスクの処理が完了したTS17において、Cタスクのタスク処理期間の積算値は3msである。
S434において、抜け許容タスクは、タスク処理期間の積算値が、現在のエンジン回転数の範囲で設定されている最長処理期間を超えているか否かを判定する。タスク処理期間の積算値が現在の最長処理期間を超えていない場合(S434:No)、抜け許容タスクはS438に処理を移行する。
タスク処理期間の積算値が現在の最長処理期間を超えている場合(S434:Yes)、抜け許容タスクは、現在のエンジン回転数の範囲で設定されている最長処理期間を今回のタスク処理期間で更新し(S436)、S438に処理を移行する。図5の例では、Aタスク、Bタスク、Cタスクのいずれの最長処理期間も更新されない。
S438において、抜け許容タスクは、自身の優先度をスケジュールタスクよりも高く、抜け不可タスクよりも低い優先度に設定する。そして、スケジュールタスクを起床させる(S440)。
S438で抜け許容タスクが自身の優先度をスケジュールタスクよりも高く、抜け不可タスクよりも低い優先度に設定するので、S440でスケジュールタスクを起床させても、スケジュールタスクは、少なくとも図4に示す実行処理を抜け許容タスクが終了するまで実行されない。
また、抜け許容タスクが自身の優先度をスケジュールタスクより高く設定しても、処理が完了し、まだ次の起床タイミングになっていないので、この抜け許容タスクは実行されない。
例えば、図5のTS10でBタスクが処理を完了すると、S440で起床されたスケジュールタスクが、TS10において図3のスケジュール処理を実行する。この場合、Bタスクは処理を完了しており優先度がスケジュールタスクよりも高くなっているが、Bタスクは次の1回目の起床タイミングになっていないので、Bタスクは実行されない。また、Bタスクは起床されていないので、Bタスクのデッドライン期間および余裕度は不定である。
この場合、スケジュールタスクは、Bタスクを除くAタスク、Cタスクのデッドライン期間を算出し(S412)、Aタスク、Cタスクの余裕度を算出する(S414)。スケジュールタスクは、TS10でBタスクが処理を完了した次のTS11からデッドラインまでの期間をAタスク、Cタスクのデッドライン期間とし、このデッドライン期間から余裕度を算出する。
この場合、Aタスク、Cタスクのデッドライン期間はそれぞれ5ms、8msになり、Aタスク、Cタスクの余裕度はそれぞれ0.56、2.00なる。
すると、余裕度が所定値として2以下のタスクが存在するので(S416:Yes)、スケジュールタスクは、Bタスクを除き余裕度が最低のAタスクの優先度を最高順位に設定する(S418)。これにより、TS11、TS12においてAタスクの実行が待ち合わされ、TS13、TS14でAタスクが実行される。
図5のTS14でAタスクが処理を完了する場合も、S440で起床されたスケジュールタスクが、TS14において図3のスケジュール処理を実行することにより、BタスクとCタスクとの余裕度を算出する。BタスクとCタスクとの余裕度は同じ1.00になる。
この場合、BタスクとCタスクとのいずれの優先度を最高順位にしてもよい。図5では、例えば、まだ処理が実行されていないCタスクの優先度を最高順位にしている。これにより、TS15、TS16においてCタスクの実行が待ち合わされ、TS17でCスクが実行される。
本実施形態に対し、図7に示す比較例では、余裕度に基づいて優先度を調整せず、固定の優先度に基づいて抜け許容タスクの実行をスケジューリングする。その結果、優先度が最高順位のAタスクは、デッドラインまでに処理を完了できる。
一方、Aタスクよりも優先度の低いBタスクはAタスクの処理が完了してから、Bタスクよりも優先度の低いCタスクはBタスクの処理が完了してから実行されるので、デッドラインまでに処理を完了できない。図7において、「×」は今回のデッドラインまでに処理は完了したが、前回までのデッドラインにおいて処理が完了しなかったことを表している。
[3.効果]
以上説明した上記実施形態では、以下の効果を得ることができる。
(1)デッドラインまでに処理抜けが許容される余裕度に基づいて、余裕度が最低の抜け許容タスクの優先度を抜け許容タスクの中で最高順位に容易に設定できる。これにより、予め設定された優先度が低い抜け許容タスクであっても、余裕度が最低になると優先度が高く設定されるので、実行頻度が上昇する。その結果、OSのスケジューリング方式を修正することなく、抜け許容タスクの処理抜けを容易かつ適切に管理できる。
(2)余裕度に基づいて抜け許容タスクの中で優先度が最高順位の抜け許容タスが切り替わる。これにより、常に優先度が最低の抜け許容タスクの処理が最初にデッドラインを越えるのではなく、予め設定された優先度に関わらず、抜け許容タスクの処理がデッドラインを越える可能性を均等化することができる。
(3)前述したように、エンジン回転数の上昇にしたがって、抜け許容タスクが処理を完了するために必要な最長処理期間は長く設定されている。つまり、エンジン回転数の上昇にしたがって、抜け許容タスクの処理がデッドラインを越える可能性は高くなる。
ここで、効果(2)で述べたように、常に優先度が最低の抜け許容タスクの処理が最初にデッドラインを越えるのではなく、抜け許容タスクの処理がデッドラインを越える可能性が均等化される。これにより、エンジン制御において、抜け許容タスクの処理がデッドラインを越えるエンジン回転数を、優先度を調整しない方式よりも上昇させることができる。
[4.他の実施形態]
(1)上記実施形態では、車両制御を実行する車載の電子制御装置に本発明を適用したが、本発明を適用する技術分野は車両制御に限るものではない。
(2)余裕度が最低の抜け許容タスクの優先度を抜け許容タスクの中で最高順位にするのではなく、現在の優先度よりも高くするのであれば最高順位にならなくてもよい。
(3)余裕度を算出するための最長処理期間を、抜け許容タスクが1回目に起床されてからデッドラインまでの期間としてもよい。
(4)上記実施形態における一つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を一つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を、課題を解決できる限りにおいて省略してもよい。尚、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
(5)上述したECU10の他、当該ECU10を構成要素とする電子制御システム、当該ECU10としてコンピュータを機能させるためのタスク管理プログラム、このタスク管理プログラムを記録した記録媒体、タスク管理方法など、種々の形態で本発明を実現することもできる。
10:ECU(電子制御装置)、12:タスク管理部(タスク管理手段)、14:タスク処理部(タスク処理手段)、20:優先度テーブル

Claims (6)

  1. 複数のタスクのそれぞれに設定された優先度に基づいて、実行するタスクを決定するタスク管理手段(12)と、
    前記タスク管理手段が決定する前記タスクを実行するタスク処理手段(14、S400〜S408、S410〜S426、S430〜S440)と、
    を備える電子制御装置(10)であって、
    前記タスク処理手段は、
    前記複数のタスクとして、処理抜けが許容されない抜け不可タスク(S400〜S408)と、前記抜け不可タスクよりも優先度が低く処理抜けが許容される抜け許容タスク(S430〜S440)と、起床されるタイムスライスにおいて、前記抜け許容タスク毎に、デッドラインまでの残り時間を処理を完了するために必要とされる最長処理期間で除算して、前記デッドラインまでに処理抜けを許容できる余裕度を算出し、前記余裕度が最低の前記抜け許容タスクの優先度を現在の優先度よりも高くするスケジュールタスク(S410〜S426)と、を実行する、
    ことを特徴とする電子制御装置。
  2. 請求項1に記載の電子制御装置であって、
    前記スケジュールタスクの優先度は、前記抜け許容タスクよりも高く前記抜け不可タスクよりも低い、
    ことを特徴とする電子制御装置。
  3. 複数のタスクのそれぞれに設定された優先度に基づいて、実行するタスクを決定するタスク管理手段(12)と、
    前記タスク管理手段が決定する前記タスクを実行するタスク処理手段(14、S400〜S408、S410〜S426、S430〜S440)と、
    を備える電子制御装置(10)であって、
    前記タスク処理手段は、
    前記複数のタスクとして、処理抜けが許容されない抜け不可タスク(S400〜S408)と、前記抜け不可タスクよりも優先度が低く処理抜けが許容される抜け許容タスク(S430〜S440)と、起床されるタイムスライスにおいて、前記抜け許容タスク毎にデッドラインまでに処理抜けを許容できる余裕度を算出し、前記余裕度が最低の前記抜け許容タスクの優先度を現在の優先度よりも高くし、優先度が前記抜け許容タスクよりも高く前記抜け不可タスクよりも低いスケジュールタスク(S410〜S426)と、を実行する、
    ことを特徴とする電子制御装置。
  4. 請求項1または2に記載の電子制御装置であって、
    車両に搭載され、
    前記最長処理期間は所定のエンジン回転数の範囲毎に設定されている、
    ことを特徴とする電子制御装置。
  5. 請求項1から4のいずれか一項に記載の電子制御装置であって、
    前記スケジュールタスク(S418)は、前記起床されるタイムスライスにおいて、前記余裕度が最低の前記抜け許容タスクの優先度を前記抜け許容タスクの中で最高順位にする、
    ことを特徴とする電子制御装置。
  6. 請求項1または2または4のいずれか一項を引用する請求項5に記載の電子制御装置であって、
    前記抜け許容タスク(S432〜S436)は、自身の前記優先度が前記最高順位のときにおいて、処理を実行した期間と処理の実行を待ち合わせ期間との積算値が現在の前記最長処理期間よりも長い場合、前記積算値で前記最長処理期間を更新する、
    ことを特徴とする電子制御装置。
JP2015053691A 2015-03-17 2015-03-17 電子制御装置 Active JP6365367B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015053691A JP6365367B2 (ja) 2015-03-17 2015-03-17 電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015053691A JP6365367B2 (ja) 2015-03-17 2015-03-17 電子制御装置

Publications (2)

Publication Number Publication Date
JP2016173750A JP2016173750A (ja) 2016-09-29
JP6365367B2 true JP6365367B2 (ja) 2018-08-01

Family

ID=57009687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015053691A Active JP6365367B2 (ja) 2015-03-17 2015-03-17 電子制御装置

Country Status (1)

Country Link
JP (1) JP6365367B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019159310A1 (ja) * 2018-02-16 2019-08-22 株式会社日立製作所 電子制御装置
US20200167191A1 (en) * 2018-11-26 2020-05-28 Advanced Micro Devices, Inc. Laxity-aware, dynamic priority variation at a processor
JP7147615B2 (ja) 2019-02-15 2022-10-05 株式会社デンソー タスク管理装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003050709A (ja) * 2001-08-06 2003-02-21 Matsushita Electric Ind Co Ltd タスクスケジューリング方法および装置
JP2004234643A (ja) * 2003-01-07 2004-08-19 Matsushita Electric Ind Co Ltd プロセススケジューリング装置、プロセススケジューリング方法、プロセススケジューリングのためのプログラム、及びプロセススケジューリングのためのプログラムを記録した記録媒体
JP4682513B2 (ja) * 2003-12-05 2011-05-11 トヨタ自動車株式会社 タスク管理システム
JP2008065710A (ja) * 2006-09-08 2008-03-21 Toshiba Corp 情報処理装置
JP2013088937A (ja) * 2011-10-14 2013-05-13 Toyota Motor Corp 情報処理装置

Also Published As

Publication number Publication date
JP2016173750A (ja) 2016-09-29

Similar Documents

Publication Publication Date Title
JP6125539B2 (ja) リアルタイムシステムにおける動的電力管理
JP5528568B2 (ja) 並列プログラム制御
JP6365367B2 (ja) 電子制御装置
JPWO2005106623A1 (ja) Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体
Schneider et al. Multi-layered scheduling of mixed-criticality cyber-physical systems
CN111694669B (zh) 一种任务处理方法及装置
JP2020135214A (ja) タスク管理装置
JP2009301500A (ja) タスク処理システム及びタスク処理方法
US9128757B2 (en) Method and lightweight mechanism for mixed-critical applications
CN101206584A (zh) 无积累误差和自适应定时器实现方法
US9170839B2 (en) Method for job scheduling with prediction of upcoming job combinations
JP6861275B2 (ja) 車両制御装置
JP7263746B2 (ja) 情報処理装置
CN110825501A (zh) 处理器内核优化方法、装置和存储介质
JP2016184315A (ja) 電子制御装置
JP2013088937A (ja) 情報処理装置
US11055163B2 (en) Method and device for error handling in a communication between distributed software components
WO2019159310A1 (ja) 電子制御装置
JP2014225137A (ja) タスクスケジューラ,マイクロプロセッサ及びタスクスケジューリング方法
CN109298917A (zh) 一种适用于实时系统混合任务的自适应调度方法
JP6252259B2 (ja) 電子制御装置
Kluge et al. History-cognisant time-utility-functions for scheduling overloaded real-time control systems
JP7318439B2 (ja) 電子制御装置
JP7359065B2 (ja) タスク管理装置
US11048575B2 (en) Method and device for error handling in a communication between distributed software components

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180313

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180425

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: 20180605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180618

R151 Written notification of patent or utility model registration

Ref document number: 6365367

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250