JP2000056992A - タスクスケジューリングシステム、方法及び記録媒体 - Google Patents

タスクスケジューリングシステム、方法及び記録媒体

Info

Publication number
JP2000056992A
JP2000056992A JP10228784A JP22878498A JP2000056992A JP 2000056992 A JP2000056992 A JP 2000056992A JP 10228784 A JP10228784 A JP 10228784A JP 22878498 A JP22878498 A JP 22878498A JP 2000056992 A JP2000056992 A JP 2000056992A
Authority
JP
Japan
Prior art keywords
task
data
queue
scheduling
priority
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
JP10228784A
Other languages
English (en)
Inventor
Minoru Kuroiwa
実 黒岩
Yosuke Takano
陽介 高野
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP10228784A priority Critical patent/JP2000056992A/ja
Publication of JP2000056992A publication Critical patent/JP2000056992A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 (修正有) 【課題】 データを生成する優先順位の高いタスクの実
行が、そのデータを処理する優先順位の低いタスクによ
ってブロックされることを防止する。 【解決手段】 データを生成してデータ待ち行列105
に高優先順位のデータ生成タスク102と、データ待ち
行列105からデータを取り出して処理する低優先順位
のデータ処理タスク103と、中間の優先順位であるタ
スク104とを含むタスク群101のスケジューリング
する。ここで、待ち行列監視手段108は、データ待ち
行列105の長さが新たに閾値110を上回ったとき、
優先順位変更手段109に通知してデータ処理タスク1
04の優先順位を高くさせる。また、待ち行列監視手段
108は、データ待ち行列の長さが新たに閾値110を
下回ったとき、優先順位変更手段109に通知してデー
タ処理タスクの優先順位をもとの低い順位にさせる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、タスクスケジュー
リングシステム、方法及びこの方法を実行するためのプ
ログラムを記録した記録媒体に関し、特に優先順位の高
いタスクが生成したデータを優先順位の低いタスクが処
理するシステムにおけるタスクスケジューリングに関す
る。
【0002】
【従来の技術】マルチプログラミングを実現するための
タスク(プロセス)のスケジューリング方法として、タ
スク毎に優先順位を付け、優先順位の高いタスクからC
PU(Central Processing Unit)などの資源を割り当
て、実行していく方法が知られている。このように優先
順位に従ってタスクスケジューリングを行うタスクスケ
ジューリングシステムで、優先順位の高いタスクが生成
したデータを優先順位の低いタスクが処理するシステム
がある。
【0003】図10は、このような場合の、従来のタス
クスケジューリングシステムの構成を示すブロック図で
ある。このシステムには、優先順位が高いデータ生成タ
スク901、優先順位が低いデータ処理タスク903、
およびデータ生成タスク901とデータ処理タスク90
3の中間の優先順位を持つタスク902が存在する。タ
スクスケジューラ905は、複数のタスクが実行可能で
ある場合には、優先順位の高いタスクを選択してCPU
906を割り当てる。
【0004】CPU906の割り当てを受けたデータ生
成タスク901が生成したデータは、データ待ち行列9
04に格納される。データ処理タスク903は、データ
待ち行列904からデータをひとつづつ取り出して順次
処理を行う。ここで、データ生成タスク901がデータ
を生成したときにデータ待ち行列904に空きが存在し
ない場合には、データ待ち行列904に空きが生じるま
でそのデータ生成タスク901は待ち状態とされ、その
実行がブロックされる。
【0005】
【発明が解決しようとする課題】しかしながら、上記従
来のタスクスケジューリングシステムでは、システムが
一時的に過負荷になると、優先順位の低いデータ処理タ
スク903は、タスクスケジューラ905によってCP
U906が割り当てられず、実行されなくなってしま
う。この場合、データ待ち行列904は、データが取り
出されなくなるので、その長さが次第に増加し、いずれ
空きがなくなってしまうこととなる。このような場合、
データ生成タスク901は、データ待ち行列904の空
き待ちでその実行がブロックされてしまう。
【0006】このように、従来のタスクスケジューリン
グシステムでは、システムが過負荷状態になったとき
に、データ生成タスク901の実行がブロックされ易く
なってしまうという問題点があった。さらに、データ生
成タスク901の実行がブロックされやすくなると、そ
のブロック/アンブロックによるつくスケジューラ90
5のオーバーヘッドが増加し、CPU906を実質的な
処理に割り当てることができる時間が減ってしまうとい
う問題点があった。
【0007】本発明の目的は、データを生成して順次待
ち行列に格納するデータ生成タスクと、待ち行列からデ
ータを取りだして処理するデータ処理タスクとが動作す
るシステムにおいて、待ち行列の空き待ちによってデー
タ生成タスクの実行がブロックされることを防止するこ
とにある。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、本発明の第1の観点にかかるタスクスケジューリン
グシステムは、データを順次格納し、格納した順番で取
り出させる待ち行列と、データを順次生成して前記待ち
行列に格納するデータ生成タスクと、前記待ち行列に格
納されているデータを順次取りだして処理するデータ処
理タスクとを含む複数のタスクをそれぞれのスケジュー
リングパラメータに従ってスケジューリングして資源を
割り当てるタスクスケジューリング手段と、前記タスク
スケジューリング手段によって資源が割り当てられたタ
スクを実行するタスク実行手段と、所定の閾値を保持
し、前記タスク実行手段による前記データ生成タスクま
たは前記データ処理タスクの実行によって変化する前記
待ち行列の長さを、前記所定の閾値との比較によって監
視する待ち行列長監視手段と、前記待ち行列長監視手段
における監視の結果、前記データ生成タスクと前記デー
タ処理タスクとの少なくともいずれか一方のスケジュー
リングパラメータを変更するスケジューリングパラメー
タ変更手段とを備えることを特徴とする。
【0009】上記タスクスケジューリングシステムで
は、スケジューリングパラメータ変更手段は、待ち行列
の長さによってデータ生成タスクとデータ処理タスクと
の少なくともいずれか一方のスケジューリングパラメー
タを変更する。すなわち、待ち行列の長さが長くなれば
データ処理タスクに資源が割り当てられ易くなるよう
に、短くなればデータ生成タスクに資源が割り当てられ
易くなるように、スケジューリングパラメータを変更す
ることができる。これにより、データ生成タスクが連続
して実行されることによって待ち行列に空きがなくなる
ことを避けることができ、待ち行列の空き待ちによって
データ生成タスクの実行がブロックされるのを防止する
ことができる。
【0010】上記タスクスケジューリングシステムにお
いて、前記スケジューリングパラメータには、例えば、
タスクへ資源を割り当てるための優先順位、タスクへ資
源を割り当てるための周期、或いはタスクが資源を必要
としている時間を予約する資源予約時間などを選ぶこと
ができる。
【0011】上記タスクスケジューリングシステムにお
いて、前記待ち行列長監視手段は、前記待ち行列の長さ
が新たに上回った場合と新たに下回った場合とで異なる
複数の閾値を保持するものとすることができる。
【0012】これにより、スケジューリングパラメータ
変更手段がスケジューリングパラメータの変更をした直
後に、待ち行列の長さが閾値を上回るまたは下回ること
により、スケジューリングパラメータをさらに変更しな
ければならないといった状況を避けることができる。こ
のため、スケジューリングパラメータ変更手段によるオ
ーバーヘッドを避けることができ、システムを安定的に
動作させることができる。
【0013】上記タスクスケジューリングシステムにお
いて、前記スケジューリングパラメータ変更手段は、前
記スケジューリングパラメータがスケジューリングパラ
メータを変更してからの時間を監視する手段と、該手段
で監視する時間が所定の時間となるまで、スケジューリ
ングパラメータの変更を禁止する手段とを備えるものと
することができる。
【0014】これにより、待ち行列の長さが短時間の間
に閾値の前後で変化し、スケジューリングパラメータの
変更が短時間で繰り返して行われるという状況を避ける
ことができる。このため、スケジューリングパラメータ
変更手段によるオーバーヘッドを避けることができ、シ
ステムを安定的に動作させることができる。
【0015】上記タスクスケジューリングシステムにお
いて、前記スケジューリングパラメータは、通常、初期
状態において前記データ処理タスクよりも前記データ生
成タスクに前記資源が割り当てられ易くなるように設定
される。この場合、前記スケジューリングパラメータ変
更手段は、前記待ち行列の長さが前記所定の閾値を新た
に上回ったときに前記データ処理タスクへ資源がより割
り当てられ易くなるように前記スケジューリングパラメ
ータを変更し、前記待ち行列の長さが前記所定の閾値を
新たに下回ったときに前記データ処理タスクへ資源がよ
り割り当てられにくくなるように前記スケジューリング
パラメータを変更することを好適とする。
【0016】なお、上記タスクスケジューリングシステ
ムにおいて、前記待ち行列監視手段が保持する所定の閾
値は、予め定められたもので固定とすることも、状況に
応じて可変とすることもできる。
【0017】上記目的を達成するため、本発明の第2の
観点にかかるタスクスケジューリング方法は、データを
順次生成して待ち行列に格納するデータ生成タスクと、
前記待ち行列に格納されているデータを順次取りだして
処理するデータ処理タスクとを含む複数のタスクをそれ
ぞれのスケジューリングパラメータに従ってスケジュー
リングして資源を割り当て、該資源を割り当てたタスク
を実行させるものであって、スケジューリングされて資
源が割り当てられた前記データ生成タスクまたは前記デ
ータ処理タスクの実行によって変化する前記待ち行列の
長さを、所定の閾値との比較によって監視する待ち行列
長監視ステップと、前記待ち行列長監視ステップでの監
視の結果に従って、前記データ生成タスクと前記データ
処理タスクとの少なくともいずれか一方のスケジューリ
ングパラメータを変更するスケジューリングパラメータ
変更ステップとを含むことを特徴とする。
【0018】上記目的を達成するため、本発明の第3の
観点にかかるコンピュータ読み取り可能な記録媒体は、
データを順次生成して待ち行列に格納するデータ生成タ
スクと、前記待ち行列に格納されているデータを順次取
りだして処理するデータ処理タスクとを含む複数のタス
クをそれぞれのスケジューリングパラメータに従ってス
ケジューリングして資源を割り当て、該資源を割り当て
たタスクを実行させるためのプログラムを記録するもの
であって、スケジューリングされて資源が割り当てられ
た前記データ生成タスクまたは前記データ処理タスクの
実行によって変化する前記待ち行列の長さを、所定の閾
値との比較によって監視する待ち行列長監視ステップ
と、前記待ち行列長監視ステップでの監視の結果に従っ
て、前記データ生成タスクと前記データ処理タスクとの
少なくともいずれか一方のスケジューリングパラメータ
を変更するスケジューリングパラメータ変更ステップと
を実行するプログラムを記録することを特徴とする。
【0019】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図面を参照して詳細に説明する。
【0020】[第1の実施の形態]この実施の形態で
は、タスクのスケジューリングとして、優先順位の高い
タスクに優先的にCPUを割り当てる方式を用いた場合
について説明する。
【0021】図1は、この実施の形態にかかるタスクス
ケジューリングシステムの構成を示すブロック図であ
る。図示するように、このタスクスケジューリングシス
テムは、メモリに格納されているタスク群101と、デ
ータ待ち行列105と、タスクスケジューラ106と、
CPU107と、待ち行列監視手段108と、優先順位
変更手段109とを備える。
【0022】タスク群101は、データを生成する高優
先順位のデータ生成タスク102と、データ生成タスク
102が生成したデータを処理する低優先順位のデータ
処理タスク103と、データ生成タスク102とデータ
処理タスク103の中間の優先順位であるタスク104
とを含む。
【0023】データ生成タスク102は、最も高い優先
順位で実行され、データ処理タスク103が処理するデ
ータを繰り返し生成してデータ待ち行列105に格納す
る。データ処理タスク103は、通常は、最も低い優先
順位で実行され、データ生成タスク102が生成したデ
ータを順次処理する。タスク104は、データ生成タス
ク102とデータ処理タスク103との中間の優先順位
で実行され、データ生成タスク102が生成するデータ
には関与していない。
【0024】データ生成タスク102が生成するデータ
は、データ待ち行列105に格納され、データ処理タス
ク103が順次処理するものであればよく、例えば、数
値データや文字列、オブジェクトへのポインタ、通信メ
ッセージ、ジョブなどが想定される。
【0025】データ待ち行列105は、データ生成タス
ク102が生成したデータを格納し、最初に格納された
データから順次、データ処理タスク103によって取り
出されるものである。データ待ち行列105は、それぞ
れのデータに対して優先順位が定められており、その優
先順位に従った順番でデータが格納され、取り出される
ものとしてもよい。
【0026】待ち行列長監視手段108は、予め定めら
れた閾値110を保持しており、データ待ち行列105
の長さが増加して閾値110を上回った時点、および、
データ待ち行列105の長さが減少して閾値110を下
回った時点で、優先順位変更手段109に増加時、減少
時の区別が分かる方法で通知を行う。
【0027】優先順位変更手段109は、待ち行列長監
視手段108から通知(増加時)を受け取った場合に、
データ処理タスク103の優先順位をタスク104の優
先順位よりも高い、データ生成タスク102の優先順位
と同一の値に設定する。また、待ち行列長監視手段10
8から通知(減少時)を受け取った場合に、データ処理
タスク103の優先順位をタスク104の優先順位より
も低い、元の優先順位の値に設定する。
【0028】タスクスケジューラ106は、タスク群1
01に含まれるタスクのうちで、実行可能状態にあり、
かつ優先順位が最も高いタスクにCPU107を割り当
てる。タスクスケジューラ106は、タスク群101に
タスクが同じ優先順位のタスクが複数含まれる場合に
は、先に実行可能になったタスクにCPU107を割り
当てる到着順方式、所定のタイムスライスでタスクにC
PU107を割り当てるラウンドロビン方式、特定の順
番を定めない方式などによって、タスクのスケジューリ
ングを行う。
【0029】CPU107は、タスクスケジューラ10
6によって割り当てを受けたタスクを実行する。前述の
データ生成タスク102は、実際にはCPU107によ
って実行されることで、データ待ち行列105に格納す
るデータを生成し、また、前述のデータ処理タスク10
3は、実際にはCPU107によって実行されること
で、データ待ち行列105からデータを取り出して処理
する。
【0030】また、タスクスケジューラ106、待ち行
列長監視手段108及び優先順位変更手段109は、こ
れらのためのオペレーティングシステムのプログラムを
CPU107が実行することによって実現される。そし
て、これらは、データ生成タスク102、データ処理タ
スク103などから呼び出され、或いはタスクスケジュ
ーラ106は、割り込みなどの他のイベントの発生によ
って呼び出されて実行される。
【0031】以下、この実施の形態にかかるタスクスケ
ジューリングシステムにおける動作について説明する。
この実施の形態において、タスク群101に含まれるタ
スクの優先順位が変化し、タスクスケジューラ106に
よるスケジューリングに影響を与えるものとして、
(1)データ生成タスク102がデータを生成してデー
タ待ち行列105に格納する場合、(2)データ処理タ
スク103がデータ待ち行列105からデータを取り出
す場合、がある。
【0032】図2は、データ生成タスク102がデータ
を生成してデータ待ち行列105に格納する時の動作を
示すフローチャートである。まず、データ生成タスク1
02を実行するCPU107は、データ生成タスク10
2がデータを生成する命令を実行した後、データ待ち行
列105にそのデータを格納するための空きスペースが
あるかどうか検査する(ステップ201)。
【0033】データ待ち行列105に空きがない場合
は、タスクスケジューラ106によりこのデータ生成タ
スク102を待ち状態とし、データ処理タスク103が
データを処理することによって空きが生じるまでその実
行をブロックする(ステップ202)。一方、データ待
ち行列105に空きがある場合は、データ生成タスク1
02を実行するCPU107は、データをデータ待ち行
列105に格納し(ステップ203)、待ち行列長監視
手段108により待ち行列の長さがあらかじめ設定され
ている閾値110を新たに越えることとなったかどうか
を検査する(ステップ204)。
【0034】閾値110を新たに越えた場合には、待ち
行列監視手段108は、優先順位変更手段109に増加
時の通知を行い、優先順位変更手段109は、データ処
理タスク103をデータ生成タスク102と同じ高優先
順位に変更する(ステップ205)。閾値110を越え
ていない場合や、ステップ203でデータを格納する以
前から閾値110を越えていた場合には、優先順位の変
更は行わないで、次の処理に進む。そして、データ生成
タスク102を実行するCPU107は、データ待ち行
列105のデータ待ちでブロックされているデータ処理
タスク103が存在するかどうかを検査する(ステップ
206)。
【0035】ブロックされているデータ処理タスク10
3が存在する場合には、タスクスケジューラ106によ
りそのデータ処理タスク103を実行可能状態としてア
ンブロックする(ステップ207)。そして、このフロ
ーチャートの処理を終了する。一方、ブロックされてい
るデータ処理タスク103が存在しない場合には、その
ままこのフローチャートの処理を終了する。
【0036】図3は、データ処理タスク103がデータ
待ち行列105からデータを取り出す時の動作を示すフ
ローチャートである。まず、まず、データ処理タスク1
03は、データを取り出す命令を実行する前に、データ
待ち行列105に処理対象となるデータが存在するかど
うかを検査する(ステップ301)。
【0037】データ待ち行列105にデータが存在しな
い場合は、タスクスケジューラ106によりこのデータ
処理タスク103を待ち状態とし、データ生成タスク1
02がデータを生成してデータ待ち行列105にデータ
を格納するまでその実行をブロックする(ステップ30
2)。データ待ち行列105にデータが存在する場合
は、データ処理タスク103を実行するCPU107
は、データ待ち行列105からデータをひとつ取り出し
(ステップ303)、待ち行列長監視手段108により
待ち行列の長さ(データ待ち行列105に格納されてい
るデータ数)があらかじめ設定されている閾値110を
新たに下回ることとなったかどうかを検査する(ステッ
プ304)。
【0038】閾値110を新たに下回った場合は、待ち
行列監視手段108は、優先順位変更手段109に減少
時の通知を行い、データ処理タスク103の優先順位を
タスク104の優先順位よりも低い元の優先順位に変更
する(ステップ305)。閾値110を下回っていない
場合や、ステップ303でデータを取り出す以前から閾
値110を下回っていた場合には、優先順位の変更は行
わないで、次の処理に進む。そして、データ処理タスク
103を実行するCPU107は、データ待ち行列10
5に空き待ちによりブロックされているデータ生成タス
ク102が存在するかどうかを検査する(ステップ30
6)。
【0039】ブロックされているデータ生成タスク10
2が存在する場合には、タスクスケジューラ106によ
りそのデータ生成タスク102を実行可能状態としてア
ンブロックする(ステップ307)。そして、このフロ
ーチャートの処理を終了する。一方、ブロックされてい
るデータ生成タスク102が存在しない場合には、その
ままこのフローチャートの処理を終了する。
【0040】なお、図2のステップ202でブロックさ
れたデータ生成タスク102は、図3のステップ307
でアンブロックされ、タスクスケジューラ106によっ
てCPU107が割り当てられたとき、図2のステップ
203から実行を再開する。また、図3のステップ30
2でブロックされたデータ処理タスク103は、図2の
ステップ207でアンブロックされ、タスクスケジュー
ラ106によってCPU107が割り当てられたとき、
図3のステップ303から実行を再開する。
【0041】以下、この実施の形態にかかるタスクスケ
ジューリングシステムを適用したシステムについて、具
体例を挙げて詳細に説明する。図4は、この実施の形態
にかかるタスクスケジューリングシステムを適用した具
体例を示す。ここでは、ペン入力による文字認識と動画
再生を同時に行うシステムを示している。このシステム
では、ペン入力時のペン軌跡描画を最優先し、次に動画
再生を優先するもので、文字認識はペン軌跡描画も動画
再生も行われていない時間に行う。なお、以下の説明に
おいて、優先順位の値が大きい方がより優先されるタス
クである。
【0042】タスクスケジューラ411は、優先順位の
高いタスクに優先してCPU412を割り当て、優先順
位が同じタスクにはラウンドロビンでCPU412を割
り当てる、固定優先順位ラウンドロビン方式でスケジュ
ーリングを行う。
【0043】ペン軌跡描画タスク401(優先順位は
5)は、ペン入力つき表示装置413からペンデータが
入力されると実行され、ペン軌跡をペン入力つき表示装
置413に描画するとともに、メッセージ送信機能40
5を使用してメッセージポート408にペン軌跡データ
410をメッセージ送信する。
【0044】文字認識タスク403(優先順位は1)
は、メッセージ受信機能406を使用してメッセージポ
ート408からペン軌跡データをメッセージ受信し、文
字認識を行った後にペン入力つき表示装置413にその
文字認識の結果を表示する。
【0045】動画再生タスク402(優先順位は3)
は、動画像のフレーム周期で周期的に実行され、動画像
をペン入力つき表示装置413に描画する。
【0046】メッセージポート408は、最大長が10
0であるメッセージの待ち行列409を有しており、ペ
ン軌跡描画タスク401が最大長を越えてメッセージを
送信しようとした場合には、ペン軌跡描画タスク401
をブロックする。
【0047】メッセージ送信機能405は、メッセージ
を送信する際に待ち行列409の長さを調べ、閾値40
7(値は50)を越えた時点で優先順位設定機能404
を使用して文字認識タスク403の優先順位を1から5
に変更させる。
【0048】メッセージ受信機能406は、メッセージ
を受信する際に待ち行列409の長さを調べ、閾値40
7を下回った時点で優先順位設定機能404を使用して
文字認識タスク403の優先順位を5から1に変更させ
る。
【0049】このシステムでは、例えば、一時的にペン
を速く動かすことによってペン軌跡データ410の生成
速度が増加した場合、あるいは、再生する動画像のサイ
ズが増加して動画再生タスク402の処理量が増加した
場合に、優先順位が最も低い文字認識タスク403の処
理時間が十分に確保できない状態が発生しうる。そのよ
うな場合、メッセージの待ち行列409の長さは、時間
が経過するとともに長くなる。
【0050】しかし、閾値407を越えた時点で文字認
識タスク403の優先順位がペン軌跡描画タスク401
と同じ値に設定されるため、文字認識タスク403が動
画再生タスク402に優先して実行されることになり、
待ち行列409がそれ以上長くなることが避けらる。そ
の結果、最も優先順位の高いペン軌跡描画タスク401
の実行が待ち行列409の空き待ちでブロックされるこ
とを防止することができる。
【0051】また、ペンを動かす速さが通常の速度に戻
るなどして、待ち行列409の長さが閾値407よりも
短くなった場合には、文字認識タスク403の優先順位
は1に戻るため、本来優先順位の高い動画再生タスク4
02が文字認識タスク403よりも優先されて実行され
るようになる。
【0052】以上説明したように、この実施の形態にか
かるタスクスケジューリングシステムでは、データ待ち
行列105の長さが閾値110を新たに越えるとデータ
処理タスク103の優先順位を高く設定し、データ待ち
行列105の長さが再び閾値110を下回ると、データ
処理タスク103の優先順位が元の低い値に戻される。
このため、特にシステムが一時的に過負荷状態になった
場合などに、優先順位の低いデータ処理タスク103に
CPU107が割り当てられず、データ待ち行列105
からデータが取り出されなくなる事態を避けることがで
きる。従って、優先順位の高いデータ生成タスク102
の実行が、データ待ち行列105の空き待ちによってブ
ロックされてしまうことを防止することができる。
【0053】[第2の実施の形態]この実施の形態で
は、タスクのスケジューリングとして、タスク毎の固有
の周期に従ってCPUを割り当てる方法を用いた場合に
ついて、説明する。
【0054】図5は、この実施の形態にかかるタスクス
ケジューリングシステムの構成を示すブロック図であ
る。図示するように、このタスクスケジューリングシス
テムは、タスクスケジューラ506が周期的なスケジュ
ーリングを行う点、タスク群501にタスク固有の周期
に基づいてスケジューリングされるタスクが含まれる
点、および第1の実施の形態での優先順位変更手段10
9が周期変更手段509に置き換わっている点が、第1
の実施の形態のタスクスケジューリングシステム(図
1)と異なる。
【0055】タスク群501には、データ生成タスク5
02、データ処理タスク503及びタスク504が含ま
れる。データ生成タスク502とタスク504とは、そ
れぞれ独立した周期で、タスクスケジューラ506によ
ってCPU507が割り当てられる。ここで、データ処
理タスク503は、周期的にCPU507の割り当てを
受けるものではなく、データ生成タスク502及びタス
ク504が実行されていない時間にCPU507によっ
て実行される。なお、データ生成タスク502、データ
処理タスク503及びタスク504のその他の機能は、
それぞれ第1の実施の形態の対応するものと同一であ
る。
【0056】周期変更手段509は、待ち行列長監視手
段508からの通知を受けた時点で、タスク群501の
周期、特にデータ生成タスク502及びタスク504の
周期を変更する。
【0057】なお、この実施の形態において、データ待
ち行列505、CPU507、閾値510を保持する待
ち行列長監視手段508は、それぞれ第1の実施の形態
(図1)の対応するものと同一である。
【0058】以下、この実施の形態にかかるタスクスケ
ジューリングシステムにおける動作について説明する。
この実施の形態にかかるタスクスケジューリングシステ
ムの動作は、データ待ち行列505の長さが閾値510
を越えた時点(図2:ステップ204)と、閾値510
を下回った時点(図3:ステップ304)での動作が、
第1の実施の形態のもの(図2、図3)と異なる。
【0059】この実施の形態では、図2のステップ20
4においてデータ待ち行列505の長さが閾値510を
越えたと判定されると、ステップ205の処理の代わり
に、周期変更手段509によりデータ処理タスク503
の処理時間が増加するように、データ生成タスク502
とタスク504との周期が変更される。また、図3のス
テップ304においてデータ待ち行列505の長さが閾
値510を下回ったと判定されると、ステップ305の
処理の代わりに、周期変更手段509により変更されて
いるデータ処理タスク503とタスク504との周期が
元の値に戻される。
【0060】以下、この実施の形態にかかるタスクスケ
ジューリングシステムを適用したシステムについて、具
体例を挙げて詳細に説明する。図5は、この実施の形態
にかかるタスクスケジューリングシステムを適用した具
体例を示す。ここでも、ペン入力による文字認識と動画
再生を同時に行うシステムを示している。
【0061】このシステムは、次の点で第1の実施の形
態の具体例で示したシステム(図4)と異なる。ペン軌
跡データ1010を生成するペン軌跡描画タスク100
1は、周期20ミリ秒で実行される。動画再生タスク1
002は、周期50ミリ秒で実行される。ペン軌跡デー
タを処理する文字認識タスク1003は、ペン軌跡描画
タスク1001及び動画再生タスク1002が実行され
ていない時間に実行される。
【0062】タスクスケジューラ1011は、タスクの
周期が短いものに優先してCPUを割り当てるレートモ
ノトニック方式によってタスクスケジューリングを行っ
ている。周期設定機能1004は、メッセージ送信機能
1005、あるいはメッセージ受信機能1006から通
知を受け、動画再生タスクの周期を変更する。
【0063】このシステムにおいて、ペン描画タスク1
001がメッセージ送信機能1005を使用してペン軌
跡データ1010をメッセージポート1008に送信し
た時、待ち行列1009の長さが閾値1007を越えた
場合には、周期設定機能1004を使用して動画再生タ
スク1002の周期を50ミリ秒から100ミリ秒に変
更させる。これにより、文字認識タスク1003の処理
時間が増加し、待ち行列1009の長さが減少すること
になる。
【0064】また、文字認識タスク1003がメッセー
ジ受信機能1006を使用してペン軌跡データをメッセ
ージポート1008から受信した時、待ち行列1009
の長さが閾値1007を下回った場合には、周期設定機
能1004を使用して動画再生タスク1002の周期を
元の50ミリ秒に変更させる。
【0065】なお、上記の例では、スケジューラがレー
トモノトニック方式であると説明したが、最もデッドラ
インが近いタスクを優先するアーリーデッドラインファ
ースト方式など、周期的タスクを扱うその他のスケジュ
ーリング方式も、このような例に同様に適用することが
できる。
【0066】以上説明したように、この実施の形態にか
かるタスクスケジューリングシステムでは、データ待ち
行列505の長さが閾値510を新たに越えるとデータ
処理タスク503の処理時間が増加するようにデータ生
成タスク502とタスク504との周期が変更され、デ
ータ待ち行列505の長さが再び閾値510を下回る
と、データ生成タスク502とタスク504の周期が元
に戻される。このため、特にシステムが一時的に過負荷
状態になった場合などに、優先順位の低いデータ処理タ
スク503にCPU507が割り当てられず、データ待
ち行列505からデータが取り出されなくなる事態を避
けることができる。従って、優先順位の高いデータ生成
タスク502の実行が、データ待ち行列505の空き待
ちによってブロックされてしまうことを防止することが
できる。
【0067】[第3の実施の形態]この実施の形態で
は、タスクのスケジューリングとして、各タスクが予約
した量だけCPUを割り当てるCPU予約方式を用いた
場合について、説明する。
【0068】図7は、この実施の形態にかかるタスクス
ケジューリングシステムの構成を示すブロック図であ
る。図示するように、このタスクスケジューリングシス
テムは、タスクスケジューラ606がCPU予約方式に
よってタスクをスケジュールする点、および第1の実施
の形態での優先順位変更手段109がCPU予約量変更
手段609に置き換わっている点が、第1の実施の形態
のタスクスケジューリングシステム(図1)と異なる。
【0069】ここで、CPU予約方式とは、各タスクが
必要としてるCPU割り当て時間をあらかじめCPU予
約量として予約し、それぞれのタスクに対して予約した
量のCPU割り当てを保証するタスクスケジューリング
方式である。その際、タスク群601に含まれるタスク
602〜604が予約したCPU割り当て時間の合計
は、実現可能な値に収まるように調整される。CPU割
り当て時間の予約方法としては、周期あたりのCPU割
り当て時間を指定する方法、CPUの割り当て率を指定
する方法、ある期間内でのCPU割り当て時間を指定す
る方法などを適用することができる。
【0070】タスク群601には、データ生成タスク6
02、データ処理タスク603及びタスク604が含ま
れる。データ生成タスク602、タスク604は、それ
ぞれの処理に必要なCPU割り当て時間を予約してい
る。一方、データ処理タスク603はCPU割り当て時
間を予約していない。なお、データ生成タスク602、
データ処理タスク603及びタスク604のその他の機
能は、それぞれ第1の実施の形態の対応するものと同一
である。
【0071】タスクスケジューラ607は、各タスクの
CPU消費時間をカウントしており、予約したCPU割
り当て時間を使い切っていないタスクにCPUを割り当
てる。タスクスケジューラ607は、データ生成タスク
602、タスク604が予約したCPU割り当て時間を
使い切った場合は、データ処理タスク603にCPUを
割り当てる。
【0072】CPU予約量変更手段609は、待ち行列
長監視手段608からの通知を受けた時点で、タスク群
601のCPU割り当て時間の予約量、特にデータ生成
タスク602及びタスク604のCPU割り当て時間の
予約量を変更する。
【0073】なお、この実施の形態において、データ待
ち行列605、CPU607、閾値610を保持する待
ち行列長監視手段608は、それぞれ第1の実施の形態
(図1)の対応するものと同一である。
【0074】以下、この実施の形態にかかるタスクスケ
ジューリングシステムにおける動作について説明する。
この実施の形態にかかるタスクスケジューリングシステ
ムの動作は、データ待ち行列605の長さが閾値610
を越えた時点(図2:ステップ204)と、閾値610
を下回った時点(図3;ステップ304)での動作が、
第1実施の形態のもの(図2、図3)と異なる。
【0075】この実施の形態では、図2のステップ20
4においてデータ待ち行列605の長さが閾値610を
越えたと判定されると、ステップ205の処理の代わり
に、CPU予約量変更手段609によりデータ処理タス
ク603の処理時間が増加するようにタスク群601の
各タスクのCPU割り当て時間の予約量が変更される。
例えば、タスク604のCPU割り当て時間の予約量を
2分の1にする方法などが考えられる。また、図3のス
テップ304においてデータ待ち行列605の長さが閾
値610を下回ったと判定されると、ステップ305の
処理の代わりにCPU予約量変更手段609によりデー
タ生成タスク602とタスク604とのCPU割り当て
時間の予約量が元の値に戻される。
【0076】以上説明したように、この実施の形態にか
かるタスクスケジューリングシステムでは、データ待ち
行列605の長さが閾値610を新たに越えるとデータ
処理タスク603の処理時間が増加するようにデータ生
成タスク602とタスク604とのCPU割り当て時間
が変更され、データ待ち行列605の長さが再び閾値6
10を下回ると、データ生成タスク602とタスク60
4のCPU割り当て時間が元に戻される。このため、特
にシステムが一時的に過負荷状態になった場合などに、
優先順位の低いデータ処理タスク603にCPU607
が割り当てられず、データ待ち行列605からデータが
取り出されなくなる事態を避けることができる。従っ
て、優先順位の高いデータ生成タスク602の実行が、
データ待ち行列605の空き待ちによってブロックされ
てしまうことを防止することができる。
【0077】[第4の実施の形態]この実施の形態で
は、待ち行列監視手段が監視する閾値を複数として、タ
スクの優先順位を変更する方法について説明する。
【0078】図8は、この実施の形態にかかるタスクス
ケジューリングシステムの構成を示すブロック図であ
る。図示するように、このタスクスケジューリングシス
テムでは、タスク群700中に、最も優先順位の高いデ
ータ生成タスク701(優先順位は6)、最も優先順位
の低いデータ処理タスク702(優先順位は1)、2番
目に優先順位が高いタスクA703(優先順位は4)、
3番目に優先順位が高いタスクB704(優先順位は
2)の4個のタスクが含まれる。
【0079】また、待ち行列監視手段706は、4つの
閾値708〜711を保持している。ここで、閾値A7
08及び閾値B709は、データ待ち行列705の長さ
が増加している時に用いられる閾値であり、閾値C71
0及び閾値D711はデータ待ち行列705の長さが減
少している時に用いられる閾値である。
【0080】待ち行列長監視手段706は、データ待ち
行列705の長さを監視しており、その長さが閾値A7
08あるいは閾値B709を上回った時点、及び、閾値
C710あるいは閾値D711を下回った時点で優先順
位変更手段707に通知する。この通知は、閾値708
〜711のどれを上回ったか下回ったかによって区別さ
れている。
【0081】優先順位変更手段は707は、待ち行列長
監視手段706から通知を受けると、その通知内容に従
って、タスク群700に含まれるデータ処理タスク70
2の優先順位を変更する。
【0082】なお、この実施の形態において、データ待
ち行列705、タスクスケジューラ712及びCPU7
13は、それぞれ第1の実施の形態(図1)の対応する
ものと同一である。
【0083】以下、この実施の形態にかかるタスクスケ
ジューリングシステムにおける動作について説明する。
図9は、この実施の形態にかかるタスクスケジューリン
グシステムの動作を説明する図であり、図9において、
表805は、データ生成タスク701、タスクA70
3、タスクB704、データ処理タスク702の優先順
位(以下、タスク群700の優先順位を[データ生成タ
スクの優先順位,タスクAの優先順位,タスクBの優先
順位,データ処理タスクの優先順位]として表す)の遷
移を示す。ここで、タスク701〜704の優先順位
は、数値が大きいほど高いことを示す。また、図8、図
9に示すように、タスク群700の最初の優先順位は、
[6,4,2,1]であり、タスク701〜704のす
べてが実行可能状態にあるものとする。
【0084】データ生成タスク701は優先順位がもっ
とも高く、タスクスケジューラ712によりデータ生成
タスク701にCPU713が割り当てられる。そし
て、データ生成タスク701が実行されることにより、
データ待ち行列705の長さが閾値A708を越えると
(ステップ801)、待ち行列長監視手段706から通
知を受けた優先順位変更手段707は、データ処理タス
ク702の優先順位をタスクB704よりも高くし、タ
スク群700の優先順位を[6,4,2,3]と設定す
る。
【0085】ここでもデータ生成タスク701の優先順
位が最も高く、データ生成タスク701が実行可能であ
れば、さらにデータ生成タスク701の実行によってデ
ータ待ち行列705の長さが増加して閾値B709を越
えると(ステップ802)、待ち行列監視手段706か
ら通知を受けた優先順位変更手段707は、データ処理
タスク702の優先順位をタスクA703よりも高く
し、タスク群700の優先順位を[6,4,2,5]と
設定する。
【0086】ここで、データ生成タスク701の実行が
終了したとすると、タスクスケジューラ712は、次に
優先順位が高いデータ処理タスク702にCPU713
を割り当てる。これにより、データ処理タスク702が
実行されてデータ待ち行列705の長さが減少に転じ
る。そして、データ待ち行列705の長さが閾値D71
1を下回ると(ステップ803)、待ち行列監視手段7
06から通知を受けた優先順位変更手段707は、デー
タ処理タスク702の優先順位をタスクAよりも低く
し、タスク群700の優先順位を[6,4,2,3]と
設定する。
【0087】ここで、タスクA703も実行可能にない
とすると、データ処理タスク702の実行が継続され
る。そして、データ待ち行列705の長さが閾値C71
0を下回ると(ステップ804)、待ち行列監視手段7
06から通知を受けた優先順位変更手段は、データ処理
タスク702の優先順位を最初の値に戻し、タスク群7
00の優先順位を[6,4,2,1]と設定する。この
とき、タスクB704が実行可能であれば、タスクスケ
ジューラ712は、タスクB704にCPU713を割
り当てる。
【0088】以上説明したように、この実施の形態にか
かるタスクスケジューリングシステムでは、データ処理
タスク702の優先順位を高くする閾値A708、閾値
B709と、データ処理タスク702の優先順位を低く
する閾値C710、閾値D711とを個別に設定してい
る。このため、閾値を上回ってデータ処理タスク702
の優先順位を高くした直後に、閾値を下回って優先順位
を低くするといった状態が繰り返されることがない。こ
のため、優先順位変更手段707のオーバーヘッドを第
1の実施の形態よりも小さくすることができ、システム
をより安定に動作させることができる。
【0089】また、この実施の形態にかかるタスクスケ
ジューリングシステムでは、閾値を複数設けているるこ
とによって、タスク群700中に含まれるタスク701
〜704の優先順位を第1の実施の形態よりも細かく制
御することができる。
【0090】[実施の形態の変形]本発明は、上記の第
1〜第4の実施の形態に限られず、種々の変形、応用が
可能である。以下、本発明に適用可能な上記の第1〜第
4の実施の形態の変形態様について、説明する。
【0091】上記の第4の実施の形態では、第1の実施
の形態のように、タスクの優先順位によってタスクのス
ケジューリングをするシステムで、待ち行列監視手段7
06が監視する待ち行列長の閾値を複数として説明し
た。これに対し、第2の実施の形態のような周期的スケ
ジューリング、或いは第3の実施の形態のようなCPU
予約時間スケジューリングの場合にも、待ち行列監視手
段が監視する待ち行列長の閾値を複数として、それぞれ
の閾値を越えた時点と下回った時点で周期変更手段、C
PU予約量変更手段に通知する形態も考えられる。
【0092】第1〜第4の実施の形態では、実施の形態
では、タスク群101、501、601、700に含ま
れるタスクの優先順位の優先順位、周期或いはCPU割
り当て時間の変更に特に制限を設けていなかった。これ
に対し、タスク群に含まれるタスクの優先順位、周期あ
るいはCPU割り当て時間を一旦変更したら、一定時間
経過しない間は、優先順位、周期あるいはCPU割り当
て時間変更しないようにする手段を付加してもよい。こ
れにより、データ待ち行列105、505、605、7
05の長さが短時間のうちに何度も閾値を前後した場合
に、不必要に優先順位、周期あるいはCPU割り当て時
間が変更されるのを防止することができる。これによ
り、優先順位変更手段109、周期変更手段509、C
PU予約量変更手段609によるオーバーヘッドを避け
ることができ、システムを安定的に動作させることがで
きる。
【0093】上記の第1〜第4の実施の形態では、タス
ク群101、501、601、700には、それぞれ3
個のタスクが含まれるものとして説明した。しかしなが
ら、これより多くのタスクがタスク群に含まれるシステ
ムにも、本発明を適用することができる。なお、第1お
よび第2の実施の形態における具体例において、動画再
生タスク402、1002は、システムに大きな負荷を
与えるタスクと例示したものであり、動画再生以外の処
理を行うタスクに置き換えてもよい。
【0094】上記の第1〜第4の実施の形態では、デー
タ待ち行列105、505、605、705は、それぞ
れ単数であった。しかしながら、データ待ち行列が複数
あるシステムであっても、それぞれのデータ待ち行列に
対して独立した待ち行列監視手段を設けることによっ
て、本発明を適用することができる。
【0095】上記の第1〜第4の実施の形態では、タス
ク群101、501、601、700は、それぞれ固定
優先順位方式、周期的スケジューリング方式、CPU予
約方式、固定優先順位方式によってスケジューリングさ
れるとしていた。しかしながら、これらのスケジューリ
ング方式が混在したスケジューリング方式においても本
発明を適用することができる。
【0096】例えば、周期的スケジューリング方式であ
るとともに、複数の周期的タスクの実行が衝突した場合
には優先順位の高いタスクを優先的に実行するスケジュ
ーリング方式や、周期的スケジューリング方式とCPU
予約方式を組み合わせて、周期的タスクと非周期的タス
クの共存時に非周期的タスクへのCPU割り当てを保証
するようなスケジューリング方式に対しても本発明を適
用することができる。このような場合には、待ち行列長
監視手段からの通知を受けてタスク群に含まれるタスク
のスケジューリングパラメータを変更する優先順位変更
手段、周期変更手段、CPU予約量変更手段のいずれか
を用いるか、あるいは組み合わせて使用すればよい。
【0097】上記の第1〜第4の実施の形態では、待ち
行列監視手段108、508、608、706が保持す
る閾値110、510、610、709〜711は、そ
の値があらかじめ定められているものとして説明した。
しかしながら、この閾値は、優先順位の変更時、周期の
変更時、CPU割り当て時間の変更時、あるいはその他
の任意の時点で動的に変更可能とすることもできる。
【0098】上記の第1〜第4の実施の形態では、優先
順位変更手段109、707、周期変更手段509、C
PU予約量変更手段609を実現するためのプログラム
は、オペレーティングシステム内に存在するものとして
いた。しかしながら、これらのプログラムが存在する場
所としては、データ生成タスク内、データ処理タスク
内、その他のタスク内など、様々な形態が可能である。
【0099】上記の第1〜第4の実施の形態では、タス
クスケジューラ106、506、606、712、待ち
行列監視手段108、508、608、706、優先順
位変更手段109、707或いは周期変更手段509、
CPU予約量変更手段609は、CPUがこれらのため
のプログラムを実行することによって実現されるものと
して、説明した。しかしながら、これらの手段を実現す
るためのプログラムは、CD−ROMやフロッピーディ
スクなどのコンピュータ読み取り可能な記録媒体に格納
して配布し、コンピュータシステムのメモリに読み込ま
せて実行してもよい。或いは、これらのプログラムは、
インターネットなどを通じて配信してもよい。
【0100】
【発明の効果】以上説明したように、本発明によれば、
データ処理タスクにCPUなどの資源が割り当てられ
ず、データ待ち行列からデータが取り出されないことに
より、データ生成タスクがデータ待ち行列の空き待ちと
なってブロックされることを防止できる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態にかかるタスクスケ
ジューリングシステムの構成を示すブロック図である。
【図2】図1のデータ生成タスクがデータを生成して、
データ待ち行列に格納するときの動作を示すフローチャ
ートである。
【図3】図1のデータ処理タスクがデータ待ち行列から
データを取り出すときの動作を示すフローチャートであ
る。
【図4】本発明の第1の実施の形態にかかるタスクスケ
ジューリングシステムを適用した具体例を示す図であ
る。
【図5】本発明の第2の実施の形態にかかるタスクスケ
ジューリングシステムの構成を示すブロック図である。
【図6】本発明の第2の実施の形態にかかるタスクスケ
ジューリングシステムを適用した具体例を示す図であ
る。
【図7】本発明の第3の実施の形態にかかるタスクスケ
ジューリングシステムの構成を示すブロック図である。
【図8】本発明の第4の実施の形態にかかるタスクスケ
ジューリングシステムの構成を示すブロック図である。
【図9】本発明の第4の実施の形態にかかるタスクスケ
ジューリングシステムの動作を説明する図である。
【図10】従来例にかかるタスクスケジューリングシス
テムの構成を示すブロック図である。
【符号の説明】
101 タスク群 102 データ生成タスク 103 データ処理タスク 104 タスク 105 データ待ち行列 106 タスクスケジューラ 107 CPU 108 待ち行列長監視手段 109 優先順位変更手段 110 閾値 501 タスク群 502 データ生成タスク 503 データ処理タスク 104 タスク 505 データ待ち行列 506 タスクスケジューラ 507 CPU 508 待ち行列長監視手段 509 周期変更手段 510 閾値 601 タスク群 602 データ生成タスク 603 データ処理タスク 604 タスク 605 データ待ち行列 606 タスクスケジューラ 607 CPU 608 待ち行列長監視手段 609 CPU予約量変更手段 610 閾値 700 タスク群 701 データ生成タスク 702 データ処理タスク 703 タスクA 704 タスクB 705 データ待ち行列 706 待ち行列長監視手段 707 優先順位変更手段 708 閾値A 709 閾値B 710 閾値C 711 閾値D 712 タスクスケジューラ 713 CPU

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】データを順次格納し、格納した順番で取り
    出させる待ち行列と、 データを順次生成して前記待ち行列に格納するデータ生
    成タスクと、前記待ち行列に格納されているデータを順
    次取りだして処理するデータ処理タスクとを含む複数の
    タスクをそれぞれのスケジューリングパラメータに従っ
    てスケジューリングして資源を割り当てるタスクスケジ
    ューリング手段と、 前記タスクスケジューリング手段によって資源が割り当
    てられたタスクを実行するタスク実行手段と、 所定の閾値を保持し、前記タスク実行手段による前記デ
    ータ生成タスクまたは前記データ処理タスクの実行によ
    って変化する前記待ち行列の長さを、前記所定の閾値と
    の比較によって監視する待ち行列長監視手段と、 前記待ち行列長監視手段における監視の結果に従って、
    前記データ生成タスクと前記データ処理タスクとの少な
    くともいずれか一方のスケジューリングパラメータを変
    更するスケジューリングパラメータ変更手段とを備える
    ことを特徴とするタスクスケジューリングシステム。
  2. 【請求項2】前記スケジューリングパラメータは、タス
    クへ資源を割り当てるための優先順位であることを特徴
    とする請求項1に記載のタスクスケジューリングシステ
    ム。
  3. 【請求項3】前記スケジューリングパラメータは、タス
    クへ資源を割り当てるための周期であることを特徴とす
    る請求項1に記載のタスクスケジューリングシステム。
  4. 【請求項4】前記スケジューリングパラメータは、タス
    クが資源を必要としている時間を予約する資源予約時間
    であることを特徴とする請求項1に記載のタスクスケジ
    ューリングシステム。
  5. 【請求項5】前記待ち行列長監視手段は、前記待ち行列
    の長さが新たに上回った場合と新たに下回った場合とで
    異なる複数の閾値を保持することを特徴とする請求項1
    乃至4のいずれか1項に記載のタスクスケジューリング
    システム。
  6. 【請求項6】前記スケジューリングパラメータ変更手段
    は、前記スケジューリングパラメータがスケジューリン
    グパラメータを変更してからの時間を監視する手段と、
    該手段で監視する時間が所定の時間となるまで、スケジ
    ューリングパラメータの変更を禁止する手段とを備える
    ことを特徴とする請求項1乃至4のいずれか1項に記載
    のタスクスケジューリングシステム。
  7. 【請求項7】前記スケジューリングパラメータは、初期
    状態において前記データ処理タスクよりも前記データ生
    成タスクに前記資源が割り当てられ易くなるように設定
    されており、 前記スケジューリングパラメータ変更手段は、前記待ち
    行列の長さが前記所定の閾値を新たに上回ったときに前
    記データ処理タスクへ資源がより割り当てられ易くなる
    ように前記スケジューリングパラメータを変更し、前記
    待ち行列の長さが前記所定の閾値を新たに下回ったとき
    に前記データ処理タスクへ資源がより割り当てられにく
    くなるように前記スケジューリングパラメータを変更す
    ることを特徴とする請求項1乃至5のいずれか1項に記
    載のタスクスケジューリングシステム。
  8. 【請求項8】データを順次生成して待ち行列に格納する
    データ生成タスクと、前記待ち行列に格納されているデ
    ータを順次取りだして処理するデータ処理タスクとを含
    む複数のタスクをそれぞれのスケジューリングパラメー
    タに従ってスケジューリングして資源を割り当て、該資
    源を割り当てたタスクを実行させるタスクスケジューリ
    ング方法であって、 スケジューリングされて資源が割り当てられた前記デー
    タ生成タスクまたは前記データ処理タスクの実行によっ
    て変化する前記待ち行列の長さを、所定の閾値との比較
    によって監視する待ち行列長監視ステップと、 前記待ち行列長監視ステップでの監視の結果に従って、
    前記データ生成タスクと前記データ処理タスクとの少な
    くともいずれか一方のスケジューリングパラメータを変
    更するスケジューリングパラメータ変更ステップとを含
    むことを特徴とするタスクスケジューリング方法。
  9. 【請求項9】データを順次生成して待ち行列に格納する
    データ生成タスクと、前記待ち行列に格納されているデ
    ータを順次取りだして処理するデータ処理タスクとを含
    む複数のタスクをそれぞれのスケジューリングパラメー
    タに従ってスケジューリングして資源を割り当て、該資
    源を割り当てたタスクを実行させるためのプログラムを
    記録する記録媒体であって、 スケジューリングされて資源が割り当てられた前記デー
    タ生成タスクまたは前記データ処理タスクの実行によっ
    て変化する前記待ち行列の長さを、所定の閾値との比較
    によって監視する待ち行列長監視ステップと、 前記待ち行列長監視ステップでの監視の結果に従って、
    前記データ生成タスクと前記データ処理タスクとの少な
    くともいずれか一方のスケジューリングパラメータを変
    更するスケジューリングパラメータ変更ステップとを実
    行するプログラムを記録することを特徴とするコンピュ
    ータ読み取り可能な記録媒体。
