JP2937552B2 - タスク・スケジューリング方式及び方法 - Google Patents

タスク・スケジューリング方式及び方法

Info

Publication number
JP2937552B2
JP2937552B2 JP3147301A JP14730191A JP2937552B2 JP 2937552 B2 JP2937552 B2 JP 2937552B2 JP 3147301 A JP3147301 A JP 3147301A JP 14730191 A JP14730191 A JP 14730191A JP 2937552 B2 JP2937552 B2 JP 2937552B2
Authority
JP
Japan
Prior art keywords
task
message
execution
state
scheduling method
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 - Lifetime
Application number
JP3147301A
Other languages
English (en)
Other versions
JPH04370836A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP3147301A priority Critical patent/JP2937552B2/ja
Publication of JPH04370836A publication Critical patent/JPH04370836A/ja
Application granted granted Critical
Publication of JP2937552B2 publication Critical patent/JP2937552B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はタスク・スケジューリン
グ方式及び方法に係り、特に、相互にメッセージの交信
が可能で、実行の優先順位が各々設定された複数のタス
クの実行の順序の管理を行うタスク・スケジューリング
方式及び方法に関する。本発明は、例えば、メッセージ
通信を基本とした並列計算機では、各プロセッサ上にO
Sがのっており、それぞれに独立に、各プロセッサ内の
タスクの管理を行うような各プロセッサのOSスケジュ
ーリング方式及び方法に関するものである。
【0002】
【従来の技術】従来、タスク・スケジューリング方式と
して、リアルタイムOSがあった。リアルタイムOS
は、リアルタイム制御を目的とし、通常マルチタスキン
グをサポートするOSであって、図8に示すものであ
る。本方式は同図に示すように、相互にメッセージの交
信が可能で、実行の優先順位が各々設定された複数のタ
スク30の実行の順序の管理を行うタスク・スケジュー
リング方式であって、交信で到達したメッセージを該当
するタスクの待ち行列に入れるメッセージ管理部17
と、前記メッセージ管理部17が交信によりメッセージ
が到達した場合、及び、実行状態にあるタスク30から
のメッセージ受信要求があった場合に、前記メッセージ
管理部17に対し、当該タスクの待ち行列にメッセージ
の有無を判定を求め、当該判定結果に基づき、タスクの
実行の切換え等の指示を行うスケジューラ27と、スケ
ジューラ27からの指示があった場合には、タスクの実
行可能状態、実行状態またはメッセージ待ち状態の切換
えを行うタスクスイッチ部40とを有するものである。
従来例にあっては、各タスクにはプライオリティ(優先
順位、優先度)が設定されており、メッセージが当該プ
ロセッサに到達して割込みが当該プロセッサのOSに入
り、その割込みの処理が終了して、前記メッセージ管理
部17により、到達したメッセージを該当するタスクの
待ち行列に入れると、前記スケジューラ27はその時点
で最も高いタスクを実行状態にする(リアルタイムO
S)。ここで、「タスク」とは、CPUにより実行され
る仕事の競合する単位をいう。また、「メッセージ」と
はデータ送信装置からデータ受信装置へ1つのまとまり
として伝送される文字及び制御ビット列の一群であっ
て、その文字の配列はデータ送信装置により決定され
る。さらに、「メッセージの受信」とは、タスクからの
メッセージ受信要求であって、タスクからのOSへのS
VC(スーパバイザコール命令)である。
【0003】
【発明が解決しようとする課題】ところで、以上説明し
たように、従来例に係るタスク・スケジューリング方式
にあっては、あるタスクがメッセージ処理中に、メッセ
ージが他の優先度の高いタスクに到着して、そのタスク
が実行可能状態になると、切換えが行われてタスクが実
行状態になる。そのため、従来例にあっては、多くのタ
スクの切り換え(スイッチ)が起こり、そのオーバヘッ
ド(計算機の動作時間に占める管理プログラムの実行時
間の割合)が大きくなってしまうという問題点を有して
いた。そこで、本発明は、タスクがメッセージ受信を行
う場合だけスケジューリングを行うようにして、タスク
の切り換えを制限し、オーバヘッドの抑制を図ることを
目的としてなされたものである。
【0004】
【課題を解決するための手段】以上の技術的課題を解決
するため、第一の発明は図1に示すように、相互にメッ
セージの交信が可能で、実行の優先順位が各々設定され
た複数のタスク30についてその実行順序の管理を行う
タスク・スケジューリング方式において、交信で受けた
メッセージを該当するタスクの待ち行列に入れるメッセ
ージ管理部10と、実行状態にあるタスク30からのメ
ッセージ受信要求があった場合のみ、当該タスクの待ち
行列にあるメッセージの有無の判定を前記メッセージ管
理部10に対し求め、少なくとも、当該判定結果に基づ
き、タスクの実行の切換え等の指示を行う限定スケジュ
ーラ20と、前記限定スケジューラ20からの指示があ
った場合には、タスクの実行可能状態、実行状態または
メッセージ待ち状態のいずれかへの切換えを行うタスク
スイッチ部40とを有するものである。
【0005】一方、第二の発明は、図2に示すように、
相互にメッセージの交信が可能で、実行の優先順位が各
々設定された複数のタスクの実行の順序の管理を行うタ
スク・スケジューリング方法において、実行状態にある
タスクからのメッセージ受信要求があった場合にのみ
(S1)、要求のあったタスクの待ち行列に関し、交信
で受けたメッセージの有無を判定し(S2)、少なくと
も、当該判定結果に基づいた指示があった場合には、タ
スクを実行可能状態、実行状態、またはメッセージ待ち
状態のいずれかへの切換えを行う(S3)ものである。
【0006】
【作用】続いて、本発明の動作について説明する。スッ
テプS1で、交信により前記メッセージ管理部10によ
り、交信により到達したメッセージを該当するタスクの
待ち行列に入れておく。ステップS2で、実行状態にあ
る複数のタスク30のうちの1つからメッセージ受信要
求が前記限定スケジューラ20にあると、当該限定スケ
ジューラ20は少なくとも、当該場合に限り、該当する
メッセージの有無の判定を行う。ここで、「メッセージ
受信要求」とは、タスクからのOSへのSVCであり、
本発明にあっては、これ以外のイベントによりスケジュ
ーリングは行わない。もし、スケジューラ20が前記メ
ッセージ管理部10において、当該タスク30に該当す
るメッセージがあることを確認した場合には、前記タス
クスイッチ部40に対し、タスク30の切り換えの指示
を行わずに、当該タスク30を実行状態において、タス
ク30の実行の続行を図ることになる。一方、前記限定
スケジューラ20が前記メッセージ管理部10には該当
するメッセージが存在しないと判断した場合には、前記
タスクスイッチ部40に対し、実行状態にある当該タス
ク30をメッセージ待ち状態に移行させ、他のタスク3
0に対して、実行権を移行させることになる。したがっ
て、本発明によれば、前記限定スケジューラ20はタス
クからのメッセージ受信要求があった場合にのみ前記メ
ッセージ管理部10に対し、該当するメッセージの有無
の判定を行い、当該判定結果に基づいてタスクの切換え
を行うようにしているので、メッセージが到達するたび
にタスクを切り換える場合に比較してタスクの切換えが
削減されることになる。さらに、請求項3及び請求項4
に示すように、優先度が最も低く、処理にメッセージを
必要としないナルタスクに偽メッセージ受信要求部を設
け、または、ナルタスクについても通常のタスクと同様
な処理を行うようにした。これは、第一及び第二の発明
に示したように、メッセージ受信要求があった場合の
み、スケジューリングを行う場合には、メッセージ待ち
状態にならないナルタスクは永久に実行状態にならない
ことを防止するために、形式的にメッセージ受信要求を
行う手段を設けたものである。
【0007】
【実施例】本発明の実施例について説明する。図3に本
実施例に係る全体システム図を示す。同図に示すよう
に、本実施例に係る並列計算機にあっては、複数のプロ
セッサ(メモリ及び送受信装置を含む)1001 〜10
nがネットワーク200を介して相互に接続されたも
のであって、各々が独立に処理を並行して同時に行うこ
とができるものである。図4には各プロセッサ(メモリ
及び送受信装置を含む)のうちの1つについて本方式に
係るタスク・スケジューリング方式のプログラム内容を
機能的に記述したものである。プロセッサ1001 は大
きくは、送受信部7と、プロセッサ及びメモリ8とを有
するものであり、当該プロセッサ及びメモリ8は機能的
には、OS6と、相互にメッセージの交信が可能で、実
行の優先順位が各々設定された複数のタスク3 1 〜3m
と、優先度が最も低く実行にメッセージの必要のないナ
ルタスク30 とを有するものである。前記OS6は同図
に示すように、メッセージが前記送受信部7に到達した
場合に、割り込み処理(割り込み要求ビットを落とし、
メッセージ管理部にメッセージを送るという処理)を行
う割込み処理部5と、交信で受けたメッセージを該当す
るタスクの待ち行列に入れるメッセージ管理部1と、実
行状態にあるタスク3 1 〜3m からのメッセージ受信要
求があった場合のみ、前記メッセージ管理部1に対し該
当するメッセージの有無を判定し、少なくとも、当該判
定結果に基づき、タスクの実行の切り換えまたは続行の
指示を行う限定スケジューラ2と、前記限定スケジュー
ラ2からの指示に基づいて、タスクの実行可能状態、実
行状態またはメッセージ待ち状態のいずれかへの切換え
を行いまたは行わずに続行させるタスクスイッチ部4
と、を有するものである。さらに、本実施例にあって
は、ナルタスク30 に、形式的にメッセージ受信要求を
前記限定スケジューラ2に対して行うことのできる偽メ
ッセージ受信要求部9を設けたものである。ここで、
「ナルタスク3」は、どのタスクよりも優先度が低いタ
スクであって、その処理にメッセージを必要とせず、そ
のため、メッセージ待ち状態にならずに常に、実行状態
または実行可能状態にあるタスクである。したがって、
メッセージが到達した場合に、タスクの切換えを行わず
に、メッセージ受信要求があった場合のみスケジューリ
ングを行う本実施例の場合には、ナルタスクは常に実行
状態にならない事態になる。この事態を防止するため
に、ナルタスクに形式的にメッセージ受信要求を行わせ
る機能をもつ偽メッセージ受信要求部9が設けられたも
のである。
【0008】続いて、本実施例に係るメッセージ要求処
理の動作について説明する。本実施例に係る並列計算機
の1つのプロセッサ1001 の前記送受信部7にメッセ
ージが到達すると、前記割込み処理部5により所定の割
り込み処理が行われ、メッセージを前記メッセージ管理
部1に送出する。メッセージ管理部1は到達したメッセ
ージを該当するタスクの待ち行列に入れる。その後、図
5に示すように、ステップSJ1でプロセッサ1001
が割り当てられて実行状態にある前記タスク3からメッ
セージの受信要求があると、ステップSJ2で、前記限
定スケジューラ2は前記メッセージ管理部1に対し、当
該タスクの待ち行列に入っているメッセージの有無の判
定を行う。当該タスクに該当するメッセージがないと判
定された場合には、ステップSJ3に進み、前記スケジ
ューラ2は前記タスクスイッチ部4に対し、他のタスク
への切換えの指示を行い、当該タスク3は図7に示すよ
うに、実行状態からメッージ待ち状態に遷移し、前記他
のタスクについて、実行状態になる。もし、ステップS
J2で、前記スケジューラ2により、前記メッセージ管
理部1に該当するメッセージがあると判定された場合に
はステップSJ4に進み、当該メッセージ管理部1から
メッセージを取り出し、ステップSJ5に進み、実行状
態が続行され、自分より優先度の高いタスクがある場合
には、最優先度のタスクへの切り換えが行われる(実行
権を移す)。
【0009】次に、優先度が最も低いナルタスクの場合
の動作を説明する。図6に示すように、ステップSJ1
1で、ナルタスク30 に設けられた前記偽メッセージ受
信要求部9がメッセージ要求をOS6に出す。ナルタス
ク30 からのメッセージ要求があると、ステップSJ1
2で、前記限定スケジューラ2はメッセージ管理部1に
対し、ナルタスク30 に該当する待ち行列にあるメッセ
ージの有無の判定を求める。しかし、ナルタスク30
は該当するメッセージは存在することはあり得ず、判定
の求めは形式的なものであり、その結果の如何に拘わら
ず、実行状態のまま、ステップSJ13に進むことにな
る。ステップSJ13では、自分より優先度の高いタス
クがあれば、最優先度のタスクへ切換え(スイッチ)を
行って、実行権を移す。そうでなければ、ナルタスク3
0 は処理を続行することになる。ナルタスク30 が実行
状態にある場合には、メッセージが他のプロセッサから
ナルタスク以外の他のタスクAに到達しても、そのメッ
セージはタスクAにキューイングされる(待ち行列に入
る)だけで、その処理(割り込み処理とメッセージ管
理)が終了すると、再びナルタスク30 が実行状態にな
る。そのとき、タスクAは実行可能状態(レディー状
態)になっている。そして、ナルタスク30 がメッセー
ジ要求をOSに出すと、再び、図6の処理に従って、ス
ケジューリングが行われ、タスクAに実行権が移り、タ
スクスイッチが行われる。ナルタスクが他のタスクのと
きでも同様である。こうして、本実施例にあっては、ナ
ルタスクに偽メッセージ受信要求部9を設けたため、ス
ケジューリング方式が簡単化されることにもなる。尚、
以上の例にあっては、並列計算機の場合について説明し
たが本例に限られることなく、1つの計算機の場合につ
いても成り立つことはいうまでもない。
【0010】
【発明の効果】以上説明したように、本発明にあって
は、タスクからメッセージ受信要求があった場合のみ、
該当するメッセージの有無を判定し、その判定結果に基
づいて、実行状態、実行可能状態またはメッセージ待ち
状態の切り換えを行うようにしている。したがって、従
来の場合に比較して、タスクの前記状態間の遷移が抑制
され、オーバヘッドを抑制することができることにな
る。
【図面の簡単な説明】
【図1】第一の発明の原理ブロック図
【図2】第二の発明の原理流れ図
【図3】実施例に係る並列計算機のシステム構成図
【図4】実施例に係るブロック図
【図5】実施例に係るメッセージ要求処理流れ図(1)
【図6】実施例に係るメッセージ要求処理流れ図(2)
【図7】実施例に係るタスク状態遷移図
【図8】従来例に係るブロック図
【符号の説明】
10,1 メッセージ管理部 20,2 限定スケジューラ 30,31 〜3n (30 ) タスク(ナルタスク) 40,4 タスクスイッチ部 9 偽メッセージ受信要求部
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 9/46 G06F 15/00 G06F 15/16

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】相互にメッセージの交信が可能で、実行の
    優先順位が各々設定された複数のタスク(30)につい
    てその実行順序の管理を行うタスク・スケジューリング
    方式において、交信で受けたメッセージを該当するタス
    クの待ち行列に入れるメッセージ管理部(10)と、実
    行状態にあるタスク(30)からのメッセージ受信要求
    があった場合のみ、当該タスクの待ち行列にあるメッセ
    ージの有無の判定を前記メッセージ管理部(10)に対
    し求め、少なくとも、当該判定結果に基づき、タスクの
    実行の切換え等の指示を行う限定スケジューラ(20)
    と、前記限定スケジューラ(20)からの指示があった
    場合には、タスクの実行可能状態、実行状態またはメッ
    セージ待ち状態のいずれかへの切換えを行うタスクスイ
    ッチ部(40)とを有することを特徴とするタスク・ス
    ケジューリング方式。
  2. 【請求項2】相互にメッセージの交信が可能で、実行の
    優先順位が各々設定された複数のタスクの実行の順序の
    管理を行うタスク・スケジューリング方法において、実
    行状態にあるタスクからのメッセージ受信要求があった
    場合にのみ(S1)、要求のあったタスクの待ち行列に
    関し、交信で受けたメッセージの有無を判定し(S
    2)、少なくとも、当該判定結果に基づいた指示があっ
    た場合には、タスクを実行可能状態、実行状態、または
    メッセージ待ち状態のいずれかへの切換えを行う(S
    3)ことを特徴とするタスク・スケジューリング方法。
  3. 【請求項3】請求項1記載の前記タスクのうち、メッセ
    ージ待ち状態にならない最も優先順位の低いナルタスク
    に、前記限定スケジューラに対し、メッセージ受信要求
    を行う偽メッセージ受信要求部を設けたことを特徴とす
    る請求項1記載のタスク・スケジューリング方式。
  4. 【請求項4】請求項2記載の前記タスクに、メッセージ
    待ち状態にならない最も優先順位の低いナルタスクが含
    まれることを特徴とする請求項2記載のタスク・スケジ
    ューリング方法。
