JP3082297B2 - タスク制御方式 - Google Patents

タスク制御方式

Info

Publication number
JP3082297B2
JP3082297B2 JP03126587A JP12658791A JP3082297B2 JP 3082297 B2 JP3082297 B2 JP 3082297B2 JP 03126587 A JP03126587 A JP 03126587A JP 12658791 A JP12658791 A JP 12658791A JP 3082297 B2 JP3082297 B2 JP 3082297B2
Authority
JP
Japan
Prior art keywords
data
task
reception
queue
request
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.)
Expired - Fee Related
Application number
JP03126587A
Other languages
English (en)
Other versions
JPH04329443A (ja
Inventor
伸吾 高田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP03126587A priority Critical patent/JP3082297B2/ja
Publication of JPH04329443A publication Critical patent/JPH04329443A/ja
Application granted granted Critical
Publication of JP3082297B2 publication Critical patent/JP3082297B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は送信データバッファにデ
ータを格納する送信処理タスクと、受信データバッファ
に格納されているデータを処理する受信処理タスクと、
送信データバッファに格納されたデータを回線に送出す
ると共に回線を介して加えられたデータを受信データバ
ッファに格納する割込みタスクとが走行するコンピュー
タシステムに於いて、タスクの走行レベルを動的に変更
するタスク制御方式に関する。
【0002】
【従来の技術】従来、送信処理,受信処理,割込みタス
クが走行するコンピュータシステムに於いては、待ち行
列につながれている各タスクに対する要求の個数をチェ
ックし、その個数が多いものは走行レベルを高くし、少
ないものは走行レベルを低くしていた。
【0003】
【発明が解決しようとする課題】上述した従来方式は、
待ち行列につながれている要求の個数が多いタスクほ
ど、走行レベルを高くするものであるので、回線を介し
て他のコンピュータからデータ受信要求が多数連続して
送られてきた場合、受信データを受信データバッファに
格納する割込みタスクの走行レベルが高くなり、他のコ
ンピュータから送られてきた受信データが順次受信デー
タバッファに格納される。割込みタスクは受信データバ
ッファに受信データを格納する毎に、受信処理タスクに
対する受信データ処理要求を待ち行列につなぎ、それに
伴って受信処理タスクの走行レベルも高くなるが、受信
処理タスクの走行レベルが割込みタスクの走行レベルよ
り高くなる前に受信データバッファが満杯になると、受
信処理タスクによる処理が行なわれないため、受信デー
タバッファが満杯状態のままとなり、この結果、他のコ
ンピュータからの受信データを受信できなくなるという
問題があった。
【0004】本発明の目的は他のコンピュータからの受
信データを確実に受信することができるタスク制御方式
を提供することを目的とする。
【0005】
【課題を解決するための手段】本発明は上記目的を達成
するため、送信データバッファにデータを格納する送信
処理タスクと、受信データバッファに格納されたデータ
を処理する受信処理タスクと、前記送信データバッファ
に格納されたデータを回線に送出すると共に前記回線を
介して加えられたデータを前記受信データバッファに格
納する割込みタスクとが走行するコンピュータシステム
に於いて、最も優先順位が高い第1の走行レベル,次に
優先順位が高い第2の走行レベル,最も優先順位が低い
第3の走行レベルに1対1で対応する第1,第2,第3
の待ち行列と、他のコンピュータから送られてきた前記
割込みタスクに対するデータ受信要求を前記第2の待ち
行列につなぎ、前記割込みタスクに対するデータ送信要
求を前記第の待ち行列につなぎ、前記送信処理タスク
に対するデータ送信要求を前記第3の待ち行列につな
ぎ、前記受信処理タスクに対する受信データ処理要求を
前記第1,第3の待ち行列の内の現在の前記受信処理タ
スクの走行レベルに対応する待ち行列につなぎ、前記受
信データバッファに格納されているデータのデータ量が
予め定められている上限値以上となることにより前記受
信処理タスクの走行レベルを第3の走行レベルから第1
の走行レベルに変更すると共に前記第3の待ち行列につ
ながれている受信データ処理要求を前記第1の待ち行列
につなぎ代え、前記受信データバッファに格納されてい
るデータのデータ量が予め定められている下限値以下と
なることにより前記受信処理タスクの走行レベルを前記
第1の走行レベルから前記第3の走行レベルに変更する
と共に前記第1の待ち行列につながれている受信データ
処理要求を前記第3の待ち行列につなぎ代え、前記送信
処理タスク,前記受信処理タスク,前記割込みタスクの
内の、要求がつながれている最も優先順位の高い待ち行
列の先頭の要求に対応するタスクにCPUを割当てるタ
スク管理手段とを備えている。
【0006】
【作用】タスク管理手段は、他のコンピュータから送ら
れてきた割込みタスクに対するデータ受信要求を第2の
待ち行列につなぎ、受信処理タスクに対する受信データ
処理要求を前記第1,第3の待ち行列の内の現在の受信
処理タスクの走行レベルに対応する待ち行列につなぐ。
他のコンピュータからデータ受信要求が多数連続して送
られてきて受信データバッファ内のデータ量が予め定め
られている上限値以上となると、タスク管理手段は、受
信処理タスクの走行レベルを第3の走行レベルから第1
の走行レベルに変更すると共に第3の待ち行列につなが
れている受信データ処理要求を第1の待ち行列につなぎ
代える。この結果、最も優先順位が高い第1の待ち行列
につながれている受信データ処理要求に対応する受信処
理タスクにCPUが割当てられ、この受信処理タスクに
よって受信データバッファ内のデータが処理されるの
で、受信データバッファが満杯になることはなく、他の
コンピュータからの受信データを確実に受信することが
可能になる。
【0007】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
【0008】図1は本発明の実施例のブロック図であ
り、コンピュータ1はタスク管理手段2と、送信処理タ
スク3と、受信処理タスク4と、割込みタスク5と、送
信データバッファ6と、受信データバッファ7と、レジ
スタ8と、待ち行列9−1〜9−3とを含んでいる。ま
た、コンピュータ1は回線10を介して他のコンピュー
タ(図示せず)と接続される。
【0009】送信処理タスク3は送信データを送信デー
タバッファ6に格納する。受信処理タスク4は受信デー
タバッファ7に格納されているデータを処理する。割込
みタスク5は回線10を介して他のコンピュータから送
られてきた受信データを受信データバッファ7に格納す
ると共に、送信データバッファ6に格納されているデー
タを回線10を介して他のコンピュータに送信する。
【0010】レジスタ8には受信処理タスク4の走行レ
ベルを変更する際に使用する上限値,下限値が格納され
ている。
【0011】タスク管理手段2は各タスク3〜5に対す
るスケジューリング処理を行なう。また、タスク管理手
段2はスケジューリング処理を行なう際、その最初の処
理として図2の流れ図に示す処理を行ない、受信処理タ
スク4の走行レベルを動的に変更する。
【0012】待ち行列9−1〜9−3はそれぞれ走行レ
ベルL1〜L3に対応する待ち行列であり、送信処理タ
スク3に対するデータ送信要求,割込みタスク5からの
受信処理タスク4に対する受信データ処理要求,他のコ
ンピュータからの割込みタスク5に対するデータ受信要
求,送信処理タスク3からの割込みタスク5に対するデ
ータ送信要求がつながれる。尚、本実施例では走行レベ
ルL1が最も優先順位が高く、走行レベルL3が最も優
先順位が低いとする。
【0013】次に本実施例の動作を説明する。尚、本実
施例では送信処理タスク3,受信処理タスク4の走行レ
ベルの初期値はL3、割込みタスク5の走行レベルの初
期値はL2になっているとする。
【0014】今、例えば、各タスク3,4,5の走行レ
ベルが初期値L3,L3,L2、受信データバッファ7
のデータ量が「0」、待ち行列9−1〜9−3につなが
れている要求の数が「0」の時に、回線10を介して他
のコンピュータから割込みタスク5に対するデータ受信
要求が送られてきたとする。
【0015】タスク管理手段2は回線10を介して他の
コンピュータから割込みタスク5に対するデータ受信要
求が送られてくると、それを割込みタスク5の現在の走
行レベルL2に対応した待ち行列9−2につなぐ。
【0016】その後、タスク管理手段2はスケジューリ
ング処理を行なう。そのスケジューリング処理の最初の
処理としてタスク管理手段2は図2の流れ図に示す処理
を行なう。
【0017】即ち、タスク管理手段2はステップS20
で受信データバッファ7に格納されているデータのデー
タ量とレジスタ8に設定されている上限値とを比較し、
受信データバッファ7に格納されているデータ量が上限
値以上である場合はステップS21で受信処理タスク4
の走行レベルをL1にし、次のステップS24で待ち行
列9−3につながれている受信処理タスク4に対する受
信データ処理要求を待ち行列9−1につなぎ代える。ま
た、ステップS20で受信データバッファ7中のデータ
量が上限値以上でないと判断した場合はステップS22
で受信データバッファ7中のデータ量とレジスタ8に設
定されている下限値とを比較し、データ量が下限値以下
の場合はステップS23で受信処理タスク4の走行レベ
ルを初期値L3に戻し、次のステップS25で待ち行列
9−1につながれている受信処理タスク4に対する受信
データ処理要求を待ち行列9−3につなぎ代える。この
例の場合、受信データバッファ7にはデータが格納され
ておらず、ステップS20,S22の判断結果がNoと
なるので、各タスク3,4,5の走行レベルは初期値L
3,L3,L2のままとなる。
【0018】図2に示した処理に引き続き、タスク管理
手段2は通常のスケジューリング処理を行なう。この例
の場合、待ち行列9−1〜9−3の内、待ち行列9−2
にしか要求がつながれておらず、その要求は割込みタス
ク5に対するデータ受信要求であるので、タスク管理手
段2は割込みタスク5にCPUを割当てる。これによ
り、割込みタスク5は他のコンピュータにデータの送信
許可を与え、他のコンピュータから回線10を介して送
られてくるデータを受信データバッファ7に格納する。
【0019】他のコンピュータからの受信データを受信
データバッファ7に格納すると、割込みタスク5は受信
処理タスク4に対する受信データ処理要求を出力する。
受信処理タスク4に対する受信データ処理要求が出力さ
れると、タスク管理手段2はそれを現在の受信処理タス
ク4の走行レベルL3に対応する待ち行列9−3につな
ぎ、前述したと同様なスケジューリング処理を行なう。
【0020】この時、待ち行列9−1〜9−3の内、待
ち行列9−3にしか要求がつながれておらず、その要求
は受信処理タスク4に対する受信データ処理要求である
ので、タスク管理手段2は受信処理タスク4にCPUを
割当てる。これにより、受信処理タスク4は受信データ
バッファ7に格納されているデータを処理する。
【0021】また、例えば、各タスク3,4,5の走行
レベルが初期値L3,L3,L2、受信データバッファ
7に格納されているデータ量が「0」、待ち行列9−1
〜9−3につながれている要求の数が「0」の時に、送
信処理タスク3に対してデータの送信を要求するデータ
送信要求が発生すると、タスク管理手段2は待ち行列9
−1〜9−3の内、送信処理タスク3の走行レベルL3
に対応する待ち行列9−3に、送信処理タスク3に対す
るデータ送信要求をつなぎ、その後、前述したと同様な
スケジューリング処理を行なう。
【0022】この時、待ち行列9−1〜9−3の内、待
ち行列9−3にしか要求がつながれておらず、その要求
は送信処理タスク3に対するデータ送信要求であるの
で、タスク管理手段2は送信処理タスク3にCPUを割
当てる。これにより、送信処理タスク3は送信データを
送信データバッファ6に格納する。
【0023】送信データを送信データバッファ6に格納
すると、送信処理タスク3は割込みタスク5に対するデ
ータ送信要求を出力する。割込みタスク5に対するデー
タ送信要求が出力されると、タスク管理手段2はその要
求を待ち行列9−1〜9−3の内の割込みタスク5の走
行レベルL2に対応する待ち行列9−2につなぎ、その
後、前述したと同様なスケジューリング処理を行なう。
【0024】この時、待ち行列9−1〜9−3の内、待
ち行列9−2にしか要求がつながれておらず、その先頭
の要求は割込みタスク5に対するデータ送信要求である
ので、タスク管理手段2は割込みタスク5にCPUを割
当てる。これにより、割込みタスク5は送信データバッ
ファ6に格納されているデータを回線10を介して他の
コンピュータに送信する。
【0025】通常は上述した処理が行なわれ、他のコン
ピュータとの間でデータの送受信が行なわれるが、他の
コンピュータからのデータ受信要求が多数連続して発生
した場合には以下のような処理が行なわれる。
【0026】今、例えば、各タスク3,4,5の走行レ
ベルが初期値L3,L3,L2、受信データバッファ7
のデータ量が「0」、待ち行列9−1〜9−3につなが
れている要求の数が「0」の時に、回線10を介して他
のコンピュータからデータ受信要求が多数連続して送ら
れてきたとする。
【0027】他のコンピュータから最初のデータ受信要
求が送られてくると、タスク管理手段2はそれを割込み
タスク5の走行レベルL2に対応する待ち行列9−2に
つなぎ、その後、前述したと同様のスケジューリング処
理を行なう。これにより、割込みタスク5にCPUが割
当てられ、他のコンピュータからのデータが割込みタス
ク5によって受信データバッファ7に格納される。この
場合、他のコンピュータからのデータ受信要求は連続し
て多数送られてくるので、割込みタスク5が受信データ
を受信データバッファ7に格納している間にも、待ち行
列9−2には他のコンピュータから送られてきたデータ
受信要求がつながれる。
【0028】割込みタスク5は最初のデータ受信要求に
応答して他のコンピュータからの受信データを受信デー
タバッファ7に格納すると、受信処理タスク4に対する
受信データ処理要求を出力する。タスク管理手段2は受
信処理タスク4に対する受信データ処理要求が出力され
ると、それを受信処理タスク4の現在の走行レベルL3
に対応する待ち行列9−3につなぎ、再び前述したと同
様なスケジューリング処理を行なう。
【0029】この時、走行レベルL3に対応する待ち行
列9−3には受信処理タスク4に対する受信データ処理
要求が1個、走行レベルL2に対応する待ち行列9−2
には割込みタスク5に対するデータ受信要求が多数つな
がれている。従って、タスク管理手段2は優先順位の高
い方の待ち行列9−2につながれているデータ受信要求
を処理する割込みタスク5にCPUを割当てることにな
る。この結果、割込みタスク5により他のコンピュータ
からのデータが受信データバッファ7に格納され、格納
完了により、再びタスク管理手段2によるスケジューリ
ング処理が行なわれることになる。
【0030】上述した処理が繰り返し行なわれることに
より、受信データバッファ7内のデータ量が増加し、レ
ジスタ8に設定されている上限値以上になる。受信デー
タバッファ7内のデータ量がレジスタ8に設定されてい
る上限値以上となると、スケジューリング処理の最初に
行なわれる図2の処理に於いて、ステップS20の判断
結果がYesとなり、受信処理タスク4の走行レベルが
L1に変更され(ステップS21)、更に、走行レベル
L3対応の待ち行列9−3につながれていた受信処理タ
スク4に対する受信データ処理要求が変更後の走行レベ
ルL1に対応する待ち行列9−1につなぎ代えられる
(ステップS24)。
【0031】この結果、タスク管理手段2が以後行なう
スケジューリング処理に於いては受信処理タスク4にC
PUが割当てられ、受信データバッファ7内のデータが
処理され、受信データバッファ7内のデータ量が減少す
る。
【0032】そして、上述した処理が繰り返し行なわ
れ、受信データバッファ7内のデータ量がレジスタ8に
設定されている下限値以下になると、スケジューリング
処理の最初に行なわれる図2の処理に於いて、ステップ
S20,S22の判断結果がそれぞれNo,Yesとな
り、受信処理タスク4の走行レベルが初期値L3に戻さ
れ(ステップS23)、更に、待ち行列9−1につなが
れている受信処理タスク4に対する受信データ処理要求
が変更後の走行レベルL3に対応する待ち行列9−3に
つなぎ代えられる (ステップS25)。
【0033】このように、本実施例は受信データバッフ
ァ7内のデータ量がレジスタ8に設定されている上限値
以上となることにより、受信処理タスク4の走行レベル
をL1に上げ、受信データバッファ7に格納されている
受信データを処理させているので、受信データバッファ
7が満杯になり、他のコンピュータからのデータを受信
できなくなるということがなくなる。
【0034】
【発明の効果】以上説明したように、本発明は、他のコ
ンピュータから送られてきた割込みタスクに対するデー
タ受信要求を中間の優先順位の第2の待ち行列につな
ぎ、受信処理タスクに対する受信データ処理要求を最も
優先順位が高い第1の待ち行列,最も優先順位が低い第
3の待ち行列の内の現在の受信処理タスクの走行レベル
に対応する待ち行列につなぎ、受信データバッファ内の
データ量が予め定められている上限値以上となると、受
信処理タスクの走行レベルを第3の走行レベルから第1
の走行レベルに変更すると共に第3の待ち行列につなが
れている受信データ処理要求を第1の待ち行列につなぎ
代えるので、他のコンピュータからデータ受信要求が連
続して多数送られてきた場合にも、従来例のように、受
信データバッファが満杯になり、データ受信不能となる
ことはなく、他のコンピュータからの受信データを確実
に受信することが可能になる効果がある。
【図面の簡単な説明】
【図1】本発明の実施例のブロック図である。
【図2】タスク管理手段2が行なう処理の一部を示す流
れ図である。
【符号の説明】
1…コンピュータ 2…タスク管理手段 3…送信処理タスク 4…受信処理タスク 5…割込みタスク 6…送信データバッファ 7…受信データバッファ 8…レジスタ 9−1〜9−3…待ち行列 10…回線
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/46 G06F 13/00 G06F 5/06 G06F 15/163 G06F 15/167

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 送信データバッファにデータを格納する
    送信処理タスクと、受信データバッファに格納されたデ
    ータを処理する受信処理タスクと、前記送信データバッ
    ファに格納されたデータを回線に送出すると共に前記回
    線を介して加えられたデータを前記受信データバッファ
    に格納する割込みタスクとが走行するコンピュータシス
    テムに於いて、 最も優先順位が高い第1の走行レベル,次に優先順位が
    高い第2の走行レベル,最も優先順位が低い第3の走行
    レベルに1対1で対応する第1,第2,第3の待ち行列
    と、 他のコンピュータから送られてきた前記割込みタスクに
    対するデータ受信要求を前記第2の待ち行列につなぎ、
    前記割込みタスクに対するデータ送信要求を前記第
    待ち行列につなぎ、前記送信処理タスクに対するデータ
    送信要求を前記第3の待ち行列につなぎ、前記受信処理
    タスクに対する受信データ処理要求を前記第1,第3の
    待ち行列の内の現在の前記受信処理タスクの走行レベル
    に対応する待ち行列につなぎ、前記受信データバッファ
    に格納されているデータのデータ量が予め定められてい
    る上限値以上となることにより前記受信処理タスクの走
    行レベルを第3の走行レベルから第1の走行レベルに変
    更すると共に前記第3の待ち行列につながれている受信
    データ処理要求を前記第1の待ち行列につなぎ代え、前
    記受信データバッファに格納されているデータのデータ
    量が予め定められている下限値以下となることにより前
    記受信処理タスクの走行レベルを前記第1の走行レベル
    から前記第3の走行レベルに変更すると共に前記第1の
    待ち行列につながれている受信データ処理要求を前記第
    3の待ち行列につなぎ代え、前記送信処理タスク,前記
    受信処理タスク,前記割込みタスクの内の、要求がつな
    がれている最も優先順位の高い待ち行列の先頭の要求に
    対応するタスクにCPUを割当てるタスク管理手段とを
    備えたことを特徴とするタスク制御方式。
JP03126587A 1991-04-30 1991-04-30 タスク制御方式 Expired - Fee Related JP3082297B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03126587A JP3082297B2 (ja) 1991-04-30 1991-04-30 タスク制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03126587A JP3082297B2 (ja) 1991-04-30 1991-04-30 タスク制御方式

Publications (2)

Publication Number Publication Date
JPH04329443A JPH04329443A (ja) 1992-11-18
JP3082297B2 true JP3082297B2 (ja) 2000-08-28

Family

ID=14938871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03126587A Expired - Fee Related JP3082297B2 (ja) 1991-04-30 1991-04-30 タスク制御方式

Country Status (1)

Country Link
JP (1) JP3082297B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323571B2 (en) * 2004-02-06 2016-04-26 Intel Corporation Methods for reducing energy consumption of buffered applications using simultaneous multi-threading processor
JP5262418B2 (ja) * 2008-08-19 2013-08-14 日本電気株式会社 タスクスケジューリング装置およびタスクスケジューリング方法
CN102479106A (zh) * 2010-11-23 2012-05-30 金蝶软件(中国)有限公司 一种从多队列节点获取消息的方法及系统

Also Published As

Publication number Publication date
JPH04329443A (ja) 1992-11-18

Similar Documents

Publication Publication Date Title
EP0362107B1 (en) Method to manage concurrent execution of a distributed application program by a host computer and a large plurality of intelligent work stations on an SNA network
US5781741A (en) Message communications system in a parallel computer
JPS61253572A (ja) 疎結合マルチプロセツサ・システムの負荷配分方式
JP3284311B2 (ja) データ処理システムにおける通信バス制御装置およびバス制御方法
JP3082297B2 (ja) タスク制御方式
JP2000035954A (ja) マルチプロセッサおよびそのバス調停方法
US5539913A (en) System for judging whether a main processor after processing an interrupt is required to process the I/O control of an I/O control local processor
JP2943710B2 (ja) バッファのビジー制御方式
JP3261715B2 (ja) 入出力データ転送処理装置
KR100451722B1 (ko) 직접 메모리 액세스 제어 장치
JPH0148574B2 (ja)
JP3243672B2 (ja) 医用画像処理システム
JPH01305461A (ja) バス使用権制御方式
JP2000244585A (ja) バスインタフェース回路
JPH0789323B2 (ja) 多重割込制御方式
KR100215572B1 (ko) 인터페이스 버퍼 제어 방법 및 장치
JP3452656B2 (ja) Dmaコントローラ
JP2829908B2 (ja) サーバプログラム実行制御方式
JP3050131B2 (ja) アービトレーション方式
JPS6280753A (ja) バス制御方式
JPH06224975A (ja) 結合したモジュールをリセットする方法及びこの方法を用いるシステム
JP2976343B2 (ja) 起動受け付け方法
JPS59177638A (ja) メツセ−ジ優先送出制御方式
JPS58182737A (ja) 情報処理装置
JP2842639B2 (ja) データ転送方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees