JPH07271617A - デッドロック再発生防止機能付き復旧方式 - Google Patents

デッドロック再発生防止機能付き復旧方式

Info

Publication number
JPH07271617A
JPH07271617A JP6169094A JP6169094A JPH07271617A JP H07271617 A JPH07271617 A JP H07271617A JP 6169094 A JP6169094 A JP 6169094A JP 6169094 A JP6169094 A JP 6169094A JP H07271617 A JPH07271617 A JP H07271617A
Authority
JP
Japan
Prior art keywords
deadlock
resource
retry
resources
processes
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
JP6169094A
Other languages
English (en)
Inventor
Akihiro Yuasa
章浩 湯浅
Hiroshi Tawara
弘志 田原
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.)
NEC Corp
NEC Telecom System Ltd
Original Assignee
NEC Corp
NEC Telecom System Ltd
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 NEC Corp, NEC Telecom System Ltd filed Critical NEC Corp
Priority to JP6169094A priority Critical patent/JPH07271617A/ja
Publication of JPH07271617A publication Critical patent/JPH07271617A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】マルチプロセスシステムにおけるデッドロック
発生時に、リソース競合を繰返してデッドロックから脱
出できなくなるのを防止する。 【構成】リソース獲得システムコール4は、デッドロッ
ク発生時、作成済みのテーブル類からデッドロック原因
解析テーブル7を作成し、通常のデッドロック復旧処理
を行う。そして以降のリソースロック要求の際にはデッ
ドロック原因リソース解析テーブル7において、待って
いるリソースとロックしているリソースとを検索し、資
源割当テーブル6を監視する事によって、プロセス2の
リトライを検索した該当リソースが全て解除されるまで
待ち合わせる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数の共通リソースを
アクセスするマルチプロセスシステムにおいて、その共
通リソースに対するアクセス競合に起因するデッドロッ
クを復旧させるためのデッドロック再発生防止機能付き
復旧方式に関する。
【0002】
【従来の技術】従来のデッドロック復旧方式では、図3
に例示するようなマルチプロセスシステムにおいて、デ
ッドロック時にプロセス1(F03)およびプロセス2
(F04)が共通のリソースA(F01)、リソースB
(F02)に対するアクセスを競合していることが検出
された場合、プライオリティが低い方のプロセス2(F
04)にリソースB(F02)のロックを解放させたあ
と、デッドロックの原因となったリソースB(F02)
の獲得要求のステップまで処理を戻させて、プロセス2
(F04)から再度リソース獲得システムコール14を
発行させるよう制御している。
【0003】
【発明が解決しようとする課題】上述したような従来の
デッドロック復旧方式では、プライオリティの低い方の
プロセス2(F04)が一旦ロックしたリソースB(F
02)を解放させた後に再び実行可能状態にさせるが、
再実行時にまたプロセス1および2(F03およびF0
4)がリソースAおよびB(F01およびF02)に対
し競合アクセスして、再度デッドロックが発生してしま
う可能性がある。
【0004】
【課題を解決するための手段】本発明の復旧方式は、複
数のプロセスが複数の共有リソースをアクセスするマル
チプロセスシステムにおけるデッドロック発生後のリト
ライの有無をオンオフにより表わすためのリトライフラ
グに応答して、デッドロック発生時にその原因となった
前記共有リソースを競合している複数の前記プロセスの
うち最高のプライオリティをもつ1つを除いたほかのも
のがロックしている前記共有リソースをすべてロック解
除させ、最高プライオリティの前記プロセスがデッドロ
ックの原因となった前記共有リソースをすべて解放する
までほかの前記プロセスのリトライのタイミングを待ち
合わせる処理過程を有する。
【0005】
【実施例】次に、本発明について図面を参照して説明す
る。
【0006】図1は本発明の一実施例を示すシステム構
成図である。同図において参照符号1はマルチプロセス
システム、2はプロセス、3は共有リソース、4はリソ
ース獲得システムコール、5はリトライフラグ、6はリ
ソース割当テーブル、7はプロセス待ち合わせテーブ
ル、8はプライオリティ管理テーブル、9はデッドロッ
ク原因リソース解析テーブルをそれぞれ示す。
【0007】図2は本実施例におけるリソース獲得シス
テムコール4の処理手順を示すフローチャート、図4は
本実施例を適用したマルチプロセスシステムの構成図、
図5(a)〜(d)は本実施例における内部テーブルの
状態変化を例示した状態図である。
【0008】動作時には、まずリソース獲得システムコ
ール4は、プロセス1(F03)またはプロセス2(F
04)からのリソースロック要求を待つ(図2中のステ
ップS1)。リソースロック要求がある場合は、リソー
ス割当テーブル6、プロセス待ち合わせテーブル7を作
成し(ステップS2)、リトライフラグ5を読む(ステ
ップS3)。リトライフラグ5がオフ(OFF)でデッ
ドロックが発生していなければ、リソース獲得を行う
(ステップS5)。リトライフラグ5がOFFでデッド
ロックが発生していれば、リソース割当テーブル6とプ
ロセス待ち合わせテーブル7とプライオリティ管理テー
ブル8とから、デッドロック原因リソース解析テーブル
9を作成し(ステップS6)、リトライフラグ5をオン
(ON)設定し(ステップS7)、プライオリティの低
いプロセス2(F04)の競合リソースを全て解放し
(ステップS8)、図5(a)から(b)へと状態が推
移する。ついでデッドロックの原因となったリソース獲
得地点まで処理を戻し(ステップS9)、再度リソース
ロック要求待ちとなる(ステップS1)。
【0009】一方リトライフラグF5がONの場合、リ
トライフラグ5のOFF設定を行い(ステップS1
0)、デッドロック原因リソース解析テーブル9におい
て、待っているリソースとロックしているリソースとを
検索し(ステップS11)、リソース割当テーブル6を
監視する事によって、プロセス2(F04)のリトライ
タイミングを、検索した該当リソースが全て解放される
まで待ち合わせる(ステップS12)。これにより図5
(c)の状態へ推移し、競合リソースが全て解放された
後、プロセス2(F04)の処理を再開可能とし、処理
を続行する(ステップS13)と図5(d)の状態へ推
移する。
【0010】以上説明したようにデッドロック発生時に
は、プライオリティの低い方のプロセスで競合リソース
が全て解放されるまでリトライを待ち合わせることによ
り、従来のようにデッドロックが繰返し発生することを
防止できる。
【0011】
【発明の効果】以上説明したように本発明によれば、リ
トライされた事を判断する機能およびリトライされた場
合に相手プロセスの競合リソースの解放要求を待つ機能
を有したリソース獲得システムコールと、待っているリ
ソースおよびロックしているリソースを管理するデッド
ロック原因リソース解析テーブルと、リトライフラグと
を付加して、デッドロックが発生した場合におけるリト
ライのタイミングを、競合リソースが全て解放されるま
で待ち合わせることにより、デッドロックの繰返し発生
を防止できる。
【図面の簡単な説明】
【図1】本発明の一実施例のシステム構成図。
【図2】本発明の一実施例における処理手順を示すフロ
ーチャート。
【図3】従来方式を例示する構成図。
【図4】本発明の一実施例を適用したマルチプロセスシ
ステムの構成図。
【図5】(a)ないし(d)は本発明の一実施例におけ
る内部テーブルの状態を例示する状態図。
【符号の説明】
1 マルチプロセスシステム 2 プロセス 3 共有リソース 4 リソース獲得システムコール 5 リトライフラグ 6 リソース割当テーブル 7 プロセス待ち合わせテーブル 8 プライオリティ管理テーブル 9 デッドロック原因リソース解析テーブル F01 リソースA F02 リソースB F03 プロセス1 F04 プロセス2

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセスが複数の共有リソースを
    アクセスするマルチプロセスシステムにおけるデッドロ
    ック発生後のリトライの有無をオンオフにより表わすた
    めのリトライフラグに応答して、デッドロック発生時に
    その原因となった前記共有リソースを競合している複数
    の前記プロセスのうち最高のプライオリティをもつ1つ
    を除いたほかのものがロックしている前記共有リソース
    をすべてロック解除させ、最高プライオリティの前記プ
    ロセスがデッドロックの原因となった前記共有リソース
    をすべて解放するまでほかの前記プロセスのリトライの
    タイミングを待ち合わせる処理過程を有することを特徴
    とするデッドロック再発生防止機能付き復旧方式。
  2. 【請求項2】 前記処理過程は、前記リトライフラグが
    オフの時にデッドロックが発生すると前記リトライフラ
    グをオンに切換え設定して最高のプライオリティの前記
    プロセス以外の前記共通リソースをすべて解放させるロ
    ック解放過程と、前記リトライフラグがオンの時にこれ
    をオフに切換えたあと最高のプライオリティの前記プロ
    セスが競合リソースをすべて解放するまでほかの前記プ
    ロセスのリトライを待ち合わせるリトライ待ち合せ過程
    とを有する請求項1記載のデッドロック再発生防止機能
    付き復旧方式。
