JPH11237993A - タスクの優先度制御方法およびタスクの優先度制御装置 - Google Patents

タスクの優先度制御方法およびタスクの優先度制御装置

Info

Publication number
JPH11237993A
JPH11237993A JP10056189A JP5618998A JPH11237993A JP H11237993 A JPH11237993 A JP H11237993A JP 10056189 A JP10056189 A JP 10056189A JP 5618998 A JP5618998 A JP 5618998A JP H11237993 A JPH11237993 A JP H11237993A
Authority
JP
Japan
Prior art keywords
task
priority
reception buffer
tasks
priority control
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
JP10056189A
Other languages
English (en)
Inventor
Kenjiro Morihisa
謙二郎 森久
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 JP10056189A priority Critical patent/JPH11237993A/ja
Publication of JPH11237993A publication Critical patent/JPH11237993A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 パイプライン状に接続された複数のタス
クの受信バッファのオーバーフローを比較的簡単な方法
で防止すること。 【解決手段】 実際の処理を行うタスク101a〜10
1cとは独立にタスクの優先度制御タスク1を設け、実
際のタスクの処理中において、優先度制御タスク1が各
受信バッファ102a〜102cにおけるデータ量を検
出し、各タスクの優先度をダイナミックに変更する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はタスクの優先度制御
方法およびタスクの優先度制御装置に関し、特に、受信
バッファにロードされたデータを次々に処理するタスク
が複数個パイプライン状に接続され、かつ各タスク間の
送受信データ量の時間的推移の変化が大きなアプリケー
ションにおけるタスクの優先度制御方法およびタスクの
優先度制御装置に関する。
【0002】
【従来の技術】リアルタイムオペレーティングシステム
上で動作する複数のタスクの優先度を制御する方法とし
ては、あらかじめ各タスクに対して固定優先度を付与す
る方法や、タスク実行中にタスクの優先度を一時的に変
更する方法(特開平8−77025号公報)や、スケジ
ューラと呼ばれる専用のタスクが各タスクの実行時間の
予測に基づきタスクの優先度を変更する方法(特開平8
−55036号公報)がある。
【0003】
【発明が解決しようとする課題】上述の固定優先度を付
与する方法では、各タスクにおける処理すべきデータ量
が時間的に変動してもその変動に追従することができな
い。したがって、受信バッファを介して複数のタスクが
パイプライン状に接続されたアプリケーションに適用し
た場合、受信バッファのオーバーフローが生じるという
問題がある。
【0004】また、上述のタスク実行中にタスクの優先
度を一時的に変更する方法(特開平8−77025号公
報)では、受信バッファを介してパイプライン状に接続
されたマルチタスクにおける受信バッファのオーバーフ
ローを防止するという観点からの対策が何ら示されてい
ないため、受信バッファのオーバーフローの防止の点で
は有効ではない。
【0005】また、スケジューラと呼ばれる専用のタス
クが各タスクの実行時間の予測に基づきタスクの優先度
を変更する方法(特開平8−55036号公報)は、各
タスクの実行終了時間が推測できる場合は有効である
が、受信バッファにデータが積まれれている限り永久に
データを処理し続けなければならないシステムにおいて
は有効ではなく、また、各タスクの優先度を直接的に制
御する専用のスケジューラの開発も容易ではない。
【0006】本発明はこのような従来技術の問題点に鑑
みてなされたものであり、受信バッファを介して複数の
タスクがパイプライン状に接続されたアプリケーション
において、各タスクの受信バッファのオーバーフローを
比較的簡易な方法でもって防止し、常に適切なデータ処
理を行わせることを目的とする。
【0007】
【課題を解決するための手段】上述の問題を解決するた
めに本発明では、以下のような構成とした。
【0008】請求項1記載のタスクの優先度制御方法の
発明は、実際の処理を行う複数のタスクとは独立に前記
各タスクの優先度を制御する優先度制御タスクを設け、
前記実際の処理を行う複数のタスクの実行途中におい
て、前記優先度制御タスクが、前記実際の処理を行う複
数のタスクの各々に対応して設けられている受信バッフ
ァの使用状況を検出し、その検出結果に基づいて前記実
際の処理を行うタスクについての優先度を決定し、その
決定された優先度を前記実際の処理を行うタスクに設定
する構成とした。
【0009】これにより、タスク間の送受信データ量の
時間的推移(時間的変化)に応じて各タスクの優先度が
ダイナミックに変更されるので、各タスクの受信バッフ
ァのオーバーフローを防止できる。
【0010】請求項2記載のタスクの優先度制御方法の
発明は、請求項1記載の発明において、前記受信バッフ
ァの使用状況が所定のしきい値を越えた場合または今回
決定した優先度が前回設定した優先度と異なる場合また
は前記条件の双方を満たす場合にのみ、前記決定された
優先度を前記実際の処理を行うタスクに設定する構成と
した。
【0011】これにより、タスク優先度の変更条件を満
たした場合にのみ優先度の再設定を行うので、タスク優
先度の設定処理の回数(設定処理量)を減らすことが可
能となる。
【0012】請求項3記載のタスク優先度制御方法の発
明は、実際の処理を行う複数のタスクとは独立に前記各
タスクの優先度を制御する優先度制御タスクを設け、前
記実際の処理を行う複数のタスクの実行途中において、
前記実際の処理を行う複数のタスクの各々自体が受信バ
ッファの使用状況を検出し、その検出結果を前記優先度
制御タスクに送信し、送信されたきた前記検出結果を受
信した前記優先度制御タスクは、前記検出結果に基づい
て前記実際の処理を行うタスクについての優先度を決定
し、その決定された優先度を前記実際の処理を行うタス
クに設定する構成とした。
【0013】これにより、受信バッファの使用状況を優
先度制御タスクが行う必要がなくなり、優先度制御タス
クの負担が軽減される。
【0014】請求項4記載のタスクの優先度制御方法の
発明は、請求項3記載の発明において、前記検出した受
信バッファ使用状況より前記優先度の設定が必要と判断
された場合にのみ、前記実際の処理を行うタスクは前記
受信バッファ使用状況の検出結果を前記優先度制御タス
クに送信し、送信されてきた前記検出結果を受信した前
記優先度制御タスクは、前記検出結果を送信してきたタ
スクに対してのみ前記優先度の設定を行う構成とした。
【0015】受信バッファの使用状況に関する報告回数
を制限すると共に、受信バッファの状況が報告されたタ
スクに対してのみ行われる。これにより、タスク優先度
の設定を行う頻度を減少させることができる。
【0016】請求項5記載のタスクの優先度制御方法の
発明は、請求項1〜請求項4のいずれかに記載の発明に
おいて、前記実際の処理を行う複数のタスクは、前記受
信バッファを介してパイプライン状に接続されている構
成とした。
【0017】これにより、受信バッファのオーバーフロ
ーを防止し、常に適正なデータ処理が保証され、処理待
ち状態の発生あるいは重要なデータの欠落を防止でき
る。
【0018】請求項6記載のタスクの優先度制御方法の
発明は、請求項1〜請求項5のいずれかに記載の発明に
おいて、前記実際の処理を行う複数のタスクおよび前記
優先度制御タスクは、タスク優先度スケジューリング機
能をもつオペレーティングシステム上で動作する構成と
した。
【0019】リアルタイムオペレーティングシステム
(リアルタイムOS)には、複数のタスクの各々を所定
のごく短い時間内で処理するというリアルタイム性を保
証するために、割り込み可能タスク優先度スケジューリ
ング機能(各タスクに優先度を付与すると共に、割り込
みによって高優先度のタスクを低優先度のタスクに優先
して処理する機能)を有しているものがある。本請求項
の発明では、スケジューラによってタスクの処理を直接
に制御するのではなく、上述のリアルタイムOSがサポ
ートする機能を利用して間接的に各タスクの処理の平準
化を図るものである。これにより、専用のスケジューラ
の開発が不要であり、実現が容易である。
【0020】請求項7記載のタスク優先度制御装置の発
明は、受信バッファを介してパイプライン状に接続され
た複数のタスクと、前記複数のタスクの優先度を制御す
る優先度制御タスクとを有し、前記優先度制御タスク
は、前記タスクと前記受信バッファとの対応関係を管理
するタスク情報管理手段と、前記受信バッファの使用状
況を検出する受信バッファ使用状況検出手段と、前記受
信バッファ使用状況に基づき前記タスクの優先度を決定
するタスク優先度決定手段と、決定された前記タスクの
優先度を前記タスクに設定するタスク優先度設定手段
と、を具備する構成とした。
【0021】これにより、タスク間の送受信データ量の
時間的推移(時間的変化)に応じて各タスクの優先度を
ダイナミックに変更する機能をもつタスクの優先度制御
装置が得られる。
【0022】請求項8記載のタスクの優先度制御装置の
発明は、受信バッファを介してパイプライン状に接続さ
れた複数のタスクと、前記タスク内に設けられた受信バ
ッファの使用状況の検出手段および検出結果の送信手段
と、前記複数のタスクの優先度を制御する優先度制御タ
スクとを有し、前記優先度制御タスクは、前記送信手段
から送られてくる前記受信バッファの使用状況の検出結
果を受信する受信手段と、前記タスクと前記受信バッフ
ァとの対応関係を管理するタスク情報管理手段と、前記
受信手段によって受信された前記受信バッファの使用状
況に基づき前記タスクの優先度を決定するタスク優先度
決定手段と、決定された前記タスクの優先度を前記タス
クに設定するタスク優先度設定手段と、を具備する構成
とした。
【0023】これにより、優先度制御タスクの負担を軽
減しつつ請求項7記載の発明と同等の処理機能をもつタ
スクの優先度制御装置を実現することができる。
【0024】
【発明の実施の形態】(実施の形態1)図1は実施の形
態1に係るタスク優先度制御装置の要部構成を示す図で
ある。複数のタスク(実際の処理を行うタスク)101
a〜101cはそれぞれ、受信バッファ102a〜10
2cの各々に積まれたデータがある限り処理を継続す
る。各タスクは受信バッファを介してパイプライン状に
接続されている。つまり、タスク101aが処理したデ
ータをタスク101bが処理し、タスク101bが処理
したデータをタスク101cが処理するようになってい
る。
【0025】また、実際の処理を行うタスク101a〜
101cとは別に優先度制御タスク1が設けられてい
る。この優先度制御タスク1は、実際の処理を行うタス
ク101a〜101cの生成状況および各タスクと受信
バッファ102a〜102cとの対応関係を検出するタ
スク情報管理手段11と、このタスク情報管理手段11
によって収集されたデータを用いて作成されるタスク情
報管理テーブル15と、このタスク情報管理テーブル1
5に登録されている各受信バッファ102a〜102c
の使用状況を検出する受信バッファ使用状況検出手段1
2と、この受信状況検出手段12で検出された受信バッ
ファ使用状況およびタスク優先度設定テーブル16の情
報を用いてタスク優先度を決定するタスク優先度決定手
段13と、このタスク優先度決定手段13により決定さ
れたタスク優先度を実際の処理を行うタスク101a〜
101cに設定するタスク優先度設定手段14と、から
構成されている。
【0026】上述の各タスクは、割り込みによる優先度
スケジューリング機能を有するリアルタイムOS(不図
示)上で動作している。優先度スケジューリング機能
は、設定されたタスク優先度に基づき、適宜、割り込み
をかけながら高い優先度のタスクの実行の割合を優先度
の低いタスクに比べて増やすことにより、自然に、設定
された優先度どおりの処理が実現されるように調整する
機能である。すなわち、この優先度スケジューリング機
能は、特定のタスクを強制的に優先処理させることはで
きず、設定した優先度に近づくように、実際の処理の流
れの中でタスクの実行の割合を増減させていく機能であ
る。
【0027】上述の優先度制御タスク1は、各タスク1
01a〜101cの実行中にダイナミックに各タスクの
優先度を変更することにより、上述のリアルタイムOS
がもつ優先度スケジューリング機能を介して間接的に各
タスクの実行を制御していくものである。
【0028】図2(a)は、タスク情報管理手段11の
収集した情報を基に作成されるタスク管理テーブル15
の一例を示している。図2(a)の場合、各タスクと受
信バッファとの対応関係が明らかにされている。なお、
「受信バッファ」という用語はソフトウエア的な概念で
使用している。例えば、データキューやデータ待ち行列
のように、処理するべきデータの一時的な積み上げを意
味する。
【0029】図2(b)はタスク優先度設定手段14に
よって設定される優先度の一例を示している。つまり、
受信バッファの使用状況(混雑状況)が0〜50%の場
合はデータの積み上げ能力に余裕があるので対応するタ
スクの優先度は30(全体を100とする)程度に抑え
る。一方、受信バッファの使用状況が50%を越える場
合には、受信バッファのオーバーフローを防ぐためにデ
ータの処理を急ぐ必要があり、よって対応するタスクの
優先度は70(全体を100とする)程度に引き上げら
れる。
【0030】以上のように構成されたタスク優先度制御
装置の動作を図3を用いて具体的に説明する。
【0031】まず、優先度制御タスク1は、図2(b)
に示すような受信バッファ使用状況とタスク優先度の対
応テーブルを作成してタスク優先度設定テーブル16に
登録する(ステップ201)。続いて、現在生成されて
いるすべてのタスクに対して図2(a)のようなタスク
IDと受信バッファIDの対応テーブルを作成し、タス
ク情報管理テーブル15に登録する(ステップ20
2)。
【0032】次に、タスク情報管理テーブル15より、
すべての受信バッファに対して受信バッファの使用状況
を検出する(ステップ203)。次に、検出した受信バ
ッファの使用状況とタスク優先度設定テーブル16よ
り、タスクの優先度を決定する(ステップ204)。
【0033】次に、決定したタスク優先度により、すべ
てのタスクに対してタスク優先度の設定を行う(ステッ
プ205)。そして、次回タスク優先度の変更処理を行
う時期まで一定期間休止する(ステップ206)。
【0034】次に、本実施の形態における受信バッファ
データ量の推移について具体的に説明する。
【0035】まず、受信バッファのオーバーフローの概
念を図16(a)〜(c)を用いて説明する。
【0036】図16(a)は受信バッファ102a,1
02bへの入力データ量(推定値)の例を示している。
太い実線は受信バッファ102aの入力データ量(推定
値)を表し、太い点線は受信データバッファ102bの
入力データ量(推定値)を表す。図示されるように、常
に、受信バッファ102aのへの入力データ量が受信バ
ッファ102bへの入力データ量よりも大きいものと推
定されている。
【0037】このような推定に従って、受信バッファ1
02aにロードされるデータの処理を促進するべく、図
1のタスク101aの優先度を高位に設定し、受信バッ
ファ102bに対応するタスク101bについては優先
度は低く設定して、その優先度を固定したとする。
【0038】ところが、実際は、図16(b)に示すよ
うに、時刻t2において、受信バッファ102aと10
2bの入力データ量(実測値)が逆転した場合には、図
16(c)に示すように、時刻t3に受信データバッフ
ァ102bに蓄積されているデータ量が受信バッファの
容量(サイズ)を越えてしまってオーバーフローが生じ
る。つまり、タスク優先度を固定したのでは、受信バッ
ファへの入力データ量の変化には追従できず、受信バッ
ファのオーバーフローが生じるのである。
【0039】そこで、本実施の形態では、図4に示すよ
うに、受信バッファのデータ量の変化に追従してダイナ
ミックにタスクの優先度を変更する。
【0040】つまり、図4の一番上の図に示されるよう
に、受信バッファ102a,102bにおけるデータ量
を優先度設定テーブルの値を用いて判断する。つまり、
図2(b)の優先度設定テーブルでは、データ量が0〜
50%の場合は優先度30(低位)とし、50%を越え
るときは優先度70(高位)とするように設定されてい
る。
【0041】したがって、データ量が50%を越える
と、その越えた受信バッファに対応するタスクの優先度
を高位(例えば70(全体100))とし、その結果と
して処理が促進さててデータ量が減少し、データ量が5
0%以下となった場合にはそのタスクの優先度を、再び
低位(例えば30)に戻す。
【0042】図4の中段の図に示されるように、時刻t
1,t2,t3,t8にタスク101aの優先度が低位
から高位にダイナミックに変更され、時刻t4,t5,
t6,t7にタスク101bの優先度が低位から高位へ
とダイナミックに変更されている。
【0043】これによって、図16(b)のように、受
信バッファへの入力データ量が途中で逆転した場合で
も、受信バッファ102a,102bのデータ量は、常
に受信バッファサイズを越えることがなく、受信バッフ
ァのオーバーフローが確実に防止される。
【0044】このように、本実施の形態のタスク優先度
制御装置によれば、受信バッファのオーバーフローを確
実に防止できる。また、優先度制御タスクはタスクスケ
ジューリングを直接制御するものではなく、あくまでも
オペレーティングシステムがサポートしている割り込み
可能タスク優先度スケジューリングにおけるタスク優先
度を制御することにより間接的にタスクスケジューリン
グを制御するため、専用のスケジューラを設けた場合の
ようにタスクの状態管理等を行わない分、容易に実現す
ることができる。
【0045】なお、以上の説明では、タスク優先度の変
更処理を、図3のステップ206のように一定期間休止
することによって周期的に行っているが、CPUによる
割り込みを使用してタスク優先度の変更処理を行っても
構わない。 (実施の形態2)図5は実施の形態2に係るタスク優先
度制御装置の要部構成を示す図である。図1と基本的に
は同じ構成である。但し、本実施の形態では、優先度制
御タスク2内において、タスク優先度決定手段13がタ
スク情報管理テーブル15を参照かつ更新するようにな
っており(図中、このことが符号21で示される)、ま
た、タスク情報管理テーブル15の内容が図6のように
なっている。
【0046】以上のように構成されたタスク優先度制御
装置について、図7を用いてその動作を説明する。
【0047】実施の形態1と同様の手順でステップ20
3まで動作した後、検出した受信バッファ使用状況の中
に設定したしきい値以上の受信バッファ使用状況が存在
するかを確認し、前記設定したしきい値以上の受信バッ
ファ使用状況が存在しない場合は今周期のタスク優先度
設定処理を行わない(ステップ301)。
【0048】次に、設定したしきい値以上の受信バッフ
ァ使用状況が存在する場合には、タスク優先度制御を行
わないとその受信バッファがオーバーフローする可能性
があると判断して、検出した受信バッファ使用状況とタ
スク優先度設定テーブルの情報よりすべてのタスク優先
度を決定する(ステップ204)。
【0049】このとき、優先度の設定処理をできるだけ
少なくするために、今回決定したタスク優先度と前回設
定したタスク優先度が同等で有る場合は、そのタスクに
対して優先度の設定処理を行わない(ステップ30
2)。今回決定したタスク優先度と前回設定したタスク
優先度が異なる場合にのみ決定したタスク優先度に従っ
てタスク優先度の設定を行う(ステップ303)。その
後、実施の形態1と同様の動作をする。
【0050】本実施の形態における受信バッファのデー
タ量の推移を図8に示す。
【0051】本実施の形態において、タスク101aの
優先度の変更が行われるのは、受信バッファ102a,
102bに積み上げられているデータ量がしきい値「D
2(75%)」を越えた場合であり、かつ、その越えて
いる受信バッファが前回優先度を変更した受信バッファ
と同じ場合には優先度は現在のまま維持して再設定を行
わない。
【0052】したがって、受信バッファ102aに対応
するタスク101aについて優先度の再設定が行われる
のは、時刻t1であり、また、受信バッファ102bに
対応するタスク101bについて優先度の再設定が行わ
れるのは、時刻t3である。
【0053】例えば、時刻t2では、受信バッファ10
2aの使用状況が設定したしきい値を超えており、受信
バッファのオーバーフローを防止するためにタスク優先
度の設定処理が必要と判断し、それまでタスク101a
およびタスク101bが共に低位優先度であったのを、
タスク101aに高位優先度が設定され、タスク101
bには、現状の優先度(低位優先度)が再度設定され
る。
【0054】次に、時刻t2において、再び受信バッフ
ァ102aにおいて、データ量がしきい値D2を越える
が、今回の場合も、しきい値を越えた受信バッファは、
前回(時刻t1)において高位優先度が付与されたタス
ク101aに対応するものであるので、優先度の再設定
を行わず、現在の優先度がそのまま維持される。
【0055】次に、時刻t3になると、受信バッファ1
02bにおいてデータ量がしきい値D2を越える。この
受信バッファ102bに対応するタスク101bは前回
高位優先度に設定変更されたタスク101aとは異なる
ので、今回新たに、タスク101bについて高位優先度
が設定され、一方、タスク101aについては、しきい
値を越えていないために、低位優先度が設定される。
【0056】本実施の形態によれば、実施の形態1と同
様に受信バッファのオーバーフロー防止ができ、しか
も、図8の中段の図から明らかなように、タスク優先度
の設定処理回数を減らすことができる。 (実施の形態3)図9に実施の形態3に係る優先度制御
装置の要部構成を示す。
【0057】本実施の形態では、受信バッファの使用状
況を、実際の処理を行うタスク111a〜111c自体
が検出して優先度制御タスク3に送信し、優先度制御タ
スクがこれを受信してその情報に基づきタスク優先度を
設定する。本実施の形態の実質的な効果は実施の形態1
と同じであるが、本実施の形態では、優先度制御タスク
の負荷が軽減されるという特別な効果が得られる。
【0058】図9において、優先度制御タスク3は、実
際の処理を行うタスク111a〜111cから送られて
くる受信バッファ102a〜102cの使用状況報告を
受信する受信バッファ使用状況受信手段31と、受信バ
ッファ使用状況受信手段31で受信された受信バッファ
使用状況と図19のように管理されているタスク優先度
設定テーブル16とからタスク優先度を決定するタスク
優先度決定手段13と、タスク優先度決定手段13によ
り決定されたタスク優先度を実際の処理を行うタスク1
11a〜111cに設定するタスク優先度設定手段14
と、を具備している。
【0059】また、実際に処理を行うタスク111a〜
111cは、自タスクの受信バッファ使用状況を検出す
る受信バッファ使用状況検出手段32a〜32cと、受
信バッファ使用状況検出手段32a〜32cにより検出
された受信バッファ使用状況をタスク優先度制御タスク
に送信する受信バッファ使用状況送信手段33a〜33
cとを具備している。
【0060】図9の優先度制御装置の動作を図11に示
す。
【0061】まず、実際に処理を行うタスクでは、自タ
スクのタスクIDを取得する(ステップ501)。つづ
いて実際の処理を開始し1周期の処理が終了した後(ス
テップ502)、自タスクの受信バッファの使用状況を
検出する(ステップ503)。そして検出した自タスク
の受信バッファ使用状況をタスク優先度制御タスクに図
10が示すようなメッセージフォーマットで送信し、1
周期の処理を終了する(ステップ504)。タスク優先
度制御タスクでは実施の形態1と同様の手順でステップ
202まで動作した後、実際の処理を行うタスクからの
受信バッファ使用状況を受信する(ステップ401)。
その後、実施の形態1と同様の手順でタスク優先度設定
処理を進める。
【0062】本実施の形態による受信バッファデータ量
の推移やタスク優先度の推移、あるいはタスク優先度制
御周期は、図4に示されるもの(実施の形態1)と同じ
である。
【0063】本実施の形態では、受信バッファのオーバ
ーフロー防止および優先度制御タスクの負荷の軽減を図
れる。 (実施の形態4)図12に本実施の形態に係るタスク優
先度制御装置の要部の構成を示す。
【0064】本実施の形態の構成は前掲の実施の形態3
とほぼ同じであるが、実際に処理を行うタスク121a
〜121cにおいて、受信バッファ使用状況をタスク優
先度制御タスクに報告するか否かを管理する受信バッフ
ァ使用状況管理手段41a〜41cを設けた点が異な
る。
【0065】すなわち、実際の処理を行うタスク121
a〜121cは、自タスクの受信バッファ使用状況を検
出する受信バッファ使用状況検出手段32a〜32c
と、受信バッファ使用状況検出手段32a〜32cによ
り検出された受信バッファ使用状況をタスク優先度制御
タスクに報告するか否かを管理する受信バッファ使用状
況管理手段41a〜41cと、タスク優先度制御タスク
に送信する受信バッファ使用状況送信手段33a〜33
cとを具備する。
【0066】図12の構成の動作を図13に示す。
【0067】まず、実際に処理を行うタスクでは、実施
の形態3と同様にステップ503まで動作する。そして
今回検出した受信バッファ使用状況が、前回検出した使
用状況と同等であるならばタスク優先度の設定の必要は
ないと判断し検出した受信バッファ使用状況をタスク優
先度制御タスクに報告しない(ステップ701)。
【0068】今回検出した受信バッファ使用状況が前回
検出した使用状況と異なる場合のみ検出した自タスクの
受信バッファ使用状況をタスク優先度制御タスクに図1
0が示すようなメッセージフォーマットで送信し1周期
の処理を終了する(ステップ504)。
【0069】タスク優先度制御タスクでは実施の形態3
と同様の手順でステップ401まで動作した後、受信バ
ッファ使用状況とタスク優先度制御テーブルより受信バ
ッファの使用状況を受信したタスクに対してのみタスク
優先度を決定する(ステップ601)。そして、受信バ
ッファの使用状況を受信したタスクに対してのみ優先度
の設定を行う(ステップ602)。その後、タスク優先
度設定テーブルを更新(ステップ202)し、実際の処
理を行うタスクからの受信バッファ使用状況受信待ち状
態に移行する(ステップ401)。
【0070】本実施の形態4における受信バッファデー
タ量の推移等を図14に示す。
【0071】タスク優先度制御タスクにおける受信バッ
ファ使用状況の検出方法が実施の形態1と異なるが、受
信バッファデータ量の推移およびタスク優先度の推移は
同等となる。
【0072】しかし、図14のタスク優先度制御周期が
示すように、タスク優先度を設定する頻度はステップ7
01で受信バッファ使用状況の報告を制限していること
とステップ601およびステップ602で受信バッファ
使用状況を受信したタスクに対してのみタスク優先度制
御を行うことにより少なくなる。これによって、実際に
処理を行うタスクでの処理量が若干大きくなるものの、
タスク優先度設定処理量は実施の形態1に比べて軽減さ
れる。また、受信バッファの使用状況が変化してから実
際にタスク優先度の設定が行われるまでの時間が短縮さ
れ、タスク優先度制御タスクのリアルタイム性も向上す
る。
【0073】以上のように本発明の実施の形態1〜4に
よれば、タスク優先度制御タスクを設けることにより、
タスク間で送受信するデータ量の時間的推移の変化が大
きいアプリケーションに対しても、受信バッファのオー
バーフローを防止することができる。
【0074】なお、以上の説明では、変更するタスク優
先度をタスク優先度設定テーブルより算出する構成の例
で説明したが、その他のタスク優先度算出方法について
も同様に実施可能である。 (実施の形態5)図15は、前掲の実施の形態で説明し
たタスクの優先度制御方法を利用して移動体通信基地局
のデバッグを行う基地局実験装置の概要を示す。
【0075】本来、基地局ではリアルタイムOS上で移
動体通信各社が開発したアプリケーションを動作させ
る。したがって、この通信各社が提供するアプリケーシ
ョンの完了前においては基地局のデバッグはできない。
【0076】基地局実験装置は、通信各社のアプリケー
ションの開発が完了していなくとも、デバッグモード用
アプリケーションを搭載して外部から制御信号を入力す
ることにより、擬似的にOSや他の基地局用アプリケー
ション等のデバッグを行うことを可能とする装置であ
る。
【0077】基地局220の内部には、アンテナ233
からの無線信号を受信して増幅する無線部229と、ベ
ースバンド信号処理部230と、有線伝送路インタフェ
ース31と、リアルタイムオペレーティングシステム
(OS)227と、このOS上で動作する制御部221
が搭載されている。
【0078】制御部221は、パイプライン状に接続さ
れた複数のタスクA〜D(符号222〜225)と、優
先度制御タスク226とを具備する。タスクAはメンテ
ナンスツール(パソコン)232からの指令を受けて所
定の処理を行い、処理後のデータをタスクBに渡し、タ
スクBは制御信号を出力してOS227を介してベース
バンド信号処理部230を制御する。ベースバンド信号
処理部230から送られてくる信号はタスクCに入力さ
れ、タスクCは所定の処理を行った後にデータをタスク
Dに渡し、タスクDは所定の制御信号を生成してOS2
27を介して有線伝送路インタフェース231を制御す
る。なお、タスクA〜Dは受信バッファを備えるが、図
15では、受信バッファを省略してある。
【0079】基地局において処理するデータ量は絶えず
変動するためタスクの優先度の設定がむずかしいが、本
実施の形態では、上述したダイナミックなタスク優先度
の設定を行うため、受信バッファはオーバーフローする
ことがない。したがって、一つのタスクの処理遅延によ
ってパイプライン全体の処理が遅れたり、オーバーフロ
ーしたデータが消失して重要な通信データの一部が抜け
落ち、通話品質が低下するといった事態が生じない。
【0080】本実施の形態では、基地局のデバッグ用ア
プリケーションにおいて本発明のタスク優先度制御方法
を使用しているが、実際の移動体通信の中継器として機
能する基地局に搭載されるアプリケーションにおいても
使用可能である。
【0081】
【発明の効果】以上のように本発明は、タスクの実行途
中でも受信バッファの使用状況を検出し、その検出結果
に基づきタスクの優先度をダイナミックに設定するた
め、タスクの受信バッファのオーバーフローを防止する
ことができる。
【0082】また、優先度制御タスクはタスクスケジュ
ーリングを直接制御するものではなく、あくまでもオペ
レーティングシステムがサポートしている割り込み可能
タスク優先度スケジューリングにおけるタスク優先度を
制御することにより間接的にタスクスケジューリングを
制御するため、専用のスケジューラを設けた場合のよう
にタスクの状態管理等を行わない分、容易に実現するこ
とができる
【図面の簡単な説明】
【図1】本発明の実施の形態1に係るタスク優先度制御
装置の要部構成を示すブロック図
【図2】(a)タスク情報管理テーブルの内容例を示す
図 (b)タスク優先度設定テーブルの内容例を示す図
【図3】図1のタスク優先度制御装置の動作手順を示す
フローチャート
【図4】図1のタスク優先度制御装置におけるタスク優
先度の設定方法を説明するための図
【図5】本発明の実施の形態2に係るタスク優先度制御
装置の要部構成を示す図
【図6】タスク情報管理手段の内容を示す図
【図7】図5のタスク優先度制御装置の動作手順を示す
フローチャート
【図8】図5のタスク優先度制御装置におけるタスク優
先度の設定方法を説明するための図
【図9】本発明の実施の形態3に係るタスク優先度制御
装置の要部構成を示す図
【図10】図9における受信バッファ使用状況の報告に
使用されるフォーマット構成を示す図
【図11】図9のタスク優先度制御装置の動作手順を示
すフローチャート
【図12】本発明の実施の形態4に係るタスク優先度制
御装置の要部構成を示す図
【図13】図12のタスク優先度制御装置の動作手順を
示すフローチャート
【図14】図12のタスク優先度制御装置におけるタス
ク優先度の設定方法を説明するための図
【図15】基地局実験装置の構成を示すブロック図
【図16】(a)受信バッファに入力されるデータ量の
推移(推定値)を示す図 (b)受信バッファに入力されるデータ量の推移(実測
値)を示す図 (c)受信バッファにおけるデータ量の推移を示す図
【符号の説明】
1,2,3優先度制御タスク 11 タスク情報管理手段 12 受信バッファ使用状況検出手段 13,14 タスク優先度決定手段 15 タスク情報管理テーブル 16 タスク優先度設定テーブル 31 受信バッファ使用状況受信手段 32 受信バッファ使用状況検出手段 33 受信バッファ使用状況送信手段 41 受信バッファ使用状況管理手段 101a〜101c 実際の処理を行うタスク 102a〜102c 受信バッファ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 実際の処理を行う複数のタスクとは独立
    に前記各タスクの優先度を制御する優先度制御タスクを
    設け、前記実際の処理を行う複数のタスクの実行途中に
    おいて、前記優先度制御タスクが、前記実際の処理を行
    う複数のタスクの各々に対応して設けられている受信バ
    ッファの使用状況を検出し、その検出結果に基づいて前
    記実際の処理を行うタスクについての優先度を決定し、
    その決定された優先度を前記実際の処理を行うタスクに
    設定することを特徴とするタスクの優先度制御方法。
  2. 【請求項2】 前記受信バッファの使用状況が所定のし
    きい値を越えた場合または今回決定した優先度が前回設
    定した優先度と異なる場合または前記条件の双方を満た
    す場合にのみ、前記決定された優先度を前記実際の処理
    を行うタスクに設定することを特徴とする請求項1記載
    のタスクの優先度制御方法。
  3. 【請求項3】 実際の処理を行う複数のタスクとは独立
    に前記各タスクの優先度を制御する優先度制御タスクを
    設け、前記実際の処理を行う複数のタスクの実行途中に
    おいて、前記実際の処理を行う複数のタスクの各々自体
    が受信バッファの使用状況を検出し、その検出結果を前
    記優先度制御タスクに送信し、送信されてきた前記検出
    結果を受信した前記優先度制御タスクは、前記検出結果
    に基づいて前記実際の処理を行うタスクについての優先
    度を決定し、その決定された優先度を前記実際の処理を
    行うタスクに設定することを特徴とするタスクの優先度
    制御方法。
  4. 【請求項4】 前記検出した受信バッファ使用状況より
    前記優先度の設定が必要と判断された場合にのみ、前記
    実際の処理を行うタスクは前記受信バッファ使用状況の
    検出結果を前記優先度制御タスクに送信し、送信されて
    きた前記検出結果を受信した前記優先度制御タスクは、
    前記検出結果を送信してきたタスクに対してのみ前記優
    先度の設定を行うことを特徴とする請求項3記載のタス
    クの優先度制御方法。
  5. 【請求項5】 前記実際の処理を行う複数のタスクは、
    前記受信バッファを介してパイプライン状に接続されて
    いることを特徴とする請求項1〜請求項4のいずれかに
    記載のタスクの優先度制御方法。
  6. 【請求項6】 前記実際の処理を行う複数のタスクおよ
    び前記優先度制御タスクは、タスク優先度スケジューリ
    ング機能をもつオペレーティングシステム上で動作する
    ことを特徴とする請求項1〜請求項5のいずれかに記載
    のタスクの優先度制御方法。
  7. 【請求項7】 受信バッファを介してパイプライン状に
    接続された複数のタスクと、前記複数のタスクの優先度
    を制御する優先度制御タスクとを有し、前記優先度制御
    タスクは、前記タスクと前記受信バッファとの対応関係
    を管理するタスク情報管理手段と、前記受信バッファの
    使用状況を検出する受信バッファ使用状況検出手段と、
    前記受信バッファ使用状況に基づき前記タスクの優先度
    を決定するタスク優先度決定手段と、決定された前記タ
    スクの優先度を前記タスクに設定するタスク優先度設定
    手段と、を具備するタスクの優先度制御装置。
  8. 【請求項8】 受信バッファを介してパイプライン状に
    接続された複数のタスクと、前記タスク内に設けられた
    受信バッファの使用状況の検出手段および検出結果の送
    信手段と、前記複数のタスクの優先度を制御する優先度
    制御タスクとを有し、前記優先度制御タスクは、前記送
    信手段から送られてくる前記受信バッファの使用状況の
    検出結果を受信する受信手段と、前記タスクと前記受信
    バッファとの対応関係を管理するタスク情報管理手段
    と、前記受信手段によって受信された前記受信バッファ
    の使用状況に基づき前記タスクの優先度を決定するタス
    ク優先度決定手段と、決定された前記タスクの優先度を
    前記タスクに設定するタスク優先度設定手段と、を具備
    するタスクの優先度制御装置。
JP10056189A 1998-02-20 1998-02-20 タスクの優先度制御方法およびタスクの優先度制御装置 Pending JPH11237993A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10056189A JPH11237993A (ja) 1998-02-20 1998-02-20 タスクの優先度制御方法およびタスクの優先度制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10056189A JPH11237993A (ja) 1998-02-20 1998-02-20 タスクの優先度制御方法およびタスクの優先度制御装置

Publications (1)

Publication Number Publication Date
JPH11237993A true JPH11237993A (ja) 1999-08-31

Family

ID=13020174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10056189A Pending JPH11237993A (ja) 1998-02-20 1998-02-20 タスクの優先度制御方法およびタスクの優先度制御装置

Country Status (1)

Country Link
JP (1) JPH11237993A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7340742B2 (en) 2001-08-16 2008-03-04 Nec Corporation Priority execution control method in information processing system, apparatus therefor, and program
JP2009116881A (ja) * 2008-11-07 2009-05-28 Hitachi Ltd データ処理装置およびその方法
JP2010049314A (ja) * 2008-08-19 2010-03-04 Nec Corp タスクスケジューリング装置およびタスクスケジューリング方法
WO2012049791A1 (ja) * 2010-10-12 2012-04-19 日本電気株式会社 データ処理方法、データ処理装置及びデータ処理プログラムが格納された非一時的なコンピュータ可読媒体
WO2013069191A1 (ja) * 2011-11-09 2013-05-16 日本電気株式会社 解析処理システム
WO2013099062A1 (ja) * 2011-12-28 2013-07-04 日本電気株式会社 解析処理システム
WO2020189360A1 (ja) * 2019-03-20 2020-09-24 オムロン株式会社 パイプライン演算装置、プログラマブルロジックコントローラ、及び、パイプライン処理の実行方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7340742B2 (en) 2001-08-16 2008-03-04 Nec Corporation Priority execution control method in information processing system, apparatus therefor, and program
JP2010049314A (ja) * 2008-08-19 2010-03-04 Nec Corp タスクスケジューリング装置およびタスクスケジューリング方法
JP2009116881A (ja) * 2008-11-07 2009-05-28 Hitachi Ltd データ処理装置およびその方法
WO2012049791A1 (ja) * 2010-10-12 2012-04-19 日本電気株式会社 データ処理方法、データ処理装置及びデータ処理プログラムが格納された非一時的なコンピュータ可読媒体
JPWO2013069191A1 (ja) * 2011-11-09 2015-04-02 日本電気株式会社 解析処理システム
WO2013069191A1 (ja) * 2011-11-09 2013-05-16 日本電気株式会社 解析処理システム
US9626273B2 (en) 2011-11-09 2017-04-18 Nec Corporation Analysis system including analysis engines executing predetermined analysis and analysis executing part controlling operation of analysis engines and causing analysis engines to execute analysis
WO2013099062A1 (ja) * 2011-12-28 2013-07-04 日本電気株式会社 解析処理システム
WO2020189360A1 (ja) * 2019-03-20 2020-09-24 オムロン株式会社 パイプライン演算装置、プログラマブルロジックコントローラ、及び、パイプライン処理の実行方法
JP2020154830A (ja) * 2019-03-20 2020-09-24 オムロン株式会社 パイプライン演算装置、プログラマブルロジックコントローラ、及び、パイプライン処理の実行方法
CN113614658A (zh) * 2019-03-20 2021-11-05 欧姆龙株式会社 管线运算装置、可编程逻辑控制器及管线处理的执行方法
KR20210137472A (ko) 2019-03-20 2021-11-17 오므론 가부시키가이샤 파이프라인 연산 장치, 프로그래머블 로직 콘트롤러, 및 파이프라인 처리의 실행 방법
EP3944037A4 (en) * 2019-03-20 2022-11-09 OMRON Corporation PIPELINE COMPUTER APPARATUS, PROGRAMMABLE LOGIC CONTROLLER AND METHOD FOR PERFORMING PIPELINE PROCESSING

Similar Documents

Publication Publication Date Title
US6633942B1 (en) Distributed real-time operating system providing integrated interrupt management
US7809876B2 (en) Distributed real-time operating system
US6687257B1 (en) Distributed real-time operating system providing dynamic guaranteed mixed priority scheduling for communications and processing
US20060203855A1 (en) Communication control system and communication control method
US7676610B2 (en) Device and method for optimization of target host device process handling according to the status and the priority of the target host device process
EP0852357A2 (en) Method for handling interrupts in a high speed I/O controller
JP4747307B2 (ja) ネットワーク処理制御装置,プログラムおよび方法
EP1789874A2 (en) Method and system for concurrent excution of mutiple kernels
US20060161641A1 (en) Computer-readable recording medium, relay control method, and relay control apparatus
JPH11237993A (ja) タスクの優先度制御方法およびタスクの優先度制御装置
JP2001014243A (ja) 受信割込処理装置
US20020188749A1 (en) Receive performance of a network adapter by dynamically tuning its interrupt delay
CN114268670B (zh) 基于时间触发的以太网异步消息处理系统及方法
US8095695B2 (en) Control apparatus for process input-output device
CN115686863A (zh) 一种混合轮询方法、装置、设备及可读存储介质
JP2008225641A (ja) コンピュータシステム、割り込み制御方法及びプログラム
JP5262418B2 (ja) タスクスケジューリング装置およびタスクスケジューリング方法
US7353366B2 (en) Processing device
CN113810167B (zh) 一种分布式系统的时序控制与同步方法
CN111385219A (zh) 借用硬件中断实现高性能高精度软件tcp限速的方法
JP2000003286A (ja) メッセージ処理装置およびその方法
US11789777B2 (en) Resource utilization method, electronic device, and computer program product
JPH11312149A (ja) 負荷分散制御方式及び装置
JP4877317B2 (ja) 情報処理装置、割り込み制御方法
JPH06195317A (ja) データ処理システム