JPS61131043A - タスク間キユ−制御方式 - Google Patents
タスク間キユ−制御方式Info
- Publication number
- JPS61131043A JPS61131043A JP59251756A JP25175684A JPS61131043A JP S61131043 A JPS61131043 A JP S61131043A JP 59251756 A JP59251756 A JP 59251756A JP 25175684 A JP25175684 A JP 25175684A JP S61131043 A JPS61131043 A JP S61131043A
- 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.)
- Granted
Links
Landscapes
- Retry When Errors Occur (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の技術分野]
この発明は、オンラインタスク処理におけるタスク間キ
ュー制御方式に関する。
ュー制御方式に関する。
[発明の技術的背景]
一般にオンラインシステムを構築する場合、応答性能の
向上およびモジュール構成の確立のために、第4図に示
すように、処理を機能毎に処理タスク(第4図の例では
、タスクA、B、C)に分7 解している。そして、各
タスク間は、タスク間キュー機構を介し、処理要求(タ
スク間待ち行列、即ちタスク間キュー、以後タスク間Q
LJEと称する)を受渡しして処理している。
向上およびモジュール構成の確立のために、第4図に示
すように、処理を機能毎に処理タスク(第4図の例では
、タスクA、B、C)に分7 解している。そして、各
タスク間は、タスク間キュー機構を介し、処理要求(タ
スク間待ち行列、即ちタスク間キュー、以後タスク間Q
LJEと称する)を受渡しして処理している。
タスク間QUEは、第5図に示すように、CPU1lを
有する計算櫟本体12の主記憶装置13に確保されたQ
UEエントリプール14の空きQUEエントリに作成さ
れる。これをタスク間キューエントリ(QUEエントリ
)の生成と呼ぶ。第5図には、ト タスクAのQUEエントリー5〜17、およびタスクB
のQtJEエントリー8が生成されている状態が示され
ている。QUEエントリー5〜18は、該当タスクに渡
されたタスク間キュー情報(以下QUE情報と称する)
を有する。QUE情報の取出しは、ファーストイン・フ
ァーストアウトの方式に基づき、入力順に行なわれる。
有する計算櫟本体12の主記憶装置13に確保されたQ
UEエントリプール14の空きQUEエントリに作成さ
れる。これをタスク間キューエントリ(QUEエントリ
)の生成と呼ぶ。第5図には、ト タスクAのQUEエントリー5〜17、およびタスクB
のQtJEエントリー8が生成されている状態が示され
ている。QUEエントリー5〜18は、該当タスクに渡
されたタスク間キュー情報(以下QUE情報と称する)
を有する。QUE情報の取出しは、ファーストイン・フ
ァーストアウトの方式に基づき、入力順に行なわれる。
そこで、ファーストイン・ファーストアウト方式を実現
するために、第5図に示すように、各タスク毎のQUE
エントリを管理する待ち行列制御テーブル20が、主記
憶装置13に確保される。待ち行列制御テーブル20に
は、各タスクに固有の制御エントリが用意される。第5
図には、タスクA用の制御エントリ21およびタスクB
用の制御エントリ22が示されている。制御エントリ2
1.22には、該当タスクに属する全てのQLJEエン
トリのうちの先頭エントリの位置を示す先頭エントリポ
インタと、RRエントリの位置を示す最終エントリポイ
ンタとが設定される。しかして、先頭エントリポインタ
により、該当タスクにおいて次に取出すべきQIJEエ
ントリが、最終エントリポインタにより、新たに生成さ
れるQLIEエントリに連結(リンク)すべきQUEエ
ントリが求められる。
するために、第5図に示すように、各タスク毎のQUE
エントリを管理する待ち行列制御テーブル20が、主記
憶装置13に確保される。待ち行列制御テーブル20に
は、各タスクに固有の制御エントリが用意される。第5
図には、タスクA用の制御エントリ21およびタスクB
用の制御エントリ22が示されている。制御エントリ2
1.22には、該当タスクに属する全てのQLJEエン
トリのうちの先頭エントリの位置を示す先頭エントリポ
インタと、RRエントリの位置を示す最終エントリポイ
ンタとが設定される。しかして、先頭エントリポインタ
により、該当タスクにおいて次に取出すべきQIJEエ
ントリが、最終エントリポインタにより、新たに生成さ
れるQLIEエントリに連結(リンク)すべきQUEエ
ントリが求められる。
また、QUEエントリ15〜18には、同エントリの次
に処理されるQUEエントリの位置を示す次エントリポ
インタが設定され(但しQUEエントリ17、18はタ
スクA、Bの最終QLIEエントリのため、次エントリ
ポインタとして0が設定される)同一タスクに属する各
QuEエントリが入力順にリンクされる。
に処理されるQUEエントリの位置を示す次エントリポ
インタが設定され(但しQUEエントリ17、18はタ
スクA、Bの最終QLIEエントリのため、次エントリ
ポインタとして0が設定される)同一タスクに属する各
QuEエントリが入力順にリンクされる。
したがって、主記憶装置13に確保された、待ち行列制
御テーブル20およびQUEエントリプール14の内容
により、各QUE情報の取出と処理、およびQtJEエ
ントリの生成・消滅が正しく実行できる。しかし、シス
テム障害があった場合には、待ち行列制御テーブル20
およびQUEエントリプール14の内容は、破壊または
消滅する恐れがある。
御テーブル20およびQUEエントリプール14の内容
により、各QUE情報の取出と処理、およびQtJEエ
ントリの生成・消滅が正しく実行できる。しかし、シス
テム障害があった場合には、待ち行列制御テーブル20
およびQUEエントリプール14の内容は、破壊または
消滅する恐れがある。
そこで従来は、ポインタ情報の更新を伴うQLJEエン
トリの生成・消滅時には、持ち行列制御テーブル20お
よびQtJEエントリプール14の全体をチェックポイ
ントとして、磁気ディスク装置などの外部記憶装置23
に用意されたチェックポイントファイル24に書込むよ
うにしている。この方式によれば、たとえシステム障害
が発生しても、チェックポイントファイル24の内容を
用いることにより、待ち行列制御テーブル20およびQ
UEエントリブ−ル14を障害発生前の状態に復元でき
る。
トリの生成・消滅時には、持ち行列制御テーブル20お
よびQtJEエントリプール14の全体をチェックポイ
ントとして、磁気ディスク装置などの外部記憶装置23
に用意されたチェックポイントファイル24に書込むよ
うにしている。この方式によれば、たとえシステム障害
が発生しても、チェックポイントファイル24の内容を
用いることにより、待ち行列制御テーブル20およびQ
UEエントリブ−ル14を障害発生前の状態に復元でき
る。
[背景技術の問題点]
しかし、上記したような、待ち行列11i11 I21
1テーブルおよびQUEエントリブール全体をチェック
ポイントとして書込む方式では、特にQUEエントリブ
ールが大型化する大規模システムの場合、チェックポイ
ント書込みに長時間を要し、応答性能が低下する問題が
あった。
1テーブルおよびQUEエントリブール全体をチェック
ポイントとして書込む方式では、特にQUEエントリブ
ールが大型化する大規模システムの場合、チェックポイ
ント書込みに長時間を要し、応答性能が低下する問題が
あった。
[発明の目的コ
この発明は上記事情に鑑みてなされたものでその目的は
、システム障害発生に備えて行なわれるチェックポイン
ト書込みでの、書込みデータロを減少でき、もってチェ
ックポイント書込み時間の短縮が図れ、応答性能の一層
の向上が図れるタスク間キュー制御方式を提供すること
にある。
、システム障害発生に備えて行なわれるチェックポイン
ト書込みでの、書込みデータロを減少でき、もってチェ
ックポイント書込み時間の短縮が図れ、応答性能の一層
の向上が図れるタスク間キュー制御方式を提供すること
にある。
[発明の概要コ
この発明では、主記憶装置に用意されたQUE(キュー
)エントリブールに保持されるQUEエントリ(タスク
間キューエントリ)は、タスク間QUE(キュー)情報
および次エントリポインタは勿論、同エントリが属する
タスクを示すタスクIDも有する。また、主記憶装置に
は、上記QUEエントリプールのタスク毎の先頭キュー
エントリポインタおよび最終キューエントリポインタが
設定される待ち行列刈面テーブルが用意される。
)エントリブールに保持されるQUEエントリ(タスク
間キューエントリ)は、タスク間QUE(キュー)情報
および次エントリポインタは勿論、同エントリが属する
タスクを示すタスクIDも有する。また、主記憶装置に
は、上記QUEエントリプールのタスク毎の先頭キュー
エントリポインタおよび最終キューエントリポインタが
設定される待ち行列刈面テーブルが用意される。
更に、この発明では、チェックポイントファイルが用意
される。このチェックポイントファイルには、上記QU
EエントリブールにおけるQIJEエントリの生成に際
し、該当QUEエントリが記録される。また、QtJE
エントリブールにおけるQUEエントリの消滅に際して
は、チェックボイントフフイルに記録されている該当Q
UEエントリは消去される。
される。このチェックポイントファイルには、上記QU
EエントリブールにおけるQIJEエントリの生成に際
し、該当QUEエントリが記録される。また、QtJE
エントリブールにおけるQUEエントリの消滅に際して
は、チェックボイントフフイルに記録されている該当Q
UEエントリは消去される。
この発明によれば、システム障害が発生した場合には、
上記チェックポイントファイルに記録された各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を有している。
する計算機本体43と磁気ディスク装置などの外部記憶
装置44とが、チャネル(図示せず)、外部バス45等
を介して接続されている。主記憶装置42は、タスク毎
のタスク間QUEエントリを管理する待ち行列制郊テー
ブル50、およびシステム全体のタスク間QUEエント
リを保持するQUEエントリプール60を有している。
侍ら行列制御テーブル50には、タスクA、BのQUE
エントリを示すための制御エントリ51.52など、各
タスクに固有の制御エントリが用意されている。制御エ
ントリ51.52は、該当タスク(A、B)への先頭Q
UEエントリの位置を示す先頭エントリポインタと、該
当タスクへの最終QUEエントリの位置を示すR終エン
トリポインタと、該当タスクへのQUEエントリの生成
数を示す通番カウンタとを有している。
エントリを示すための制御エントリ51.52など、各
タスクに固有の制御エントリが用意されている。制御エ
ントリ51.52は、該当タスク(A、B)への先頭Q
UEエントリの位置を示す先頭エントリポインタと、該
当タスクへの最終QUEエントリの位置を示すR終エン
トリポインタと、該当タスクへのQUEエントリの生成
数を示す通番カウンタとを有している。
QtJEエントリブール60にはQtJEエントリの領
域が確保されており、その空き領域に、必要に応じてQ
UEエントリが生成される。第1図には、タスクAへの
QUEエントリ61〜63、およびタスクBへのQUE
エントリ64が生成されている状態が示されている。Q
UEエントリ61〜64は、当該エントリの次に処理さ
れるべきQUEエントリの位置を示す次エントリポイン
タおよび該当タスクに渡されたQUE情報(タスク間Q
UE情報)の周知の情報の他に、当該QUEエントリの
宛先タスクを示すタスクIDと、該当するタスク内での
当該QUEエントリの生成順(即ち処理順)を示すタス
ク内一連番号(以下、単に一連番号と称する)を有する
。
域が確保されており、その空き領域に、必要に応じてQ
UEエントリが生成される。第1図には、タスクAへの
QUEエントリ61〜63、およびタスクBへのQUE
エントリ64が生成されている状態が示されている。Q
UEエントリ61〜64は、当該エントリの次に処理さ
れるべきQUEエントリの位置を示す次エントリポイン
タおよび該当タスクに渡されたQUE情報(タスク間Q
UE情報)の周知の情報の他に、当該QUEエントリの
宛先タスクを示すタスクIDと、該当するタスク内での
当該QUEエントリの生成順(即ち処理順)を示すタス
ク内一連番号(以下、単に一連番号と称する)を有する
。
この例において、タスクAのQUEエントリは、QUE
エントリ61、QUEエントリ62、モしてQUEエン
トリ63の順に生成されている。このため、QUEエン
トリ61.62.63の一連番号は、それぞれ1.2.
3に設定されている。また、QUEエントリ61の次エ
ントリポインタはQUEエントリ62の位置を指し□、
QIJEエントリ62の次エントリポインタはQIJE
エントリ63の位置を指すように設定されている。この
QIJEエントリ63は、その時点におけるタスクAの
最終QUEエントリであるので、次エントリポインタは
0に設定されている。一方、QUEエントリ64は、タ
スクBへの最初のQUEエントリであり、且つその時点
における最終QUEエントリでもある。したがって、Q
UEエントリ64の次エントリポインタは0に設定され
、一連番号は1に設定されている。
エントリ61、QUEエントリ62、モしてQUEエン
トリ63の順に生成されている。このため、QUEエン
トリ61.62.63の一連番号は、それぞれ1.2.
3に設定されている。また、QUEエントリ61の次エ
ントリポインタはQUEエントリ62の位置を指し□、
QIJEエントリ62の次エントリポインタはQIJE
エントリ63の位置を指すように設定されている。この
QIJEエントリ63は、その時点におけるタスクAの
最終QUEエントリであるので、次エントリポインタは
0に設定されている。一方、QUEエントリ64は、タ
スクBへの最初のQUEエントリであり、且つその時点
における最終QUEエントリでもある。したがって、Q
UEエントリ64の次エントリポインタは0に設定され
、一連番号は1に設定されている。
外部記憶装置44は、チェックポイントファイル46を
有している。チェックポイントファイル46には、QU
Eエントリプール60内の各QUEエントリ領域に対応
するエントリ領域が確保されている。
有している。チェックポイントファイル46には、QU
Eエントリプール60内の各QUEエントリ領域に対応
するエントリ領域が確保されている。
そして、QUEエントリプール60内のQUEエントリ
が生成される毎に、そのQuEエントリが、チェックポ
イントファイル46内の対応するエントリ領域に書込ま
れる。また、チェックポイントファイル46に書込まれ
たQUEエントリは、QUEエントリブール60におけ
る該当QUEエントリの消滅に応じて消去(例えば0ク
リア)される。したがって、QUEエントリプール60
にQUEエントリ61〜64が生成されているこの例で
は、チェックポイントファイル46には、第1図に示す
ように、QUEエントリ61〜64がQtJEエントリ
71〜14として書込まれている。QUEエントリの書
込みは、上記したように当該エントリの生成時であるた
め、QLIEエントリ71〜74の次エントリポインタ
は、いずれもOに設定されている。
が生成される毎に、そのQuEエントリが、チェックポ
イントファイル46内の対応するエントリ領域に書込ま
れる。また、チェックポイントファイル46に書込まれ
たQUEエントリは、QUEエントリブール60におけ
る該当QUEエントリの消滅に応じて消去(例えば0ク
リア)される。したがって、QUEエントリプール60
にQUEエントリ61〜64が生成されているこの例で
は、チェックポイントファイル46には、第1図に示す
ように、QUEエントリ61〜64がQtJEエントリ
71〜14として書込まれている。QUEエントリの書
込みは、上記したように当該エントリの生成時であるた
め、QLIEエントリ71〜74の次エントリポインタ
は、いずれもOに設定されている。
次に、この発明の一実施例の動作を、タスクAが先頭Q
UEエントリ61内のQUE情報を取出して処理し、し
かる後タスクBへのQUEエントリを生成する場合を例
にとって説明する。QUEエントリ61のQUE情報の
処理が終了すると、CPtJ41は当該QUEエントリ
61を消滅するために、待ち行列制御テーブル50に用
意されているタスクA用の制御エントリ51の先頭エン
トリポインタを、QUEエントリ61内の次エントリポ
インタの内容に更新する。これにより、制御エントリ5
1の先頭エントリポインタは、第2図に示すように、Q
UEエントリ61の次に処理されるべきQLJEエント
リ62の位置を指すようになる。
UEエントリ61内のQUE情報を取出して処理し、し
かる後タスクBへのQUEエントリを生成する場合を例
にとって説明する。QUEエントリ61のQUE情報の
処理が終了すると、CPtJ41は当該QUEエントリ
61を消滅するために、待ち行列制御テーブル50に用
意されているタスクA用の制御エントリ51の先頭エン
トリポインタを、QUEエントリ61内の次エントリポ
インタの内容に更新する。これにより、制御エントリ5
1の先頭エントリポインタは、第2図に示すように、Q
UEエントリ61の次に処理されるべきQLJEエント
リ62の位置を指すようになる。
次にCP U 41は、タスクBへのQUEエントリを
、タスクAが処理中であったQUEエントリ61にオー
バーレイして作成する。即ちCPU41は、QLJEエ
ントリ61にタスクBへのQUE情報(タスク間QUE
情報)を保存し、続いて次エントリポインタをOに設定
する。また、CP U 41は、待ち行列制御テーブル
50に用意されているタスクB用の制御エントリ52の
最終エントリポインタを、上記オーバーレイにより生成
されたQtJEエントリの位置を指すように更新し、且
つ通番カウンタを+1して2とする。また、c p U
41は、制皿エントリ52の最終エントリポインタが
それまで指していたQUEエントリ64の次エントリポ
インタに、上記生成されたQUEエントリの位置を設定
する。
、タスクAが処理中であったQUEエントリ61にオー
バーレイして作成する。即ちCPU41は、QLJEエ
ントリ61にタスクBへのQUE情報(タスク間QUE
情報)を保存し、続いて次エントリポインタをOに設定
する。また、CP U 41は、待ち行列制御テーブル
50に用意されているタスクB用の制御エントリ52の
最終エントリポインタを、上記オーバーレイにより生成
されたQtJEエントリの位置を指すように更新し、且
つ通番カウンタを+1して2とする。また、c p U
41は、制皿エントリ52の最終エントリポインタが
それまで指していたQUEエントリ64の次エントリポ
インタに、上記生成されたQUEエントリの位置を設定
する。
これにより、上記生成されたQUEエントリが、同エン
トリ生成前に最終QUEエントリで(あり且つ先頭QU
Eエントリでも)あったQUEエントリ64に連結され
る。更にCP U 41は、上記生成されたQtJEエ
ントリのタスクIDがタスクBを示すように更新し、且
つ一連番号を上記計数後の通番カウンタの値(2)に設
定する。このようにして、タスクAへのQLIEエント
リ61の8i域に、第2図に示すように、タスクBへの
QUEエントリ65が生成される。即ち、QtJEエン
トリ61の消滅と共に、QUEエントリ65が生成され
る。
トリ生成前に最終QUEエントリで(あり且つ先頭QU
Eエントリでも)あったQUEエントリ64に連結され
る。更にCP U 41は、上記生成されたQtJEエ
ントリのタスクIDがタスクBを示すように更新し、且
つ一連番号を上記計数後の通番カウンタの値(2)に設
定する。このようにして、タスクAへのQLIEエント
リ61の8i域に、第2図に示すように、タスクBへの
QUEエントリ65が生成される。即ち、QtJEエン
トリ61の消滅と共に、QUEエントリ65が生成され
る。
c p U 41は、タスクBへのQtJEエントリ6
5を生成すると、QUEエントリプール60内の同エン
トリ65の領域に対応する、(外部記憶装置44上の)
チェックポイントファイル46内aji!にQLJEエ
ントリ65の内容を書込む。即ちCP U 41は、Q
UEエントリ61に対応するQUEエントリ71の領域
に、QUEエントリ65の内容を第2図に示すようにQ
UEエントリ75としてオーバーレイする。即ち、Q(
JEエントリ61に対応するQ(JEエントリ11の消
去とQUEエントリ65に対応するQtJEエントリ7
5の記録とが同時に行なわれる。なお、消滅すべきQU
Eエントリの領域とは別の領域にQUEエントリを生成
する場合には、QUEエントリの消滅時においてチェッ
クポイントファイル46の対応する領域の内容を消去す
る必要がある。
5を生成すると、QUEエントリプール60内の同エン
トリ65の領域に対応する、(外部記憶装置44上の)
チェックポイントファイル46内aji!にQLJEエ
ントリ65の内容を書込む。即ちCP U 41は、Q
UEエントリ61に対応するQUEエントリ71の領域
に、QUEエントリ65の内容を第2図に示すようにQ
UEエントリ75としてオーバーレイする。即ち、Q(
JEエントリ61に対応するQ(JEエントリ11の消
去とQUEエントリ65に対応するQtJEエントリ7
5の記録とが同時に行なわれる。なお、消滅すべきQU
Eエントリの領域とは別の領域にQUEエントリを生成
する場合には、QUEエントリの消滅時においてチェッ
クポイントファイル46の対応する領域の内容を消去す
る必要がある。
さて、第2図に示す状態において、システム障害が発生
したものとする。この場合、主記憶装置42内の持ち行
列制御テーブル50およびQUEエントリプール60の
内容は破壊または消滅している恐れがある。このため、
システム障害後のリカバリ処理において、待ち行列制御
テーブル50およびQUEエントリブール60の内容を
システム障害発生直前の状態に復元する必要がある。そ
こで、まずCP U 41は、外部記憶装置44内のチ
ェックポイントファイル46の内容を、QLJEエント
リブール60に読込む。この結果、チェックポイントフ
ァイル46内のQUEエントリー2〜75の内容が、第
3図に示すように、QtJEエントリ82〜85として
QLJEエントリプール60に書込まれる。
したものとする。この場合、主記憶装置42内の持ち行
列制御テーブル50およびQUEエントリプール60の
内容は破壊または消滅している恐れがある。このため、
システム障害後のリカバリ処理において、待ち行列制御
テーブル50およびQUEエントリブール60の内容を
システム障害発生直前の状態に復元する必要がある。そ
こで、まずCP U 41は、外部記憶装置44内のチ
ェックポイントファイル46の内容を、QLJEエント
リブール60に読込む。この結果、チェックポイントフ
ァイル46内のQUEエントリー2〜75の内容が、第
3図に示すように、QtJEエントリ82〜85として
QLJEエントリプール60に書込まれる。
次にCP U 41は、QUEエントリプール60内の
全QUEエントリを調べ、タスクID毎に一連番号の昇
順に次エントリポインタを設定して連結する。例えば、
タスクAへのQUEエントリは、QUEエントリ82.
83の2つであり、その一連番号は、2,3である。し
たがってCP U 41は、QUEエントリ82の次エ
ントリポインタに、QUEエントリ83の位置を設定し
、QtJEエントリ83の次エントリポインタにOを設
定する。これにより、QIJEエントリ82.83は、
第2図のQLJEエントリ62.63として復元する。
全QUEエントリを調べ、タスクID毎に一連番号の昇
順に次エントリポインタを設定して連結する。例えば、
タスクAへのQUEエントリは、QUEエントリ82.
83の2つであり、その一連番号は、2,3である。し
たがってCP U 41は、QUEエントリ82の次エ
ントリポインタに、QUEエントリ83の位置を設定し
、QtJEエントリ83の次エントリポインタにOを設
定する。これにより、QIJEエントリ82.83は、
第2図のQLJEエントリ62.63として復元する。
続いてCP tJ 41は、待ち行列制御テーブル50
内の制御エントリ51の先頭エントリポインタに、QU
Eエントリプール60に復元されたQtJEエントリ6
2(タスクAへの先頭QUEエントリ)の位置を設定し
、同じく最終エントリポインタにQUEエントリ63(
タスクAへの先頭QLIEエントリ)の位置を設定する
。モしてCP U 41は、最終QUEエントリである
QLIEエントリ63の一連番号(3)を制御エントリ
51の通番カウンタに設定する。これにより、制御エン
トリ51の内容が復元される。以上の処理が、QUEエ
ントリブール60内の全有効タスク分実施されることに
より、待ち行列制御テーブル50およびQUEエントリ
ブール6゜の内容が復元される。
内の制御エントリ51の先頭エントリポインタに、QU
Eエントリプール60に復元されたQtJEエントリ6
2(タスクAへの先頭QUEエントリ)の位置を設定し
、同じく最終エントリポインタにQUEエントリ63(
タスクAへの先頭QLIEエントリ)の位置を設定する
。モしてCP U 41は、最終QUEエントリである
QLIEエントリ63の一連番号(3)を制御エントリ
51の通番カウンタに設定する。これにより、制御エン
トリ51の内容が復元される。以上の処理が、QUEエ
ントリブール60内の全有効タスク分実施されることに
より、待ち行列制御テーブル50およびQUEエントリ
ブール6゜の内容が復元される。
なお、前記実施例では、制御エントリ内に通番カウンタ
が用意されている場合について説明したが、これに限る
ものではない。例えば、QUEエントリの生成に際し、
その時点における最終QUEエントリの一連番号(タス
ク内一連番号)に1を加えた値を、生成QUEエントリ
の一連番号とすることにより、制御エントリ内の通番カ
ウンタを不要とすることができる。また、前記実施例で
は、(タスク毎の)QUEエントリの生成順を示す情報
として一連番号(タスク内一連番号)を適用した場合に
ついて説明したが、例えばシステムクロック等による時
間情報を用いることも可能である。要は、待ち行列制御
テーブルおよびQUEエントリプールを復元する際に、
(タスク毎の)QIJEエントリを生成順に連結できる
情報であればよい。
が用意されている場合について説明したが、これに限る
ものではない。例えば、QUEエントリの生成に際し、
その時点における最終QUEエントリの一連番号(タス
ク内一連番号)に1を加えた値を、生成QUEエントリ
の一連番号とすることにより、制御エントリ内の通番カ
ウンタを不要とすることができる。また、前記実施例で
は、(タスク毎の)QUEエントリの生成順を示す情報
として一連番号(タスク内一連番号)を適用した場合に
ついて説明したが、例えばシステムクロック等による時
間情報を用いることも可能である。要は、待ち行列制御
テーブルおよびQUEエントリプールを復元する際に、
(タスク毎の)QIJEエントリを生成順に連結できる
情報であればよい。
更に、前記実施例では、QLIEエントリの生成順も完
全に復元する場合について説明したが、生成順通りに復
元する必要がないシステムでは、宛先タスクが識別でき
ればよく、(通番カウンタは勿論)一連番号は不要であ
る。
全に復元する場合について説明したが、生成順通りに復
元する必要がないシステムでは、宛先タスクが識別でき
ればよく、(通番カウンタは勿論)一連番号は不要であ
る。
[発明の効果]
以上詳述したようにこの発明によれば、QUEエントリ
の生成・消滅時において、チェックポイントファイルに
対して該当QUEエントリだけの記録・消去を行なうだ
けで、システム障害の発生に対処できる。このため、待
ち行列制御テーブルおよびQtJEエントリブール全体
をチェックポイント書込みの対象とする従来方式に比べ
、チェックポイント書込み時間の短縮が図れ、応答性能
の一層の向上が図れる。
の生成・消滅時において、チェックポイントファイルに
対して該当QUEエントリだけの記録・消去を行なうだ
けで、システム障害の発生に対処できる。このため、待
ち行列制御テーブルおよびQtJEエントリブール全体
をチェックポイント書込みの対象とする従来方式に比べ
、チェックポイント書込み時間の短縮が図れ、応答性能
の一層の向上が図れる。
第1因はこの発明の一実施例におけるQUEエントリ生
成前の待ち行列制御テーブルとQUEエントリブールと
チェックポイントファイルとの相関図、第2図は第1図
におけるQUEエントリ生成後の状態を示す図、第3図
は第2図におけるシステム障害発生後にチェックポイン
トファイルの内容をQUEエントリに読込んだ状態を示
す図、第4図はタスクとタスク間キュー(QUE)との
関係を説明する図、第5図は従来技術におけるQUEエ
ントリ生成前の待ち行列制御テーブルとQUEエントリ
プールとチェックポイントファイルとの相関図である。 41・・・CPtJ、42・・・主記憶装置、46・・
・チェックポイントファイル、50・・・待ち行列制御
テーブル、51゜52・・・制御エントリ、60・・・
QUE(キュー)エントリブール、61〜65.71〜
75.82〜85・・・QtJEエントリ(タスク間キ
ューエントリ)。
成前の待ち行列制御テーブルとQUEエントリブールと
チェックポイントファイルとの相関図、第2図は第1図
におけるQUEエントリ生成後の状態を示す図、第3図
は第2図におけるシステム障害発生後にチェックポイン
トファイルの内容をQUEエントリに読込んだ状態を示
す図、第4図はタスクとタスク間キュー(QUE)との
関係を説明する図、第5図は従来技術におけるQUEエ
ントリ生成前の待ち行列制御テーブルとQUEエントリ
プールとチェックポイントファイルとの相関図である。 41・・・CPtJ、42・・・主記憶装置、46・・
・チェックポイントファイル、50・・・待ち行列制御
テーブル、51゜52・・・制御エントリ、60・・・
QUE(キュー)エントリブール、61〜65.71〜
75.82〜85・・・QtJEエントリ(タスク間キ
ューエントリ)。
Claims (2)
- (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 true JPS61131043A (ja) | 1986-06-18 |
JPH0456341B2 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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0227441A (ja) * | 1988-06-30 | 1990-01-30 | Internatl Business Mach Corp <Ibm> | コンピュータ・システム |
JPH11238046A (ja) * | 1997-11-21 | 1999-08-31 | Fuji Xerox Co Ltd | コンピュータシステム |
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
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0227441A (ja) * | 1988-06-30 | 1990-01-30 | Internatl Business Mach Corp <Ibm> | コンピュータ・システム |
JPH11238046A (ja) * | 1997-11-21 | 1999-08-31 | Fuji Xerox Co Ltd | コンピュータシステム |
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 |
Also Published As
Publication number | Publication date |
---|---|
JPH0456341B2 (ja) | 1992-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6618794B1 (en) | System for generating a point-in-time copy of data in a data storage system | |
KR100238925B1 (ko) | 비휘발성 메모리를 갖는 복원 가능 디스크 제어 시스템 | |
JPH0423144A (ja) | データ管理システムおよびデータ管理方法 | |
JPH06250906A (ja) | 主記憶装置に展開されたデータのバックアップ・リカバリ方式 | |
JP3135714B2 (ja) | チェックポイントリスタート方式 | |
JPS61131043A (ja) | タスク間キユ−制御方式 | |
JP3037183B2 (ja) | ハードディスク装置管理方式および方法 | |
JPH033046A (ja) | ログ記録管理方式 | |
JPH0744440A (ja) | データ退避装置 | |
JPH0594356A (ja) | メモリ上テーブルデータ障害時復旧方式 | |
JPH06309209A (ja) | ファイルバックアップ方式 | |
JPS6159538A (ja) | タスク間待ち行列制御方式 | |
JPH0259837A (ja) | データリカバリ処理方式 | |
JP2638451B2 (ja) | 情報処理装置 | |
JP2776608B2 (ja) | 補助記憶装置のリフォーマット処理方式 | |
JPH0619808A (ja) | 情報処理装置 | |
JP2913774B2 (ja) | データ処理システムの編集データ格納制御方法 | |
CN118012669A (zh) | 一种分布式文件***的文件元数据恢复***与方法 | |
JPS6286426A (ja) | デ−タベ−スバツクアツプ方式 | |
JPS6386042A (ja) | 消去フアイルの復元方式 | |
JP2526726B2 (ja) | 多重化ファイル復旧方式 | |
JPH01240943A (ja) | データ内容復旧方式 | |
JPH039449A (ja) | 電子ディスクサブシステム | |
WO1995019599A9 (en) | File backup system | |
JPH07101397B2 (ja) | データファイル書込み制御方式 |