JPH0358235A - タスクの階層制御方式 - Google Patents

タスクの階層制御方式

Info

Publication number
JPH0358235A
JPH0358235A JP19549289A JP19549289A JPH0358235A JP H0358235 A JPH0358235 A JP H0358235A JP 19549289 A JP19549289 A JP 19549289A JP 19549289 A JP19549289 A JP 19549289A JP H0358235 A JPH0358235 A JP H0358235A
Authority
JP
Japan
Prior art keywords
task
child
storage area
parallel
number storage
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
JP19549289A
Other languages
English (en)
Inventor
Mika Kondou
美香 近藤
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 JP19549289A priority Critical patent/JPH0358235A/ja
Publication of JPH0358235A publication Critical patent/JPH0358235A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】
[産業上の利用分野] 本発明は多重プログラミング計算機システムにおけるタ
スクの階層制御方式に関する。 〔従来の技術〕 従来、ジョブは、1つの親タスクとその親タスクの子タ
スクである複数のタスクからのみ構成され、親タスクの
タスク番号とジョブ内のタスク数によってタスクの階層
制御をおこなっていた。 [発明が解決しようとする課題] 上述した従来のタスクの階層制御方式は、1つの親タス
クとその親タスクの子タスクである複数のタスクからな
るジョブのタスクの階層制御しかできず、また、タスク
を動的に生威したり削除したりできないため、必要なタ
スク数を予め作成し(I ておかなければならないという欠点がある。 本発明の目的は、必要なタスク数のタスクを予め作戊し
ておかなくてもすむタスクの階層制御方式を提供するこ
とである。 [課題を解決するための手段] 本発明のタスクの階層制御方式は、 各タスクは、自タスクの親タスクのタスク番号が格納さ
れる親タスク番号格納領域と、自タスクの子タスクのタ
スク番号が格納される子タスク番号格納領域と、自タス
クと並列な関係にあるタスクのタスク番号が格納される
並列タスク番号格納領域とを含み、 タスクの子タスクを動的に生成するように要求されたと
き、生戊される子タスクの親タスク番号格納領域に前記
タスクのタスク番号を格納し、前記子タスクの並列タス
ク番号格納領域に並列タスクがあれば該並列タスクのタ
スク番号を、並列タスクが無ければタスクが存在しない
ことを示す値をそれぞれ格納し、前記子タスクの子タス
ク番号格納領域にタスクが存在しないことを示す値を格
納し、前記タスクの子タスク番号格納領域に前記子タス
クのタスク番号を格納するタスク動的生成手段と、 ジョブに対してジョブサスペンド要求があったとき、該
ジョブ中の各タスクの親タスク番号格納領域と子タスク
番号格納領域と並列タスク番号格納領域に格納されてい
るタスク番号を参照することにより前記ジョブ内の全タ
スクのタスク番号を取得するジョブ内全タスクサーチ手
段と、該ジョブ内全タスクサーチ手段により取得された
タスク番号のタスクすべてをサスペンドするタスクサス
ペンド手段と、 タスクを動的に削除するように要求されたとき、削除さ
れるタスクの親タスクの子タスク番号格納領域67当該
タスクのタスク番号または当該タスクが存在しないこと
を示す値を格納し、前記削除されるタスクの親タスク番
号格納領域と並列タスク番号格納領域にそれぞれ当該タ
スクが存在しないことを示す値を格納するタスク動的削
除手段と、 タスクに対してアボート要求があったとき、該タスクの
子タスク番号格納領域を参照して子タスクのタスク番号
があるとき、該タスク番号の子タスクの並列タスク番号
格納領域を参照して並列タスクである前記タスクの子タ
スクのタスク番号を取得することにより、前記タスクの
子タスクすべてのタスク番号を取得する子タスクサーチ
手段と、 該子タスクサーチ手段により取得されたタスク番号の子
タスクすべてをアボートするクスクアボート手段とを有
する。
【作 用】
動的に生成および削除されるタスクならびに該タスクの
親タスク等の関連するタスクの各タスク番号格納領域に
当該タスク番号が格納されてタスクが動的に生成および
削除され、かつ各タスクのタスク番号格納領域に格納さ
れているタスク番号を参照することによってジョブ内の
全タスクがサーチされてサスペンドされ、また、必要な
子タスクがサーチされてアボートされるので、必要な最
大値のタスク数のタスクを予め作戊しておかなくても、
1つの親タスクとその親タスクの子タスクである複数の
タスクからなるジョブに限らずに、3階層以上のタスク
よりなるジョブであってもタスクの階層制御ができる。 [実施例] 次に、本発明の実施例について図面を参照して説明する
。 第1図は本発明のタスクの階層制御方式の一実施例を示
すブロック図、第2図は第1図のタスク動的生成手段1
の処理の流れ図、第3図は第1図のジョブ内全タスクサ
ーチ手段2の処理の流れ図、第4図は第1図のタスク動
的削除手段4の処理の流れ図、第5図は第1図の子タス
クサーチ手段5の処理の流れ図である。 このタスクの階層制御方式はタスク動的生成手段1とジ
ョブ内全タスクサーチ手段2とタスクサスペンド手段3
とタスク動的削除手段4と子タスクサーチ手段5とクス
クアボート手段6とジョブ7とより構成され、ジョブ7
はタスク8とタスク9とタスク10とタスク11で構成
されている。 ここでタスク9はタスク8の子タスクであり、タスクl
Oとタスク11はともにタスク9の子タスクであり、タ
スク10とタスクl1とは互いに並列タスクの関係にあ
る。また、タスク8は親タスク番号格納領域81と子タ
スク番号格納領域82と並列タスク番号格納領域83を
、タスク9は親タスク番号格納領域9lと子タスク番号
格納領域92と並列タスク番号格納領域93を、タスク
10は親タスク番号格納領域Lotと子タスク番号格納
領域102と並列タスク番号格納領域103を、タスク
11は親タスク番号格納領域111と子タスク番号格納
領域112と並列タスク番号格納領域113をそれぞれ
含んでいる。 タスク動的生成手段1は、第2図に示すように、タスク
の子タスクを動的に生成するように要求されたとき、生
成される子タスクの親タスク番号格納領域に自タスクの
タスク番号を格納し(ステップ2l)、生成される子タ
スクの並列タスク番号格納領域に既に前記タスクの子タ
スクが存在すればその子タスクのタスク番号を、存在し
なければタスクが存在しないことを示す値を格納し(ス
テップ22)、生成される子タスクの子タスク番号格納
領域にタスクが存在しないことを示す値を格納し(ステ
ップ23)、自タスクの子タスク番号格納領域に生成さ
れる子タスクのタスク番号を格納する(ステップ24)
。 ジョブ内全タスクサーチ手段2は、第3図に示すように
、ジョブサスペンド要求があったとき、処理中のタスク
の並列タスク番号格納領域を参照して並列タスクのタス
ク番号を取得し(ステップ3l)、並列タスクのタスク
番号が並列タスク32)、並列タスクが無ければステッ
プ34へ進み、並列タスクがあれば並列タスクのタスク
番号を未処理タスクリストに加え(ステップ33)、処
理中のタスクの子タスク番号格納領域を参照して子タス
クのタスク番号を取得し(ステップ34)、子タスクの
タスク番号が子タスクが無いことを示す値かどうかを判
断し(ステップ35)、子タスクが有ればステップ31
へ戻り、今度は処理中のタスクの子タスクの並列タスク
のタスク番号を取得して次の制御に進み、ステップ35
で子タスクが無ければステップ33で未処理タスクリス
トに加えた未処理タスクが未だ存在するか判断し(ステ
ップ36)、未処理タスクが存在すればその未処理タス
クのタスク番号を未処理タスクリストから取出し(ステ
ップ37)、ステップ3lに戻り今度はこの未処理タス
クの並列タスク番号格納領域を参照して次の制御を繰返
し、ステップ36で未処理タスクが存在しなければタス
クサスペンド手段3に制御を渡す。 サーチ手段2がサーチしたタスク番号のタスクすべてを
サスペンドする。 タスク動的削除手段4は、第4図に示すように、タスク
動的生成手段1によって生成された子タスクの動的削除
の要求があると、自タスクの子タスク番号格納領域に子
タスクの並列タスクがあればその並列タスクのタスク番
号を、並列タスクがなければ子タスクがないことを示す
値を格納し(ステップ4l)、動的に削除されるタスク
の親タスク番号格納領域に親タスクが無いことを示す値
を格納し(ステップ42)、動的に削除されるタスクの
並列タスク番号格納領域に並列タスクが無いことを示す
値を格納する(ステップ43)。 子タスクサーチ手段5は、第5図に示すように、アボー
トが要求されたタスクの子タスク番号格納領域を参照し
て子タスクのタスク番号を取得し(ステップ51)、子
タスクのタスク番号が子タスクが無いことを示す値かど
うかを判断し(ステップ52)、子タスクが無ければタ
スクアボート手段6に制御を渡し、子タスクが有ればそ
の子タスクの並列タスク番号格納領域を参照して並列タ
スクのタスク番号を取得し(ステップ53)、並列タス
クのタスク番号が並列タスクが無いことを示す値かどう
か判断し(ステップ54)、並列タスクが有ればステッ
プ53に戻り、その子タスクの並列タスクの並列タスク
番号格納領域を参照してステップ54に進み、ステップ
54で並列タスクが無ければタスクアボート手段6に制
御を渡す。 タスクアボート手段6は、子タスクサーチ手段5でサー
チされたタスク番号の子タスクすべてをアボートする。 次に、本実施例の動作を説明する。 例えばタスク9の処理中にタスク9の子タスクとしてタ
スク11の動的生成要求があると、タスク動的生成手段
lは、第2図に示すように、タスク1lの親タスク番号
格納領域111にタスク9のタスク番号を格納し(ステ
ップ21)、タスク1lの並列タスク番号格納領域11
3にタスク9の子タスク番号格納領域92に格納されて
いるタスク10のタスク番号を格納し(ステップ22)
 タスク11の子タスク番号格納領域112に子タスク
