JPH10171667A - タスク管理方法 - Google Patents

タスク管理方法

Info

Publication number
JPH10171667A
JPH10171667A JP8333667A JP33366796A JPH10171667A JP H10171667 A JPH10171667 A JP H10171667A JP 8333667 A JP8333667 A JP 8333667A JP 33366796 A JP33366796 A JP 33366796A JP H10171667 A JPH10171667 A JP H10171667A
Authority
JP
Japan
Prior art keywords
task
time
delay
tasks
requested
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
JP8333667A
Other languages
English (en)
Inventor
Mutsumi Abe
睦 阿部
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.)
Ultra High Speed Network and Computer Technology Laboratories
Original Assignee
Ultra High Speed Network and Computer Technology Laboratories
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 Ultra High Speed Network and Computer Technology Laboratories filed Critical Ultra High Speed Network and Computer Technology Laboratories
Priority to JP8333667A priority Critical patent/JPH10171667A/ja
Publication of JPH10171667A publication Critical patent/JPH10171667A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 タスクの遅延保証と効率的なタスクの実行を
実現する。 【解決手段】 遅延保証が必要な各タスクについて、周
期、要求処理時間及び許容遅延時間からなるタスク情報
を設定し、要求処理時間と許容遅延時間の和が小さい順
にタスクの優先度を高く設定する。タスクの予約が要求
されたときは、このタスクと予約済みのタスクのタスク
情報に基づき、要求されたタスクと予約済みのタスクの
遅延保証が可能かどうかを判断し、遅延保証が可能な場
合にタスクの予約を受理する。予約が受け付けられイベ
ントが発行された実行可能状態のタスクは、優先度に応
じて実行され、またイベントが存在して優先度が高くて
も、そのタスクの周期内であれば、他のタスクが実行さ
れる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マルチタスクシス
テムに係り、特にプロセッサ資源の管理と遅延保証機能
を有するタスク管理方法に関するものである。
【0002】
【従来の技術】コンピュータ間通信において、動画や音
声といったリアルタイム情報の通信を行いたいという要
求は近年、一段と増している。動画や音声を扱うリアル
タイム通信では、通信の品質が問題となるため、サービ
ス品質の保証が必要となる。このようなサービス品質の
保証を実現する手段として、ATM(Asynchronous Tra
nsfer Mode)等の帯域設定の可能なネットワークや、X
TP(Xpress Transport Protocol )等のサービス品質
制御機能を持つプロトコルが提案されている。
【0003】しかし、ネットワークで帯域設定を行った
り、プロトコルに品質制御のための機能を設けても、端
末側でそれに対応できていなければアプリケーション全
体としての品質は保証されない。よって、サービス品質
の保証はネットワークのみならず端末をも含めたシステ
ム全体で保証する必要がある。ところで、リアルタイム
通信端末では、例えば相手側の端末から動画や音声とい
った情報を受信するタスク、受信した情報を表示するタ
スク、相手側の端末に対して情報を送信するタスク等の
複数のタスクを実行しなければならない。したがって、
この端末は、リアルタイム処理を必要とする複数のタス
クを実行するマルチタスクシステムとなり、このような
マルチタスクシステムにおいて、サービス品質の保証が
必要となる。
【0004】そこで、このようなマルチタスクシステム
において、サービス品質を保証する技術として、(1)
OS(Operating System)のタスク優先度設定機能を用
いて、動画や音声といった情報を扱うリアルタイム性を
要求されるタスクの優先度を他のタスクより高く設定し
て、遅延要求の厳しいタスクの処理を優先させるという
手法が一般的に使用されている。また、サービス品質を
保証する他の技術として、(2)実行終了目標時刻が設
定されたタスクについて、その実行終了目標時刻が近づ
くほど優先度を上げて優先的に処理することにより、タ
スク処理を実行終了目標時刻までに完了させるという手
法が提案されている(特開昭62−284437号公
報)。また、他の技術として、(3)映像データや音声
データ等といった周期的に発生するデータを処理するタ
スクに対して、周期的に実行割当を行うことにより対応
するという手法が提案されている(河内谷他、「連続メ
ディアのQOS制御のためのOSサポート」、情報処理
学会コンピュータシステムシンポジウム、1994)。
【0005】
【発明が解決しようとする課題】しかし、上記従来技術
(1)、(2)では、優先度の高いタスクから実行する
ため、優先度の低いタスクの遅延要求(タスクが要求す
る許容可能な遅延時間)を満たせなくなってしまうとい
う問題点があった。また、従来技術(1)、(2)、
(3)では、タスクが起動されたとしても処理すべきデ
ータが存在しなければ、プロセッサがデータ待ち等のウ
エイト状態に置かれるため、他のタスクが実行可能であ
ってもプロセッサが割り当てられないことになり、処理
効率が低下してしまうという問題点があった。さらに、
従来技術(1)、(2)、(3)では、タスクの受付の
制限がないので、遅延要求を維持することのできるタス
ク量を超えた(つまり、処理能力を超えた)タスクをシ
ステムが実行しようとしてしまい、いずれか又はすべて
のタスクの遅延要求を満たせなくなってしまうという問
題点があった。
【0006】本発明は、上記課題を解決するためになさ
れたもので、タスクの遅延保証と効率的なタスクの実行
を実現することができるタスク管理方法を提供すること
を目的とする。
【0007】
【課題を解決するための手段】本発明のタスク管理方法
は、請求項1に記載のように、遅延保証が必要な各タス
クについて、実行の周期、実行に必要とされる要求処理
時間及び許容される遅延時間からなるタスク情報を設定
し、要求処理時間と許容遅延時間との和が小さい順にタ
スクの優先度を高く設定し、遅延保証が必要なタスクの
予約が要求されたときは、このタスクと予約済みのタス
クのタスク情報に基づき、要求されたタスクと予約済み
のタスクの遅延保証が可能かどうかを判断して、遅延保
証が可能な場合にタスクの予約を受理し、予約済みの各
タスクについては、そのタスクに対するイベントが発行
され、前回の実行から周期以上の時間が経過し、且つそ
のタスクより優先度の高いタスクが実行されていないと
きに、該当タスクを実行するようにしたものである。こ
のように、遅延保証が必要なタスクの予約が要求された
ときは、このタスクと予約済みのタスクのタスク情報に
基づき、要求されたタスクと予約済みのタスクの遅延保
証が可能かどうかを判断して、遅延保証が可能な場合に
タスクの予約を受理する。そして、予約済みの各タスク
の実行は、実行したいタスクに対してイベントを発行す
ることで行なわれる。イベントの発行はそのタスクの実
行を要求したアプリケーションや他のタスクから発行す
ることが可能である。イベントが発行されないタスクは
待ち状態となり、イベントが発行されている他のタスク
が実行される。タスクの実行基準は、優先度を基準にし
て優先度の高いタスクから実行される。ただし、イベン
トが発行されていても、前回のタスクの実行開始からの
時間がそのタスクの周期より短い場合は、そのタスクは
待たされて、他のタスクが実行される。他のタスクの実
行中であっても、それより高い優先度を持つタスクに対
してイベントが発行され、且つ前回の実行からの時間が
そのタスクの周期を超えている場合は、高い優先度を持
つタスクを実行する。
【0008】また、請求項2に記載のように、周期に対
する要求処理時間の割合を要求されたタスクと予約済み
のタスクについて求めて、これらの加算値を求めると共
に、優先度の一番低いタスクの要求処理時間と許容遅延
時間の和に対する他のタスクの最大実行回数分の要求処
理時間の和を求めて、これを優先度の一番低いタスクの
許容遅延時間から減算して減算値を求め、加算値が1以
上で、かつ減算値が0以上であれば、要求されたタスク
と受付済みのタスクの遅延保証が可能と判断して、要求
されたタスクの予約を受理するようにしたものである。
このように上記加算値と減算値を求めることにより、予
約が要求されたタスクと受付済みのタスクの遅延保証が
可能かどうかを容易に判断することができる。
【0009】また、請求項3に記載のように、遅延保証
を必要としないタスクについて、所望の周期を設定する
と共に、この周期内で割り当てたい時間を要求処理時
間、周期と要求処理時間の差を許容遅延時間として設定
し、遅延保証を必要とするタスクを受け付ける前に、遅
延保証を必要としないタスクを予約するようにしたもの
である。このように遅延保証を必要としないタスクにつ
いて、周期、要求処理時間及び許容遅延時間を設定する
ことにより、以後の遅延保証が必要なタスクの受付は、
遅延保証を必要としないタスクの割当分を差し引いた状
態で行なわれる。
【0010】
【発明の実施の形態】
実施の形態の1.次に、本発明について図面を参照して
説明する。図1は本発明の第1の実施の形態となるタス
ク管理方法を用いるマルチタスクシステムのブロック図
である。マルチタスクシステム1は、CPU2、タイマ
3、例えばハードディスク装置等の記憶装置4、メモリ
5、ネットワーク11とのインタフェースとなるインタ
フェース制御部6を備えている。そして、CPU2、タ
イマ3、記憶装置4、メモリ5、ネットワーク制御部6
は内部バス7で接続されている。
【0011】タイマ3は、設定された一定時間までの計
時を繰り返すものであり、設定時間ごとにCPU2に割
り込みをかけることにより、設定時間の経過をCPU2
に通知することが可能である。記憶装置4にはタスクプ
ログラム等が記録されており、必要に応じてメモリ5に
読み出される。
【0012】また、本発明のタスク管理方法を実現する
にはCPU制御が必要であり、タスク管理の機能をOS
(Operating System)に組み込む必要がある。そこで、
メモリ5上には、後述するタスク受付処理をCPU2に
実行させるためのタスク受付プログラムが格納されるタ
スク受付プログラム格納部8と、同様にタスク実行処理
をCPU2に実行させるためのタスク実行プログラムが
格納されるタスク実行プログラム格納部9が存在する。
そして、これらプログラムを格納部8、9に格納するこ
とにより、本発明のタスク管理方法の機能がOSに組み
込まれる。
【0013】さらに、メモリ5上には、リアルタイム性
が要求されるタスク、すなわち遅延時間を小さくする必
要のあるタスク(以下、このようなタスクを遅延保証が
必要なタスクと呼ぶ)を管理するために、これら各タス
クの情報を格納しておくためのタスク管理テーブル10
が存在する。図2はタスク管理テーブル10の1例を示
す図である。タスク管理テーブル10は、タスク情報管
理テーブル21とタスク実行管理テーブル22とから構
成される。
【0014】タスク情報管理テーブル21は、後述する
タスク受付処理で受け付けられた遅延保証が必要なタス
クに関する情報を管理するテーブルである。このタスク
情報管理テーブル21に格納される情報としては、タス
ク識別子格納部21a、タスクポインタ格納部21b、
周期格納部21c、要求処理時間格納部21d、許容遅
延時間格納部21eにそれぞれ格納されるタスク識別子
ID、タスクポインタP、周期S、要求処理時間T、許
容遅延時間Hがあり、これらの情報がタスクごとに格納
される。なお、図2では、横1列が1つのタスクに関す
る情報を示している。
【0015】タスク識別子IDは、各タスクを識別する
ためのものであり、タスクポインタPは、記憶装置4あ
るいはメモリ5上に存在する各タスクのプログラムの位
置を指し示すものである。周期Sは、各タスクにおける
実行開始時点から次の実行開始時点までの時間である。
よって、あるタスクが実行されると、設定された周期S
の間、このタスクが新たに実行されることはない。
【0016】要求処理時間Tは、各タスクの実行に要す
る処理時間である。なお、この要求処理時間Tは、予め
設定される値なので、実際のタスクは要求処理時間Tよ
り前に終了することもあり得る。
【0017】許容遅延時間Hは、周期Sで示される時間
内でタスクが実行待ち状態でいられる時間である。ある
タスクに対してイベントが発行された状態で前回の実行
開始時点からの経過時間が周期Sを超えたり、タスク処
理が中断したりすると、このタスクに遅延が生じる。こ
のような遅延の発生は、許容遅延時間Hを消費すること
を意味する。したがって、この許容遅延時間Hが全て消
費される前にタスク処理が終了しなければならない。そ
して、周期S、要求処理時間T、許容遅延時間Hは、S
≧T+Hの関係にある。
【0018】次に、タスク実行管理テーブル22は、受
け付けられたタスク、すなわちタスク情報管理テーブル
21に登録されたタスクの実行時に使用される情報を管
理するテーブルである。このタスク実行管理テーブル2
2に格納される情報としては、タスク識別子格納部22
a、実行識別フラグ格納部22b、イベントカウンタ格
納部22c、周期カウンタ格納部22dにそれぞれ格納
されるタスク識別子ID、実行識別フラグF、イベント
カウンタEC、周期カウンタSCがあり、これらの情報
がタスクごとに格納される。
【0019】実行識別フラグFは、実行中または実行を
中断しているタスクを識別するためのものである。この
実行識別フラグFは、各タスクが実行中または実行中断
状態ならばセットされ(例えば、「1」となる)、タス
クの実行が終了した場合はリセットされる(例えば、
「0」となる)。イベントカウンタECは、各タスクに
対して発行されたイベント数を示すものである。このイ
ベントカウンタECは、タスクに対してイベントが発行
されると1加算され、対応するタスクが実行されると1
減算される。
【0020】周期カウンタSCは、各タスクの実行開始
時点からの経過時間を示すものである。この周期カウン
タSCは、タスクの実行開始でリセットされ、その後は
タイマ3の値に対応した値をとる。
【0021】次に、遅延保証が必要なタスクの予約につ
いて説明する。あるタスクの実行に際しては、このタス
クの実行が別のタスクの許容遅延時間の保証を乱しては
ならないという制約がある。また、前述のように、タス
ク処理は、許容遅延時間が全て消費される前に終了しな
ければならない。逆に言うと、許容遅延時間内に終了で
きるのであれぱ、タスク処理は中断しても構わない。そ
して、あるタスクが実行されると、設定された周期の
間、このタスクが新たに実行されることはない。
【0022】これらのことから、以下の制約が導きださ
れる。 (1)優先度は、要求処理時間と許容遅延時間との和に
よって決まり、この和が大きいタスクは処理の優先度が
下がる。 (2)優先度の高いタスクの要求処理時間が優先度の低
いタスクの許容遅延時間内に収まらなければならない。 この制約を満たせば、各タスクの許容遅延時間を保証し
つつタスク処理の実行が可能となる。したがって、この
ような制約を満たすかどうかで、新たなタスク要求を受
理すべきかどうかを判断することができる。
【0023】図3はこのタスク受付処理を説明するため
のフローチャート図である。例えばアプリケーションか
らのシステムコールにより、タスクの予約が要求される
と、CPU2は、タスク受付プログラム格納部8に格納
されたプログラムに従って以下のような処理を実行す
る。
【0024】最初に、CPU2は、周期に対する要求処
理時間の割合を既に受け付けられている各タスクについ
て求めると共に、同様の割合を受付要求が発生したタス
クについて求め、これらを加算して加算値Addを求め
る。
【0025】例えば、周期がS1、要求処理時間がT
1、許容遅延時間がH1に設定された図4(a)に示す
タスクA1、周期がS2、要求処理時間がT2、許容遅
延時間がH2に設定された図4(b)に示すタスクA
2、周期がS3、要求処理時間がT3、許容遅延時間が
H3に設定された図4(c)に示すタスクA3のうち、
タスクA1、タスクA2が既に受け付けられたタスクと
してタスク管理テーブル10に登録されているとする
と、CPU2は、タスク情報管理テーブル21に登録さ
れた情報から、タスクA1の周期S1に対する要求処理
時間T1の割合T1/S1を求め、同様にタスクA2の
周期S2に対する要求処理時間T2の割合T2/S2を
求める。
【0026】また、アプリケーションから予約が要求さ
れたタスクA3の周期S3に対する要求処理時間T3の
割合T3/S3を求める。これにより、加算値Addは
次式となる。 Add=(T1/S1)+(T2/S2)+(T3/S3) ・・・(1)
【0027】続いて、CPU2は、優先度の一番低いタ
スクの要求処理時間+許容遅延時間に対する他のタスク
の最大実行回数分の要求処理時間を各タスクについて求
めた後に、これらの和を求め、算出した和を優先度の一
番低いタスクの許容遅延時間から減算して減算値Sub
を求める。優先度は、要求処理時間Tと許容遅延時間H
との和によって決まり、この和が小さいものほど優先度
が高いタスクとなる。これにより、図4では、タスクA
1が優先度の一番低いタスクとなる。
【0028】優先度の一番低いタスクA1の要求処理時
間T1+許容遅延時間H1中に他のタスクを最大何回実
行できるかは、そのタスクの周期によって決まる。例え
ば、タスクA2の場合、この最大実行回数は、(T1+
H1)/S2となる。よって、優先度の一番低いタスク
の要求処理時間+許容遅延時間に対する他のタスクの最
大実行回数分の要求処理時間とは、この最大実行回数に
各タスクの要求処理時間を掛けたものとなり、タスクA
2の場合は、T2×(T1+H1)/S2となり、タス
クA3の場合は、T3×(T1+H1)/S3となる。
【0029】そして、これらの和を優先度の一番低いタ
スクA1の許容遅延時間H1から減算するので、減算値
Subは次式となる。 Sub=H1−[{T2×(T1+H1)/S2} +{T3×(T1+H1)/S3}] ・・・(2)
【0030】こうして、ステップ101におけるタスク
時間計算が終了する。なお、本実施の形態では、3つの
タスクで計算したが、4つ以上のタスクでも同様に計算
すればよい。例えば、タスクA1、A2、A3・・・A
n-1 (周期Sn-1 、要求処理時間Tn-1 、許容遅延時間
Hn-1 )が予約済みのタスクで、タスクAn (周期Sn
、要求処理時間Tn 、許容遅延時間Hn )の予約要求
が発生したとすると、求める加算値Addは次式とな
る。 Add=(T1/S1)+(T2/S2)・・・+(Tn-1 /Sn-1 ) +(Tn /Sn ) ・・・(3)
【0031】また、タスクA1の優先度が一番低いとす
ると、求める減算値Subは次式となる。 Sub=H1−[{T2×(T1+H1)/S2}+{T3×(T1+H1) /S3}・・・+{Tn-1 ×(T1+H1)/Sn-1 } +{Tn ×(T1+H1)/Sn }] ・・・(4)
【0032】次に、CPU2は、これらの算出した値か
ら受付要求が発生したタスクが受付可能かどうかを判定
する(ステップ102)。ステップ101で算出した加
算値Addが割合基準値(=1)を超えているか(Ad
d>1)、又は減算値Subが負の値であれば(Sub
<0)、要求されたタスクと受付済みのタスクの遅延保
証が不可能と判断して受付不許可とし、受付できなかっ
た旨をアプリケーションに返答して(ステップ10
3)、受付処理を終了する(ステップ106)。
【0033】このようにOS側から予約の不受理が通知
された場合、アプリケーション側では、品質を調整して
再度予約するか予約を断念するかの判断を行う。また、
加算値Addが割合基準値を超えておらず(Add≦
1)、かつ減算値Subが0以上であれば(Sub≧
0)、要求されたタスクと受付済みのタスクの遅延保証
が可能と判断して受付許可とし、受付要求されたタスク
A3の情報をメモリ5のタスク管理テーブル10に書き
込む(ステップ104)。続いて、受付できた旨をアプ
リケーションに返答して(ステップ105)、受付処理
を終了する(ステップ106)。
【0034】なお、受付要求が発生したタスクA3の周
期S3、要求処理時間T3、許容遅延時間H3、タスク
ポインタP3は、このタスク予約を要求したアプリケー
ションに設定されており、上記システムコールによって
OSに渡され、受付が許可されると、タスク識別子ID
3が付与されてタスク情報管理テーブル21に格納され
る。
【0035】次に、タスクの実行管理処理について説明
する。図5、図6はこのタスク実行管理処理を説明する
ためのフローチャート図である。遅延保証が必要なタス
クが実行可能となる条件としては、そのタスクに対して
イベントが発行されており、かつ前回のタスクの実行か
らそのタスクの周期以上の時間が経過していることが条
件なので、タスクの実行管理はイベントが発行された時
点とタスクの時間処理の時点で行えばよいことになる。
【0036】まず、タスクに対してイベントが発行され
たときのタスクの実行管理を図5を参照して説明する。
イベントとは、マルチタスクシステム1内での動画デー
タの入出力やネットワーク11からの動画パケットの受
信あるいはネットワーク11への動画パケットの送信等
の要求である。
【0037】このようなイベントが発生すると、CPU
2は、タスク実行管理テーブル22に格納された、この
イベントに対応するタスクのイベントカウンタECを1
加算する(ステップ201)。次いで、CPU2は、タ
スク実行管理テーブル22に登録されている各タスクの
情報により、新規に動作可能なタスクがあるかどうかを
判定する(ステップ202)。
【0038】動作可能なタスクとは、イベントが発行さ
れている即ちイベントカウンタECの値が1以上で、か
つ前回の実行開始時点からそのタスクの周期が経過して
いる則ち周期カウンタSCの値がそのタスクの周期S以
上の値となっているタスクである。ステップ202にお
いて、動作可能なタスクがない場合はイベント処理を終
了する(ステップ203)。
【0039】また、動作可能なタスクが存在する場合、
CPU2は、タスク実行管理テーブル22に登録されて
いる各タスクの実行識別フラグFにより、動作中のタス
クがあるかどうかを判定する(ステップ204)。動作
中のタスクがない場合は、ステップ202で見つけた動
作可能なタスクを実行すると同時に、タスク実行管理テ
ーブル22に登録された、このタスクの周期カウンタS
Cをリセットする(ステップ205)。
【0040】また、ステップ204において動作中のタ
スクが存在する場合は、この動作中のタスクとステップ
202で見つけた動作可能なタスクの優先度を比較する
(ステップ206)。動作中のタスクの方が優先度が高
い場合は、イベント処理を終了し(ステップ207)、
動作可能なタスクの方が優先度が高い場合は、動作中の
タスク処理を中断して、動作可能なタスクを実行すると
同時に、タスク実行管理テーブル22に登録された、こ
のタスクの周期カウンタSCをリセットする(ステップ
205)。
【0041】なお、実行が中断されたタスクは、後述す
る時間処理において、このタスクより優先度の高いタス
クが存在しなければ、処理が再開される。次に、タスク
の時間処理が発生したときのタスクの実行管理を図6を
参照して説明する。この時間処理の実行タイミングの1
例としては、タスクの周期Sと比べて十分に短い1ミリ
秒や百マイクロ秒といった一定値が設定されたタイマ3
により、一定時間ごとに発生するCPU2への割り込み
時点がある。
【0042】タスクの時間処理が発生すると、CPU2
は、タスク実行管理テーブル22に登録されている各タ
スクの周期カウンタSCの値をタイマ3の値に基づいて
再設定する(ステップ301)。この再設定は、周期カ
ウンタSCの現在の値にタイマ3の値を加算することで
行われる。
【0043】続いて、CPU2は、動作中のタスクが存
在するかどうかを判定する(ステップ302)。動作中
のタスクが存在する場合は、このタスクの要求処理時間
が終了しているかどうかを判定する(ステップ30
3)。そして、動作中のタスクの要求処理時間が終了し
ていない、即ちテーブル22に格納された、このタスク
の周期カウンタSCの値がテーブル21に格納された要
求処理時間T以上でないならば、時間処理を終了する
(ステップ304)。
【0044】また、動作中のタスクの要求処理時間が終
了している、即ち周期カウンタSCの値が要求処理時間
T以上ならば、タスクの実行が終了したものとして、タ
スク実行管理テーブル22に格納された、このタスクの
イベントカウンタECを1減ずる(ステップ305)。
【0045】また、ステップ302において動作中のタ
スクが存在しない場合あるいはステップ305の処理が
終了した場合は、動作可能なタスクが存在するかどうか
を判定する(ステップ306)。
【0046】動作可能なタスクとは、前述のようにイベ
ントカウンタECの値が1以上で、周期カウンタSCの
値がそのタスクの周期以上となっているタスクである。
このようなタスクが複数ある場合は、それらの中で優先
度が最も高いタスクを実行すべきタスクとして、これを
実行すると同時に、タスク実行管理テーブル22に登録
された、このタスクの周期カウンタSCをリセットする
(ステップ307)。そして、ステップ306において
動作可能なタスクが存在しない場合は、時間処理を終了
する(ステップ308)。
【0047】図7は以上のような実行管理処理の1例を
示す図である。ここでは、周期がS4、要求処理時間が
T4、許容遅延時間がH4に設定された図7(a)に示
すタスクA4、周期がS5、要求処理時間がT5、許容
遅延時間がH5に設定された図7(b)に示すタスクA
5のうち、タスクA4の優先度が高い。
【0048】このようなタスクA4、A5が受け付けら
れ、各タスクに対してイベントが発行されると、上記イ
ベント処理により、優先度の高いタスクA4がまず実行
され(図7(c))、続いてタスクA4の要求処理時間
T4が経過した時間t1に達すると、上記時間処理によ
り、タスクA5が実行される(図7(d))。
【0049】このタスクA5の実行中にも時間処理が繰
り返されているので、時間t2にてタスクA4の周期カ
ウンタが周期S4以上になると、タスクA5の処理が中
断されて優先度の高いタスクA4が実行される。そし
て、タスクA5の処理は、タスクA4の要求処理時間T
4が経過した時間t3から再開される。
【0050】以上のように、本発明では、予約が要求さ
れたタスクと予約済みのタスクの遅延保証が可能かどう
かを判断して、遅延保証が可能な場合にタスクの予約を
受理するので、システムの処理能力を超えてタスクを実
行することがなくなる。
【0051】そして、予約が受け付けられイベントが発
行された実行可能状態のタスクを優先度に応じて実行
し、かつイベントが存在して優先度が高くても、そのタ
スクの周期内であれば、他のタスクを実行するので、各
タスクを適切に実行することができる。また、イベント
が発行されていないタスクを実行することがないので、
優先度の高いタスクにおけるデータ待ちをなくすことが
でき、プロセッサ資源を無駄に消費することがなくな
り、システムの有効利用が可能となる。
【0052】なお、本実施の形態では、タスクの時間処
理の実行タイミングとして、一定値が設定されたタイマ
3によるCPU2への割り込み時点を例に挙げている
が、図5のステップ205及び図6のステップ307に
おいてタスクを実行させるときに、このタスクの要求処
理時間の残り時間をタイマ3に設定することにより(新
たに実行するタスクであれば、要求処理時間をそのまま
設定し、中断状態にあったタスクであれば、要求処理時
間から中断した時間を引いた時間を設定する)、タイマ
3からCPU2に割り込みがかかった時点と、図5のス
テップ201の処理が終了した時点とを時間処理の実行
タイミングとしてもよい。
【0053】この実行タイミングによれば、イベント発
行時と各タスクの動作停止時にのみ時間処理が行われる
ので、これより短い一定時間ごとに時間処理を実行する
上記の例に比べて、時間処理によるオーバーヘッドを軽
減することができる。
【0054】実施の形態の2.実施の形態の1では、遅
延保証が必要なタスクだけがタスク管理テーブル10に
登録されるようになっており、CPU2は、タスク管理
テーブル10に登録されたタスクを優先的に処理するた
め、遅延保証を必要としないタスクが存在しても、この
タスクが処理されないことがあり得る。そこで、このよ
うな点に対応するためには、実施の形態の1とは異なる
処理が必要となる。
【0055】図8は本発明の他の実施の形態となるタス
ク管理方法を示すフローチャート図である。本実施の形
態においても、マルチタスクシステムの構成、タスク受
付処理、タスク実行管理処理は実施の形態の1と同様で
あり、本実施の形態の処理は、遅延保証が必要なタスク
の予約の前に実施される。
【0056】まず、記憶装置4から遅延保証を必要とし
ないタスクに割り当てたいタスクの割合を読み出す(ス
テップ401)。この割合は、元となる時間とその時間
内で割り当てたい時間とからなる。そして、元となる時
間を遅延保証を必要としないタスクの周期とし、割り当
てたい時間を要求処理時間として、周期と要求処理時間
の差を許容遅延時間とする。
【0057】続いて、遅延保証が必要なタスクと同様に
受付要求を発して、これらの情報をタスク管理テーブル
10へ登録させる(ステップ402)。このように遅延
保証を必要とするタスクを受け付ける前に、遅延保証を
必要としないタスクを擬似的にタスク管理テーブル10
に登録すると、以後の遅延保証が必要なタスクの受付
は、遅延保証を必要としないタスクの割当分を差し引い
た状態で行なわれるので、遅延保証を必要としないタス
クにも一定の割合でタスクが実行されることを保証する
ことができる。
【0058】なお、ステップ402でタスク管理テーブ
ル10に登録されるタスクは、遅延保証を必要としない
実際のタスクではなく、テーブル10に登録するための
疑似的なタスクなので、実行後直ちに終了するタスクで
よい。つまり、遅延保証を必要としない実際のタスク
は、タスク管理テーブル10に基づく管理外で実行され
る。ただし、イベントが発行され、前回の実行から周期
以上の時間が経過し、かつ疑似タスクより優先度の高い
タスクが存在すれば、遅延保証を必要としないタスクの
処理は中断されて優先度の高いタスクが実行される。
【0059】
【発明の効果】本発明によれば、請求項1に記載のよう
に、予約が要求されたタスクと予約済みのタスクの遅延
保証が可能かどうかを判断して、遅延保証が可能な場合
にタスクの予約を受理するので、システムの処理能力を
超えてタスクを実行することがなくなる。そして、予約
が受け付けられイベントが発行された実行可能状態のタ
スクを優先度に応じて実行し、かつイベントが存在して
優先度が高くても、そのタスクの周期内であれば、他の
タスクを実行するので、各タスクを適切に実行すること
ができる。また、イベントが発行されていないタスクを
実行することがないので、優先度の高いタスクにおける
データ待ちをなくすことができ、プロセッサ資源を無駄
に消費することがなくなる。その結果、全てのタスクの
遅延要求を満たすことができ、かつシステムの利用効率
を向上させることができる。
【0060】また、請求項2に記載のように、加算値と
減算値を求めて、これらに基づいて判断することによ
り、予約が要求されたタスクと受付済みのタスクの遅延
保証が可能かどうかを容易に判断することができる。
【0061】また、請求項3に記載のように、遅延保証
を必要としないタスクについて、周期、要求処理時間及
び許容遅延時間を設定することにより、以後の遅延保証
が必要なタスクの受付は遅延保証を必要としないタスク
の割当分を差し引いた状態で行なわれるので、遅延保証
を必要とするタスクだけが実行されることを防ぎ、遅延
保証を必要としないタスクの実行も保証することができ
る。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態となるタスク管理
方法を用いるマルチタスクシステムのブロック図であ
る。
【図2】 タスク管理テーブルの1例を示す図である。
【図3】 タスク受付処理を説明するためのフローチャ
ート図である。
【図4】 タスク受付処理を説明するための図である。
【図5】 タスク実行管理処理を説明するためのフロー
チャート図である。
【図6】 タスク実行管理処理を説明するためのフロー
チャート図である。
【図7】 タスク実行管理処理の1例を示す図である。
【図8】 本発明の他の実施の形態となるタスク管理方
法を示すフローチャート図である。
【符号の説明】
1…マルチタスクシステム、2…CPU、3…タイマ、
4…記憶装置、5…メモリ、6…インタフェース制御
部、7…内部バス、10…タスク管理テーブル、11…
ネットワーク、21…タスク情報管理テーブル、22…
タスク実行管理テーブル。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数のタスクを実行するマルチタスクシ
    ステムにおいて前記タスクを管理するタスク管理方法で
    あって、 遅延保証が必要な各タスクについて、実行の周期、実行
    に必要とされる要求処理時間及び許容される遅延時間か
    らなるタスク情報を設定し、 前記要求処理時間と許容遅延時間との和が小さい順にタ
    スクの優先度を高く設定し、 遅延保証が必要なタスクの予約が要求されたときは、こ
    のタスクと予約済みのタスクのタスク情報に基づき、要
    求されたタスクと予約済みのタスクの遅延保証が可能か
    どうかを判断して、遅延保証が可能な場合にタスクの予
    約を受理し、 予約済みの各タスクについては、そのタスクに対するイ
    ベントが発行され、前回の実行から周期以上の時間が経
    過し、且つそのタスクより優先度の高いタスクが実行さ
    れていないときに、該当タスクを実行することを特徴と
    するタスク管理方法。
  2. 【請求項2】 請求項1記載のタスク管理方法におい
    て、 周期に対する要求処理時間の割合を要求されたタスクと
    予約済みのタスクについて求めて、これらの加算値を求
    めると共に、優先度の一番低いタスクの要求処理時間と
    許容遅延時間の和に対する他のタスクの最大実行回数分
    の要求処理時間の和を求めて、これを優先度の一番低い
    タスクの許容遅延時間から減算して減算値を求め、 前記加算値が1以上で、かつ減算値が0以上であれば、
    要求されたタスクと受付済みのタスクの遅延保証が可能
    と判断して、要求されたタスクの予約を受理することを
    特徴とするタスク管理方法。
  3. 【請求項3】 請求項1記載のタスク管理方法におい
    て、 遅延保証を必要としないタスクについて、所望の周期を
    設定すると共に、この周期内で割り当てたい時間を要求
    処理時間、周期と要求処理時間の差を許容遅延時間とし
    て設定し、 遅延保証を必要とするタスクを受け付ける前に、前記遅
    延保証を必要としないタスクを予約しておくことを特徴
    とするタスク管理方法。
