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

タスク制御方式

Info

Publication number
JPH04329443A
JPH04329443A JP3126587A JP12658791A JPH04329443A JP H04329443 A JPH04329443 A JP H04329443A JP 3126587 A JP3126587 A JP 3126587A JP 12658791 A JP12658791 A JP 12658791A JP H04329443 A JPH04329443 A JP H04329443A
Authority
JP
Japan
Prior art keywords
task
data
reception
data buffer
processing task
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.)
Granted
Application number
JP3126587A
Other languages
English (en)
Other versions
JP3082297B2 (ja
Inventor
Shingo Takada
伸吾 高田
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

Landscapes

  • Computer And Data Communications (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は送信データバッファにデ
ータを格納する送信処理タスクと、受信データバッファ
に格納されているデータを処理する受信処理タスクと、
送信データバッファに格納されたデータを回線に送出す
ると共に回線を介して加えられたデータを受信データバ
ッファに格納する割込みタスクとが走行するコンピュー
タシステムに於いて、タスクの走行レベルを動的に変更
するタスク制御方式に関する。
【0002】
【従来の技術】従来、送信処理,受信処理,割込みタス
クが走行するコンピュータシステムに於いては、待ち行
列につながれている各タスクに対する要求の個数をチェ
ックし、その個数が多いものは走行レベルを高くし、少
ないものは走行レベルを低くしていた。
【0003】
【発明が解決しようとする課題】上述した従来方式は、
待ち行列につながれている要求の個数が多いタスクほど
、走行レベルを高くするものであるので、回線を介して
他のコンピュータからデータ受信要求が多数連続して送
られてきた場合、受信データを受信データバッファに格
納する割込みタスクの走行レベルが高くなり、他のコン
ピュータから送られてきた受信データが順次受信データ
バッファに格納される。割込みタスクは受信データバッ
ファに受信データを格納する毎に、受信処理タスクに対
する受信データ処理要求を待ち行列につなぎ、それに伴
って受信処理タスクの走行レベルも高くなるが、受信処
理タスクの走行レベルが割込みタスクの走行レベルより
高くなる前に受信データバッファが満杯になると、受信
処理タスクによる処理が行なわれないため、受信データ
バッファが満杯状態のままとなり、この結果、他のコン
ピュータからの受信データを受信できなくなるという問
題があった。
【0004】本発明の目的は他のコンピュータからの受
信データを確実に受信することができるタスク制御方式
を提供することを目的とする。
【0005】
【課題を解決するための手段】本発明は上記目的を達成
するため、送信データバッファにデータを格納する送信
処理タスクと、受信データバッファに格納されたデータ
を処理する受信処理タスクと、前記送信データバッファ
に格納されたデータを回線に送出すると共に前記回線を
介して加えられたデータを前記受信データバッファに格
納する割込みタスクとが走行するコンピュータシステム
に於いて、前記受信データバッファに格納されているデ
ータのデータ量に基づいて前記受信処理タスク,送信処
理タスク,割込みタスクの走行レベルを相対的に変更す
る。
【0006】
【作用】受信処理タスク,送信処理タスク,割込みタス
クの走行レベルは受信データバッファに格納されている
データのデータ量に基づいて相対的に変更されるもので
あり、他のコンピュータからデータ受信要求が多数連続
して送られてきて受信データバッファ内のデータ量が予
め定められている上限値以上となると、受信処理タスク
の走行レベルが他のタスクの走行レベルより高くなる。 この結果、受信データバッファ内のデータは受信処理タ
スクによって処理されることになるので、受信データバ
ッファが満杯になることはなく、他のコンピュータから
の受信データを確実に受信することが可能になる。
【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の処理に於いて、ステップS
20,S22の判断結果がそれぞれNo,Yesとなり
、受信処理タスク4の走行レベルが初期値L3に戻され
(ステップS23)、更に、待ち行列9−1につながれ
ている受信処理タスク4に対する受信データ処理要求が
変更後の走行レベルL3に対応する待ち行列9−3につ
なぎ代えられる (ステップS25)。
【0033】このように、本実施例は受信データバッフ
ァ7内のデータ量がレジスタ8に設定されている上限値
以上となることにより、受信処理タスク4の走行レベル
をL1に上げ、受信データバッファ7に格納されている
受信データを処理させているので、受信データバッファ
7が満杯になり、他のコンピュータからのデータを受信
できなくなるということがなくなる。
【0034】
【発明の効果】以上説明したように、本発明は、受信デ
ータバッファに格納されているデータのデータ量に基づ
いて受信処理タスク,送信処理タスク,割込みタスクの
走行レベルを相対的に変更するものであるので、他のコ
ンピュータからデータ受信要求が連続して多数送られて
きた場合にも、従来例のように、受信データバッファが
満杯になり、データ受信不能となることはなく、他のコ
ンピュータからの受信データを確実に受信することが可
能になる効果がある。
【図面の簡単な説明】
【図1】本発明の実施例のブロック図である。
【図2】タスク管理手段2が行なう処理の一部を示す流
れ図である。
【符号の説明】
1…コンピュータ 2…タスク管理手段 3…送信処理タスク 4…受信処理タスク 5…割込みタスク 6…送信データバッファ 7…受信データバッファ 8…レジスタ 9−1〜9−3…待ち行列 10…回線

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】  送信データバッファにデータを格納す
    る送信処理タスクと、受信データバッファに格納された
    データを処理する受信処理タスクと、前記送信データバ
    ッファに格納されたデータを回線に送出すると共に前記
    回線を介して加えられたデータを前記受信データバッフ
    ァに格納する割込みタスクとが走行するコンピュータシ
    ステムに於いて、前記受信データバッファに格納されて
    いるデータのデータ量に基づいて前記受信処理タスク,
    送信処理タスク,割込みタスクの走行レベルを相対的に
    変更することを特徴とするタスク制御方式。
  2. 【請求項2】  前記受信データバッファに格納されて
    いるデータのデータ量が予め定められている上限値以上
    となることにより前記受信処理タスクの走行レベルを高
    めることを特徴とする請求項1記載のタスク制御方式。
  3. 【請求項3】  前記受信データバッファに格納されて
    いるデータのデータ量が予め定められている下限値以下
    となることにより前記受信処理タスクの走行レベルを初
    期値に戻すことを特徴とする請求項1または2記載のタ
    スク制御方式。
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 true JPH04329443A (ja) 1992-11-18
JP3082297B2 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007522561A (ja) * 2004-02-06 2007-08-09 インテル・コーポレーション 同時マルチスレッディングプロセッサを用いてバッファ型アプリケーションのエネルギー消費を低減する方法
JP2010049314A (ja) * 2008-08-19 2010-03-04 Nec Corp タスクスケジューリング装置およびタスクスケジューリング方法
CN102479106A (zh) * 2010-11-23 2012-05-30 金蝶软件(中国)有限公司 一种从多队列节点获取消息的方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007522561A (ja) * 2004-02-06 2007-08-09 インテル・コーポレーション 同時マルチスレッディングプロセッサを用いてバッファ型アプリケーションのエネルギー消費を低減する方法
JP2010049314A (ja) * 2008-08-19 2010-03-04 Nec Corp タスクスケジューリング装置およびタスクスケジューリング方法
CN102479106A (zh) * 2010-11-23 2012-05-30 金蝶软件(中国)有限公司 一种从多队列节点获取消息的方法及系统

Also Published As

Publication number Publication date
JP3082297B2 (ja) 2000-08-28

Similar Documents

Publication Publication Date Title
US5083261A (en) Dynamically alterable interrupt priority circuit
US5257356A (en) Method of reducing wasted bus bandwidth due to slow responding slaves in a multiprocessor computer system
JP3284311B2 (ja) データ処理システムにおける通信バス制御装置およびバス制御方法
JP4195368B2 (ja) センダ・レシーバ要求再施行方法および装置
JP2015530679A (ja) 高効率アトミック演算を使用した方法および装置
JPH04329443A (ja) タスク制御方式
CN111651272A (zh) 一种嵌入式实时操作的线程时间管理方法及装置
JP2550811B2 (ja) 通信制御方法
JP2000035954A (ja) マルチプロセッサおよびそのバス調停方法
KR100451722B1 (ko) 직접 메모리 액세스 제어 장치
JP2526399B2 (ja) 並列計算機における負荷分散方法
JPS5986940A (ja) マルチドロツプ方式の情報伝送方式
JPH0962624A (ja) オンライントランザクションの処理方法および処理システム
JP2000259430A (ja) コンピュータシステムの処理方法
JPH1049344A (ja) バッファのビジー制御方式
CN113961328B (zh) 一种任务处理方法、装置、存储介质及电子设备
JPH01305461A (ja) バス使用権制御方式
US20220269546A1 (en) Control device, method, program, and vehicle
JPH05173923A (ja) 入出力データ転送処理装置
JP3050131B2 (ja) アービトレーション方式
JPH0830549A (ja) バス制御装置
JPS59177638A (ja) メツセ−ジ優先送出制御方式
JPH06161951A (ja) バス制御方式
JPH05134980A (ja) バスシステム
JP2570192B2 (ja) ループ型ローカルエリアネットワークシステム

Legal Events

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