が存在しないことを示す値を格納する(ステップ23)
。次に、タスク9の子タスク番号格納領域92にタスク
l1のタスク番号を格納する(ステップ24)。 このとき、ジョブ7に対しジョブサスペンド要求がある
と、ジョブ内全タスクサーチ手段2は、第3図に示すよ
うに、ジョブの主タスクであるタスク8の並列タスク番
号格納領域83を参照して、並列タスクのタスク番号を
取得する(ステップ31)。次に、取得した並列タスク
のタスク番号が並列タスクが無いことを示す値かどうか
判断し(ステップ32)、この場合並列タスクが無いの
でタスク8の子タスクのタスク番号格納領域82を参照
して子タスクのタスク番号を取得する(ステップ34)
。次に、取得した子タスク番号が、子タスクが無いこと
を示す値かどうか判断し(ステップ35)、この場合子
タスクが有るのでステップ31に戻り、今度は、タスク
8の子タスクであるタスク9の並列タスク番号格納領域
93を参照して並列タスクのタスク番号を取得する。 次に、並列タスクのタスク番号が並列タスクが無いこと
を示す値かどうか判断し(ステップ32)、この場合並
列タスクが無いので、タスク9の子タスク番号格納領域
92を参照して子タスクのタスク番号を取得する(ステ
ップ34)。次に、子タスクのタスク番号が子タスクが
無いことを示す値かどうか判断し(ステップ35)、こ
の場合子タスクが有るのでステップ31に戻り、今度は
タスク9の子タスクであるタスク10の並列タスク番号
格納領域103を参照して並列タスクのタスク番号を取
得する。次に、並列タスクのタスク番号が並列タスクが
無いことを示す値かどうか判断し(ステップ32)、こ
の場合並列タスクが有るのでタスク10の並列タスクで
あるタスク11のタスク番号を未処理タスクリストに加
える(ステップ33)。次に、タスク10の子タスク番
号格納領域102を参照して子タスクのタスク番号を取
得する(ステップ34)。次に、子タスクのタスク番号
が子タスクが無いことを示す値かどうか判断し(ステッ
プ35)、子タスクが無いので判断ステップ36に制御
を渡す。ステップ33で未処理タスクリストに加えた未
処理タスクが未だ存在するか判断し(ステップ36)、
未処理タスクが未だ存在するので、ステップ33におい
て作業用領域に格納したタスクl1のタスク番号を取り
出し(ステップ37)、ステップ31に戻り、今度は、
タスク1lの並列タスク番号格納領域113を参照して
並列タスクのタスク番号を取得する. 次に、並列タスクのタスク番号が並列タスクが無いこと
を示す値かどうか判断し(ステップ32)、並列タスク
が無いのでタスク11の子タスク番号格納領域112を
参照して子タスクのタスク番号を取得する(ステップ3
4)。次に、子タスクのタスク番号が子タスクが無いこ
とを示す値かどうか判断しくステップ35)、子タスク
が無いのでステップ36に制御を渡す。ステップ33で
作業用領域に格納した未処理タスクが未た存在するか判
断し(ステップ36)、未処理タスクが存在しないので
タスクサスペンド手段3に制御を渡す。 タスクサスペンド手段3は、ジョブ7の主タスクである
タスク8から順番にジョブ内全タスクサーチ手段2でサ
ーチしたタスク8と9と10と11のすべてをサスペン
ドする。 タスク動的生戊手段1によって生成されたタスク11の
動的削除要求時、タスク動的削除手段4は、第4図に示
すように、タスク9の子タスク番号格納領域92にタス
ク11の並列タスクであるタスク10のタスク番号を格
納する(ステップ41)。次に、タスク11の親タスク
番号格納領域111に親タスクが無いことを示す値を格
納し(ステップ42)、タスクl1の並列タスク番号格
納領域113に並列タスクが無いことを示す値を格納す
る(ステップ43)。 タスク動的生成手段1によって生成されたタスク11を
削除する前に、タスク8の子タスクであるタスク9に対
してアボート要求があると、子タスクサーチ手段5は、
第5図に示すように、アボートが要求されたタスク9の
子タスク番号格納領域92を参照して、子タスクのタス
ク番号を取得する(ステップ51).次に、子タスクの
タスク番号が子タスクが無いことを示す値かどうか判断
し(ステップ52)、子タスクが有るのでステップ53
へ制御を渡す.このとき、子タスクが無い場合には、タ
スクアボート手段6に制御゛を渡す。タスク9の子タス
クであるタスクl1の並列タスク番号格納領域113を
参照して並列タスクのタスク番号を取得し(ステップ5
3)、次に、並列タスクのタスク番号が並列タスクが無
いことを示す値かどうか判断し(ステップ54)、並列
タスクが有るのでステップ53に戻り、今度は、タスク
9の子タスクであるタスク10の並列タスク番号格納領
域103を参照して並列タスクのタスク番号を取得する
。次に、並列タスクのタスク番号が並列タスクが無いこ
とを示す値かどうか判断し(ステップ54)、並列タス
クが無いのでタスクアボート手段6に制御を渡す。 タスクアボート手段6は、アボート要求のあったタスク
9から順番に子タスクサーチ手段5でサーチしたタスク
9の子タスクlOと11のすべてをアボートする。 [発明の効果] 以上説明したように本発明は、各タスクに自タスクの親
タスク、子タスクおよび並列な関係にあるタスクのタス
ク番号がそれぞれ格納される親タスク番号格納領域、子
タスク番号格納領域および並列タスク番号格納領域を設
け、タスクおよび該タスクの親タスク等の関連するタス
クの各タスク番号格納領域に当該するタスク番号を格納
して動的にタスクな生戊および削除し、かつジョブ内の
全タスクの各タスク番号格納領域を参照して全タスクの
タスク番号を取得し、また子タスクのタスク番号格納領
域を参照して金子タスクのタスク番号を取得することに
より、タスクが動的に生成および削除され、かつ、ジョ
ブ内の全タスクがサーチされてサスペンドされ、タスク
の金子タスクがサーチされてアボートされるので、必要
な最大値のタスク数のタスクを予め作成しておかなくて
も、1つの親タスクと該親タスクの子タスクである複数
のタスクからなるジョブに限らずに、3階層以上のタス
クよりなるジョブであってもタスクの階層制御ができる
という効果がある。
【図面の簡単な説明】
第1図は本発明のタスクの階層制御方式の一実施例を示
すブロック図、第2図は第1図のタスク動的生成手段l
の処理の流れ図、第3図は第1図のジョブ内全タスクサ
ーチ手段2の処理の流れ図、第4図は第1図のタスク動
的削除手段4の処理の流れ図、第5図は第1図の子タス
クサーチ手段5の処理の流れ図である。 1・・・・・・タスク動的生成手段、 2・・・・・・ジョブ内全タスクサーチ手段、3・・・
・・・タスクサスペンド手段、4・・・・・・タスク動
的削除手段、 5・・・・・・子タスクサーチ手段、 6・・・・・・タスクアボート手段、 7・・・・・・ジョブ、 8,9,10.11・・・・・・・・・・・・タスク、
21〜乏4.31〜36.41〜43. 51〜54・
・・・・・ステップ81, 91, 101, 111
・・・・・・親タスク番号格納領域、82, 92, 
102, 112・・・・・・子タスク番号格納領域、
83, 93,’103, 113・・・・・・並列タ
スク番号格納領域。