JP8333667A 1996-12-13 1996-12-13 タスク管理方法 Pending JPH10171667A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8333667A JPH10171667A (ja) 1996-12-13 1996-12-13 タスク管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8333667A JPH10171667A (ja) 1996-12-13 1996-12-13 タスク管理方法

Publications (1)

Publication Number Publication Date
JPH10171667A true JPH10171667A (ja) 1998-06-26

Family

ID=18268628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8333667A Pending JPH10171667A (ja) 1996-12-13 1996-12-13 タスク管理方法

Country Status (1)

Country Link
JP (1) JPH10171667A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002025439A1 (fr) * 2000-09-22 2002-03-28 Sony Corporation Systeme et methode de commande de traitement arithmetique, systeme et methode de gestion des taches, et support de stockage
JP2007074218A (ja) * 2005-09-06 2007-03-22 Toyota Infotechnology Center Co Ltd パケット送信制御プログラム、パケット送信制御装置、及びパケット送信制御方法
US7386707B2 (en) 2002-01-09 2008-06-10 Matsushita Electric Industrial Co., Ltd. Processor and program execution method capable of efficient program execution
US7735087B2 (en) 2003-03-13 2010-06-08 Panasonic Corporation Task switching apparatus, method and program
JP2010205046A (ja) * 2009-03-04 2010-09-16 Toyota Motor Corp 情報処理装置
US8589930B2 (en) 2002-03-22 2013-11-19 Toyota Jidosha Kabushiki Kaisha Determining whether to execute a new task by deleting task objects of existing tasks
JP2016225889A (ja) * 2015-06-02 2016-12-28 株式会社日立製作所 制御システム
JP2017503251A (ja) * 2013-12-18 2017-01-26 クロノ−セイフ リアルタイムタスクシーケンス計画を構成し、実行するための方法
CN107463357A (zh) * 2017-08-22 2017-12-12 中车青岛四方车辆研究所有限公司 任务调度系统、调度方法、制动仿真系统及仿真方法
JP2020537269A (ja) * 2017-10-10 2020-12-17 クロノ−セーフ リアルタイムタスク間の低レイテンシ通信を保証する順序付け計画を実行するための方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002025439A1 (fr) * 2000-09-22 2002-03-28 Sony Corporation Systeme et methode de commande de traitement arithmetique, systeme et methode de gestion des taches, et support de stockage
US9823946B2 (en) 2002-01-09 2017-11-21 Socionext Inc. Processor and program execution method capable of efficient program execution
US7386707B2 (en) 2002-01-09 2008-06-10 Matsushita Electric Industrial Co., Ltd. Processor and program execution method capable of efficient program execution
US7921281B2 (en) 2002-01-09 2011-04-05 Panasonic Corporation Processor and program execution method capable of efficient program execution
US7930520B2 (en) 2002-01-09 2011-04-19 Panasonic Corporation Processor and program execution method capable of efficient program execution
US8006076B2 (en) 2002-01-09 2011-08-23 Panasonic Corporation Processor and program execution method capable of efficient program execution
US8719827B2 (en) 2002-01-09 2014-05-06 Panasonic Corporation Processor and program execution method capable of efficient program execution
US8589930B2 (en) 2002-03-22 2013-11-19 Toyota Jidosha Kabushiki Kaisha Determining whether to execute a new task by deleting task objects of existing tasks
US7735087B2 (en) 2003-03-13 2010-06-08 Panasonic Corporation Task switching apparatus, method and program
US7950016B2 (en) 2003-03-13 2011-05-24 Panasonic Corporation Apparatus for switching the task to be completed in a processor by switching to the task assigned time slot
US8276156B2 (en) 2003-03-13 2012-09-25 Panasonic Corporation Task switching based on assigned time slot
JP2007074218A (ja) * 2005-09-06 2007-03-22 Toyota Infotechnology Center Co Ltd パケット送信制御プログラム、パケット送信制御装置、及びパケット送信制御方法
JP2010205046A (ja) * 2009-03-04 2010-09-16 Toyota Motor Corp 情報処理装置
JP2017503251A (ja) * 2013-12-18 2017-01-26 クロノ−セイフ リアルタイムタスクシーケンス計画を構成し、実行するための方法
JP2016225889A (ja) * 2015-06-02 2016-12-28 株式会社日立製作所 制御システム
CN107463357A (zh) * 2017-08-22 2017-12-12 中车青岛四方车辆研究所有限公司 任务调度系统、调度方法、制动仿真系统及仿真方法
CN107463357B (zh) * 2017-08-22 2024-03-12 中车青岛四方车辆研究所有限公司 任务调度系统、调度方法、制动仿真系统及仿真方法
JP2020537269A (ja) * 2017-10-10 2020-12-17 クロノ−セーフ リアルタイムタスク間の低レイテンシ通信を保証する順序付け計画を実行するための方法