JP3147301A 1991-06-19 1991-06-19 タスク・スケジューリング方式及び方法 Expired - Lifetime JP2937552B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3147301A JP2937552B2 (ja) 1991-06-19 1991-06-19 タスク・スケジューリング方式及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3147301A JP2937552B2 (ja) 1991-06-19 1991-06-19 タスク・スケジューリング方式及び方法

Publications (2)

Publication Number Publication Date
JPH04370836A JPH04370836A (ja) 1992-12-24
JP2937552B2 true JP2937552B2 (ja) 1999-08-23

Family

ID=15427110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3147301A Expired - Lifetime JP2937552B2 (ja) 1991-06-19 1991-06-19 タスク・スケジューリング方式及び方法

Country Status (1)

Country Link
JP (1) JP2937552B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101988898B1 (ko) * 2017-12-26 2019-06-13 국방과학연구소 타스크 상태점검을 통한 타스크 고착상태 복구 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101988898B1 (ko) * 2017-12-26 2019-06-13 국방과학연구소 타스크 상태점검을 통한 타스크 고착상태 복구 방법

Also Published As

Publication number Publication date
JPH04370836A (ja) 1992-12-24

Similar Documents

Publication Publication Date Title
EP0617361B1 (en) Scheduling method and apparatus for a communication network
EP0442615B1 (en) A communications adapter and method for operating it
US5875329A (en) Intelligent batching of distributed messages
US5940612A (en) System and method for queuing of tasks in a multiprocessing system
US5469571A (en) Operating system architecture using multiple priority light weight kernel task based interrupt handling
US7039012B2 (en) Process execution method and apparatus
US5619647A (en) System for multiplexing prioritized virtual channels onto physical channels where higher priority virtual will pre-empt a lower priority virtual or a lower priority will wait
JPH06202883A (ja) プロセス間通信装置及び通信方法
JP2000242512A (ja) 複数のオペレーティングシステムを実行する計算機
JPH10207822A (ja) 高速i/oコントローラにおける割り込み処理方法
JP2000029815A (ja) スレッド・サ―バのパフォ―マンス強化方法および装置
JPH03147151A (ja) 共通ルーチンを用いた移植性の資源共用ファイルサーバ
JPH0563821B2 (ja)
US5715474A (en) Simultaneous control of radio frequency modem in a multi-tasking system using a single session manager program with separate command queue for each application program
KR19980079669A (ko) 멀티프로세서 시스템에서 인터럽트를 융통성있게 제어하기 위한 장치
US20020167903A1 (en) Process execution method and apparatus
JP2904483B2 (ja) 周期的プロセスのスケジューリング方法
JP2937552B2 (ja) タスク・スケジューリング方式及び方法
JP2002024195A (ja) 並列処理装置、及び、並列処理方法
GB2390776A (en) Method and apparatus for automated network polling
JP2000502202A (ja) 命令プロセッサのジョブスケジューリング
US20010025324A1 (en) Data communication method and apparatus, and storage medium storing program for implementing the method and apparatus
JP3115801B2 (ja) 並列計算機システム
JPH09179834A (ja) 並列システムにおけるプロセスのスケジューリング方法
JP2000322278A (ja) プロセス実行制御方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990525