JP6169094A 1994-03-30 1994-03-30 デッドロック再発生防止機能付き復旧方式 Pending JPH07271617A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6169094A JPH07271617A (ja) 1994-03-30 1994-03-30 デッドロック再発生防止機能付き復旧方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6169094A JPH07271617A (ja) 1994-03-30 1994-03-30 デッドロック再発生防止機能付き復旧方式

Publications (1)

Publication Number Publication Date
JPH07271617A true JPH07271617A (ja) 1995-10-20

Family

ID=13178513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6169094A Pending JPH07271617A (ja) 1994-03-30 1994-03-30 デッドロック再発生防止機能付き復旧方式

Country Status (1)

Country Link
JP (1) JPH07271617A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60205634A (ja) * 1984-03-29 1985-10-17 Nec Corp デツドロツク発生時の遅延再処理方式
JPS63265336A (ja) * 1987-04-22 1988-11-01 Nec Corp 共有資源の優先割り当て制御方式
JPH0485632A (ja) * 1990-07-30 1992-03-18 Nec Corp デッドロック回避方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60205634A (ja) * 1984-03-29 1985-10-17 Nec Corp デツドロツク発生時の遅延再処理方式
JPS63265336A (ja) * 1987-04-22 1988-11-01 Nec Corp 共有資源の優先割り当て制御方式
JPH0485632A (ja) * 1990-07-30 1992-03-18 Nec Corp デッドロック回避方式

