JP2003131892A - タスク実行制御装置及びタスク実行制御方法 - Google Patents

タスク実行制御装置及びタスク実行制御方法

Info

Publication number
JP2003131892A
JP2003131892A JP2001328193A JP2001328193A JP2003131892A JP 2003131892 A JP2003131892 A JP 2003131892A JP 2001328193 A JP2001328193 A JP 2001328193A JP 2001328193 A JP2001328193 A JP 2001328193A JP 2003131892 A JP2003131892 A JP 2003131892A
Authority
JP
Japan
Prior art keywords
task
time
priority
scheduled
execution
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
JP2001328193A
Other languages
English (en)
Inventor
Masahiro Muikaichi
正弘 六日市
Kenji Izumi
憲司 泉
健人 ▲よし▼井
Taketo Yoshii
Takuya Sekiguchi
卓也 關口
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2001328193A priority Critical patent/JP2003131892A/ja
Publication of JP2003131892A publication Critical patent/JP2003131892A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 予め実行時刻が決まっている優先度の高いタ
スクが、共有資源の排他制御や優先度逆転現象による影
響を受けず決められたタイミングで実行されるようにす
るタスク実行制御装置を提供する。 【解決手段】 セマフォ管理部131は、タスクCの共
有資源獲得時に、タスクCの資源解放予想時刻を、タス
クAの次の起動予定時刻と比較して、前者が後者より早
ければタスクCに資源占有を許す。また、タスクCが資
源占有中に第3のタスクBによる割り込み処理が生じた
場合、優先度管理部132は、タスクBの「割込処理時
間」の累計が許容限度に達した時点でタスクCの優先度
をタスクAと同じ優先度に上げるようスケジューリング
部11を制御する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ資源
を共有する複数のタスクについて、各タスクの優先度を
元に実行スケジュールを制御するタスク実行制御装置に
関する。
【0002】
【従来の技術】従来、コンピュータ技術の分野において
は、複数のタスクを並行して実行するために、オペレー
ティング・システム(OS)が、タスクの実行順序の制
御(スケジューリング)を行っている。タスクのスケジ
ューリングは、各タスクに付与された優先度を基準に行
われる。タスクは処理の内容に応じて、応答までの時間
を厳密に保証しなければならないタスクと、多少応答が
遅れても問題にはならないタスクとがあり、これらの違
いを表す指標が優先度である。そして、複数のタスクか
ら処理要求があれば優先度の高いタスクを優先度の低い
タスクよりも先に処理し、あるタスクの処理中により優
先度の高い他のタスクから割り込み的に処理要求が入る
と、処理中タスクを一時停止の状態にして、後から要求
のあった優先度の高いタスクを処理する、という形でス
ケジューリングが行われる。
【0003】ただし、複数のタスクを並行して処理する
場合、OSは、複数のタスクが同時にはアクセスできな
い資源に対する排他制御も行わねばならず、スケジュー
リング処理は排他制御に影響を受ける。例えば、同一の
資源にアクセスするタスクAとタスクCとがあった場
合、OSは先ず、先にアクセス要求を出したタスクに当
該資源の占有を許す。そのため、優先度の低いタスクC
が先に資源を占有した場合、占有中に優先度の高いタス
クAから要求があっても、排他制御が優先されるので、
タスクAは優先度の低いタスクCが資源を解放するまで
待機状態とされる。
【0004】さらに、タスクAが待機状態にある間に、
「優先度がタスクAより低く、かつタスクCより高
い」、しかも「タスクCが占有中の資源を使用しない」
という性質を持つタスクBの処理要求が発生すると、資
源の共有がないため排他制御は考慮されず、優先度に従
ってタスクCは一時停止され、優先度の高いタスクBが
実行される。タスクCはタスクBの終了待ちとなる。す
ると、タスクCが資源を解放するタイミングはタスクB
の処理時間長の分だけ遅れる。すると、タスクAは、資
源の共有関係がある訳でもなく自分より優先度の低い、
しかも、後から要求を出したタスクBのせいで、待機時
間が長くなって処理開始がさらに遅れる結果となる。
【0005】これら、資源の排他制御やタスクの割り込
みとのかねあいで生じるスケジューリング上の問題
(「優先度逆転現象」と呼ばれる)に対して、OSのス
ケジューリング機能は可能な限りの回避処理を行ってい
る。そうした回避処理の従来技術の一例が、特開平8−
95807に開示されている。ここでは、優先度が高く
実行タイミングが既知の(周期起動されるタスクである
ため次の実行開始時刻が予想できる)タスクAと、優先
度が低く資源を占有して行う処理(クリティカルセクシ
ョン)に要する時間長が既知であるタスクCとが、同じ
資源を用いて処理を行う場合、タスクCに資源を占有さ
せる前に、現在時刻とタスクCの資源占有時間長とから
タスクCが当該資源を解放する時刻を予想し、その予想
解放時刻とタスクAの次回の資源占有開始予想時刻とを
比べ、このままタスクCに資源占有を認めた場合にタス
クAに資源解放待ちの待機時間が発生するか否か(タス
クAの次回占有開始予想時刻よりもタスクCの資源解放
時刻の方が遅いか否か)を判定する。そして、待機時間
が発生すると判定した場合は、タスクCを待機状態に置
き、タスクAに先に処理を行わせる。これによれば、周
期的に起動する優先度の高いタスクが資源の排他制御の
影響で、優先度の低いタスクより後回しにされるという
事態が発生しにくくなる。
【0006】
【発明が解決しようとする課題】しかしながら、上記の
特開平8−95807の処理方法は厳密さを欠き、その
ため、タスクAのような優先度の高いタスクに不必要な
待ち時間が生じる場合がある。図8は、こうした待ち時
間が生じる場合のタイミング図である。図8は、タスク
A及びタスクCの実行スケジュールを示す予定時間部分
810と、スケジュール制御の結果、実際にタスクが処
理されたタイミングを示す実行タイミング部分820と
からなる。各タスクは全期間にわたって資源を占有する
訳ではなく、資源を占有する必要のある処理(クリティ
カルセクション、図中斜線部で示す)を行う期間の前後
に、資源の占有開始(ロック)に伴なう処理と資源の解
放(アンロック)に伴なう処理(図中、斜線部分以外)
など、資源を使用せず実行される処理が存在する。問題
が起きるのは、タスクAの資源占有開始前の処理部分と
タスクCのクリティカルセクション実行の時間帯とが重
複する場合である。
【0007】タスクCは資源を獲得しようとしたタイミ
ング(T1)で、現在時刻にタスクCのクリティカルセ
クションの時間長(t1)を加えた時刻(T2)がタス
クAの資源占有開始予定時刻(T4)よりも早くなるか
どうかで、タスクC用の資源獲得を直ちに実行するかタ
スクAの処理終了まで待つかを決定する。同図の場合、
T3≧T2なので、タスクC用の資源確保を行う。しか
し、タスクAが開始要求をOSに発行して、共有資源を
必要としない処理(図中斜線部分の前の部分、具体的に
は資源獲得のための前処理など)を開始しようとすると
(T3)、この処理は共有資源を使用しないのでタスク
Cの資源解放を待つ必要はない。よって、OSは優先度
に従ってタスクCを一時停止させ、タスクAのこの部分
の処理を先に実行させる。そして、タスクAの処理がク
リティカルセクションに入るタイミング(T5)では、
共有資源がタスクCに占有されたままであるため、タス
クCの資源解放待ちとなる。タスクAの残りの処理はタ
スクCが資源を解放した時点(T6)で再開され、図注
T7’のタイミングで終る。このT7’のタイミング
は、スケジュールにおけるタスクAの終了予定時点T7
より、タスクAの占有開始前の処理部分とタスクCのク
リティカルセクションとが重複する時間分だけ遅れてし
まい、タスクAに遅延が生じてしまう。
【0008】また、上記従来技術には、すでに述べた第
3のタスクBが割り込んできた場合の優先度逆転には対
応できないという問題もある。図9は、タスクBの割り
込みによってタスクAの実行に遅延が生じる様子を示
す。同図は予定時間部分910と実行タイミング部分9
20とからなる。同図においてOSは、時点T1におい
て、タスクCの予想資源解放時点T3と、タスクAが次
に資源占有を要求すると予想される時点T5とから、タ
スクAには待機時間が発生しないと判定してタスクCに
資源占有を許すが、その後、時点T2においてタスクB
が起動され割り込んでくる。すると、OSは優先度に従
ってタスクBをタスクCより優先的に実行させる。その
結果、タスクCが実際に資源を解放する時点T3’は、
タスクBの処理時間に図8で示した形で生じる遅延時間
を加えた分だけ遅れて、タスクAが資源占有を要求する
時点T5以降にずれこむ。そのためタスクAはタスクC
の資源解放待ちとなり、最終的に処理を終了する時刻に
も、予定時点T6と実際の終了時点T6’との差分tだ
け遅延が発生する。
【0009】本発明は、上記の課題に鑑み、優先度が高
く実行タイミングが既知の第1のタスクと、優先度が低
く処理にために資源を占有する時間長が既知である第2
のタスクCとの間のスケジュール管理を行うタスク実行
管理装置であって、共有資源の排他制御の影響で優先度
の高い第1のタスクの処理タイミングに遅延が生じない
ようにするタスク実行管理装置を提供することを目的と
する。
【0010】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明のタスク実行制御装置は、実行開始予定時
刻が予測可能な第1のタスクと共有資源を占有使用する
時間長が既知である第2のタスクとが資源を共有するシ
ステムにおいて、前記第1のタスクの優先度が前記第2
のタスクの優先度よりも高いという条件の元でタスクの
スケジューリングを行うタスク実行制御装置であって、
前記第2のタスクによる共有資源の占有に先立って、前
記第1のタスクの次回実行開始予定時刻と前記第2のタ
スクが前記共有資源を解放すると予想される解放予定時
刻とを求める時間算出手段と、前記次回実行開始予定時
刻と前記解放予定時刻とを比較して、前記解放予定時刻
より前記次回実行開始予定時刻が早ければ、前記第2の
タスクに前記共有資源の占有を認めず、一方、前記解放
予定時刻より前記次回実行開始予定時刻が早くなけれ
ば、前記第2のタスクに前記共有資源の占有を許す資源
管理手段を有することを特徴とする。
【0011】このように、優先度の低い第2のタスクに
共有資源の占有を認めるか否か判断する際に、資源の解
放予想時刻を、優先度の高い第1のタスクの「資源占有
開始予想時刻」ではなく「処理開始予定時刻」とを比較
して判定を行うので、第1のタスクの処理開始時刻から
第1のタスクの資源占有開始時刻までの処理時間帯に第
2のタスクの資源解放時刻が重なる場合にも、第1のタ
スクの処理開始に遅延が生じることはない。
【0012】
【発明の実施の形態】以下、本発明に関するタスク実行
制御装置の実施の形態について図面を参照しながら説明
する。 (環境)図1は、本実施の形態におけるタスク実行制御
装置1を、タスクの実行環境Aと共に示す構成図であ
る。実行環境Aは、中央演算装置(CPU)、メモリ、
グラフィックスデバイスなどの各種デバイスやハードウ
ェア資源を含むハードウェア層A1、タスク実行に伴う
デバイスやハードウェアの管理、そして、タスクのスケ
ジューリングを含む制御処理が行われるオペレーション
・システム(OS)層A2、さらに、OS層A2上で動
作するアプリケーション群A3から成る。
【0013】本実施の形態におけるタスク実行制御装置
1は、OS層A2に含まれるカーネルの一部としてタス
クのスケジューリングに関する処理を行う。 (概要)タスク実行制御装置1の構成について述べる前
に、タスク実行制御装置1によるスケジュール制御の概
要について説明しておく。
【0014】タスク実行制御装置1によるスケジュール
制御は、各タスクに付与された優先度に従ってタスクの
実行順序を決める「優先度方式」をベースとしている。
タスク実行制御装置1は、優先度を参照しながら、各タ
スクを以下に示す5つの状態(“RUN”、“READ
Y”、“WAIT”、“SUSPEND”、“DORM
ANT”)のいずれかに置くことでタスクの実行順序を
制御する。“RUN”は実行中の状態、“READY”
は実行可能ではあるが優先度が高い他タスクが“RU
N”の状態であるため待機している状態、“WAIT”
は資源獲得待ちなど、そのタスクに実行に必要な何らか
の条件が満たされるのを待っている状態、“SUSPE
ND”は強制的に処理を一時停止された状態、“DOR
MANT”はタスクがまだ起動されていない、もしくは
終了後の状態である。
【0015】図2は、タスクの状態遷移を示す図であ
る。この図を参照しながら、ある1つのタスクが起動し
てから終了するまでの状態遷移を説明する。先ず、“D
ORMANT”状態にあったタスクが起動し、それによ
って状態は“WAIT”に変わり、さらにその後、実行
に必要な条件が整った時点で“READY”へ移され
る。そしてこの時点で、同様に“READY”状態にあ
る全タスクの中で最も優先度が高ければ(又は、他に
“READY”状態のタスクがなければ)、“RUN”
状態となって実行され、実行を終えると“DORMAN
T”状態に戻される。ただし、“RUN”状態で実行中
に、より優先度の高い他タスクの割り込み実行などの理
由で強制的に一時停止されて“SUSPRND”状態と
される場合がある。
【0016】なお、図1には、アプリケーション群の実
行に伴って数多く実行される制御対象のタスクの中か
ら、例としてタスクA、タスクB、タスクCを図示して
ある。これらタスクは、タスク実行制御装置1によるタ
スクのスケジュール管理処理の特徴が最も顕著に現れる
ような性質のものである。すなわち、タスクAは、所定
の周期で繰り返し実行される性質を有し、3つのタスク
の中で優先度が最も高い。タスクCは、タスクAと共通
の資源(共有資源)を使用して実行されるもので、クリ
ティカルセクション(タスクの処理のうち共有資源を占
有して行う必要のある部分)の実行に要する時間長が固
定であり、3つのタスクの中で優先度が最も低い。タス
クBは、タスクA、Cと資源を共有することはなく、優
先度は2番目である。よって、タスクA、Cの間には共
有資源に関して排他制御が行われる。なお、ここでの共
有資源はセマフォ用資源とする。
【0017】なお、これらタスクのうち、タスクA、C
は以下のパラメータ情報を保持し、実行時にはタスク実
行制御装置1に渡す。先ず、資源を共有する相手タスク
の識別情報(タスクA、C)、クリティカルセクション
の実行に要する時間長(タスクC)、そして、一定周期
で起動するタスクAの当該周期、である。次いで、これ
らタスクに対してスケジュール制御を行う場合を例に、
タスク実行制御装置1の構成と各構成部の処理内容とを
説明する。
【0018】(構成)図1に示す通り、タスク実行制御
装置1は、個々のタスクについて図2に示すように状態
遷移させることで実行順序を制御するスケジューリング
部11、スケジューリング部11がタスク実行順序制御
のために参照する余裕時間を算出する余裕時間計算部1
2、タスク共有資源の排他制御やタスク割り込みに伴な
う優先度の逆転を回避するための処理を行う管理部13
を有する。なお、管理部13はさらに、タスク共有資源
の排他制御に関する処理を行うセマフォ管理部131
と、割り込みに関連してタスクの優先度を調整する優先
度管理部132とから成る。
【0019】タスク実行制御装置1によるタスク実行順
序制御の特徴は、上記タスクA、B、Cのようなタスク
間での実行順序制御を行う場合に、余裕時間計算部12
が算出する「余裕時間」に基づいて、実行スケジューリ
ングを最適化する点である。余裕時間は、クリティカル
セクションの実行時間長(共有資源の占有時間長)が既
知のタスクCが、実行開始予定時刻が決まっているタス
クAと共有する資源を占有した場合、タスクCが資源を
解放してからタスクAが実行開始されるまでの時間的な
余裕を示すものである。余裕時間は、タスクCが共有資
源の獲得要求を発行した時点で、以下の式によって求め
られる。 余裕時間(t)=タスクAの実行開始予定時刻(Ta)
−タスクCの共有資源解放時刻(Tr) そして、タスクCの共有資源解放時刻(Tr)は、「タ
スクCによる共有資源の獲得要求時刻(Ts)+タスク
Cの共有資源占有時間長(tc)」となる。
【0020】余裕時間が負であれば、タスクCの共有資
源解放時刻(Tr)は、タスクAの実行開始予定時刻
(Ta)を過ぎており、このままタスクCに資源(セマ
フォ)占有を許せばタスクAに資源解放待ちが生じるこ
と、を意味する。逆に余裕時間が正であれば、タスクC
が共有資源(セマフォ)を解放した後、余裕時間分の時
間が経過してから、タスクAが実行開始されることにな
る。よって、このままタスクCにセマフォ占有を許して
も、割り込みタスクがなければ、タスクAに資源解放待
ちが生じることはない。さらに、割り込みタスク(ここ
ではタスクB)が生じてタスクCによるセマフォ解放の
時刻が後にずれ込んでも、タスクBの処理時間長が余裕
時間以下であればタスクAに待ちは生じない、と言え
る。
【0021】タスクCの資源占有時間長(tc)は、タ
スクCがクリティカルセクション部分の処理を実行する
のに要する時間の長さであり、これは、タスクCのクリ
ティカルセクション部分のプログラムステップ数、CP
Uのクロック数、デバイスの応答時間から求めることが
できる。また、他タスクが起動しない状態で、タスクC
を実際に起動させてクリティカルセクション部分の処理
時間を計測することで求めることもできる。
【0022】以下、構成各部の処理内容について説明す
るが、説明の便宜上、(1)タスクA、Cの共有資源
(セマフォ)の排他制御に伴なう優先度の逆転を防ぐた
めの処理を行う構成と、(2)タスクBの割り込みに伴
なう優先度の逆転を防ぐための処理を行う構成とに分け
て、2段階で説明する。 (1)共有資源に関する処理を行う構成 共有資源の排他制御に伴なう優先度の逆転を防ぐための
処理を行う構成は、余裕時間算出部12、管理部13の
うちセマフォ管理部131、スケジューリング部11で
ある。
【0023】余裕時間算出部12は、タスクCがセマフ
ォ獲得要求をセマフォ管理部131に対して発行したタ
イミングで、セマフォ管理部131からの指示に従って
余裕時間を算出する。算出に必要な情報(上記計算式の
各項目)は、セマフォ管理部131から前記指示ととも
に送られてくる。セマフォ管理部131は、タスクから
の資源(セマフォ)獲得要求に応じてセマフォの占有を
許し、当該タスクがセマフォを占有して行う処理(クリ
ティカルセクション)を終えた時点で、タスクからの通
知を受けてセマフォを解放する。また、タスクにセマフ
ォの占有を許したり、セマフォを解放したりした場合
は、占有許可、解放の通知をスケジューリング部11に
送って、当該タスクの状態遷移を促す。
【0024】ただし、セマフォ管理部131は、タスク
Cからセマフォの獲得要求を受けた場合、余裕時間算出
部12に余裕時間を算出させ、その結果をもとにタスク
Cにセマフォ占有を認めるか否か決定する。余裕時間が
負の場合は占有を認めず、正の場合はセマフォの占有を
認める。余裕時間算出部12に余裕時間算出を指示する
場合は、算出に必要な情報(獲得要求の受付時刻、占有
時間長(tc)、タスクAの次回処理開始時刻(T
a))をパラメータとして渡す。
【0025】スケジューリング部11は、各タスクの優
先度と状態(図2参照)とをもとに、タスクからの各種
要求に応じてタスクの実行順序を制御する。スケジュー
リング部11は、タスクからの各種要求(開始要求、資
源(セマフォ)獲得要求など)を受け付け、これら要求
に合わせて内部で管理している優先度情報、状態情報を
更新し、タスクの実行順序制御を行う。
【0026】以下、余裕時間が負の場合と正の場合の各
々について、スケジューリング部11によるタスク実行
制御の具体例を図面に従って説明する。図3、4は、そ
れぞれ余裕時間が負の場合、正の場合のタスクの実行予
定と実際の実行タイミングとを示すタイミング図であ
る。これらの図面において、上半分はタスクの実行要求
が起こるタイミングとタスクの処理時間長との予定を時
間軸に沿って表す予定時間部分310である。図中の矩
形はタスクの処理時間長を表し、その中の斜線部分がク
リティカルセクションの処理時間長(資源占有時間長)
を示す。そして、下半分は、スケジューリング部11に
よる制御の結果、実際にタスクがどのように実行された
かを、RUN状態となるタスクの遷移で示す実行タイミ
ング部分320である。RUN状態は太線で示す。な
お、タスクA、CがいずれもRUN状態でない場合は処
理実体のないアイドルタスクがRUN状態となる。タス
ク間にスケジュール調整の必要がない場合は、各タスク
は、予定時間部分410で示す実行予定期間と実行タイ
ミング部分420でRUN状態となる期間とが一致する
ことになる。また、本タスク実行制御装置1は、優先度
の高いタスクAが予定時間通りに実行されるようタスク
制御を行うので、タスクAについては、常に予定時間通
りのタイミングでRUN状態となる。
【0027】図3は、余裕時間が負の場合、即ち、タス
クCのクリティカルセクションがタスクAの開始予定時
刻(Ta)までに終了しない場合の図である。 余裕時間(t)=タスクAの実行開始時刻(Ta)−共
有資源解放時刻(Tr) (なお、「Tr=獲得要求時点Tc+タスクCの資源占
有時間長(tc)」である)を計算すると、余裕時間
(t)は負の値である(TaよりTrの方が後)。これ
は、タスクCに要求通り資源を占有させると、タスクA
がタスクCの資源解放待ちとなることを意味する。よっ
て、セマフォ管理部131はタスクCにセマフォ占有を
認めず、その旨、スケジューリング部11に通知してく
るので、スケジューリング部11は、タスクCをSUS
PEND状態とする(アイドルタスクをRUN状態にす
る)。そして、タスクCのクリティカルセクション以降
の処理はタスクAの処理終了時点Te以降に再開させ
る。
【0028】図4は、余裕時間が正の場合、即ち、タス
クCのクリティカルセクションがタスクAの開始時点T
aまでに終了する場合の図である。 余裕時間t=タスクAの実行開始時点Ta−共有資源解
放時刻(Tr) (「Tr=獲得要求時点Tc+タスクCの資源占有時間
長(tc)」)を計算すると、余裕時間tは正の値であ
る(TaよりTrの方が先)。セマフォ管理部131は
タスクCに資源占有を認め、その旨をスケジューリング
部11に通知するので、これを受けたスケジューリング
部11はタスクCをRUN状態とし、タスクCはクリテ
ィカルセクション以降の処理に入る。さらにその後、ク
リティカルセクションをぬけた後もタスクC処理を続け
るが、優先度の高いタスクAがスケジューリング部11
に開始要求を送ってくる時点Taにおいて、スケジュー
リング部11はタスクCをSUSPEND状態とし、タ
スクAをRUN状態にする。そして、タスクAの処理が
終了した後で、スケジューリング部11はタスクCをR
UN状態に戻す。
【0029】(2)割り込みタスクへの対応処理を行う
構成 次いで、共有資源の占有に伴なう優先度の逆転を防ぐた
めの処理を行う構成について説明する。この構成は、図
4のように余裕時間が正となってタスクCを実行中に、
第3のタスクB(タスクA、Cと資源を共有せず、優先
度がタスクCより高くタスクAより低いタスク)の割り
込みによる「優先度逆転現象」が発生しないようにする
ものである。具体的には、タスクBの処理時間長が余裕
時間に達した時点で、タスクCの優先度をタスクAと同
じ優先度に上げる。それによって「タスクCの優先度>
タスクBの優先度」となるため、タスクCがタスクBに
割り込んでRUN状態となり、タスクAの実行開始時刻
までにタスクCのクリティカルセクション処理を完了さ
せることができる。こうした処理を行う構成部は、管理
部13のうち優先度管理部132、スケジューリング部
11、余裕時間算出部12であるが、余裕時間算出部1
2の処理は既に述べたので説明は省略する。
【0030】優先度管理部132は、余裕時間から得ら
れる許容時間長の情報を保持し、許容時間長を超えない
範囲でだけタスクBによる割り込み処理を許すように、
スケジュール部111を制御するものである。優先度管
理部132は、タスクBの割込みによってタスクCがS
USPEND状態となった旨の通知をスケジューリング
部11から受けて起動する。そして、現在時刻を保存す
るとと共にセマフォ管理部131から「余裕時間」の情
報を得る。そして、この余裕時間を初期値として「許容
時間」に値を設定し、これを付加した「優先度切替指
示」をスケジューリング部11に送る。
【0031】「優先度切替指示」は、タスクBによる処
理時間が許容時間に達した時点でタスクCの優先度をタ
スクAと同じ高さに上げるようスケジューリング部11
を制御するものである。パラメータとして、「許容時
間」、「優先度切替対象のタスク(ここではタスクC)
の識別子」、「切り替え後優先度を有するタスク(ここ
ではタスクA)の識別子」が付加される。優先度切替指
示の発行は、カーネルが一般的に備えるアラーム通知機
能により実現される。また、優先度切替指示はアラーム
キャンセル機能により取消すこともできる。
【0032】「優先度切替指示」発行後の優先度管理部
132の処理は、タスクBが許容時間内で処理を終える
か否かに応じて分かれる。許容時間内で処理を終えた場
合、スケジューリング部11から、タスクBの終了(タ
スクCのRUN状態への復帰)通知が「タスクBの処理
時間長(割込処理時間)」の情報と共に送られてくるの
で、優先度管理部132は、先に発行した優先度切替指
示に対する取消し要求をスケジューリング部11に発行
する。さらに、「割込処理時間」を差し引く形で「余裕
時間」の値を更新し、更新後の値を保存する。
【0033】逆に許容時間内でタスクBが処理を終えな
かった場合、スケジューリング部11は優先度切替指示
を実行してタスクCの優先度を上げ、その旨を優先度管
理部132に伝えてくるので、優先度管理部132は、
タスクCに優先度切替が行われたことを示す内部情報を
設定し(「切替実行フラグをON設定し」)し、「余裕
時間」を0に更新する。
【0034】また、優先度管理部132は、いったん切
り替えられたタスクCの優先度を元に戻す指示をスケジ
ューリング部11に対して発行する。具体的には、タス
クCがクリティカルセクションを抜けた旨の通知をスケ
ジューリング部11から受けた時点で、切替実行フラグ
を参照し、フラグがONであった場合にのみ、スケジュ
ーリング部11に対し、タスクCの優先度を変更前に戻
すよう指示する。
【0035】スケジューリング部11は、上記の「優先
度切替指示」に従ってタスクCの優先度を切り替えると
ともに、優先度管理部132に対し処理に必要な情報を
提供する。スケジューリング部11が優先度管理部13
2に提供する情報は、具体的には、タスクCの状態遷移
(RUN→SUSPEND、SUSPEND→RUN)
とその遷移の原因(タスクBの割込み/終了、「優先度
切替指示」実行の結果)、タスクBの処理時間長(割込
処理時間)などである。
【0036】「優先度切替指示」を受けたスケジューリ
ング部11は、タスクBが実行開始してからの経過時間
を「割込処理時間」として計測し、割込処理時間が許容
時間を超えないようにチェックしながらタスクBの終了
を待つ。そして、タスクBが、「許容時間>割込処理時
間」の範囲内で処理を終えた場合、スケジューリング部
11はタスクCを“RUN”状態にしたうえで、「割込
処理時間」とともにこの状態遷移を優先度管理部132
に通知する。逆に、タスクBの処理が「許容時間=割込
処理時間」となるまで続いた場合、スケジューリング部
11は優先度切替指示に従って、変更前優先度を保存し
た上でタスクCの優先度をタスクAと同じ高さまで引き
上げ、この優先度引き上げを優先度管理部132に通知
する。
【0037】また、スケジューリング部11は、優先度
管理部132からタスクCの優先度の復元指示を受け付
けると、保持していた変更前優先度の値にタスクCの優
先度を戻す。図5は、スケジューリング11が割込みタ
スクの発生に応じて行うタスク制御の内容を、図4や図
5と同じ形式で示すタイミング図である。同図では、2
つのタスクB、B’が割り込み、タスクBは許容時間内
で処理を終えるが、タスクB’の処理は許容時間長を超
え、スケジューリング部11は優先度の切替を行う。
【0038】まず、タスクCがクリティカルセクション
に入る時点Tc1で、余裕時間長は正であり、タスクC
はセマフォを獲得する。その後、時点Tb1でタスクB
が実行開始要求を発行すると、スケジューリング部11
は、タスクCをSUSPEND状態にしてタスクBを実
行させ、タスクCの状態遷移を優先度管理部132に通
知する。これに対し、優先度管理部132からは優先度
切替指示がスケジューリング部11に対して発行され
る。
【0039】その後、タスクBが時点Tb2で終了する
と、スケジューリング部11はタスクCをRUN状態に
戻し、タスクBの割込処理時間を優先度管理部132に
通知する。優先度管理部132からは、優先度切替指示
のキャンセル指示がスケジューリング部11に送られて
くる。またこの時、優先度管理部132は、割込処理時
間を元に余裕時間を更新する。
【0040】その後、時点Tb3でタスクB’の実行開
始要求が生じる。スケジューリング部11は、タスクC
をSUSPEND状態にしてタスクB’を実行させる。
すると、上記と同様に優先度管理部132から優先度切
替指示が発行される。その後、時点Tb4でタスクB’
の処理時間長が許容時間長に達し、スケジューリング部
11はタスクCの優先度をタスクAと同じ優先度に上
げ、タスクCをRUN状態に戻す。その結果、タスクC
が共有資源を解放した時点Tc2の直後(時点Ta)
に、タスクAの実行開始要求が発行されることになる。
そのため、スケジューリング部11は、優先度通りにタ
スクAをRUN状態とすることができる。また、これに
並行して、スケジューリング部11は、タスクCの優先
度を切替前の値に戻す。
【0041】その後、タスクAは予定通りに時点Taに
終了する。終了時点でタスクB’、タスクCがSUSP
END状態になっているが、スケジューリング部11
は、先ず優先度の高いタスクB’を、そしてタスクB終
了後にはタスクCを、順次RUN状態にする。 (動作)次いで、本実施の形態のタスク管理装置1の動
作について、図面を参照しながら説明する。なお、ここ
でも、共有資源の排他制御に伴なう優先度逆転を防ぐた
めの動作と、他タスクの割り込みに伴なう優先度逆転を
防ぐための動作とに分けて説明する。
【0042】(1)共有資源の排他制御に関連する動作 図6はタスクCがセマフォ獲得要求を発行した後に行わ
れる、タスクA、Cの間の実行順序制御におけるタスク
制御装置1の動作を示すフローチャートである。当図と
ともに図3、4を参照しながら説明する。先ず、セマフ
ォ管理部131が、アプリケーション層A3内のあるタ
スクから資源獲得要求を受け付ける(S601:Ye
s)。セマフォ管理部131は要求元のタスクについ
て、資源占有時間長が一定で、優先度の高い他タスク
(タスクA)と資源を共有しているタスク(タスクC)
か否かをチェックする。このチェックは、「資源を共有
する他タスクの識別情報」と「要求元タスク自身の資源
占有時間長(クリティカルセクション処理時間長)」と
いう2つのパラメータが要求に付加されているか否かに
基づいて行われる。
【0043】タスクCからの要求であった場合、セマフ
ォ管理部131は、受け取った識別情報が示すセマフォ
共有の相手(タスクA)に次回実行予定時刻(Ta)を
問い合わせ、その予定時刻(Ta)、タスクCの資源占
有時間長(tc)、タスクCのセマフォ獲得要求時刻
(Tc)とを余裕時間計算部12に送り、余裕時間を算
出させる(S602)。
【0044】余裕時間計算部12は算出した余裕時間を
セマフォ管理部131に返す。セマフォ管理部131
は、この余裕時間の正負をチェックする。余裕時間の値
が負の場合、すなわち、図3に示すようなタイミングで
あった場合(S303:No)、セマフォ管理部131
は、タスクCにセマフォの占有を許さない。そのため、
スケジューリング部11はタスクCを実行状態(“RU
N”)にすることができず、タスクCは待機を続けるこ
とになる(S604)。その後、タスクAの開始時刻
(Ta)が来てタスクAからの起動要求を受け付けたス
ケジューリング部11が、タスクAを“RUN”状態に
切り替える。次いで、タスクAからセマフォ管理部13
1に資源獲得要求が送られてくるので、セマフォ管理部
131はタスクAにセマフォの占有を許す(S60
5)。その後、タスクAがセマフォ使用を完了した時点
でセマフォ管理部131はセマフォを解放する。さら
に、タスクAの全処理が終了すると(S606:Ye
s)、セマフォ管理部131はタスクCからの要求に応
じて、セマフォをタスクCに占有させる。それを受け
て、スケジューリング部11はタスクCを“RUN”に
切り替え、タスクCの残処理を実行させる(S60
7)。
【0045】余裕時間の値が正の場合、すなわち図4に
示すようなタイミングの場合(S603:Yes)、セマ
フォ管理部131は、タスクCにセマフォを占有させる
と共に、余裕時間を保存する(S608)。そして、タ
スクCにセマフォが与えられたのを受けて、スケジュー
リング部11はタスクCを“RUN”状態にする。その
後、タスクCが実行されている間、スケジューリング部
11は、優先度管理部132と共に、第3のタスクBに
よる割り込みに対応する割り込み監視処理を実行しなが
ら、タスクCのクリティカルセクション終了を待つ(S
609)。その後、タスクAの開始時刻(Ta)になっ
た時点で、スケジューリング部11はタスクAを“RU
N”状態にし(S610)、タスクA終了後、タスクC
または割り込みタスクBに残処理があれば、タスクB、
タスクCの順序で実行させる。
【0046】なお、ステップS609の割り込み監視処
理に関しては、以下に、別途説明する。 (2)割り込み監視の動作 図7は、タスクCの実行中に第3のタスクBの処理が割
り込み実行される場合に行われる、タスク制御装置1の
割り込み監視動作を示すフローチャートである。当図と
ともに図5を参照しながら説明する。
【0047】なお、図7に示す動作は、図6におけるス
テップS609の詳細である。先ず、前提として、割り
込み監視の処理は、タスクAの開始時刻(Ta)に達す
るまでの間(S701:Yes)行われる。余裕時間が
「正」の状況で、タスクCがセマフォを占有して処理を
行っている途中に、スケジューリング部11が、タスク
Cより優先度の高いタスクBから実行開始要求を受ける
と(S702:Yes)(図5の時点Tb1又はTb
3)、スケジューリング部11は、タスクBを“RU
N”状態にし、タスクCを“SUSPEND”状態に切
り替える(S703)。スケジューリング部11は、さ
らに、優先度管理部132にタスクBの割り込みと、タ
スクCの“SUSPEND”切り替えとを通知する。
【0048】優先度管理部132は、通知を受けると現
在時刻(Tb1)を保存し、セマフォ管理部131か
ら、これが保存している「余裕時間」を得る(なお、セ
マフォ管理部131から余裕時間を得るのは最初の割込
みの際のみ、2回目以降の割込み時には、優先度管理部
132自身が更新、保持している余裕時間の情報を用い
る)。そして、この余裕時間の値を「許容時間」パラメ
ータに設定し、これを付加した優先度切替指示をスケジ
ューリング部11に送る(S704。) スケジューリング部11は、割り込み時刻からの経過時
間を「割込処理時間」として計測し(S705)、割込
処理時間が許容時間を超えないようにチェックしながら
タスクBの終了を待つ(S706、S707)。割り込
んだタスクBが、「許容時間>割込処理時間」の範囲内
で処理を終えた場合(S707:Yes)(図6の時点T
b2)、スケジューリング部11は、再びタスクCを
“RUN”状態に切り替え(S708)、この切替を
「割込処理時間」とともに優先度管理部132に通知す
る。
【0049】この通知を受けた優先度管理部132は、
ステップS704で発行した優先度切替指示に対するキ
ャンセル要求をスケジューリング部11に発行する。さ
らに、この時点での「割込処理時間」を差し引く形で
「余裕時間」の値を更新し、更新後の値を保存する(S
709)。その後、タスクAの開始時刻(Ta)になる
までに、別の割り込みタスクB’からスケジューリング
部11に開始要求が入った場合は、更新後の許容時間を
参照しながら、ステップS702〜S709の処理が繰
り返されることになる。
【0050】一方、「割込処理時間≧許容時間」に達す
るまでタスクBの処理が続いた場合(S706:Yes)
(図5の時点Tb4)、スケジューリング部11は、先
に優先度管理部132から受けた優先度切替指示に従っ
て、変更前優先度を保存した上でタスクCの優先度をタ
スクAと同じ高さまで引き上げる(S710)。これに
より、優先度については「タスクC>タスクB」となる
ので、スケジューリング部11は、タスクBを“SUS
PEND”状態に、タスクCを“RUN”状態に、それ
ぞれ切り替える(S711)。また、タスクCの優先度
切替を優先度管理部132に通知する。この通知を受け
た優先度管理部132は、切替実行フラグをONに設定
し、保存する。さらに「余裕時間」を0に更新する。
【0051】なお、タスクCがクリティカルセクション
の処理を終えると(S712:Yes)(図5の時点Tc
2)、その通知を受けたセマフォ管理部131はセマフ
ォを解放し、さらに、優先度管理部132にこの旨を通
知する。優先度管理部132は切替実行フラグを参照す
る。フラグはONなので、スケジューリング部11にタ
スクCの優先度を変更前に戻すよう指示する。これを受
けて、スケジューリング部11は、保持していた変更前
優先度の値にタスクCの優先度を戻す(S713)。こ
の後は、タスクAの開始時刻(Ta)になるまでタスク
Cが実行される。
【0052】(まとめ)以上のように、本実施の形態の
タスク実行制御装置1は、タスクCの共有資源獲得時
に、タスクCがクリティカルセクションを抜ける時刻
を、タスクAの資源獲得予定時刻ではなくタスクAの起
動予定時刻と比較してタスクCに資源占有を許すか否か
判定する。よって、図8に示す従来技術のように、タス
クAが資源獲得前の処理を行う時間帯とタスクCが資源
を占有する時間帯とが重なった場合でも、この重複部分
の時間(図8のtd)だけタスクAの処理終了が遅れる
といった事態は発生しない。
【0053】また、本実施の形態のタスク実行制御装置
1では、優先度制御部132の処理により、第3のタス
クによる割り込み処理が生じた場合、その「割込処理時
間」の累計が余裕時間に達した時点でタスクCの優先度
がタスクAと同じ優先度に上げられるため、タスクAの
処理が、タスクAより優先度の低いタスクによって遅ら
される「優先度逆転現象」は発生しない。また、割り込
みタスクの優先度がタスクAより高かった場合は、正し
く割り込みタスクが優先的に実行され、タスクA、Cの
ためにより優先度の高い割り込みタスクが遅らされる、
という形での「優先度逆転現象」も発生しない。なお、
優先度逆転現象を防ぐという目的のためだけであれば、
タスクCが資源占有を開始する時点TcからタスクAの
処理開始時点Taまでの間、タスクCの優先度をタスク
Aと同じにしておき、他タスクBの割り込みを防ぐとい
う方法もあるが、これだと、タスクC終了からタスクA
の開始までの間CPUがアイドル状態になる可能性があ
る。本実施の形態の方法では、許容時間の範囲内で他タ
スクの割り込み処理を実行するので、CPUを無駄にア
イドル状態におくことがない。
【0054】なお、セマフォ管理部131、優先度管理
部132、余裕時間計算部12が行う処理はアプリケー
ション側において行わせることとしてもよい。
【0055】
【発明の効果】上記の説明から明らかな通り、本発明の
タスク実行制御装置は、実行開始予定時刻が予測可能な
第1のタスクと共有資源を占有使用する時間長が既知で
ある第2のタスクとが資源を共有するシステムにおい
て、前記第1のタスクの優先度が前記第2のタスクの優
先度よりも高いという条件の元でタスクのスケジューリ
ングを行うタスク実行制御装置であって、前記第2のタ
スクによる共有資源の占有に先立って、前記第1のタス
クの次回実行開始予定時刻と前記第2のタスクが前記共
有資源を解放すると予想される解放予定時刻とを求める
時間算出手段と、前記次回実行開始予定時刻と前記解放
予定時刻とを比較して、前記解放予定時刻より前記次回
実行開始予定時刻が早ければ、前記第2のタスクに前記
共有資源の占有を許さず、一方、前記解放予定時刻より
前記次回実行開始予定時刻が早くなければ、前記第2の
タスクに前記共有資源の占有を許す資源管理手段、を有
することを特徴とする。
【0056】この構成によれば、第2のタスクの共有資
源要求時に、第2のタスクが資源を解放する予定時刻
を、第1のタスクの資源獲得予定時刻ではなく実行開始
予定時刻と比較して第2のタスクに資源占有を許すか否
か判定する。よって、第1のタスクが資源獲得前の処理
を行う時間帯と第2のタスクが資源を占有する時間帯と
が重なった場合でも、この重複部分の時間だけ第1のタ
スクの処理終了が遅れるといった事態は発生しない。
【0057】なお、前記第2のタスクが前記共有資源を
占有中に、優先度が前記第1のタスクより低く前記第2
のタスクよりも高いとともに前記共有資源を使用しない
第3のタスクによる割り込み要求を受け付ける割込受付
手段と、前記割込受付手段が割込み要求を受け付ける
と、前記次回実行開始予定時刻から前記解放予定時刻を
差し引いて余裕時間長を求める余裕時間長算出手段と、
前記割込み要求に応じて、前記第2のタスクを一時停止
状態にして前記第3のタスクの処理実行を許す割込制御
手段と、前記割込み制御手段によって前記第2のタスク
が一時停止状態に置かれてからの経過時間長が前記余裕
時間長に達すると、前記第2のタスクの優先度を前記第
1のタスクの優先度にまで高める形で更新し、その後、
前記第2のタスクが前記共有資源を解放する時点で前記
第2のタスクの優先度を更新前の値に戻す優先度制御手
段とを更に有する、とすることもできる。
【0058】この構成によれば、第3のタスクによる割
り込み処理が生じた場合、その割込処理時間が余裕時間
長に達した時点で第2のタスクの優先度が第1のタスク
と同じ優先度に上げられるため、第1のタスクの処理が
第3のタスクの割込みの影響で遅らされる「優先度逆転
現象」は発生しない。同時に、第3のタスクの優先度が
第1のタスクより高い場合は、正しく割り込みタスクが
優先的に実行され、第1のタスク、第2のタスクのため
に優先度の高い第3のタスクが遅らされる、という形で
の「優先度逆転現象」も発生しない。
【0059】また、前記経過時間長が前記余裕時間長に
達する前に前記第3のタスクが終了した場合、前記余裕
時間長から前記経過時間長を差し引いた結果を新たな値
とする形で前記余裕時間長を更新する余裕時間長更新手
段を更に有すること、とすることもできる。この構成に
よれば、第2のタスクの資源占有開始から第1のタスク
の処理開始までに第3のタスクが複数回割込んできて
も、上記の「優先度逆転現象」回避の効果は同様に達成
できる。
【0060】なお、上記の効果は、上述の構成部と同様
の処理を行うステップからなるタスク実行制御方法によ
っても実現可能であり、更には、そうした方法を計算機
に実行させるためのプログラムによっても実現できる。
【図面の簡単な説明】
【図1】本発明のタスク実行制御装置に係る実施の形態
の構成を実行環境と共に示すブロック図である。
【図2】同実施の形態におけるタスクの状態遷移を示す
図である。
【図3】同実施の形態において余裕時間が負の場合にお
ける各タスクの実行予定と実際の実行タイミングとを示
すタイミング図である。
【図4】同実施の形態において余裕時間が正の場合にお
ける各タスクの実行予定と実際の実行タイミングとを示
すタイミング図である。
【図5】同実施の形態において割込みタスクが発生した
場合における各タスクの実行予定と実際の実行タイミン
グとを示すタイミング図である。
【図6】同実施の形態の装置が共有資源の占有に伴なっ
てタスク実行制御処理を行う際の動作を示すフローチャ
ートである。
【図7】同実施の形態の装置が割込みタスクの発生に伴
なってタスク実行制御処理を行う際の動作を示すフロー
チャートである。
【図8】従来技術において共有資源の占有に伴なうタス
ク実行制御の結果生じる問題を示すタイミング図であ
る。
【図9】従来技術においてタスク割込みに伴なうタスク
実行制御の結果生じる問題を示すタイミング図である。
【符号の説明】
1 タスク実行制御装置 11 スケジューリング部 12 余裕時間算出部 13 管理部 131 セマフォ管理部 132 優先度管理部 A 実行環境 A1 ハードウェア層 A2 OS層 A3 アプリケーション層
フロントページの続き (72)発明者 ▲よし▼井 健人 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 (72)発明者 關口 卓也 大阪府門真市大字門真1006番地 松下電器 産業株式会社内 Fターム(参考) 5B098 BB08 CC01 GA04 GC01 GC03

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 実行開始予定時刻が予測可能な第1のタ
    スクと共有資源を占有使用する時間長が既知である第2
    のタスクとが資源を共有するシステムにおいて、前記第
    1のタスクの優先度が前記第2のタスクの優先度よりも
    高いという条件の元でタスクのスケジューリングを行う
    タスク実行制御装置であって、 前記第2のタスクによる共有資源の占有に先立って、前
    記第1のタスクの次回実行開始予定時刻と前記第2のタ
    スクが前記共有資源を解放すると予想される解放予定時
    刻とを求める時間算出手段と、 前記次回実行開始予定時刻と前記解放予定時刻とを比較
    して、前記解放予定時刻より前記次回実行開始予定時刻
    が早ければ、前記第2のタスクに前記共有資源の占有を
    許さず、一方、前記解放予定時刻より前記次回実行開始
    予定時刻が早くなければ、前記第2のタスクに前記共有
    資源の占有を許す資源管理手段、を有することを特徴と
    するタスク実行制御装置。
  2. 【請求項2】 前記第2のタスクが前記共有資源を占有
    中に、優先度が前記第1のタスクより低く前記第2のタ
    スクよりも高いとともに前記共有資源を使用しない第3
    のタスクによる割り込み要求を受け付ける割込受付手段
    と、 前記割込受付手段が割込み要求を受け付けると、前記次
    回実行開始予定時刻から前記解放予定時刻を差し引いて
    余裕時間長を求める余裕時間長算出手段と、 前記割込み要求に応じて、前記第2のタスクを一時停止
    状態にして前記第3のタスクの処理実行を許す割込制御
    手段と、 前記割込み制御手段によって前記第2のタスクが一時停
    止状態に置かれてからの経過時間長が前記余裕時間長に
    達すると、前記第2のタスクの優先度を前記第1のタス
    クの優先度にまで高める形で更新し、その後、前記第2
    のタスクが前記共有資源を解放する時点で前記第2のタ
    スクの優先度を更新前の値に戻す優先度制御手段と、を
    更に有すること、 を特徴とする請求項1に記載のタスク実行制御装置。
  3. 【請求項3】 前記経過時間長が前記余裕時間長に達す
    る前に前記第3のタスクが終了した場合、前記余裕時間
    長から前記経過時間長を差し引いた結果を新たな値とす
    る形で前記余裕時間長を更新する余裕時間長更新手段を
    更に有すること、 を特徴とする請求項2に記載のタスク実行制御装置。
  4. 【請求項4】 実行開始予定時刻が既知である第1のタ
    スクと共有資源を占有使用する時間長が既知である第2
    のタスクとが資源を共有するシステムにおいて、前記第
    1のタスクの優先度が前記第2のタスクの優先度よりも
    高いという条件の元でタスクのスケジューリングを行う
    タスク実行制御方法であって、 前記第2のタスクが共有資源の占有を要求した時点で、
    前記第1のタスクの次回実行開始予定時刻と前記第2の
    タスクが前記共有資源を解放すると予想される解放予定
    時刻とを求める時間算出ステップと、 前記次回実行開始予定時刻と前記解放予定時刻とを比較
    して、前記解放予定時刻より前記次回実行開始予定時刻
    が早ければ、前記第2のタスクに前記共有資源の占有を
    認めず、前記第1のタスクの次回実行が終了するまで前
    記第2のタスクを一時停止状態に置き、一方、前記解放
    予定時刻より前記次回実行開始予定時刻が早くなけれ
    ば、前記第2のタスクに前記共有資源の占有を許す資源
    管理ステップと、を有することを特徴とするタスク実行
    制御方法。
  5. 【請求項5】 前記第2のタスクが前記共有資源を占有
    中に、優先度が前記第1のタスクより低く前記第2のタ
    スクよりも高いとともに前記共有資源を使用しない第3
    のタスクによる割り込み要求を受け付ける割込受付ステ
    ップと、 前記割込受付ステップにおいて割込み要求が受け付けら
    れると、前記次回実行開始予定時刻から前記解放予定時
    刻を差し引いて余裕時間長を求める余裕時間長算出ステ
    ップと、 前記割込み要求に応じて、前記第2のタスクを一時停止
    状態にして前記第3のタスクの処理実行を許す割込制御
    ステップと、 前記割込み制御ステップにおいて前記第2のタスクが一
    時停止状態に置かれてからの経過時間長が前記余裕時間
    長に達すると、前記第2のタスクの優先度を前記第1の
    タスクの優先度にまで高める形で更新し、その後、前記
    第2のタスクが前記共有資源を解放する時点で前記第2
    のタスクの優先度を更新前の値に戻す優先度制御ステッ
    プと、を更に有すること、 を特徴とする請求項4に記載のタスク実行制御方法。
  6. 【請求項6】 前記経過時間長が前記余裕時間長に達す
    る前に前記第3のタスクが終了した場合、前記余裕時間
    長から前記経過時間長を差し引いた結果を新たな値とす
    る形で前記余裕時間長を更新する余裕時間長更新ステッ
    プを更に有すること、 を特徴とする請求項5に記載のタスク実行制御方法。