JP10228784A 1998-08-13 1998-08-13 タスクスケジューリングシステム、方法及び記録媒体 Pending JP2000056992A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10228784A JP2000056992A (ja) 1998-08-13 1998-08-13 タスクスケジューリングシステム、方法及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10228784A JP2000056992A (ja) 1998-08-13 1998-08-13 タスクスケジューリングシステム、方法及び記録媒体

Publications (1)

Publication Number Publication Date
JP2000056992A true JP2000056992A (ja) 2000-02-25

Family

ID=16881802

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10228784A Pending JP2000056992A (ja) 1998-08-13 1998-08-13 タスクスケジューリングシステム、方法及び記録媒体

Country Status (1)

Country Link
JP (1) JP2000056992A (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1136950A2 (en) * 2000-03-21 2001-09-26 Matsushita Electronics Corporation Graphic processor and graphic processing system
US7133611B2 (en) 2002-04-24 2006-11-07 Fujitsu Limited Main signal controlling apparatus and method in a WDM optical communications system
JP2008242510A (ja) * 2007-03-23 2008-10-09 Nec Corp ジョブへの資源割当方式、ジョブへの資源割当方法およびプログラム
WO2010064420A1 (ja) * 2008-12-03 2010-06-10 日本電気株式会社 リソース割当システム、リソース割当方法、及びリソース割当プログラム
CN101146091B (zh) * 2007-09-05 2010-09-08 中兴通讯股份有限公司 多通道数据输出方法及系统
JP2012064251A (ja) * 2012-01-04 2012-03-29 Bank Of Tokyo-Mitsubishi Ufj Ltd データ処理装置
JP2013145606A (ja) * 2013-04-30 2013-07-25 Bank Of Tokyo-Mitsubishi Ufj Ltd データ処理装置
JP5596343B2 (ja) * 2007-04-13 2014-09-24 日本電気株式会社 仮想計算機システムおよびその最適化方法
JP2015096988A (ja) * 2013-11-15 2015-05-21 日本電気株式会社 ストレージシステム、ストレージ制御装置、情報処理装置、ストレージ制御プログラムおよびストレージ制御方法
GB2520609A (en) * 2013-10-11 2015-05-27 Ge Aviat Systems Llc Data communications network for an aircraft
US9853714B2 (en) 2013-10-11 2017-12-26 Ge Aviation Systems Llc Data communications network for an aircraft
KR101827289B1 (ko) * 2011-11-08 2018-03-23 한국전자통신연구원 실시간 운영체제에서 태스크 스케줄링 방법
CN111221662A (zh) * 2019-10-16 2020-06-02 贝壳技术有限公司 任务调度方法、系统及装置
WO2020213401A1 (ja) * 2019-04-16 2020-10-22 株式会社デンソー 車両用装置、車両用装置の制御方法
CN112463339A (zh) * 2020-12-11 2021-03-09 北京浪潮数据技术有限公司 一种多任务调度方法、系统、设备及存储介质

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1136950A3 (en) * 2000-03-21 2003-12-10 Matsushita Electric Industrial Co., Ltd. Graphic processor and graphic processing system
US6914605B2 (en) 2000-03-21 2005-07-05 Matsushita Electric Industrial Co., Ltd. Graphic processor and graphic processing system
KR100751615B1 (ko) * 2000-03-21 2007-08-22 마츠시타 덴끼 산교 가부시키가이샤 그래픽 프로세서 및 그래픽처리 시스템
EP1136950A2 (en) * 2000-03-21 2001-09-26 Matsushita Electronics Corporation Graphic processor and graphic processing system
US7133611B2 (en) 2002-04-24 2006-11-07 Fujitsu Limited Main signal controlling apparatus and method in a WDM optical communications system
JP2008242510A (ja) * 2007-03-23 2008-10-09 Nec Corp ジョブへの資源割当方式、ジョブへの資源割当方法およびプログラム
JP5596343B2 (ja) * 2007-04-13 2014-09-24 日本電気株式会社 仮想計算機システムおよびその最適化方法
US9104494B2 (en) 2007-04-13 2015-08-11 Nec Corporation Virtual computer system and its optimization method
CN101146091B (zh) * 2007-09-05 2010-09-08 中兴通讯股份有限公司 多通道数据输出方法及系统
WO2010064420A1 (ja) * 2008-12-03 2010-06-10 日本電気株式会社 リソース割当システム、リソース割当方法、及びリソース割当プログラム
KR101827289B1 (ko) * 2011-11-08 2018-03-23 한국전자통신연구원 실시간 운영체제에서 태스크 스케줄링 방법
JP2012064251A (ja) * 2012-01-04 2012-03-29 Bank Of Tokyo-Mitsubishi Ufj Ltd データ処理装置
JP2013145606A (ja) * 2013-04-30 2013-07-25 Bank Of Tokyo-Mitsubishi Ufj Ltd データ処理装置
GB2520609A (en) * 2013-10-11 2015-05-27 Ge Aviat Systems Llc Data communications network for an aircraft
US9749256B2 (en) 2013-10-11 2017-08-29 Ge Aviation Systems Llc Data communications network for an aircraft
US9853714B2 (en) 2013-10-11 2017-12-26 Ge Aviation Systems Llc Data communications network for an aircraft
GB2520609B (en) * 2013-10-11 2018-07-18 Ge Aviation Systems Llc Data communications network for an aircraft
US9471251B2 (en) 2013-11-15 2016-10-18 Nec Corporation Storage system, storage control apparatus, information processing apparatus, storage control program and storage control method
JP2015096988A (ja) * 2013-11-15 2015-05-21 日本電気株式会社 ストレージシステム、ストレージ制御装置、情報処理装置、ストレージ制御プログラムおよびストレージ制御方法
WO2020213401A1 (ja) * 2019-04-16 2020-10-22 株式会社デンソー 車両用装置、車両用装置の制御方法
JP2020177075A (ja) * 2019-04-16 2020-10-29 株式会社デンソー 車両用装置、車両用装置の制御方法
JP7180516B2 (ja) 2019-04-16 2022-11-30 株式会社デンソー 車両用装置、車両用装置の制御方法
CN111221662A (zh) * 2019-10-16 2020-06-02 贝壳技术有限公司 任务调度方法、系统及装置
CN111221662B (zh) * 2019-10-16 2021-01-05 贝壳找房(北京)科技有限公司 任务调度方法、系统及装置
CN112463339A (zh) * 2020-12-11 2021-03-09 北京浪潮数据技术有限公司 一种多任务调度方法、系统、设备及存储介质

Similar Documents

Publication Publication Date Title
US8793695B2 (en) Information processing device and information processing method
US6993767B2 (en) System for preventing periodic load balancing if processor associated with lightest local run queue has benefited from idle processor load balancing within a determined time period
US6735769B1 (en) Apparatus and method for initial load balancing in a multiple run queue system
US5826081A (en) Real time thread dispatcher for multiprocessor applications
US6748593B1 (en) Apparatus and method for starvation load balancing using a global run queue in a multiple run queue system
JP3588485B2 (ja) プロセススケジューリング方式
US7065766B2 (en) Apparatus and method for load balancing of fixed priority threads in a multiple run queue environment
US6560628B1 (en) Apparatus, method, and recording medium for scheduling execution using time slot data
EP2885707B1 (en) Latency sensitive software interrupt and thread scheduling
US20030061260A1 (en) Resource reservation and priority management
JP2000056992A (ja) タスクスケジューリングシステム、方法及び記録媒体
JPH04264947A (ja) マルチタスキング・データ処理システム
CN111897637B (zh) 作业调度方法、装置、主机及存储介质
KR101373786B1 (ko) 자원-기반 스케쥴러
CN115237556A (zh) 调度方法及装置、芯片、电子设备及存储介质
US20030191794A1 (en) Apparatus and method for dispatching fixed priority threads using a global run queue in a multiple run queue system
CN114461365A (zh) 一种进程调度处理方法、装置、设备和存储介质
JP6311330B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP4048638B2 (ja) スケジューリング装置及び方法並びに記録媒体
JP2000148513A (ja) タスク制御方法およびタスク制御装置
JP5299869B2 (ja) コンピュータマイクロジョブ
CN114035926A (zh) 应用线程调度方法、装置、存储介质及电子设备
CN113220441B (zh) 任务调度方法、装置及电子设备
JPH1063515A (ja) マルチタスク制御のスケジューリング方法
KR100471746B1 (ko) 연성 실시간 태스크 스케줄링 방법 및 그 기록매체

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20001017