Similar Documents

Publication Publication Date Title
EP0351536B1 (en) Systematic recovery of excessive spin loops in an n-way mp environment
US5623670A (en) Method and apparatus for crash safe enforcement of mutually exclusive access to shared resources in a multitasking computer system
JPH0451335A (ja) データベース処理装置
US6507861B1 (en) System and method for avoiding deadlock in a non-preemptive multi-threaded application running in a non-preemptive multi-tasking environment
US20050102447A1 (en) System and method for exiting from an interrupt mode in a multiple processor system
JPH1021098A (ja) 排他制御装置
JPH07271617A (ja) デッドロック再発生防止機能付き復旧方式
JPS6336545B2 (ja)
US7788529B2 (en) Method for safely interrupting blocked work in a server
JPS6125249A (ja) 排他制御方式
JPS62113260A (ja) マルチcpuシステムにおけるタイマ監視制御方式
JPH03116261A (ja) マルチプロセッサ制御方式
JP2001256065A (ja) 排他制御方法及び計算機システム
JPS63146153A (ja) プロセツサ間排他制御処理方式
JPS63157257A (ja) マルチプロセツサ構成における資源制御方式
JPS63265336A (ja) 共有資源の優先割り当て制御方式
JPH03260734A (ja) コンピュータシステムの資源管理方式
JPH05113891A (ja) 疑似セマフオア方式
KR0139724B1 (ko) 유닉스 환경의 dbms에서 좀비 트랜잭션의 발견 및 처리 방법
CN117687806A (zh) 死锁处理方法、电子设备以及存储介质
JPS63104146A (ja) 資源管理システム
JPH09282185A (ja) リアルタイムシステムおよびその資源管理方法
JPS6191729A (ja) 排他エラ−通知先選択方式
JPH0452492B2 (ja)
JPH064321A (ja) 割り込み管理方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19980526