Claims (1)

  1. 【特許請求の範囲】 1、プログラムを複数のタスクからなるジョブ単位およ
    び前記タスク単位で制御する多重プロラミング計算機シ
    ステムにおいて、 各タスクは、自タスクの親タスクのタスク番号が格納さ
    れる親タスク番号格納領域と、自タスクの子タスクのタ
    スク番号が格納される子タスク番号格納領域と、自タス
    クと並列な関係にあるタスクのタスク番号が格納される
    並列タスク番号格納領域とを含み、 タスクの子タスクを動的に生成するように要求されたと
    き、生成される子タスクの親タスク番号格納領域に前記
    タスクのタスク番号を格納し、前記子タスクの並列タス
    ク番号格納領域に並列タスクがあれば該並列タスクのタ
    スク番号を、並列タスクが無ければタスクが存在しない
    ことを示す値をそれぞれ格納し、前記子タスクの子タス
    ク番号格納領域にタスクが存在しないことを示す値を格
    納し、前記タスクの子タスク番号格納領域に前記子タス
    クのタスク番号を格納するタスク動的生成手段と、 ジョブに対してジョブサスペンド要求があったとき、該
    ジョブ中の各タスクの親タスク番号格納領域と子タスク
    番号格納領域と並列タスク番号格納領域に格納されてい
    るタスク番号を参照することにより前記ジョブ内の全タ
    スクのタスク番号を取得するジョブ内全タスクサーチ手
    段と、 該ジョブ内全タスクサーチ手段により取得されたタスク
    番号のタスクすべてをサスペンドするタスクサスペンド
    手段と、 タスクを動的に削除するように要求されたとき、削除さ
    れるタスクの親タスクの子タスク番号格納領域に当該タ
    スクのタスク番号または当該タスクが存在しないことを
    示す値を格納し、前記削除されるタスクの親タスク番号
    格納領域と並列タスク番号格納領域にそれぞれ当該タス
    クが存在しないことを示す値を格納するタスク動的削除
    手段と、 タスクに対してアボート要求があったとき、該タスクの
    子タスク番号格納領域を参照して子タスクのタスク番号
    があるとき、該タスク番号の子タスクの並列タスク番号
    格納領域を参照して並列タスクである前記タスクの子タ
    スクのタスク番号を取得することにより、前記タスクの
    子タスクすべてのタスク番号を取得する子タスクサーチ
    手段と、 該子タスクサーチ手段により取得されたタスク番号の子
    タスクすべてをアボートするタスクアボート手段とを有
    するタスクの階層制御方式。