Similar Documents

Publication Publication Date Title
US6687257B1 (en) Distributed real-time operating system providing dynamic guaranteed mixed priority scheduling for communications and processing
US6633942B1 (en) Distributed real-time operating system providing integrated interrupt management
EP0617361B1 (en) Scheduling method and apparatus for a communication network
US7809876B2 (en) Distributed real-time operating system
US5528513A (en) Scheduling and admission control policy for a continuous media server
JP3922070B2 (ja) 分散制御方法及び装置
EP2388699B1 (en) Information processing device and information processing method
US6385638B1 (en) Processor resource distributor and method
JP2003521775A (ja) 電子機器におけるスケジューリング処理を効率的に行う方法
KR20110132386A (ko) 서비스 품질을 이용한 관리형 공유식 네트워크에서의 적응식 예약 요청 및 스케쥴링 메커니즘
JP2001043094A (ja) マイクロスケジューリング方法及び運営体制カーネル
JPH10171667A (ja) タスク管理方法
CN111343275B (zh) 资源调度方法和系统
KR20010089221A (ko) 모의 작업 아이템으로 예상되는 작업 아이템을 예약하는작업 흐름 관리 방법 및 장치
CN114500401B (zh) 一种应对突发流量的资源调度方法和系统
CN115617497A (zh) 线程处理方法、调度组件、监测组件、服务器和存储介质
JP3545931B2 (ja) 呼制御スケジューリング方法
JP2000056992A (ja) タスクスケジューリングシステム、方法及び記録媒体
CN114024913A (zh) 一种网络性能优化方法、装置、设备以及存储介质
JPH11175357A (ja) タスク管理方法
CN115328640B (zh) 一种任务调度方法、装置、系统及计算机可读存储介质
CN113127178B (zh) 资源抢占方法及装置、计算机可读存储介质、电子设备
JP2000148639A (ja) データ送信制御方法およびデータ送信制御プログラムを記録した記録媒体
JP2003280929A (ja) タスク管理装置、同方法およびプログラム
Sha et al. Analysis of dual-link networks for real-time applications