JPH0456341B2 - - Google Patents
Info
- Publication number
- JPH0456341B2 JPH0456341B2 JP59251756A JP25175684A JPH0456341B2 JP H0456341 B2 JPH0456341 B2 JP H0456341B2 JP 59251756 A JP59251756 A JP 59251756A JP 25175684 A JP25175684 A JP 25175684A JP H0456341 B2 JPH0456341 B2 JP H0456341B2
- Authority
- JP
- Japan
- Prior art keywords
- entry
- task
- queue
- que
- inter
- 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
Links
- 238000012545 processing Methods 0.000 claims description 11
- 238000000034 method Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Landscapes
- Retry When Errors Occur (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】
[発明の技術分野]
この発明は、オンラインタスク処理におけるタ
スク間キユー制御方式に関する。
スク間キユー制御方式に関する。
[発明の技術的背景]
一般にオンラインシステムを構築する場合、応
答性能の向上およびモジユール構成の確立のため
に、第4図に示すように、処理を機能毎に処理タ
スク(第4図の例では、タスクA,B,C)に分
解している。そして、各タスク間は、タスク間キ
ユー機構を介し、処理要求(タスク間待ち行列、
即ちタスク間キユー、以後タスク間QUEと称す
る)を受渡しして処理している。
答性能の向上およびモジユール構成の確立のため
に、第4図に示すように、処理を機能毎に処理タ
スク(第4図の例では、タスクA,B,C)に分
解している。そして、各タスク間は、タスク間キ
ユー機構を介し、処理要求(タスク間待ち行列、
即ちタスク間キユー、以後タスク間QUEと称す
る)を受渡しして処理している。
タスク間QUEは、第5図に示すように、CPU
11有する計算機本体12の主記憶装置13に確
保されたQUEエントリプール14の空きQUEエ
ントリに作成される。これをタスク間キユーエン
トリ(QUEエントリ)の生成と呼ぶ。第5図に
は、タスクAのQUEエントリ15〜17、およ
びタスクBのQUEエントリ18が生成されてい
る状態が示されている。QUEエントリ15〜1
8は、該当タスクに渡されたタスク間キユー情報
(以下QUE情報と称する)を有する。QUE情報
の取出しは、フアーストイン・フアーストアウト
の方式に基づき、入力順に行なわれる。
11有する計算機本体12の主記憶装置13に確
保されたQUEエントリプール14の空きQUEエ
ントリに作成される。これをタスク間キユーエン
トリ(QUEエントリ)の生成と呼ぶ。第5図に
は、タスクAのQUEエントリ15〜17、およ
びタスクBのQUEエントリ18が生成されてい
る状態が示されている。QUEエントリ15〜1
8は、該当タスクに渡されたタスク間キユー情報
(以下QUE情報と称する)を有する。QUE情報
の取出しは、フアーストイン・フアーストアウト
の方式に基づき、入力順に行なわれる。
そこで、フアーストイン・フアーストアウト方
式を実現するために、第5図に示すように、各タ
スク毎のQUEエントリを管理する待ち行列制御
テーブル20が、主記憶装置13に確保される。
待ち行列制御テーブル20には、各タスクに固有
の制御エントリが用意される。第5図には、タス
クA用の制御エントリ21およびタスクB用の制
御エントリ22が示されている。制御エントリ2
1,22には、該当タスクに属する全てのQUE
エントリのうちの先頭エントリの位置を示す先頭
エントリポインタと、最終エントリの位置を示す
最終エントリポインタとが設定される。しかし
て、先頭エントリポインタにより、該当タスクに
おいて次に取出すべきQUEエントリが、最終エ
ントリポインタにより、新たに生成されるQUE
エントリに連結(リンク)すべきQUEエントリ
が求められる。また、QUEエントリ15〜18
には、同エントリの次に処理されるQUEエント
リの位置を示す次エントリポインタが設定され
(但しQUEエントリ17,18はタスクA,Bの
最終QUEエントリのため、次エントリポインタ
として0が設定される)同一タスクに属する各
QUEエントリが入力順にリンクされる。
式を実現するために、第5図に示すように、各タ
スク毎のQUEエントリを管理する待ち行列制御
テーブル20が、主記憶装置13に確保される。
待ち行列制御テーブル20には、各タスクに固有
の制御エントリが用意される。第5図には、タス
クA用の制御エントリ21およびタスクB用の制
御エントリ22が示されている。制御エントリ2
1,22には、該当タスクに属する全てのQUE
エントリのうちの先頭エントリの位置を示す先頭
エントリポインタと、最終エントリの位置を示す
最終エントリポインタとが設定される。しかし
て、先頭エントリポインタにより、該当タスクに
おいて次に取出すべきQUEエントリが、最終エ
ントリポインタにより、新たに生成されるQUE
エントリに連結(リンク)すべきQUEエントリ
が求められる。また、QUEエントリ15〜18
には、同エントリの次に処理されるQUEエント
リの位置を示す次エントリポインタが設定され
(但しQUEエントリ17,18はタスクA,Bの
最終QUEエントリのため、次エントリポインタ
として0が設定される)同一タスクに属する各
QUEエントリが入力順にリンクされる。
したがつて、主記憶装置13に確保された、待
ち行列制御テーブル20およびQUEエントリプ
ール14の内容により、各QUE情報の取出と処
理、およびQUEエントリの生成・消滅が正しく
実行できる。しかし、システム障害があつた場合
には、待ち行列制御テーブル20およびQUEエ
ントリプール14の内容は、破壊または消滅する
恐れがある。そこで従来は、ポインタ情報の更新
を併うQUEエントリの生成・消滅時には、待ち
行列制御テーブル20およびQUEエントリプー
ル14の全体をチエツクポイントとして、磁気デ
イスク装置などの外部記憶装置23に用意された
チエツクポイントフアイル24に書込むようにし
ている。この方式によれば、たとえシステム障害
が発生しても、チエツクポイントフアイル24の
内容を用いることにより、待ち行列制御テーブル
20およびQUEエントリプール14を障害発生
前の状態に復元できる。
ち行列制御テーブル20およびQUEエントリプ
ール14の内容により、各QUE情報の取出と処
理、およびQUEエントリの生成・消滅が正しく
実行できる。しかし、システム障害があつた場合
には、待ち行列制御テーブル20およびQUEエ
ントリプール14の内容は、破壊または消滅する
恐れがある。そこで従来は、ポインタ情報の更新
を併うQUEエントリの生成・消滅時には、待ち
行列制御テーブル20およびQUEエントリプー
ル14の全体をチエツクポイントとして、磁気デ
イスク装置などの外部記憶装置23に用意された
チエツクポイントフアイル24に書込むようにし
ている。この方式によれば、たとえシステム障害
が発生しても、チエツクポイントフアイル24の
内容を用いることにより、待ち行列制御テーブル
20およびQUEエントリプール14を障害発生
前の状態に復元できる。
[背景技術の問題点]
しかし、上記したような、待ち行列制御テーブ
ルおよびQUEエントリプール全体をチエツクポ
イントとして書込む方式では、特にQUEエント
リプールが大型化する大規模システムの場合、チ
エツクポイント書込みに長時間を要し、応答性能
が低下する問題があつた。
ルおよびQUEエントリプール全体をチエツクポ
イントとして書込む方式では、特にQUEエント
リプールが大型化する大規模システムの場合、チ
エツクポイント書込みに長時間を要し、応答性能
が低下する問題があつた。
[発明の目的]
この発明は上記事情に鑑みてなされたのでその
目的は、システム障害発生に備えて行なわれるチ
エツクポイント書込みでの、書込みデータ量を減
少でき、もつてチエツクポイント書込み時間の短
縮が図れ、応答性能の一層の向上が図れるタスク
間キユー制御方式を提供することにある。
目的は、システム障害発生に備えて行なわれるチ
エツクポイント書込みでの、書込みデータ量を減
少でき、もつてチエツクポイント書込み時間の短
縮が図れ、応答性能の一層の向上が図れるタスク
間キユー制御方式を提供することにある。
[発明の概要]
この発明では、主記憶装置に用意されたQUE
(キユー)エントリプールに保持されるQUEエン
トリ(タスク間キユーエントリ)は、タスク間
QUE(キユー)情報および次エントリポインタは
勿論、同エントリが属するタスクを示すタスク
IDも有する。また、主記憶装置には、上記QUE
エントリプールのタスク毎の先頭キユーエントリ
ポインタおよび最終キユーエントリポインタが設
定される待ち行列制御テーブルが用意される。更
に、この発明では、チエツクポイントフアイルが
用意される。このチエツクポイントフアイルに
は、上記QUEエントリプールにおけるQUEエン
トリの生成に際し、該当QUEエントリが記憶さ
れる。また、QUEエントリプールにおけるQUE
エントリの消滅に際しては、チエツクポイントフ
アイルに記録されている該当QUEエントリは消
去される。
(キユー)エントリプールに保持されるQUEエン
トリ(タスク間キユーエントリ)は、タスク間
QUE(キユー)情報および次エントリポインタは
勿論、同エントリが属するタスクを示すタスク
IDも有する。また、主記憶装置には、上記QUE
エントリプールのタスク毎の先頭キユーエントリ
ポインタおよび最終キユーエントリポインタが設
定される待ち行列制御テーブルが用意される。更
に、この発明では、チエツクポイントフアイルが
用意される。このチエツクポイントフアイルに
は、上記QUEエントリプールにおけるQUEエン
トリの生成に際し、該当QUEエントリが記憶さ
れる。また、QUEエントリプールにおけるQUE
エントリの消滅に際しては、チエツクポイントフ
アイルに記録されている該当QUEエントリは消
去される。
この発明によれば、システム障害が発生した場
合には、上記チエツクポイントフアイルに記録さ
れた各QUEエントリを、そのリカバリ処理にお
いてQUEエントリプールに読込み、各QUEエン
トリ内の次エントリポインタを、共通のタスク
ID毎に設定して連結することにより、QUEエン
トリプールの内容を復元すると共に、上記復元さ
れたQUEエントリプールにおけるタスク毎の先
頭および最終QUEエントリの位置を待ち行列制
御テーブルに設定するとにより、同テーブルの内
容を復元する。
合には、上記チエツクポイントフアイルに記録さ
れた各QUEエントリを、そのリカバリ処理にお
いてQUEエントリプールに読込み、各QUEエン
トリ内の次エントリポインタを、共通のタスク
ID毎に設定して連結することにより、QUEエン
トリプールの内容を復元すると共に、上記復元さ
れたQUEエントリプールにおけるタスク毎の先
頭および最終QUEエントリの位置を待ち行列制
御テーブルに設定するとにより、同テーブルの内
容を復元する。
また、この発明では、QUEエントリプールの
内容を、QUEエントリの生成順通りに復元する
必要があるシステムのために、各QUEエントリ
に、該当タスク内での同エントリの生成順を示す
生成順情報を設定するようにしている。この場
合、チエツクポイントフアイルに記録された各
QUEエントリを、システム障害後にQUEエント
リプールに読込むと、各QUEエントリの次エン
トリポインタを、共通のタスクID毎に上記生成
順情報の示す生成順に設定して連結することによ
り、QUEエントリプールの内容をシステム障害
前のQUEエントリの生成順通り復元する。また、
このようにして復元されたQUEエントリプール
におけるタスク毎の先頭および最終QUEエント
リの位置を上記待ち行列制御テーブルに設定する
ことにより、同テーブルの内容を復元する。
内容を、QUEエントリの生成順通りに復元する
必要があるシステムのために、各QUEエントリ
に、該当タスク内での同エントリの生成順を示す
生成順情報を設定するようにしている。この場
合、チエツクポイントフアイルに記録された各
QUEエントリを、システム障害後にQUEエント
リプールに読込むと、各QUEエントリの次エン
トリポインタを、共通のタスクID毎に上記生成
順情報の示す生成順に設定して連結することによ
り、QUEエントリプールの内容をシステム障害
前のQUEエントリの生成順通り復元する。また、
このようにして復元されたQUEエントリプール
におけるタスク毎の先頭および最終QUEエント
リの位置を上記待ち行列制御テーブルに設定する
ことにより、同テーブルの内容を復元する。
[発明の実施例]
以下、第1図乃至第3図を参照してこの発明の
一実施例を説明する。
一実施例を説明する。
第1図において、CPU41および主記憶装置
42を有する計算機本体43と磁気デイスク装置
などの外部記憶装置44とが、チヤネル(図示せ
ず)、外部バス45等を介して接続されている。
主記憶装置42は、タスク毎のタスク間QUEエ
ントリを管理する待ち行列制御テーブル50、お
よびシステム全体のタスク間QUEエントリを保
持するQUEエントリプール60を有している。
待ち行列制御テーブル50には、タスクA,Bの
QUEエントリを示すための制御エントリ51,
52など、各タスクに固有の制御エントリが用意
されている。制御エントリ51,52は、該当タ
スク(A,B)への先頭QUEエントリの位置を
示す先頭エントリポインタと、該当タスクへの最
終QUEエントリの位置を示す最終エントリポイ
ンタと、該当タスクへのQUEエントリの生成数
を示す通番カウンタとを有している。
42を有する計算機本体43と磁気デイスク装置
などの外部記憶装置44とが、チヤネル(図示せ
ず)、外部バス45等を介して接続されている。
主記憶装置42は、タスク毎のタスク間QUEエ
ントリを管理する待ち行列制御テーブル50、お
よびシステム全体のタスク間QUEエントリを保
持するQUEエントリプール60を有している。
待ち行列制御テーブル50には、タスクA,Bの
QUEエントリを示すための制御エントリ51,
52など、各タスクに固有の制御エントリが用意
されている。制御エントリ51,52は、該当タ
スク(A,B)への先頭QUEエントリの位置を
示す先頭エントリポインタと、該当タスクへの最
終QUEエントリの位置を示す最終エントリポイ
ンタと、該当タスクへのQUEエントリの生成数
を示す通番カウンタとを有している。
QUEエントリプール60にはQUEエントリの
領域が確保されており、その空き領域に、必要に
応じてQUEエントリが生成される。第1図には、
タスクAへのQUEエントリ61〜63、および
タスクBへのQUEエントリ64が生成されてい
る状態が示されている。QUEエントリ61〜6
4は、当該エントリの次に処理されるべきQUE
エントリの位置を示す次エントリポインタおよび
該当タスクに渡されたQUE情報(タスク間QUE
情報)の周知の情報の他に、当該QUEエントリ
の宛先タスクを示すタスクIDと、該当するタス
ク内での当該QUEエントリの生成順(即ち処理
順)を示すタスク内一連番号(以下、単に一連番
号と称する)を有する。
領域が確保されており、その空き領域に、必要に
応じてQUEエントリが生成される。第1図には、
タスクAへのQUEエントリ61〜63、および
タスクBへのQUEエントリ64が生成されてい
る状態が示されている。QUEエントリ61〜6
4は、当該エントリの次に処理されるべきQUE
エントリの位置を示す次エントリポインタおよび
該当タスクに渡されたQUE情報(タスク間QUE
情報)の周知の情報の他に、当該QUEエントリ
の宛先タスクを示すタスクIDと、該当するタス
ク内での当該QUEエントリの生成順(即ち処理
順)を示すタスク内一連番号(以下、単に一連番
号と称する)を有する。
この例において、タスクAのQUEエントリは、
QUEエントリ61、QUEエントリ62、そして
QUEエントリ63の順に生成されている。この
ため、QUEエントリ61,62,63の一連番
号は、それぞれ1,2,3に設定されている。ま
た、QUEエントリ61の次エントリポインタは
QUEエントリ62の位置を指し、QUEエントリ
62の次エントリポインタはQUEエントリ63
の位置を指すように設定されている。このQUE
エントリ63は、その時点におけるタスクAの最
終QUEエントリであるので、次エントリポイン
タは0に設定されている。一方、QUEエントリ
64は、タスクBへの最初のQUEエントリであ
り、且つその時点における最終QUEエントリで
もある。したがつて、QUEエントリ64の次エ
ントリポインタは0に設定され、一連番号は1に
設定されている。
QUEエントリ61、QUEエントリ62、そして
QUEエントリ63の順に生成されている。この
ため、QUEエントリ61,62,63の一連番
号は、それぞれ1,2,3に設定されている。ま
た、QUEエントリ61の次エントリポインタは
QUEエントリ62の位置を指し、QUEエントリ
62の次エントリポインタはQUEエントリ63
の位置を指すように設定されている。このQUE
エントリ63は、その時点におけるタスクAの最
終QUEエントリであるので、次エントリポイン
タは0に設定されている。一方、QUEエントリ
64は、タスクBへの最初のQUEエントリであ
り、且つその時点における最終QUEエントリで
もある。したがつて、QUEエントリ64の次エ
ントリポインタは0に設定され、一連番号は1に
設定されている。
外部記憶装置44は、チエツクポイントフアイ
ル46を有している。チエツクポイントフアイル
46には、QUEエントリプール60内の各QUE
エントリ領域に対応するエントリ領域が確保され
ている。そして、QUEエントリプール60内の
QUEエントリが生成される毎に、そのQUEエン
トリが、チエツクポイントフアイル46内の対応
するエントリ領域に書込まれる。また、チエツク
ポイントフアイル46に書込まれたQUEエント
リは、QUEエントリプール60における該当
QUEエントリの消滅に応じて消去(例えば0ク
リア)される。したがつて、QUEエントリプー
ル60にQUEエントリ61〜64が生成さてい
るこの例では、チエツクポイントフアイル46に
は、第1図に示すように、QUEエントリ61〜
64がQUEエントリ71〜74として書込まれ
ている。QUEエントリの書込みは、上記したよ
うに当該エントリの生成時であるため、QUEエ
ントリ71〜74の次エントリポインタは、いず
れも0に設定されている。
ル46を有している。チエツクポイントフアイル
46には、QUEエントリプール60内の各QUE
エントリ領域に対応するエントリ領域が確保され
ている。そして、QUEエントリプール60内の
QUEエントリが生成される毎に、そのQUEエン
トリが、チエツクポイントフアイル46内の対応
するエントリ領域に書込まれる。また、チエツク
ポイントフアイル46に書込まれたQUEエント
リは、QUEエントリプール60における該当
QUEエントリの消滅に応じて消去(例えば0ク
リア)される。したがつて、QUEエントリプー
ル60にQUEエントリ61〜64が生成さてい
るこの例では、チエツクポイントフアイル46に
は、第1図に示すように、QUEエントリ61〜
64がQUEエントリ71〜74として書込まれ
ている。QUEエントリの書込みは、上記したよ
うに当該エントリの生成時であるため、QUEエ
ントリ71〜74の次エントリポインタは、いず
れも0に設定されている。
次に、この発明の一実施例の動作を、タスクA
が先頭QUEエントリ61内のQUE情報を取出し
て処理し、しかる後タスクBへのQUEエントリ
を生成する場合を例にとつて説明する。QUEエ
ントリ61のQUE情報の処理が終了すると、
CPU41は当該QUEエントリ61を消滅するた
めに、待ち行列制御テーブル50に用意されいる
タスクA用の制御エントリ51の先頭エントリポ
インタを、QUEエントリ61内の次エントリポ
インタの内容を更新する。これにより、制御エン
トリ51の先頭エントリポインタは、第2図に示
すように、QUEエントリ61の次に処理される
べきQUEエントリ62の位置を指すようになる。
が先頭QUEエントリ61内のQUE情報を取出し
て処理し、しかる後タスクBへのQUEエントリ
を生成する場合を例にとつて説明する。QUEエ
ントリ61のQUE情報の処理が終了すると、
CPU41は当該QUEエントリ61を消滅するた
めに、待ち行列制御テーブル50に用意されいる
タスクA用の制御エントリ51の先頭エントリポ
インタを、QUEエントリ61内の次エントリポ
インタの内容を更新する。これにより、制御エン
トリ51の先頭エントリポインタは、第2図に示
すように、QUEエントリ61の次に処理される
べきQUEエントリ62の位置を指すようになる。
次にCPU41は、タスクBへのQUEエントリ
を、タスクAが処理中であつたQUEエントリ6
1にオーバーレイして作成する。即ちCPU41
は、QUEエントリ61にタスクBへのQUE情報
(タスク間QUE情報)を保存し、続いて次エント
リポインタを0に設定する。また、CPU41は、
待ち行列制御テーブル50に用意されているタス
クB用の制御エントリ52の最終エントリポイン
タを、上記オーバーレイにより生成されたQUE
エントリの位置を指すように更新し、且つ通番カ
ウンタを+1して2とする。また、CPU41は、
制御エントリ52の最終エントリポインタがそれ
まで指していたQUEエントリ64の次エントリ
ポインタに、上記生成されたQUEエントリの位
置を設定する。これにより、上記生成された
QUEエントリが、同エントリ生成前に最終QUE
エントリで(あり且つ先頭QUEエントリでも)
あつたQUEエントリ64に連結される。更に
CPU41は、上記生成されたQUEエントリのタ
スクIDがタスクBを示すように更新し、且つ一
連番号を上記計数後の通番カウンタの値(2)に
設定する。このようにして、タスクAへのQUE
エントリ61の領域に、第2図に示すように、タ
スクBへのQUEエントリ65が生成される。即
ち、QUEエントリ61の消滅と共に、QUEエン
トリ65が生成される。
を、タスクAが処理中であつたQUEエントリ6
1にオーバーレイして作成する。即ちCPU41
は、QUEエントリ61にタスクBへのQUE情報
(タスク間QUE情報)を保存し、続いて次エント
リポインタを0に設定する。また、CPU41は、
待ち行列制御テーブル50に用意されているタス
クB用の制御エントリ52の最終エントリポイン
タを、上記オーバーレイにより生成されたQUE
エントリの位置を指すように更新し、且つ通番カ
ウンタを+1して2とする。また、CPU41は、
制御エントリ52の最終エントリポインタがそれ
まで指していたQUEエントリ64の次エントリ
ポインタに、上記生成されたQUEエントリの位
置を設定する。これにより、上記生成された
QUEエントリが、同エントリ生成前に最終QUE
エントリで(あり且つ先頭QUEエントリでも)
あつたQUEエントリ64に連結される。更に
CPU41は、上記生成されたQUEエントリのタ
スクIDがタスクBを示すように更新し、且つ一
連番号を上記計数後の通番カウンタの値(2)に
設定する。このようにして、タスクAへのQUE
エントリ61の領域に、第2図に示すように、タ
スクBへのQUEエントリ65が生成される。即
ち、QUEエントリ61の消滅と共に、QUEエン
トリ65が生成される。
CPU41は、タスクBへのQUEエントリ65
を生成すると、QUEエントリプール60内の同
エントリ65の領域に対応する、(外部記憶装置
44上の)チエツクポイントフアイル46内領域
にQUEエントリ65の内容を書込む。即ちCPU
41は、QUEエントリ61に対応するQUEエン
トリ71の領域に、QUEエントリ65の内容を
第2図に示すようにQUEエントリ75としてオ
ーバーレイする。即ち、QUEエントリ61に対
応するQUEエントリ71の消去とQUEエントリ
65に対応するQUEエントリ75の記録とが同
時に行なわれる。なお、消滅すべきQUEエント
リの領域とは別の領域にQUEエントリを生成す
る場合には、QUEエントリの消滅時においてチ
エツクポイントフアイル46の対応する領域の内
容を消去する必要がある。
を生成すると、QUEエントリプール60内の同
エントリ65の領域に対応する、(外部記憶装置
44上の)チエツクポイントフアイル46内領域
にQUEエントリ65の内容を書込む。即ちCPU
41は、QUEエントリ61に対応するQUEエン
トリ71の領域に、QUEエントリ65の内容を
第2図に示すようにQUEエントリ75としてオ
ーバーレイする。即ち、QUEエントリ61に対
応するQUEエントリ71の消去とQUEエントリ
65に対応するQUEエントリ75の記録とが同
時に行なわれる。なお、消滅すべきQUEエント
リの領域とは別の領域にQUEエントリを生成す
る場合には、QUEエントリの消滅時においてチ
エツクポイントフアイル46の対応する領域の内
容を消去する必要がある。
さて、第2図に示す状態において、システム障
害が発生したものとする。この場合、主記憶装置
42内の待ち行列制御テーブル50およびQUE
エントリプール60の内容は破壊または消滅して
いる恐れがある。このため、システム障害後のリ
カバリ処理において、待ち行列制御テーブル50
およびQUEエントリプール60の内容をシステ
ム障害発出直前の状態に復元する必要がある。そ
こで、まずCPU41は、外部記憶装置44内の
チエツクポイントフアイル46の内容を、QUE
エントリプール60に読込む。この結果、チエツ
クポイントフアイル46内のQUEエントリ72
〜75の内容が、第3図に示すように、QUEエ
ントリ82〜85としてQUEエントリプール6
0に書込まれる。
害が発生したものとする。この場合、主記憶装置
42内の待ち行列制御テーブル50およびQUE
エントリプール60の内容は破壊または消滅して
いる恐れがある。このため、システム障害後のリ
カバリ処理において、待ち行列制御テーブル50
およびQUEエントリプール60の内容をシステ
ム障害発出直前の状態に復元する必要がある。そ
こで、まずCPU41は、外部記憶装置44内の
チエツクポイントフアイル46の内容を、QUE
エントリプール60に読込む。この結果、チエツ
クポイントフアイル46内のQUEエントリ72
〜75の内容が、第3図に示すように、QUEエ
ントリ82〜85としてQUEエントリプール6
0に書込まれる。
次にCPU41は、QUEエントリプール60内
の全QUEエントリを調べ、タスクID毎に一連番
号の昇順に次エントリポインタを設定して連結す
る。例えば、タスクAへのQUEエントリは、
QUEエントリ82,83の2つであり、その一
連番号は、2,3である。したがつてCPU41
は、QUEエントリ82の次エントリポインタに、
QUEエントリ83の位置を設定し、QUEエント
リ83の次エントリポインタに0を設定する。こ
れにより、QUEエントリ82,83は、第2図
のQUEエントリ62,63として復元する。
の全QUEエントリを調べ、タスクID毎に一連番
号の昇順に次エントリポインタを設定して連結す
る。例えば、タスクAへのQUEエントリは、
QUEエントリ82,83の2つであり、その一
連番号は、2,3である。したがつてCPU41
は、QUEエントリ82の次エントリポインタに、
QUEエントリ83の位置を設定し、QUEエント
リ83の次エントリポインタに0を設定する。こ
れにより、QUEエントリ82,83は、第2図
のQUEエントリ62,63として復元する。
続いてCPU41は、待ち行列制御テーブル5
0内の制御エントリ51の先頭エントリポインタ
に、QUEエントリプール60に復元されたQUE
エントリ62(タスクAへの先頭QUEエントリ)
の位置を設定し、同じく最終エントリポインタ
QUEエントリ63(タスクAへの先頭QUEエン
トリ)の位置を設定する。そしてCPU41は、
最終QUEエントリであるQUEエントリ63の一
連番号(3)を制御エントリ51の通番カウンタ
に設定する。これにより、制御エントリ51の内
容が復元される。以上の処理が、QUEエントリ
プール60内の全有効タスク分実施されることに
より、待ち行列制御テーブル50およびQUEエ
ントリプール60の内容が復元される。
0内の制御エントリ51の先頭エントリポインタ
に、QUEエントリプール60に復元されたQUE
エントリ62(タスクAへの先頭QUEエントリ)
の位置を設定し、同じく最終エントリポインタ
QUEエントリ63(タスクAへの先頭QUEエン
トリ)の位置を設定する。そしてCPU41は、
最終QUEエントリであるQUEエントリ63の一
連番号(3)を制御エントリ51の通番カウンタ
に設定する。これにより、制御エントリ51の内
容が復元される。以上の処理が、QUEエントリ
プール60内の全有効タスク分実施されることに
より、待ち行列制御テーブル50およびQUEエ
ントリプール60の内容が復元される。
なお、前記実施例では、制御エントリ内に通番
カウンタが用意されている場合について説明した
が、これに限るものでない。例えば、QUEエン
トリの生成に際し、その時点における最終QUE
エントリの一連番号(タスク内一連番号)に1を
加えた値を、生成QUEエントリの一連番号とす
ることにより、制御エントリ内の通番カウンタを
不要とすることができる。また、前記実施例で
は、(タスク毎の)QUEエントリの生成順を示す
情報として一連番号(タスク内一連番号)を適用
した場合について説明したが、例えばシステムク
ロツク等による時間情報を用いることも可能であ
る。要は、待ち行列制御テーブルおよびQUEエ
ントリプールを復元する際に、(タスク毎の)
QUEエントリを生成順に連結できる情報であれ
ばよい。
カウンタが用意されている場合について説明した
が、これに限るものでない。例えば、QUEエン
トリの生成に際し、その時点における最終QUE
エントリの一連番号(タスク内一連番号)に1を
加えた値を、生成QUEエントリの一連番号とす
ることにより、制御エントリ内の通番カウンタを
不要とすることができる。また、前記実施例で
は、(タスク毎の)QUEエントリの生成順を示す
情報として一連番号(タスク内一連番号)を適用
した場合について説明したが、例えばシステムク
ロツク等による時間情報を用いることも可能であ
る。要は、待ち行列制御テーブルおよびQUEエ
ントリプールを復元する際に、(タスク毎の)
QUEエントリを生成順に連結できる情報であれ
ばよい。
更に、前記実施例では、QUEエントリの生成
順も完全に復元する場合について説明したが、生
成順通りに復元する必要がないシステムでは、宛
先タスクが識別できればよく、(通番カウンタは
勿論)一連番号は不要である。
順も完全に復元する場合について説明したが、生
成順通りに復元する必要がないシステムでは、宛
先タスクが識別できればよく、(通番カウンタは
勿論)一連番号は不要である。
[発明の効果]
以上詳述したようにこの発明によれば、QUE
エントリの生成・消滅時において、チエツクポイ
ントフアイルに対して該当QUEエントリだけの
記録・消去を行なうだけで、システム障害の発生
に対処できる。このため、待ち行列制御テーブル
およびQUEエントリプール全体をチエツクポイ
ント書込みの対象とする従来方式に比べ、チエツ
クポイント書込み時間の短縮が図れ、応答性能の
一層の向上が図れる。
エントリの生成・消滅時において、チエツクポイ
ントフアイルに対して該当QUEエントリだけの
記録・消去を行なうだけで、システム障害の発生
に対処できる。このため、待ち行列制御テーブル
およびQUEエントリプール全体をチエツクポイ
ント書込みの対象とする従来方式に比べ、チエツ
クポイント書込み時間の短縮が図れ、応答性能の
一層の向上が図れる。
第1図はこの発明の一実施例におけるQUEエ
ントリ生成前の待ち行列制御テーブルとQUEエ
ントリプールとチエツクポイントフアイルとの相
関図、第2図は第1図におけるQUEエントリ生
成後の状態を示す図、第3図は第2図におけるシ
ステム障害発生後にチエツクポイントフアイルの
内容をQUEエントリに読込んだ状態を示す図、
第4図はタスクとタスク間キユー(QUE)との
関係を説明する図、第5図は従来技術における
QUEエントリ生成前の待ち行列制御テーブルと
QUEエントリプールとチエツクポイントフアイ
ルとの相関図である。 41…CPU、42…主記憶装置、46…チエ
ツクポイントフアイル、50…待ち行列制御テー
ブル、51…制御エントリ、60…QUE(キユ
ー)エントリプール、61〜65,71〜75,
82〜85…QUEエントリ(タスク間キユーエ
ントリ)。
ントリ生成前の待ち行列制御テーブルとQUEエ
ントリプールとチエツクポイントフアイルとの相
関図、第2図は第1図におけるQUEエントリ生
成後の状態を示す図、第3図は第2図におけるシ
ステム障害発生後にチエツクポイントフアイルの
内容をQUEエントリに読込んだ状態を示す図、
第4図はタスクとタスク間キユー(QUE)との
関係を説明する図、第5図は従来技術における
QUEエントリ生成前の待ち行列制御テーブルと
QUEエントリプールとチエツクポイントフアイ
ルとの相関図である。 41…CPU、42…主記憶装置、46…チエ
ツクポイントフアイル、50…待ち行列制御テー
ブル、51…制御エントリ、60…QUE(キユ
ー)エントリプール、61〜65,71〜75,
82〜85…QUEエントリ(タスク間キユーエ
ントリ)。
Claims (1)
- 【特許請求の範囲】 1 各タスクがタスク間キユー情報を受渡しして
処理を行なうシステムにおいて、上記タスク間キ
ユー情報を有するタスク間キユーエントリであつ
て、同エントリが属するタスクを示すタスクID、
および同エントリの次に処理されるタスク間キユ
ーエントリの位置を示す次エントリポインタを更
に有するタスク間キユーエントリを保持する、主
記憶装置上に形成されたキユーエントリプール
と、上記キユーエントリプールのタスク毎の先頭
キユーエントリポインタおよび最終キユーエント
リポインタを有し、上記主記憶装置上に形成され
た待ち行列制御テーブルと、上記タスク間キユー
エントリの生成・消滅に際し、該当タスク間キユ
ーエントリが記録・消去されるチエツクポイント
フアイルとを備え、上記チエツクポイントフアイ
ルに記録された上記各タスク間キユーエントリ
を、システム障害後に上記キユーエントリプール
に読込み、上記各タスク間キユーエントリの次エ
ントリポインタを、共通のタスクID毎に設定し
て連結することにより、上記キユーエントリプー
ルの内容を復元すると共に、上記復元されたキユ
ーエントリプールにおけるタスク毎の先頭および
最終キユーエントリの位置を上記待ち行列制御テ
ーブルに設定することにより、同テーブルの内容
を復元することを特徴とするタスク間キユー制御
方式。 2 各タスクがタスク間キユー情報を受渡しして
処理を行なうシステムにおいて、上記タスク間キ
ユー情報を有するタスク間キユーエントリであつ
て、同エントリが属するタスクを示すタスクID、
該当タスク内での同エントリの生成順を示す生成
順情報、および同エントリの次に処理されるタス
ク間キユーエントリの位置を示す次エントリポイ
ンタを更に有するタスク間キユーエントリを保持
する、主記憶装置上に形成されたキユーエントリ
プールと、上記キユーエントリプールのタスク毎
の先頭キユーエントリポインタおよび最終キユー
エントリポインタを有し、上記主記憶装置上に形
成された待ち行列制御テーブルと、上記タスク間
キユーエントリの生成・消滅に際し、該当タスク
間キユーエントリが記録・消去されるチエツクポ
イントフアイルとを備え、上記チエツクポイント
フアイルに記録された上記各タスク間キユーエン
トリを、システム障害後に上記キユーエントリプ
ールに読込み、上記各タスク間キユーエントリの
次エントリポインタを、共通のタスクID毎に上
記生成順情報の示す生成順に設定して連結するこ
とにより、上記キユーエントリプールの内容を復
元すると共に、上記復元されたキユーエントリプ
ールにおけるタスク毎の先頭および最終キユーエ
ントリの位置を上記待ち行列制御テーブルに設定
することにより、同テーブルの内容を復元するこ
とを特徴とするタスク間キユー制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59251756A JPS61131043A (ja) | 1984-11-30 | 1984-11-30 | タスク間キユ−制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59251756A JPS61131043A (ja) | 1984-11-30 | 1984-11-30 | タスク間キユ−制御方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61131043A JPS61131043A (ja) | 1986-06-18 |
| JPH0456341B2 true JPH0456341B2 (ja) | 1992-09-08 |
Family
ID=17227453
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59251756A Granted JPS61131043A (ja) | 1984-11-30 | 1984-11-30 | タスク間キユ−制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61131043A (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4924466A (en) * | 1988-06-30 | 1990-05-08 | International Business Machines Corp. | Direct hardware error identification method and apparatus for error recovery in pipelined processing areas of a computer system |
| US6081906A (en) * | 1997-11-21 | 2000-06-27 | Fuji Xerox Co., Ltd. | Multi-thread processing with queuing and recovery |
| US6886048B2 (en) * | 2001-11-15 | 2005-04-26 | Hewlett-Packard Development Company, L.P. | Techniques for processing out-of-order requests in a processor-based system |
-
1984
- 1984-11-30 JP JP59251756A patent/JPS61131043A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61131043A (ja) | 1986-06-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0423144A (ja) | データ管理システムおよびデータ管理方法 | |
| JPH0113571B2 (ja) | ||
| JPH06250906A (ja) | 主記憶装置に展開されたデータのバックアップ・リカバリ方式 | |
| JPH0456341B2 (ja) | ||
| JP3135714B2 (ja) | チェックポイントリスタート方式 | |
| JPH033046A (ja) | ログ記録管理方式 | |
| Srinivasan et al. | Recoverable file system for microprocessor systems | |
| JPH0895835A (ja) | ファイルスペースの予約方法 | |
| JPS6159538A (ja) | タスク間待ち行列制御方式 | |
| JPH0594356A (ja) | メモリ上テーブルデータ障害時復旧方式 | |
| JP2590282B2 (ja) | システム実行履歴収集処理方式 | |
| JP2822869B2 (ja) | ライブラリファイル管理装置 | |
| JPH04315232A (ja) | ディスク装置及びそのファイル管理方法 | |
| JP2938088B2 (ja) | 共有ファイルの障害回復方式 | |
| JP3027782B2 (ja) | データベース回復方式 | |
| JPS63138442A (ja) | 削除フアイル復元処理方式 | |
| JP2509972B2 (ja) | 環境設定方式 | |
| JPH0259837A (ja) | データリカバリ処理方式 | |
| JPH04165543A (ja) | 電子フアイリング装置 | |
| JP2776608B2 (ja) | 補助記憶装置のリフォーマット処理方式 | |
| JPH04372026A (ja) | データセットの世代管理方式 | |
| JPS6244293B2 (ja) | ||
| JPH05250243A (ja) | 拡張記憶装置のデータ処理方式 | |
| JPS60142446A (ja) | バツクワ−ド障害復元処理方式 | |
| JPH0795299B2 (ja) | データベースの更新処理方法 |