JPH07334379A - デッドロック検出法 - Google Patents

デッドロック検出法

Info

Publication number
JPH07334379A
JPH07334379A JP6131588A JP13158894A JPH07334379A JP H07334379 A JPH07334379 A JP H07334379A JP 6131588 A JP6131588 A JP 6131588A JP 13158894 A JP13158894 A JP 13158894A JP H07334379 A JPH07334379 A JP H07334379A
Authority
JP
Japan
Prior art keywords
deadlock
resource
processes
information table
search 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
Application number
JP6131588A
Other languages
English (en)
Inventor
Shinji Matsuura
慎治 松浦
Hajime Fujimoto
肇 藤本
Yasuo Sekine
康雄 関根
Atsushi Suzuki
淳 鈴木
Toshiyuki Tsuboya
敏行 坪谷
Shigeru Ogawa
茂 小川
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.)
Hitachi Ltd
Hitachi Information and Control Systems Inc
Original Assignee
Hitachi Ltd
Hitachi Process Computer Engineering Inc
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 Hitachi Ltd, Hitachi Process Computer Engineering Inc filed Critical Hitachi Ltd
Priority to JP6131588A priority Critical patent/JPH07334379A/ja
Publication of JPH07334379A publication Critical patent/JPH07334379A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【構成】デッドロック検出処理に資源aを占有している
複数プロセスを記録するデッドロック検索テーブル10
0を設け、デッドロック検索テーブル100に記録され
ているプロセスについて一つずつデッドロック判定を行
う処理を設ける。 【効果】複数プロセスが資源aを同時にリード処理でき
るようになり、排他制御のおよび80%を占めるリード
処理の排他制御を高速化に寄与した。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マルチプロセス環境を
提供する計算機上での資源(共用メモリ上の分割領域
等)の排他制御におけるデッドロック検出法に関する。
【0002】
【従来の技術】従来、排他制御が、資源の占有を一プロ
セスにしか許していなかったため、デッドロック検出法
においても、資源を占有している一プロセスについてデ
ッドロック判定を行っていた。
【0003】(特願平3−28934号明細書)
【0004】
【発明が解決しようとする課題】システム全体のスルー
プットを向上させるためにはデータの整合性に問題が生
じないリード処理において複数プロセスからの同一資源
アクセスをサポートする必要があるが、従来のデッドロ
ック検出法では、資源を占有する複数のプロセスについ
てデッドロック判定を行う機構を持たないため、複数プ
ロセスからの同一資源アクセスをサポートしたデッドロ
ック検出方法の提供が必要であった。
【0005】
【課題を解決するための手段】資源を占有している全プ
ロセスを記録するテーブルを設け、このテーブルに記録
されている全プロセスについてデッドロック判定を行
う。
【0006】
【作用】上記デッドロック検索テーブルに記録された全
プロセスについてデッドロック判定を行うことにより、
漏れのないデッドロック検出処理を実現し、また、一度
占有待ちしていると判定されたプロセスは、2回目以降
の占有待ち判定後、デッドロック検索テーブルにプロセ
スを書き込む処理を行わないことにより、処理時間を実
用化できる長さにおさえた。
【0007】
【実施例】次に、本発明の実施例について図面を用いて
説明する。
【0008】図1は、デッドロック検索テーブル100
の説明図、図2は、本発明の一実施例を示すフローチャ
ート200、図3は、占有情報テーブル300と資源情
報テーブル310の説明図、図4は、プロセス管理テー
ブル400の説明図、図5は、本発明が検出するデッド
ロック状態の模式図、図6は、占有情報テーブル300,資
源管理テーブル310,プロセス管理テーブル400の
テーブル相関図、図7は、図2の実施例フローチャート
200におけるデッドロック検索テーブル100のテーブ
ル操作を示す模式図である。
【0009】図2のフローチャートに従って、以下説明
を行う。
【0010】プロセスAが、資源aを占有しようとし、
既に資源aが占有されていたとき、資源aを占有してい
るプロセスB,C,Dの占有情報テーブル300のアド
レスを資源aの資源情報テーブルから読み出し、デッド
ロック検索テーブル100にデータ部104の先頭から
書き込む(201,702)。このとき、ネクストポイ
ンタ(next pointer)102は、データ部の書き込まれ
た部分の直後のアドレスを指している。
【0011】上記処理201,702の後、デッドロッ
ク検索テーブル100のカレントポインタ101(curre
nt pointer)が指している箇所の内容を1ケース取り出
し(202),取り出した占有情報テーブル300のア
ドレスがプロセスAの占有情報テーブル300のアドレ
スと等しいか判定し(203)、等しいときは、デッド
ロック検出として本発明の処理を終了する。
【0012】カレント ポインタ101が指している箇
所から取り出した占有情報テーブル300のアドレスが
プロセスAの占有情報テーブル300のアドレスと等し
くなかったとき、カレント ポインタ101が指してい
る箇所から取り出した占有情報テーブル300の内容を
調べる(204,205)。調べた結果、待ち資源情報
テーブル301に資源情報テーブル310のアドレスが
入っており、かつ、また、マーク302が0のときは、
資源情報テーブル310の所有者の占有情報テーブル3
11をデッドロック検索テーブル100にネクスト ポ
インタ102が指しているところから書き込み、ネクス
ト ポインタ102にデータ部の書き込まれた部分の直
後のアドレスを記録し(206,703)、マークをカ
レントポインタ101が指している箇所から取り出した
占有情報テーブル300のマーク302に書き込み(2
07)、次の処理(208)を行う。待ち資源情報テー
ブル301に資源情報テーブル310のアドレスが入っ
ていないか、または、マーク302が0でないときは、
デッドロック検索テーブル100と占有情報テーブル3
00のマーク302への書き込み処理を行わず、次の処
理(208)を行う。
【0013】カレント ポインタ101を1ケース分更
新した(208)後、デッドロック検索テーブル100
に占有情報テーブル300のアドレスが記録されている
全プロセスについて上記のデッドロック検出処理(20
3)を行ったかカレント ポインタ101とネクスト
ポインタ102を比較して調べ(209)、カレントポ
インタ101とネクスト ポインタ102が等しくない
場合、カレント ポインタ101が指している箇所の内
容を1ケース取り出す処理(202)に戻り、再びデッ
ドロック処理を行う。カレント ポインタ101とネク
スト ポインタ102が等しい場合、デッドロック検出
せずとして本発明の処理を終了し、占有待ちの処理に移
る。
【0014】上記の説明からわかるように、資源aを占
有している全プロセスの占有情報テーブル300のアド
レスをデッドロック検索テーブル100に記録し、占有
情報テーブル300のアドレスが記録されている全プロ
セスについてデッドロック検出処理(203)を行うこ
とにより、複数のプロセスが資源aを占有する排他制御
でもデッドロックの発生を検出することができる。
【0015】本発明の適用例には、ユーザプログラムが
共用メモリやファイルにリードアクセスするときに使用
する排他制御システムコールや、分散システムにおける
データベースへのリードアクセス処理で使用される排他
制御が挙げられる。
【0016】
【発明の効果】本発明がデッドロックを検出する排他制
御は、データの整合性に問題が生じないリード処理で複
数プロセスからの同一資源アクセスをサポートする排他
制御である。実機上で、リード処理は、ライト処理の数
倍の頻度で行われており、メモリ等にアクセスする際の
排他制御は、リード処理に伴う排他制御が。全体の約8
0%を占めている。複数のプロセスが、資源aを同時に
リードアクセスすることを可能にすることにより、シス
テム全体のスループットは、著しく向上する。本発明
は、マルチプログラミング環境において排他制御を実用
化するのに不可欠なものであり、システム全体のスルー
プットの向上に寄与している。また、システムデッドロ
ックを事前に検出し、システム停止を回避するものであ
る。
【図面の簡単な説明】
【図1】デッドロック検索テーブルの説明図。
【図2】本発明の一実施例を示すフローチャート。
【図3】資源情報テーブル及び占有情報テーブルの説明
図。
【図4】プロセス管理テーブルの説明図。
【図5】図2の実施例フローチャートにおけるデッドロ
ック検索テーブルのテーブル操作を示す説明図。
【図6】占有情報テーブル,資源情報テーブル,プロセ
ス管理テーブルの説明図。
【図7】本発明が検出するデッドロックが発生した状態
を示す説明図。
【符号の説明】
100…デッドロック検索テーブル、101…カレント
ポインタ、102…ネクスト ポインタ、103…ラ
スト ポインタ、104…データ部。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 藤本 肇 茨城県日立市大みか町五丁目2番1号 日 立プロセスコンピュータエンジニアリング 株式会社内 (72)発明者 関根 康雄 茨城県日立市大みか町五丁目2番1号 日 立プロセスコンピュータエンジニアリング 株式会社内 (72)発明者 鈴木 淳 茨城県日立市大みか町五丁目2番1号 日 立プロセスコンピュータエンジニアリング 株式会社内 (72)発明者 坪谷 敏行 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 小川 茂 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセスが一つの資源を占有するこ
    とができる排他制御のデッドロック検出法において、プ
    ロセス毎に、プロセスが占有待ちしている前記資源を示
    すための占有情報テーブルを持たせ、資源毎に、資源を
    占有しているプロセスを示すための資源情報テーブルを
    持たせ、デッドロック検索テーブルを持たせて、第一の
    プロセスが、第一資源に対して占有待ちになるとき、前
    記第一資源の資源情報テーブルから前記第一資源を占有
    しているプロセスを示す値を読み出し、前記デッドロッ
    ク検索テーブルに書き込む手段を設けることにより、前
    記デッドロック検索テーブルに記録されているプロセス
    が、前記第一プロセスと同じプロセスかどうかを判定
    し、同じプロセスである場合、デッドロックとして検出
    することを特徴とするデッドロック検出法。
  2. 【請求項2】請求項1において、前記デッドロック検索
    テーブルに記録されているプロセスが、前記第一プロセ
    スではなかった場合、前記第一プロセスが、資源の占有
    待ちしているか否かを前記占有情報テーブルで調べ、プ
    ロセスが占有待ちしているときは、前記占有情報テーブ
    ルから占有待ちしている資源を求め、この資源の前記資
    源情報テーブルからこの資源を占有しているプロセスを
    求め、この資源を占有しているプロセスを前記デッドロ
    ック検索テーブルに書き込み、プロセスが占有待ちにな
    っていないときは、前記デッドロック検索テーブルへの
    書き込みを行わないデッドロック検出法。
  3. 【請求項3】請求項2において、前記デッドロック検索
    テーブルに記録されている全プロセスについて判定が行
    われたか否かを判定し、全プロセスについて判定が行わ
    れた場合、デッドロック検出せずとしてデッドロック検
    出処理を終了し、全プロセスについて行われていない場
    合、請求項1の判定処理に戻り、未だ請求項1の判定処
    理が行われていないプロセスについて前記デッドロック
    検出処理を行うデッドロック検出法。
  4. 【請求項4】請求項2において、前記デッドロック検索
    テーブルにプロセスを書き込む処理の後、請求項1の判
    定処理がなされたプロセスにマークをつけ、マークがつ
    いているプロセスは、次回以降の占有待ち判定で占有待
    ちしていると判定されても請求項2の処理でデッドロッ
    ク検索テーブルへの書き込みを行わないデッドロック検
    出法。
JP6131588A 1994-06-14 1994-06-14 デッドロック検出法 Pending JPH07334379A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6131588A JPH07334379A (ja) 1994-06-14 1994-06-14 デッドロック検出法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6131588A JPH07334379A (ja) 1994-06-14 1994-06-14 デッドロック検出法

Publications (1)

Publication Number Publication Date
JPH07334379A true JPH07334379A (ja) 1995-12-22

Family

ID=15061571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6131588A Pending JPH07334379A (ja) 1994-06-14 1994-06-14 デッドロック検出法

Country Status (1)

Country Link
JP (1) JPH07334379A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858075A (zh) * 2020-06-30 2020-10-30 广东浪潮大数据研究有限公司 一种死锁检测的方法、系统、设备及可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858075A (zh) * 2020-06-30 2020-10-30 广东浪潮大数据研究有限公司 一种死锁检测的方法、系统、设备及可读存储介质

Similar Documents

Publication Publication Date Title
US6292808B1 (en) Method and apparatus for reapplying changes to a database
US8650442B2 (en) Programming in a simultaneous multi-threaded processor environment
US8812595B2 (en) Scanning a message-list
CA2218270C (en) Text index registration and retrieval method
US7634496B1 (en) Techniques for managing state changes of a data storage system utilizing the object oriented paradigm
US7870195B1 (en) Inter-processor messaging
US7249352B2 (en) Apparatus and method for removing elements from a linked list
JP2003519834A (ja) メモリ管理によって参照の局所性を改善するための方法および装置
US20070255771A1 (en) Method and system for renewing an index
JPH07334379A (ja) デッドロック検出法
JPH0689222A (ja) コンピュータ・システムにおけるメモリ管理方法及び装置
JP3762226B2 (ja) 電子掲示板作成装置、電子掲示板作成方法、電子掲示板作成処理用プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3016255B2 (ja) データベース管理システム
JP3555181B2 (ja) 構造化文書検索方法
JPH05342265A (ja) マルチメディア管理装置およびそのメディア提示方法
JP3055271B2 (ja) タスク同定方式
US20050131883A1 (en) Browsing a list of data items
CN117056313A (zh) 一种内存数据库事务管理方法、装置、电子设备及介质
JP3130870B2 (ja) メモリダンプファイル再構成方式
JP2525921B2 (ja) ソフトウェア設計情報の誤り検出方式
JP2001060147A (ja) 遅延ライトの障害制御方法
JPS62245347A (ja) データベースシステムおよびその処理方法
JP2001243097A (ja) 情報処理システム、情報処理装置、情報処理システムのデータ更新方法ならびに記録媒体
JPH01116851A (ja) プログラムのロード制御方式
JP2000207229A (ja) 資源占有の管理方式