JPH0443303B2 - - Google Patents
Info
- Publication number
- JPH0443303B2 JPH0443303B2 JP10424884A JP10424884A JPH0443303B2 JP H0443303 B2 JPH0443303 B2 JP H0443303B2 JP 10424884 A JP10424884 A JP 10424884A JP 10424884 A JP10424884 A JP 10424884A JP H0443303 B2 JPH0443303 B2 JP H0443303B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- deadlock
- data
- count value
- route
- 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
Links
Landscapes
- Multi Processors (AREA)
Description
【発明の詳細な説明】
本発明は共用データを利用する複合データ処理
装置システムに発生するデツドロツクの検出方法
に関するものである。
装置システムに発生するデツドロツクの検出方法
に関するものである。
(a) 産業上の利用分野
複数のジヨブで使用され、目的が同じデータは
1つのフアイルとし、又複数のシステムで使用さ
れるフアイルでも、共用することによつてシステ
ム資源を有効に利用できることから、共用データ
を用いることが複合データ処理装置システムに適
用されている。
1つのフアイルとし、又複数のシステムで使用さ
れるフアイルでも、共用することによつてシステ
ム資源を有効に利用できることから、共用データ
を用いることが複合データ処理装置システムに適
用されている。
(b) 従来の技術
単一データ処理装置システムにてもデータを共
用すると使用するデータを占有宣言を行い、特定
のジヨブやタスクが一定時間占有して使用してい
る。ところが此の占有のために、デツドロツク現
象が発生し、データ処理装置システムの運用を妨
げる。特に、複数のデータ処理装置から構成され
る複合システムにおいては、トランザクシヨンの
待ち時間は第2図に示すように複数のシステムが
絡み合い複雑なネツトワーク構造を持つている。
用すると使用するデータを占有宣言を行い、特定
のジヨブやタスクが一定時間占有して使用してい
る。ところが此の占有のために、デツドロツク現
象が発生し、データ処理装置システムの運用を妨
げる。特に、複数のデータ処理装置から構成され
る複合システムにおいては、トランザクシヨンの
待ち時間は第2図に示すように複数のシステムが
絡み合い複雑なネツトワーク構造を持つている。
(c) 発明が解決しようとする問題点
このネツトワーク構造をくまなく検索すること
によつてループになつたルート、即ちデツドロツ
クを検出することが可能である。しかしながら全
ルートを検索するのには其の処理にデータ処理装
置が運用され、データ処理装置のオーバヘツドが
生じるといつた問題がある。
によつてループになつたルート、即ちデツドロツ
クを検出することが可能である。しかしながら全
ルートを検索するのには其の処理にデータ処理装
置が運用され、データ処理装置のオーバヘツドが
生じるといつた問題がある。
本発明は上記したような問題点を除去して、効
率良くデツドロツクの検出の行えるデツドロツク
の検出方法を提案するものである。
率良くデツドロツクの検出の行えるデツドロツク
の検出方法を提案するものである。
(d) 問題点を解決するための手段
この提案は、共用データを利用する複合データ
処理装置システムにおいて、前記各データ処理装
置のデータ管理部に制御テーブルを備え、前記制
御テーブルに待ち状態にあるトランザクシヨン名
と待ち状態になつた時刻と要求システム名とデツ
ドロツク検出カウンタのカウント値を記載して、
当該トランザクシヨンのデツドロツク検出を前記
制御テーブルの最も旧い時刻を持つトランザクシ
ヨンから順次連なるトランザクシヨンを選定する
と共に、前記カウント値と同じカウント値を選定
されたトランザクシヨンに付してルートを作成
し、前記ルートが前記同じカウント値をもつたト
ランザクシヨンを再び選定した際に前記ルートを
閉ルートのトランザクシヨンで構成されるデツド
ロツクと認識することである。
処理装置システムにおいて、前記各データ処理装
置のデータ管理部に制御テーブルを備え、前記制
御テーブルに待ち状態にあるトランザクシヨン名
と待ち状態になつた時刻と要求システム名とデツ
ドロツク検出カウンタのカウント値を記載して、
当該トランザクシヨンのデツドロツク検出を前記
制御テーブルの最も旧い時刻を持つトランザクシ
ヨンから順次連なるトランザクシヨンを選定する
と共に、前記カウント値と同じカウント値を選定
されたトランザクシヨンに付してルートを作成
し、前記ルートが前記同じカウント値をもつたト
ランザクシヨンを再び選定した際に前記ルートを
閉ルートのトランザクシヨンで構成されるデツド
ロツクと認識することである。
(e) 作用
即ち、待ち状態にあるトランザクシヨンを待ち
発生要因と発生時刻とで管理して、旧い時刻のト
ランザクシヨンを起点として各トランザクシヨン
における待ち順にルートを検索して、閉ルートを
検出すると当該トランザクシヨンをデツドロツク
と認識するのである。
発生要因と発生時刻とで管理して、旧い時刻のト
ランザクシヨンを起点として各トランザクシヨン
における待ち順にルートを検索して、閉ルートを
検出すると当該トランザクシヨンをデツドロツク
と認識するのである。
(f) 実施例
以下、図によつて本発明の要旨を具体的に説明
する。
する。
第1図は本発明によるデツドロツクの検出方法
の一実施例のブロツク図、第3図は本発明のフロ
ーチヤートを示す。
の一実施例のブロツク図、第3図は本発明のフロ
ーチヤートを示す。
データ処理装置1と2と3は共用データを格納
する共用フアイル4を共用利用している。各デー
タ処理装置1,2,3のデータ管理部11,2
1,31にそれぞれ制御テーブル12,22,3
2を設ける。制御テーブル12,22,32には
図に示すようにトランザクシヨン、待ち発生時
刻、要因、カウント欄等が設けてある。第4図の
待ちネツトワークにおいて、例えば、テーブル処
理装置1にて、トランザクシヨンA1がデータB
を使用しようとして、例えば時刻8,00に占有宣
言が行われたが、データBは既にトランザクシヨ
ンA2によつて占有されているので、図に示すよ
うに待ち状態にあり、この時デツドロツク検出が
開始される一契機となる。
する共用フアイル4を共用利用している。各デー
タ処理装置1,2,3のデータ管理部11,2
1,31にそれぞれ制御テーブル12,22,3
2を設ける。制御テーブル12,22,32には
図に示すようにトランザクシヨン、待ち発生時
刻、要因、カウント欄等が設けてある。第4図の
待ちネツトワークにおいて、例えば、テーブル処
理装置1にて、トランザクシヨンA1がデータB
を使用しようとして、例えば時刻8,00に占有宣
言が行われたが、データBは既にトランザクシヨ
ンA2によつて占有されているので、図に示すよ
うに待ち状態にあり、この時デツドロツク検出が
開始される一契機となる。
この状態を制御テーブル12に記録する。即ち
トランザクシヨン名にA1、要因欄にB、発生時
刻に8,00等のように記録される。勿論此の記録
はデータの管理を行つているデータ管理部11が
行う。他のデータ処理装置2と3も同一動作を行
う。なお、各データ処理装置1,2,3はそれぞ
れ他装置に自装置の待ち状態を報告する。
トランザクシヨン名にA1、要因欄にB、発生時
刻に8,00等のように記録される。勿論此の記録
はデータの管理を行つているデータ管理部11が
行う。他のデータ処理装置2と3も同一動作を行
う。なお、各データ処理装置1,2,3はそれぞ
れ他装置に自装置の待ち状態を報告する。
デツドロツク検出の方法を第3図のフローチヤ
ートを用いて説明する。
ートを用いて説明する。
以後、データ処理装置1について説明を行う。
先ず、トランザクシヨンA1がデツドロツク検
出を行う以前の状態を説明する。
出を行う以前の状態を説明する。
例えば過去にトランザクシヨンA2からデツド
ロツク検出が開始され、デツドロツク検出処理が
トランザクシヨンA2−A3……An−A1のル
ートで行われ、トランザクシヨンA1に到達した
時、トランザクシヨンA1は待ち状態でなく正常
動作中であれば、後述する第3図5の「動作中」
であり、このルートはデツドロツクでないと判定
されてデツドロツク検出は終了する。
ロツク検出が開始され、デツドロツク検出処理が
トランザクシヨンA2−A3……An−A1のル
ートで行われ、トランザクシヨンA1に到達した
時、トランザクシヨンA1は待ち状態でなく正常
動作中であれば、後述する第3図5の「動作中」
であり、このルートはデツドロツクでないと判定
されてデツドロツク検出は終了する。
しかし、トランザクシヨンA2−A3……An
はトランザクシヨンA1が占有している資源が開
放されるまで待ち状態となる。
はトランザクシヨンA1が占有している資源が開
放されるまで待ち状態となる。
ここで、トランザクシヨンA2において過去に
デツドロツク検出が行われた回数を示すデツドロ
ツク検出カウンタの値が例えば“9”であるとす
れば、後述するようにトランザクシヨンA2−A
3……An−A1のデツドロツク検出カウンタの
カウント値は全て“9”である。
デツドロツク検出が行われた回数を示すデツドロ
ツク検出カウンタの値が例えば“9”であるとす
れば、後述するようにトランザクシヨンA2−A
3……An−A1のデツドロツク検出カウンタの
カウント値は全て“9”である。
この状態で、トランザクシヨンA1の動作中に
データBを使用する必要が生じ、データBの占有
宣言が行われた時、データBが他のトランザクシ
ヨンに占有されていると待ち状態になる。
データBを使用する必要が生じ、データBの占有
宣言が行われた時、データBが他のトランザクシ
ヨンに占有されていると待ち状態になる。
トランザクシヨンA1は待ち状態になつたので
直ちにデツドロツク検出処理が開始される。
直ちにデツドロツク検出処理が開始される。
先ずデータ管理部11は制御テーブル12のカ
ウント欄のデツドロツク検出カウンタの過去のカ
ウント値“9”を+1カウントアツプしたカウン
ト値“10”とし、ルート列の順序を示すシーケン
シヤルカウンタのカウント値を“0”としてデツ
ドロツク検出を開始する。
ウント欄のデツドロツク検出カウンタの過去のカ
ウント値“9”を+1カウントアツプしたカウン
ト値“10”とし、ルート列の順序を示すシーケン
シヤルカウンタのカウント値を“0”としてデツ
ドロツク検出を開始する。
この状態が第3図のフローチヤートの(1)の状態
である。
である。
次に、上記の状態を初期条件としてデータ管理
部11はデツドロツク検出を継続する。
部11はデツドロツク検出を継続する。
この状態が第3図2の「継続」である。
次に、データ管理部11は、トランザクシヨン
A1からルート検出を開始し、制御テーブル12
において、トランザクシヨンA1がルート検出順
序の最初であることを示すシーケンシヤルカウン
タのカウント値に+1を加えカウント欄を10−1
とする。
A1からルート検出を開始し、制御テーブル12
において、トランザクシヨンA1がルート検出順
序の最初であることを示すシーケンシヤルカウン
タのカウント値に+1を加えカウント欄を10−1
とする。
この状態が第1図の制御テーブル12の状態で
あり、また第3図3である。
あり、また第3図3である。
データ処理装置は互いに他装置の状態を把握し
ているので、データ管理部11において、トラン
ザクシヨンA1が待ち状態になつた要因即ちデー
タBを占有しているトランザクシヨンの中で、最
も旧い待ち発生時刻の付けられたトランザクシヨ
ンはA2であることが認識され、これを選択す
る。
ているので、データ管理部11において、トラン
ザクシヨンA1が待ち状態になつた要因即ちデー
タBを占有しているトランザクシヨンの中で、最
も旧い待ち発生時刻の付けられたトランザクシヨ
ンはA2であることが認識され、これを選択す
る。
この状態が第3図4である。
次に、第3図5のトランザクシヨンA2の状態
判定が行われる。
判定が行われる。
もし、トランザクシヨンA2が「動作中」であ
ればデツドロツクではなく、トランザクシヨンA
1はデータBが開放されるのを待てばよい。
ればデツドロツクではなく、トランザクシヨンA
1はデータBが開放されるのを待てばよい。
トランザクシヨンA2が「待ち状態」の場合
は、そのデータBが他システムの固有のデータで
あるか否かの判断を行い、他システムの固有のデ
ータであれば他システムに対し、そのデータの占
有状態の検査を依頼する。
は、そのデータBが他システムの固有のデータで
あるか否かの判断を行い、他システムの固有のデ
ータであれば他システムに対し、そのデータの占
有状態の検査を依頼する。
他のシステムでなければ、第3図2に戻りデツ
ドロツク判定を行う。
ドロツク判定を行う。
即ち、制御テーブル12において、図示されて
いないトランザクシヨンA2のカウント欄とトラ
ンザクシヨンA1のカウント欄を照合すると、ト
ランザクシヨンA2のデツドロツク検出カウンタ
のカウント値は過去の“9”であり、トランザク
シヨンA1のカウント値は“10”である。
いないトランザクシヨンA2のカウント欄とトラ
ンザクシヨンA1のカウント欄を照合すると、ト
ランザクシヨンA2のデツドロツク検出カウンタ
のカウント値は過去の“9”であり、トランザク
シヨンA1のカウント値は“10”である。
従つて、第3図2のデツドロツク判定では
「大」即ちトランザクシヨンA2のカウント値が
“11”以上でもなく、「等しい」即ちカウント値が
“10”でもないのでデツドロツク検出を「継続」
する。
「大」即ちトランザクシヨンA2のカウント値が
“11”以上でもなく、「等しい」即ちカウント値が
“10”でもないのでデツドロツク検出を「継続」
する。
次に、第3図3のように、トランザクシヨンA
2のデツドロツク検出カウンタをトランザクシヨ
ンA1と同じカウント値の“10”に書替え、シー
ケンシヤルカウンタのカウント値に+1を加え10
−2とする。
2のデツドロツク検出カウンタをトランザクシヨ
ンA1と同じカウント値の“10”に書替え、シー
ケンシヤルカウンタのカウント値に+1を加え10
−2とする。
この状態を第4図ではA1が10−1、A2が10
−2であることを示している。
−2であることを示している。
更に次のトランザクシヨンA3を選定し、第3
図4,5,2,3の工程を繰り返し行う。
図4,5,2,3の工程を繰り返し行う。
この繰り返し工程は第4図のトランザクシヨン
Anのカウント10−nまで行われ、毎回第3図2
のデツドロツク判定が上記のように行われる。
Anのカウント10−nまで行われ、毎回第3図2
のデツドロツク判定が上記のように行われる。
最後にトランザクシヨンAnの待ち状態の要因
がトランザクシヨンA1にあるとすると、両トラ
ンザクシヨンのカウント欄は10−nと10−1で、
デツドロツク検出カウンタのカウント値は共に
“10”である。
がトランザクシヨンA1にあるとすると、両トラ
ンザクシヨンのカウント欄は10−nと10−1で、
デツドロツク検出カウンタのカウント値は共に
“10”である。
従つて第3図2によりこのルートは閉ループが
完成されており、デツドロツクと判定される。
完成されており、デツドロツクと判定される。
ここで、第4図のようにトランザクシヨンA1
〜Anのルートでデツドロツク検出処理の途中に、
他のトランザクシヨンA1〜Anのルートでデツ
ドロツク検出装置の途中に他のトランザクシヨン
B1が待ち状態となり、トランザクシヨンB1か
ら新たなデツドロツク検出が開始されると、トラ
ンザクシヨンB1につていも前述の第3図1〜5
の処理が行われる。
〜Anのルートでデツドロツク検出処理の途中に、
他のトランザクシヨンA1〜Anのルートでデツ
ドロツク検出装置の途中に他のトランザクシヨン
B1が待ち状態となり、トランザクシヨンB1か
ら新たなデツドロツク検出が開始されると、トラ
ンザクシヨンB1につていも前述の第3図1〜5
の処理が行われる。
従つて、トランザクシヨンB1のカウント欄は
11−1が書き込まれる。
11−1が書き込まれる。
トランザクシヨンB1の待ち状態の要因がトラ
ンザクシヨンA1にあれば、トランザクシヨン
A1が選定され、A1のカウント欄には11−2が
書き換えられてしまう。
ンザクシヨンA1にあれば、トランザクシヨン
A1が選定され、A1のカウント欄には11−2が
書き換えられてしまう。
その結果、トランザクシヨンAnがトランザク
シヨンA1を選定した時は、Anのカウン欄は10
−nであるが、A1のカウント欄は11−2で変わ
つており、第3図2のデツドロツク判定ではトラ
ンザクシヨンAnから見てトランザクシヨンA1
のデツドロツク検出カウンタのカウント値が
「大」であり、デツドロツクでないと判定され、
検出処理は中止される。
シヨンA1を選定した時は、Anのカウン欄は10
−nであるが、A1のカウント欄は11−2で変わ
つており、第3図2のデツドロツク判定ではトラ
ンザクシヨンAnから見てトランザクシヨンA1
のデツドロツク検出カウンタのカウント値が
「大」であり、デツドロツクでないと判定され、
検出処理は中止される。
しかし、新たなデツドロツク検出がデツドロツ
クカウンタのカウント値“11”で開始され、第4
図のように結局トランザクシヨンAnとトランザ
クシヨンA1の間でカウント欄11−(n+1)と
11−2のカウント値が「等しい」となり、この
ルートが閉ループを構成しておりデツドロツクと
なつていることが検出される。
クカウンタのカウント値“11”で開始され、第4
図のように結局トランザクシヨンAnとトランザ
クシヨンA1の間でカウント欄11−(n+1)と
11−2のカウント値が「等しい」となり、この
ルートが閉ループを構成しておりデツドロツクと
なつていることが検出される。
以上の説明はテーブル処理装置1について行つ
たがデータ処理装置2,3においても同様に行わ
れる。
たがデータ処理装置2,3においても同様に行わ
れる。
(g) 発明の効果
以上説明のように本発明においては、トランザ
クシヨンの待ち時刻の旧いものから系統だててル
ート検出を行い、閉ルートをデツドロツク検出と
する効率の良い検出方法となり、データ処理装置
のデツドロツク検出時間を短縮する利点がある。
クシヨンの待ち時刻の旧いものから系統だててル
ート検出を行い、閉ルートをデツドロツク検出と
する効率の良い検出方法となり、データ処理装置
のデツドロツク検出時間を短縮する利点がある。
第1図は本発明によるデツドロツクの検出方法
の一実施例のブロツク図、第2図はトランザクシ
ヨン待ち状態を示す模式図、第3図は本発明のフ
ローチヤート、第4図は本発明を説明するための
トランザクシヨン状態を示す模式図、をそれぞれ
示す。 図において、1と2と3はデータ処理装置、4
は共用フアイル、11と21と31はデータ管理
部、12と22と32は制御テーブルをそれぞれ
示す。
の一実施例のブロツク図、第2図はトランザクシ
ヨン待ち状態を示す模式図、第3図は本発明のフ
ローチヤート、第4図は本発明を説明するための
トランザクシヨン状態を示す模式図、をそれぞれ
示す。 図において、1と2と3はデータ処理装置、4
は共用フアイル、11と21と31はデータ管理
部、12と22と32は制御テーブルをそれぞれ
示す。
Claims (1)
- 1 共用データを利用する複合データ処理装置シ
ステムにおいて、前記各データ処理装置のデータ
管理部に制御テーブルを備え、前記制御テーブル
に待ち状態にあるトランザクシヨン名と待ち状態
になつた時刻と要求システム名とデツドロツク検
出カウンタのカウント値を記載して、当該トラン
ザクシヨンのデツドロツク検出を前記制御テーブ
ルの最も旧い時刻を持つトランザクシヨンから順
次連なるトランザクシヨンを選定すると共に、前
記カウント値と同じカウント値を選定されたトラ
ンザクシヨンに付してルートを作成し、前記ルー
トが前記同じカウント値をもつたトランザクシヨ
ンを再び選定した際に前記ルートを閉ルートのト
ランザクシヨンで構成されるデツドロツクと認識
することを特徴とするデツドロツクの検出方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10424884A JPS60247746A (ja) | 1984-05-22 | 1984-05-22 | デッドロックの検出方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10424884A JPS60247746A (ja) | 1984-05-22 | 1984-05-22 | デッドロックの検出方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS60247746A JPS60247746A (ja) | 1985-12-07 |
| JPH0443303B2 true JPH0443303B2 (ja) | 1992-07-16 |
Family
ID=14375631
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10424884A Granted JPS60247746A (ja) | 1984-05-22 | 1984-05-22 | デッドロックの検出方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS60247746A (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0451335A (ja) * | 1990-06-20 | 1992-02-19 | Oki Electric Ind Co Ltd | データベース処理装置 |
-
1984
- 1984-05-22 JP JP10424884A patent/JPS60247746A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS60247746A (ja) | 1985-12-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5701457A (en) | Method of designated time interval reservation access process of online updating and backing up of large database versions without reserving exclusive control | |
| JP2543253B2 (ja) | デツドロツクを検出して解決する方法及びフアイルを共有するデ―タ処理装置 | |
| DE69232045T2 (de) | Vorrichtung und verfahren zur ausführung von instruktionen in nicht sequentieller reihenfolge | |
| EP0264568A2 (en) | Serialisation of system events in a multiprocessing system | |
| EP0727742A2 (en) | Method and apparatus for crash safe enforcement of mutually exclusive access to shared resources in a multitasking computer system | |
| JP2000284995A (ja) | データ処理装置及び記録媒体 | |
| KR20010103705A (ko) | 동시 dbms 테이블 동작을 위한 방법 및 장치 | |
| DE2517297A1 (de) | Einrichtung zum feststellen eines zu einem zu verhindernden endgueltigen stillstand fuehrenden systemzustandes | |
| JPH0743665B2 (ja) | コンピユータ・システム資源管理方法 | |
| JPS62180429A (ja) | 多重処理環境でのロツク管理方法 | |
| DE68925064T2 (de) | Taskausführungssteuerverfahren für ein Multiprozessorsystem mit Post/Warte-Prozedur | |
| JPH0443303B2 (ja) | ||
| JPH06149765A (ja) | 共有メモリ排他制御自動解除方式 | |
| JP3559581B2 (ja) | ジョブ実行制御方法 | |
| JPH0342740A (ja) | ファイルの媒体割付け方法 | |
| JP2787107B2 (ja) | バッファ制御方式及び装置 | |
| JPH02156348A (ja) | 複数のハッシュ表のあふれ領域管理方法 | |
| JPS61226842A (ja) | 電子計算機システムの資源管理方式 | |
| JPS60178547A (ja) | デ−タ処理方式 | |
| JPH02300823A (ja) | 有償チェック方式 | |
| JPH11143824A (ja) | バス・アービトレーション方式 | |
| JPH05143422A (ja) | 更新後ジヤーナル管理方式 | |
| JPS5913062B2 (ja) | 多重処理スケジユ−リング処理方法 | |
| JPH0348950A (ja) | メモリ管理方式 | |
| JPH012149A (ja) | ログ情報収集制御方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |