JPH0254363A - デッドロック管理方式 - Google Patents

デッドロック管理方式

Info

Publication number
JPH0254363A
JPH0254363A JP20548488A JP20548488A JPH0254363A JP H0254363 A JPH0254363 A JP H0254363A JP 20548488 A JP20548488 A JP 20548488A JP 20548488 A JP20548488 A JP 20548488A JP H0254363 A JPH0254363 A JP H0254363A
Authority
JP
Japan
Prior art keywords
deadlock
resource
management mechanism
request
resources
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
JP20548488A
Other languages
English (en)
Inventor
Yasukuni Oiyake
岡宅 泰邦
Shinsuke Tamura
田村 信介
Toshibumi Seki
関 俊文
Hideji Harashima
秀次 原嶋
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP20548488A priority Critical patent/JPH0254363A/ja
Publication of JPH0254363A publication Critical patent/JPH0254363A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は1台または複数台の計算機から構成されるシス
テム内で並列的に実行される複数プロセス間でのデッド
ロック管理において、複数プロセスからのデッドロック
検出またはデッドロック防止、の要求を矛盾なく、しか
も前記要求の処理中にデッドロック状態に陥らないよう
に管理するデッドロック管理方式に関する。
(従来の技術) 一般にデータベース資源やプリンタ、ブロック等の周辺
機器資源を複数のプロセス間で共有するシステムでは、
各プロセスが資源を取合いしてデッドロック状態に陥ら
ないように管理するために何らかのデッドロック防止方
式が採られている場合が多い。
またデッドロックに陥ったときにそのことをいち速く検
出するデッドロック検出方式が採用されている場合も多
い。
従来のシステムでは、システムを集中管理する管理機構
が前記いずれかの方式を実行している。
これは従来のシステムが大型計算機中心の集中管理方式
を採用しているためであるが、この場合、ホスト計算機
である大型計算機がシステムダウンするとシステムが停
止するので、デッドロック管理ができなくなる。
ところで近年0ASEA、FA等の各分野におけるシス
テムの分散化は時代の要請となっており、複数の中、小
型計算機がネットワークで相互に接続されたシステム構
成が主流になりつつある。
このような分散システムに要求される機能の1つとして
システムのロバスト性(−頑健性)が挙げられるが、こ
れは複数の計算機のいくつがかダウンしても残りの計算
機で必要な仕事が処理できることを意味している。
しかし分散システムにおいても集中機構がシステム内の
資源に対するデッドロック検出や防止方策を一括管理し
ている場合、集中機構が組込まれた計算機がダウンすれ
ば、他の計算機が動いていても複数プロセスの仕事を処
理することができなくなる。
この状態を回避する方法としては、デッドロック検出や
防止を実行するデッドロック管理機構が、集中機構化さ
れずに各計算機毎に分散化され、かつ各計算機は自分の
計算機に所属する資源(データベース、周辺機器等)の
みに対してデッドロック管理を行う、分散デッドロック
管理方式が挙げられる。
分散デッドロック管理方式を用いれば、複数計算機のい
くつかがダウンしても、残りの計算機で複数プロセスが
デッドロック検出や防止を行いながら仕事の処理するこ
とができるようになる。
しかしながら分散デッドロック管理方式では、複数プロ
セスの各々がどんな資源を必要としており、また現在ど
のプロセスがどの資源を使用しているのかといった資源
使用状況を一括把握する集中機構が存在しないので、プ
ロセスが複数の計算機に所属する資源を使用している場
合には、これら計算機間でデッドロック管理に必要な情
報を通信し合う必要がある。
第4図はプロセスPIとプロセスP2がそれぞれ資源R
1と資源R2とを使用して各プロセスの仕事を処理しよ
うとしているところを表わしている。
今、プロセスP1と資源R1が計算機Iに、プロセスP
2と資源R2が計算機Hに所属しているとする。そして
プロセスP1が資源R2をロックし、プロセスP2が資
源R1をロックしている状況を想定する。
第4図中では資gR2からプロセスPLに向かった矢印
aと資源R1からプロセスP2に向かった矢印a かこ
の状況を表現している。この時、はぼ同時にプロセスP
1とプロセスP2とが各々資源R1と資源R2とにロッ
ク要求をしたとする。
プロセスPiがデッドロック管理機構Iに対し資源R1
のロック要求をすると、このデッドロック管理機構Iは
プロセスP1のロック要求がデッドロックを起こすか否
かを調べるためにデッドロック管理機構Hに計算機■内
の状況を尋ねる。
デッドロック管理機構■はデッドロック管理機構Iから
の要請に対して、プロセスP2が資源R1をロックして
いるのみであることを返答する。
デッドロック管理機構IはプロセスPiの資源R1への
ロック要求がデッドロックを起こさないのでプロセスP
1に資1XR1のロック待ちを許可する。
したがって第4図中すのようにプロセスPLから資源R
1への矢印が引がれる。プロセスP1の資in?fR1
へのロック要求とほぼ同時刻に、プロセスP2もデッド
ロック管理機構■に資源R2のロック要求を行う。
デッドロック管理機構■はプロセスP2のロック要求が
デッドロックを起こさないがを調べるためにデッドロッ
ク管理機構Iに計算機Iの状況を尋ねる。
この段階ではデッドロック管理機構Iのプロセスptの
資Fi、R1へのロック要求を受は付けていないので、
デッドロック管理機構IはプロセスPlが資源R2をロ
ックしていることをデッドロック管理機構■に返答する
したがってデッドロック管理機構■はプロセスP2に資
源R2のロック待ちを許可するので、プロセスP2から
資源R2への矢印b′が引がれる。
この段階でデッドロック管理機構Iとデッドロック管理
機構■はプロセスPlとプロセスP2のロック要求に対
してロック待ちを許可するのみでデッドロックになって
いないと判断している。
(発明が解決しようとする課題) しかしながら第4図に示したように、プロセスルミ、資
源R1、プロセスP2、資源R2の間で矢印の閉路がで
きているので、実際にはシステムはデッドロックに陥っ
ている。
ここで説明した例のように、実際にデッドロックが発生
しているのにデッドロック管理機構がその発生を検出で
きなかったのは、デッドロック管理機構1.IIが2台
の計算機1.II間にわたるデッドロックのチエツク(
防止または検出するための監視)を正しく行わなかった
ためである。
すなわち、゛デッドロック管理機構IがプロセスPiの
資源R1へのロック要求に対するデッドロックのチエツ
クをしている間は資源R1に関係する他プロセスのデッ
ドロックチエツクを許してはならないのに、デッドロッ
ク管理機構Iとデッドロック管理機構■とがそれぞれ独
立に他のプロセスのロック要求の発生を考慮しないでデ
ッドロックチエツクを実行したことに起因している。
本発明はこのような事情により成されたもので、集中管
理機構に依存しなくてもデッドロック管理を正しく実行
することができるデッドロック管理方式の提供を目的と
している。
[発明の構成] (課題を解決するための手段) 本発明のデッドロック管理方式は、複数のプロセスの各
々が1つ以上の資源を共有または専仔保持しつつ各プロ
セスの作業を実行する計算機システム内において、デッ
ドロック管理機構に対しデッドロック検出、デッドロッ
ク防+Lのいずれがの要求を出すプロセスが、前記デッ
ドロック管理機構に出す要求に、前記システム内で重複
しないプロセス識別子を添付する。
(作 用) 本発明のデッドロック管理方式では、プロセスの識別子
を各プロセス毎に付与し、複数の計算機に分散配置され
たデッドロック管理機構が前記識別子をチエツクするこ
とにより、各プロセスのロック要求の受は付けの可否を
判定するので、集中管理機構に依存しなくてもデッドロ
ック管理を正しく実行することかできる。
(実施例) 以下、本発明のデッドロック管理方式の実施例の詳細を
図面に基づいて説明する。
まず第1図に示したように、計算機工にはデッドロック
管理機構Iが設けられ、プロセスP1と資源R1とが所
属している。
また計算機■にはデッドロック管理機構■が設けられ、
プロセスP2と資源R2とが所属している。
第2図は前記デッドロック管理機構IおよびHの構成を
示す図である。
デッドロック管理機構は、自計算機内のプロセスからの
資源保持要求と、このプロセスのシステム内で唯一の識
別子を受は付けるモジュールAと、このプロセスの識別
子と他のプロセスの識別子との比較チエツクを行うモジ
ュールBと、資源の待合わせグラフを生成し、デッドロ
ックの検出やデッドロック発生の予知を行うモジュール
Cとからなる。
そして第3図は前記モジュールAにおける処理を詳細に
示す図である。
まずデッドロック管理機構IのモジュールAがプロセス
P1の資[R2に対するロック要求を受付けた時刻をT
l、デッドロック管理機構HのモジュールAがプロセス
P2の資源R2に対するロック要求を受付けた時刻をT
2とする。
今、T1くT2、すなわちプロセスP1の方がプロセス
P2よりも早くロック要求したとする。
各デッドロック管理機構1.IIのモジュールAはロッ
ク要求と同時にプロセスから識別子(ID)を受取る。
識別子は時刻値と計算機の番号(サイト番号と称する)
とから作成され、システム内で唯一のものである。
そして第1図では時刻値TIとサイト番号31から作成
された識別子IDIを持つプロセスP1が資源R2をロ
ックし、時刻値T2とサイト番号S2から作成された識
別子ID2を持つプロセスP2が資源R1をロックして
いる。
このとき計算機■中のプロセスP2が資源R2へのロッ
ク要求をデッドロック管理機構■にID2を添付して行
ったとする。
デッドロック管理機構■は現在デッドロックのチエツク
を実行していないので、プロセスP2の資iR2へのロ
ック要求をID2として記憶し、かつ資源R2が既にプ
ロセスP1によりロック済なので、ID2の要求がデッ
ドロックにならないかを判断するためのチエツクを開始
する。
デッドロック管理機構■は自身がID2の要求を処理中
であることを表示すると共に、計算機Iのデッドロック
管理機構IにプロセスP2か資源R2を識別子ID2で
要求している旨を伝える。
デッドロック管理機構Iも現在デッドロックチエツクを
実行中ではないので、デッドロック管理機構Iからのデ
ッドロックチエツク要求を処理中であることを示すID
2のフラグを表示してデッドロックチエツクを実施する
このチエツクの実施中にプロセスP1が資源R1へのロ
ック要求を識別子IDIによりデッドロック管理機構■
に対して行ったとする。
デッドロック管理機構Iは第3図に示したルーチンにし
たがって識別子のチエツクを行うが、処理中のID2の
時刻値T2が要求IDIの時刻値Tlより大であるので
、図中ステップbでNOと判定され、IDIの要求は拒
否される。
一方、ID2からのデッドロックチエツク要求を処理中
のデッドロック管理機構Iは、ID2に関係する資源R
1がプロセスP2のみにロックされている旨を返答し、
デッドロック管理機構IがID2の要求処理を終了する
デッドロック管理機構Iより返答を受信したデッドロッ
ク管理機構■は、プロセスP2の資源R2へのロック要
求がデッドロックを発生させないので、プロセスP2の
資gR2へのロック待ちを許可する。資源の待ち合わせ
のグラフ表示ではプロセスP2から資源R2への矢印i
が引かれる。
一方、IDIの識別子で資源R1のロック要求を拒否さ
れたプロセスptは、現在時刻T3  (T3 >T2
 >Tl )で新たな識別子ID3を作成し、再度ID
3で資源R3のロック要求をデッドロック管理機構Iに
行う。
デッドロック管理機構Iは、もしまだID2の要求を処
理中ならばID3の要求を第3図のステップCに従って
待ち行列に並べ、ID2の処理の終了後、この要求を待
ち行列から取り出してデッドロックチエツクを開始する
デッドロック管理機構Iはデッドロック管理機構HにI
D3の要求を伝え、デッドロック管理機構■から、資源
R2がプロセスPIにロックされかつプロセスP2が資
源R1のロック待ち状況になっている旨を受信する。
デッドロック管理機構Iはこの受信内容とプロセスpt
の資源R1に対するロック要求とを比較して、このロッ
ク要求によりデッドロックが発生したことを検出する。
資源の待ち合わせ表示では、矢印jが引かれるので、プ
ロセスPl、資源R1,プロセスP2、資源R2間で閉
路が形成され、デッドロック状態であることがわかる。
かくして本実施例によれば複数の計算機から成るシステ
ムに分配して所属する各種資源内容の正当性を維持しな
がらデッドロック管理を分配して実行することが可能に
なり、システムの一部の計算機がダウンしても他の計算
機に所属する資源を矛盾なく管理することができる。
[発明の効果] 以上説明したように本発明のデッドロック管理方式では
、独自の識別子を各プロセス毎に付与し、複数の計算機
に分散配置されたデッドロック管理機構が前記識別子を
チエツクすることにより、各プロセスのロック要求の受
は付けの可否を判定するので、集中管理機構に依存しな
(でもデッドロック管理を正しく実行することができる
【図面の簡単な説明】
第1図は本発明を適用したシステムの一実施例の全体構
成を示す図、第2図は同システムにおけるデッドロック
管理機構の構成を示す図、第3図は同システムにおける
処理の流れを示す図、第4図は従来の分散処理システム
の構成の一例を示す図である。 B1 C・・・モジュール、 Pl 、 B2・・・プロセ ス、 ・・・資源。

Claims (1)

    【特許請求の範囲】
  1. (1)複数のプロセスの各々が1つ以上の資源を共有ま
    たは専有保持しつつ各プロセスの作業を実行する計算機
    システム内において、デッドロック管理機構に対しデッ
    ドロック検出、デッドロック防止のいずれかの要求を出
    すプロセスが、前記デッドロック管理機構に出す要求に
    、前記システム内で重複しないプロセス識別子を添付す
    ることを特徴とするデッドロック管理方式。
JP20548488A 1988-08-18 1988-08-18 デッドロック管理方式 Pending JPH0254363A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20548488A JPH0254363A (ja) 1988-08-18 1988-08-18 デッドロック管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20548488A JPH0254363A (ja) 1988-08-18 1988-08-18 デッドロック管理方式

Publications (1)

Publication Number Publication Date
JPH0254363A true JPH0254363A (ja) 1990-02-23

Family

ID=16507617

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20548488A Pending JPH0254363A (ja) 1988-08-18 1988-08-18 デッドロック管理方式

Country Status (1)

Country Link
JP (1) JPH0254363A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06208498A (ja) * 1992-09-22 1994-07-26 Internatl Business Mach Corp <Ibm> 複数のシステムより成る多重処理環境における予約保持システムの捜出方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06208498A (ja) * 1992-09-22 1994-07-26 Internatl Business Mach Corp <Ibm> 複数のシステムより成る多重処理環境における予約保持システムの捜出方法及び装置

Similar Documents

Publication Publication Date Title
US4791554A (en) Method and apparatus for preventing deadlock in a data base management system
US7028303B2 (en) Method, system, and program for processing a job in an event driven workflow environment
EP0618532B1 (en) Deadlock detecting device
EP0428006B1 (en) Multilevel locking system and method
US4399504A (en) Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
Ellis A Robust Algorithm for Updating Duplicate Databases.
JP3149349B2 (ja) エージェント・プロセッサ間でのメッセージ通信のためのシステム
US5630124A (en) System and method for assuring atomicity of distributed update requests in a parallel database
US7013294B1 (en) License management system
KR100322224B1 (ko) 클라이언트/서버 컴퓨터 시스템에서 서버 내의 클라이언트 요청들의 디스패칭시에 시맨틱 동시 제어를 수행하는 장치 및 방법
JPH1165863A (ja) 共有資源管理方法
JPH02195453A (ja) ファイルアクセス制御方式
US20050262159A1 (en) Managing a thread pool
KR100403659B1 (ko) 서버 프로세스 장치 및 서버 프로세스 방법 및 컴퓨터 판독가능한 기록 매체
US6487580B1 (en) Method and system for managing concurrently executable computer processes
JPH0254363A (ja) デッドロック管理方式
Al-Hussaini et al. A new multi-resource deadlock detection algorithm using directed graph requests in distributed database systems
US6381606B1 (en) Application programming interface for creating authorized connections to a database management system
US6981264B1 (en) Method for handling multiple program exceptions across heterogeneous systems
JPH02171952A (ja) マルチプロセッサにおけるディスパッチ方式
JPH0277960A (ja) 分散型データベースにおける一貫性制御のデッドロック防止方式
JPS6320634A (ja) 計算機資源排他制御方式
JP2535631B2 (ja) コル―チン呼び出し制御方式
JP2000259436A (ja) 分散オブジェクト環境における排他制御方式
JPS62232064A (ja) 分散デ−タベ−スシステムのデツドロツク防止方式