JP2001328193A 2001-10-25 2001-10-25 タスク実行制御装置及びタスク実行制御方法 Pending JP2003131892A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001328193A JP2003131892A (ja) 2001-10-25 2001-10-25 タスク実行制御装置及びタスク実行制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001328193A JP2003131892A (ja) 2001-10-25 2001-10-25 タスク実行制御装置及びタスク実行制御方法

Publications (1)

Publication Number Publication Date
JP2003131892A true JP2003131892A (ja) 2003-05-09

Family

ID=19144297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001328193A Pending JP2003131892A (ja) 2001-10-25 2001-10-25 タスク実行制御装置及びタスク実行制御方法

Country Status (1)

Country Link
JP (1) JP2003131892A (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003100613A1 (fr) * 2002-05-28 2003-12-04 Sony Corporation Systeme de processeur, procede de commande de taches sur systeme informatique, programme d'ordinateur
US7472214B2 (en) 2005-08-05 2008-12-30 Mitsubishi Denki Kabushiki Kaisha Real-time embedded simple monitor method and computer product
WO2009029549A2 (en) * 2007-08-24 2009-03-05 Virtualmetrix, Inc. Method and apparatus for fine grain performance management of computer systems
JP2010181989A (ja) * 2009-02-04 2010-08-19 Renesas Electronics Corp データ処理装置
JP2011118607A (ja) * 2009-12-02 2011-06-16 Toyota Motor Corp 情報処理装置
JP2011134162A (ja) * 2009-12-25 2011-07-07 Internatl Business Mach Corp <Ibm> タスクの切り換えを制御するシステムおよび方法
JP2011248737A (ja) * 2010-05-28 2011-12-08 Fujitsu Ltd タスク引継プログラム、処理装置及びコンピュータ・システム
US8677071B2 (en) 2010-03-26 2014-03-18 Virtualmetrix, Inc. Control of processor cache memory occupancy
US8782653B2 (en) 2010-03-26 2014-07-15 Virtualmetrix, Inc. Fine grain performance resource management of computer systems
JP2015084252A (ja) * 2010-01-12 2015-04-30 アマゾン テクノロジーズ インコーポレイテッド プログラム実行能力の私的利用の管理
JP2016033773A (ja) * 2014-07-31 2016-03-10 富士通株式会社 情報処理システム、情報処理装置の制御装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム
CN110959152A (zh) * 2017-08-29 2020-04-03 日立汽车系统株式会社 访问控制装置

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7647594B2 (en) 2002-05-28 2010-01-12 Sony Corporation Processor system, task control method on computer system, computer program
WO2003100613A1 (fr) * 2002-05-28 2003-12-04 Sony Corporation Systeme de processeur, procede de commande de taches sur systeme informatique, programme d'ordinateur
US7472214B2 (en) 2005-08-05 2008-12-30 Mitsubishi Denki Kabushiki Kaisha Real-time embedded simple monitor method and computer product
US8397236B2 (en) 2007-08-24 2013-03-12 Virtualmetrix, Inc. Credit based performance managment of computer systems
WO2009029549A2 (en) * 2007-08-24 2009-03-05 Virtualmetrix, Inc. Method and apparatus for fine grain performance management of computer systems
WO2009029549A3 (en) * 2007-08-24 2009-04-16 Virtualmetrix Inc Method and apparatus for fine grain performance management of computer systems
JP2010181989A (ja) * 2009-02-04 2010-08-19 Renesas Electronics Corp データ処理装置
JP2011118607A (ja) * 2009-12-02 2011-06-16 Toyota Motor Corp 情報処理装置
US8601488B2 (en) 2009-12-25 2013-12-03 International Business Machines Corporation Controlling the task switch timing of a multitask system
JP2011134162A (ja) * 2009-12-25 2011-07-07 Internatl Business Mach Corp <Ibm> タスクの切り換えを制御するシステムおよび方法
JP2015084252A (ja) * 2010-01-12 2015-04-30 アマゾン テクノロジーズ インコーポレイテッド プログラム実行能力の私的利用の管理
US10114668B2 (en) 2010-01-12 2018-10-30 Amazon Technologies, Inc. Managing private use of program execution capacity
US8677071B2 (en) 2010-03-26 2014-03-18 Virtualmetrix, Inc. Control of processor cache memory occupancy
US8782653B2 (en) 2010-03-26 2014-07-15 Virtualmetrix, Inc. Fine grain performance resource management of computer systems
JP2011248737A (ja) * 2010-05-28 2011-12-08 Fujitsu Ltd タスク引継プログラム、処理装置及びコンピュータ・システム
US8671307B2 (en) 2010-05-28 2014-03-11 Fujitsu Limited Task relay system, apparatus, and recording medium
JP2016033773A (ja) * 2014-07-31 2016-03-10 富士通株式会社 情報処理システム、情報処理装置の制御装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム
CN110959152A (zh) * 2017-08-29 2020-04-03 日立汽车系统株式会社 访问控制装置
DE112018003505T5 (de) 2017-08-29 2020-04-23 Hitachi Automotive Systems, Ltd. Zugriffssteuereinrichtung
CN110959152B (zh) * 2017-08-29 2023-11-10 日立安斯泰莫株式会社 访问控制装置

Similar Documents

Publication Publication Date Title
JP3922070B2 (ja) 分散制御方法及び装置
KR100352668B1 (ko) 시스템 자원을 스케쥴링하는 방법 및 시스템
US7207042B2 (en) System and method for robust time partitioning of tasks in a real-time computing environment
US7165252B1 (en) Method of scheduling executions of processes with various types of timing properties and constraints
Bril et al. Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption
JPWO2005106623A1 (ja) Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体
US8423999B2 (en) Computer system, virtual machine monitor and scheduling method for virtual machine monitor
Mohammadi et al. Scheduling algorithms for real-time systems
US20180081720A1 (en) Method and apparatus for executing real-time tasks
CN108694199A (zh) 数据同步装置、方法、存储介质及电子设备
JP2003131892A (ja) タスク実行制御装置及びタスク実行制御方法
US6795873B1 (en) Method and apparatus for a scheduling driver to implement a protocol utilizing time estimates for use with a device that does not generate interrupts
KR20200128589A (ko) 정보 처리 장치, 튜닝 방법 및 기록 매체에 저장된 튜닝 프로그램
JPH0877025A (ja) タスクの優先度制御方法、タスクの優先度制御装置
Binns A robust high-performance time partitioning algorithm: the digital engine operating system (DEOS) approach
JP2008225641A (ja) コンピュータシステム、割り込み制御方法及びプログラム
JP2005149312A (ja) タスク管理システム
CN115004170B (zh) 根据数据新鲜度要求的优化查询调度
JP3005562B1 (ja) タスク管理装置及びタスクスケジューリング方法
JPS6368934A (ja) タスクスケジユ−ル方式
van den Heuvel et al. Dependable resource sharing for compositional real-time systems
Real et al. Ravenscar Support for Time-Triggered Scheduling
JP2001022601A (ja) ジョブ実行制御方法及び並列計算機システム
CN110109743B (zh) 一种实时进程调度方法
JPH0895807A (ja) タスク実行制御方法