JPH01207842A - デッドロック検出方式 - Google Patents
デッドロック検出方式Info
- Publication number
- JPH01207842A JPH01207842A JP63033098A JP3309888A JPH01207842A JP H01207842 A JPH01207842 A JP H01207842A JP 63033098 A JP63033098 A JP 63033098A JP 3309888 A JP3309888 A JP 3309888A JP H01207842 A JPH01207842 A JP H01207842A
- Authority
- JP
- Japan
- Prior art keywords
- resource
- deadlock
- state
- processes
- management table
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 95
- 238000007689 inspection Methods 0.000 abstract 1
- 238000004886 process control Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概要〕
プロセスのデッドロックを検出するデッドロック検出方
式に関し、 資源プロセス管理表を参照してプロセスのループを検索
する際に待ち状態のプロセスを所定個数以上検索したと
きに、デッドロックの可能性がありと通知し、デッドロ
ック検出によるオーバーヘットを言周整するごとを目的
とし、 プロセスの資源獲得状態および待ち状態を管理する資源
プロセス管理表と、この資源プロセス管理表を参照して
、プロセスがループ状態を形成しているか否を判断する
プロセス状態判断部と、このプロセス状態判断部がポイ
ンタを辿って順次プロセスのループ状態を判断する際に
、待ち状態のプロセスが所定個数を超えた場合にデッド
ロックの可能性ありと判断する検索調整部とを備え、上
記プロセス状態判断部が上記資源プロセス管理表のポイ
ンタを辿って順次プロセスのループ状態を判断する際に
、待ち状態のプロセスの数が所定個数以上になった場合
に上記検索調整部がデッドロックの可能性ありと判断す
るように構成する。
式に関し、 資源プロセス管理表を参照してプロセスのループを検索
する際に待ち状態のプロセスを所定個数以上検索したと
きに、デッドロックの可能性がありと通知し、デッドロ
ック検出によるオーバーヘットを言周整するごとを目的
とし、 プロセスの資源獲得状態および待ち状態を管理する資源
プロセス管理表と、この資源プロセス管理表を参照して
、プロセスがループ状態を形成しているか否を判断する
プロセス状態判断部と、このプロセス状態判断部がポイ
ンタを辿って順次プロセスのループ状態を判断する際に
、待ち状態のプロセスが所定個数を超えた場合にデッド
ロックの可能性ありと判断する検索調整部とを備え、上
記プロセス状態判断部が上記資源プロセス管理表のポイ
ンタを辿って順次プロセスのループ状態を判断する際に
、待ち状態のプロセスの数が所定個数以上になった場合
に上記検索調整部がデッドロックの可能性ありと判断す
るように構成する。
本発明は、プロセスのデッドロックを検出するデッドロ
ック検出方式に関するものである。
ック検出方式に関するものである。
〔従来の技術と発明が解決しようとする問題点〕デッド
ロック検出は、プロセス(タスク)が排他制御を要求す
る命令を発行したときに、この命令によって指定された
資源が他のプロセスによって使用などされ、要求元のプ
ロセスの待ち状態が解除されなくなってしまったことを
検出することである。このデッドロックの検出は、従来
、■プロセスの資源獲得グラフを全て検索する、■指定
された待ち時間を経過しても資源が獲得されないことを
通知する、■一定の時間間隔でタイムパトローラがデッ
ドロックの発生を調べる、などを行っていた。
ロック検出は、プロセス(タスク)が排他制御を要求す
る命令を発行したときに、この命令によって指定された
資源が他のプロセスによって使用などされ、要求元のプ
ロセスの待ち状態が解除されなくなってしまったことを
検出することである。このデッドロックの検出は、従来
、■プロセスの資源獲得グラフを全て検索する、■指定
された待ち時間を経過しても資源が獲得されないことを
通知する、■一定の時間間隔でタイムパトローラがデッ
ドロックの発生を調べる、などを行っていた。
しかし、従来の■は、排他獲得要求で待ちになるたびに
、システムのオーハーヘソドがかかってしまうという問
題点かあった。■、■は、排他要求を行うプログラムに
対する一般性が欠けてしまうという問題点があった。
、システムのオーハーヘソドがかかってしまうという問
題点かあった。■、■は、排他要求を行うプログラムに
対する一般性が欠けてしまうという問題点があった。
本発明は、資源プロセス管理表を参照してプロセスのル
ープを検索する際に待ち状態のプロセスを所定個数以上
検索したときに、デッドロックの可能性かありと通知し
、デッドロック検出にょるオーハーヘソドを調整するこ
とを目的としている。
ープを検索する際に待ち状態のプロセスを所定個数以上
検索したときに、デッドロックの可能性かありと通知し
、デッドロック検出にょるオーハーヘソドを調整するこ
とを目的としている。
第1図を参照して問題点を解決するだめの手段を説明す
る。
る。
第1図において、資源プ凸セス管理表1は、プロレスの
資源獲得状態および待ち状態を管理するものである。
資源獲得状態および待ち状態を管理するものである。
プロセス状態判断部3は、資源プロセス管理表1を参照
して、プロセスがループ状態を形成しているか否を判断
するものである。
して、プロセスがループ状態を形成しているか否を判断
するものである。
検索調整部4ば、プロセス状態判断部(3)がボ・イン
クを辿って順次プロセスのループ状態を判断する際に、
待ち状態のプロセスを所定個数以上検索した場合にデッ
ドロックの可能性ありと判断するものである。
クを辿って順次プロセスのループ状態を判断する際に、
待ち状態のプロセスを所定個数以上検索した場合にデッ
ドロックの可能性ありと判断するものである。
本発明は、第1図に示すように、プロセス状態判断部3
が資源プロセス管理表1のポインタを辿って順次プロセ
スのループ状態を判断する際に待ち状態のプロセスを所
定個数以上検索した場合に、検索調整部(4)がデッド
ロックの可能性ありと判断してデッドロック検出を中止
するようにしている。
が資源プロセス管理表1のポインタを辿って順次プロセ
スのループ状態を判断する際に待ち状態のプロセスを所
定個数以上検索した場合に、検索調整部(4)がデッド
ロックの可能性ありと判断してデッドロック検出を中止
するようにしている。
従って、待ち状態のプロセスの数を指定することにより
、デッドロック検出によるオーハーヘソドを調整するこ
とが可能となると共に、資源の待ち状態が混んでいるこ
とを通知することが可能となる。
、デッドロック検出によるオーハーヘソドを調整するこ
とが可能となると共に、資源の待ち状態が混んでいるこ
とを通知することが可能となる。
次に、第1図から第4図を用いて本発明の1実施例の構
成および動作を順次詳細に説明する。
成および動作を順次詳細に説明する。
第1図において、資源プロセス管理表1は、プロセスの
資源獲得状態および待ち状態を管理するものである。図
中P、 (i=oないしn)はプロセス、R,(i=
oないしm)は資源、Tthr (m。
資源獲得状態および待ち状態を管理するものである。図
中P、 (i=oないしn)はプロセス、R,(i=
oないしm)は資源、Tthr (m。
r=oないしS〉は資源獲得表を示す(第2図を用いて
後述する)。
後述する)。
資源探索部2は、資源R8を探索するものである。
プロセス状態判断部3は、資源プロセス管理表1を検索
してループ状態(デッドロック状態)を判断するもので
ある。
してループ状態(デッドロック状態)を判断するもので
ある。
検索調整部4は、プロセス状態判断部3によるループ状
態の検索を行う際に、検索カウンタ4−1を用いて待ち
状態のプロセスの数を計数し、指定された調整パラメー
タの数を超えてループ状態の検索を行った場合に、資源
獲得が混雑している旨を通知すると共に、デッド1コツ
ク検索を中止させるものである。これにより、デソトロ
・ツク検索によるオーハーヘソドを調整パラメータによ
ってCPUの能力などに対応づけて任意に調整すること
が可能となる。
態の検索を行う際に、検索カウンタ4−1を用いて待ち
状態のプロセスの数を計数し、指定された調整パラメー
タの数を超えてループ状態の検索を行った場合に、資源
獲得が混雑している旨を通知すると共に、デッド1コツ
ク検索を中止させるものである。これにより、デソトロ
・ツク検索によるオーハーヘソドを調整パラメータによ
ってCPUの能力などに対応づけて任意に調整すること
が可能となる。
ます、第2図を用いて資源プロセス管理表1について説
明する。
明する。
第2図(イ)は、プロセスが資源を獲得した例を示す。
これは、2つのプロセスP、 、P、−が1つの資源R
1を排他的に獲得し、この1つの資[Rtを共用して所
定の処理を行っている状態を示す。この状態は、図示の
ように、1つの資Il!R1からポインタ(リスト)に
よって資源獲得表T、。、T r +を順次つなぎ、こ
れら資源獲得表T、。、T8.力1らポインタによって
当1亥資iRtをSi!尋したプロセスP8、P、+1
をつなぐことによって管理される。
1を排他的に獲得し、この1つの資[Rtを共用して所
定の処理を行っている状態を示す。この状態は、図示の
ように、1つの資Il!R1からポインタ(リスト)に
よって資源獲得表T、。、T r +を順次つなぎ、こ
れら資源獲得表T、。、T8.力1らポインタによって
当1亥資iRtをSi!尋したプロセスP8、P、+1
をつなぐことによって管理される。
第2図(ロ)は、資源待ちのプロセス例を示す。
この資源待ちのプロセスPJは、図示のように、プロセ
スPJから資源R1をポインタ(リスト)によってつな
くことによって管理される。
スPJから資源R1をポインタ(リスト)によってつな
くことによって管理される。
以上説明した第2図(イ)および(ロ)に示すプロセス
の資源獲得状態および待ち状態を用いてプロセスおよび
資源の関係を表すと例えば第1図資源プロセス管理表1
となる。以下この資源プロセス管理表1を参照して説明
する。ここで、PlはプロセスP、 、R,は資源R,
、TiJは資源獲得表T i jを表す。
の資源獲得状態および待ち状態を用いてプロセスおよび
資源の関係を表すと例えば第1図資源プロセス管理表1
となる。以下この資源プロセス管理表1を参照して説明
する。ここで、PlはプロセスP、 、R,は資源R,
、TiJは資源獲得表T i jを表す。
第3図フローチャートを用いて、第1図構成の動作を詳
細に説明する。
細に説明する。
第3図において、図中■は、検索カウンタ4−1を0に
初期化する。これは、待ち状態のプロセス数を計数する
ための第1図検索カウンタ4−1を0に初期化すること
を意味している。
初期化する。これは、待ち状態のプロセス数を計数する
ための第1図検索カウンタ4−1を0に初期化すること
を意味している。
図中■は、資源R8を獲得中のプロセスをさがし、P、
とする。これは、第1図資源プロセス管理表1に記載さ
れている例えば資源R8を獲得中のプロセスP1を見つ
けることを意味している。
とする。これは、第1図資源プロセス管理表1に記載さ
れている例えば資源R8を獲得中のプロセスP1を見つ
けることを意味している。
図中■は、資源獲得中のプロセスP、があったかを判別
する。上記例では、プロセスP1が見つかったので、Y
ESとなり図中■の処理を行う。
する。上記例では、プロセスP1が見つかったので、Y
ESとなり図中■の処理を行う。
NOの場合(資源獲得中のプロセスが見つからなかった
場合)には、図中■でデッドロックなしとして正常復帰
する。
場合)には、図中■でデッドロックなしとして正常復帰
する。
図中■ば、その獲得中のプロセスP、が検出開始したプ
ロセスPかを判別する。YESの場合には、図中[相]
でデッドロックを通知して復帰する。
ロセスPかを判別する。YESの場合には、図中[相]
でデッドロックを通知して復帰する。
NOの場合には、図中■の処理を行う。
図中■は、その獲得中のプロセスP、が待ち状態かを判
別する。YESの場合には、図中■の処理を行う。NO
の場合(待ち状態でない場合)には、図中■以下の処理
を行う。
別する。YESの場合には、図中■の処理を行う。NO
の場合(待ち状態でない場合)には、図中■以下の処理
を行う。
図中■は、検索カウンタ4−1の値をカウントアンプす
る。これにより、資源待ち状態のプロセス数が計数され
る。
る。これにより、資源待ち状態のプロセス数が計数され
る。
図中■は、検索カウンタ4−1の値が調整パラメータよ
りも大きいかを判別する。YESの場合には、図中■で
デッドロックの可能性ありを通知して復帰する。NOの
場合には、図中■以下の処理を実行する。
りも大きいかを判別する。YESの場合には、図中■で
デッドロックの可能性ありを通知して復帰する。NOの
場合には、図中■以下の処理を実行する。
以上の処理を第1図資源プロセス管理表1に記載された
プロセスP、および資源R8に対して、資源R8から通
用を開始すると、第4図に示すような処理の繰り返しに
よって、デッドロック可能性ありとして結果が出力され
る。この際、第4図図中■の位置に記載した検索カウン
タ4−1の値S=1.2.3・・・6.に対応して、第
1図資源プロセス管理表1中のプロセスP2、P3 ・
・・P7の位置で検索カウンタ4−1の値S=1.2.
3・・・6となる。
プロセスP、および資源R8に対して、資源R8から通
用を開始すると、第4図に示すような処理の繰り返しに
よって、デッドロック可能性ありとして結果が出力され
る。この際、第4図図中■の位置に記載した検索カウン
タ4−1の値S=1.2.3・・・6.に対応して、第
1図資源プロセス管理表1中のプロセスP2、P3 ・
・・P7の位置で検索カウンタ4−1の値S=1.2.
3・・・6となる。
また、第1図資源管理プロセス表1中の資源獲得表TO
Yの代わりに点線を用いて示す資源獲得表T2Xを用い
た場合、第3図図中■YESとなって図中[相]でデッ
ドロックの3m知が出力される。
Yの代わりに点線を用いて示す資源獲得表T2Xを用い
た場合、第3図図中■YESとなって図中[相]でデッ
ドロックの3m知が出力される。
以上説明したように、本発明によれば、デッドロック検
出を行う際に、調整パラメータによって指定された値以
」−に待ち状態のプロセスの検索を行った場合、デソト
ロソク可能性ありの通知を行う構成を採用しているため
、テッドロック検出によるオーハーヘソドをCPUの能
力に合わせて容易に調整することができると共に、資源
の待ち状態が混んでいることを通知することができる。
出を行う際に、調整パラメータによって指定された値以
」−に待ち状態のプロセスの検索を行った場合、デソト
ロソク可能性ありの通知を行う構成を採用しているため
、テッドロック検出によるオーハーヘソドをCPUの能
力に合わせて容易に調整することができると共に、資源
の待ち状態が混んでいることを通知することができる。
第1図は本発明の1実施例構成図、第2図は資源プロセ
ス管理表の説明H1第3図は本発明の動作説明フ[J−
チャー1〜、第4図は本発明の動作説明図を示す。 図中、1は資源プロセス管理表、3はプロセス状態判断
部、4は検索調整部、4−1は検索カウンタを表す。
ス管理表の説明H1第3図は本発明の動作説明フ[J−
チャー1〜、第4図は本発明の動作説明図を示す。 図中、1は資源プロセス管理表、3はプロセス状態判断
部、4は検索調整部、4−1は検索カウンタを表す。
Claims (1)
- 【特許請求の範囲】 プロセスのデッドロックを検出するデッドロック検出方
式において、 プロセスの資源獲得状態および待ち状態を管理する資源
プロセス管理表(1)と、 この資源プロセス管理表(1)を参照して、プロセスが
ループ状態を形成しているか否を判断するプロセス状態
判断部(3)と、 このプロセス状態判断部(3)がポインタを辿って順次
プロセスのループ状態を判断する際に、待ち状態のプロ
セスが所定個数を超えた場合にデッドロックの可能性あ
りと判断する検索調整部(4)とを備え、 上記プロセス状態判断部(3)が上記資源プロセス管理
表(1)のポインタを辿って順次プロセスのループ状態
を判断する際に、待ち状態のプロセスの数が所定個数以
上になった場合に上記検索調整部(4)がデッドロック
の可能性ありと判断するように構成したことを特徴とす
るデッドロック検出方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63033098A JPH01207842A (ja) | 1988-02-16 | 1988-02-16 | デッドロック検出方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63033098A JPH01207842A (ja) | 1988-02-16 | 1988-02-16 | デッドロック検出方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01207842A true JPH01207842A (ja) | 1989-08-21 |
Family
ID=12377187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63033098A Pending JPH01207842A (ja) | 1988-02-16 | 1988-02-16 | デッドロック検出方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01207842A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07191865A (ja) * | 1993-08-03 | 1995-07-28 | Bull Sa | オペレーティング・システムにおけるインタブロックの分析方法 |
-
1988
- 1988-02-16 JP JP63033098A patent/JPH01207842A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07191865A (ja) * | 1993-08-03 | 1995-07-28 | Bull Sa | オペレーティング・システムにおけるインタブロックの分析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3392320B2 (ja) | マルチマスタバスシステムのバス回復装置及び方法 | |
US20040025164A1 (en) | Detecting deadlocks in multithreaded programs | |
US7657683B2 (en) | Cross-thread interrupt controller for a multi-thread processor | |
US5377351A (en) | Device for controlling multiple transactions contending concurrently for the same resource in a distributed database system | |
JPH01207842A (ja) | デッドロック検出方式 | |
Nakamori et al. | Decentralization of two phase locking based protocols | |
Alom et al. | Optimization of detected deadlock views of distributed database | |
JP2011170414A (ja) | ロック競合管理装置、ロック競合管理方法およびプログラム | |
JP3101023B2 (ja) | バス使用権制御方法 | |
JPH01140250A (ja) | デッドロック情報収集方式 | |
JP2641919B2 (ja) | ジョブスケジュール停止装置 | |
JPS6227818A (ja) | 入出力制御方式 | |
JP2566002B2 (ja) | タスクディスパッチング方式 | |
JPH03131935A (ja) | タイマ管理方式 | |
JP2009193128A (ja) | トランザクション装置、遅延障害分析装置、遅延障害分析方法およびプログラム | |
JPH0374730A (ja) | 計算機システムのデッドロック防止装置 | |
EP4091068A1 (en) | Optimal query scheduling for resource utilization optimization | |
JPS62204351A (ja) | デツドロツク解除方式 | |
JPH05257718A (ja) | プロセス制御装置 | |
JPH0581051A (ja) | リソース破壊監視方式 | |
JPS5844553A (ja) | 排他制御方式 | |
CN115202873A (zh) | 一种可用资源预判方法及装置 | |
JPH0485610A (ja) | サイクリックタイマ制御装置 | |
JPH02257225A (ja) | 計算機システムのバッファ管理装置 | |
JPH01133144A (ja) | 共用資源管理方式 |