JP19549289A 1989-07-27 1989-07-27 タスクの階層制御方式 Pending JPH0358235A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19549289A JPH0358235A (ja) 1989-07-27 1989-07-27 タスクの階層制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19549289A JPH0358235A (ja) 1989-07-27 1989-07-27 タスクの階層制御方式

Publications (1)

Publication Number Publication Date
JPH0358235A true JPH0358235A (ja) 1991-03-13

Family

ID=16341989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19549289A Pending JPH0358235A (ja) 1989-07-27 1989-07-27 タスクの階層制御方式

Country Status (1)

Country Link
JP (1) JPH0358235A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05153609A (ja) * 1991-11-25 1993-06-18 Mitsubishi Electric Corp 肌色補正回路
JP2014526732A (ja) * 2011-09-12 2014-10-06 マイクロソフト コーポレーション サスペンド状態及び実行状態におけるプロセスの管理

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05153609A (ja) * 1991-11-25 1993-06-18 Mitsubishi Electric Corp 肌色補正回路
JP2014526732A (ja) * 2011-09-12 2014-10-06 マイクロソフト コーポレーション サスペンド状態及び実行状態におけるプロセスの管理

Similar Documents

Publication Publication Date Title
US5956704A (en) Method and apparatus for parallelizing operations that insert data into an existing data container
US4881166A (en) Method for consistent multidatabase transaction processing
JP3745800B2 (ja) 共有資源の排他制御方式
JP2591217B2 (ja) オブジェクトクラス定義情報実装装置
JP2596869B2 (ja) 概念辞書管理装置
US5832521A (en) Method and apparatus for performing consistent reads in multiple-server environments
JPH03138735A (ja) データベース管理装置及び方法
JP2018073406A (ja) 記憶空間を解放するための分散データ並列方法
JPH09244896A (ja) 永続性オブジェクトのオブジェクトベース構築方法、コンピュータ読み取り可能媒体、および情報操作システム
JPH0358235A (ja) タスクの階層制御方式
JP2933486B2 (ja) データベースの同時全件検索方法
JP2001527241A (ja) オブジェクト指向データ依存性に対応するデータベース内の記憶済み手続をロードするための方法及び装置
JPS5835656A (ja) セル管理制御方式
KR19990052562A (ko) 혼합 공유 모델을 이용한 분산 환경에서의 하드웨어설계 데이터 관리 방법 및 저장 장치의 구조
JP2006268126A (ja) データベースアクセスシステム及びデータベースオブジェクト生成プログラム
JP3420255B2 (ja) 分散資源管理制御装置
JP3050194B2 (ja) ホスト間共用メモリファイル動的追加システム、ホスト間共用メモリファイル動的追加方法、およびホスト間共用メモリファイル動的追加プログラムを記録した記録媒体
JP2740238B2 (ja) ファイル排他制御装置
JPH064273A (ja) データ処理装置
JP3018992B2 (ja) オブジェクト指向言語の実行処理方式
JPH0816369A (ja) クラスタリング方法及びシステム
JPH08153031A (ja) フアイル管理装置
JPH02193232A (ja) ファイル内空き領域検索方式
JPH04209042A (ja) ライフサイクル管理方式
JPS6382532A (ja) 論理アドレスから実アドレスへの変換方式