JPH0481965A - デッドロック回避方式 - Google Patents

デッドロック回避方式

Info

Publication number
JPH0481965A
JPH0481965A JP2195598A JP19559890A JPH0481965A JP H0481965 A JPH0481965 A JP H0481965A JP 2195598 A JP2195598 A JP 2195598A JP 19559890 A JP19559890 A JP 19559890A JP H0481965 A JPH0481965 A JP H0481965A
Authority
JP
Japan
Prior art keywords
task
deadlock
srr
execution level
available 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
JP2195598A
Other languages
English (en)
Inventor
Shigeyuki Ono
重幸 大野
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
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2195598A priority Critical patent/JPH0481965A/ja
Publication of JPH0481965A publication Critical patent/JPH0481965A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデッドロック回避方式に関し、特に情報処理シ
ステムにおける逐次使用可能資源のためのプツトロック
回避方式に関する。
〔従来の技術〕
従来のデッドロック回避方式は、逐次使用可能資源のた
めのデッドロックが発生した場合に、デ、ドロックを起
こしている双方のタスクの実行レベルを比較して、実行
レベルが低い方のタスクを削除し、その際に、削除され
るタスクが確保していた逐次使用可能資源をすべて解放
することにより、プツトロックを回避していた。
第4図は従来のデッドロック回避方式によるデッドロッ
クの回避の一例を示す図である。
第4図に示すように、CPUのタクスAが逐次使用可能
資源であるSRR■を使用するために、他のタスクから
の使用を禁止(ロック)シ、また、CPUIのタスクB
がSRR■をロックしているときに、タスクAがSRR
■を、タスクBがSRR■をロックしようとした場合に
、双方の使用禁止(ロック)を解除できなくなり、デッ
ドロックとなる。
ここで、タスクAよりタスクBの実行レベルの方が低い
場合に、タスクBがロックしているSRR■を解放し、
タスクBを削除することによって、デッドロックの回避
を行っていた。
〔発明が解決しようとする課題〕
上述した従来のデッドロック回避方式は、逐次使用可能
資源のためのデッドロックが発生すると、実行レベルの
低いタスクが削除されてしまって実行できないという欠
点を有している。
本発明の目的は、定期的に逐次使用可能資源のためのデ
ッドロックを監視し、デッドロックが発生すると、関係
するタスクを検出し、デッドロックを起こしている双方
のタスクの実行レベルを比較し、実行レベルの低い方の
タスクがロックしている全ての逐次使用可能資源を解放
することにより、実行レベルの高いタスクを優先して走
行させ、実行レベルの低いタスクも解放した逐次使用可
能資源の確保以前の状態に戻して実行させることができ
るデッドロック回避方式を提供することにある。
〔課題を解決するための手段〕
本発明のデッドロック回避方式は、密結合多重プロセス
処理(丁1gbtly Coupled Multl−
processlngまたはTCMP)などの逐次使用
可能資源(Serially Reusable Re
5ourceまたはSRR)のためのデッドロック回避
方式において、一定時間毎に起動して逐次使用可能資源
のためのデッドロックを判定する定期監視手段と、前記
定期監視手段で判定されたデッドロックによりデッドロ
ック中のタスクを検出するタスク検出手段と、前記タス
ク検出手段で検出されたプツトロック中のタスクの実行
レベルを比較し、実行レベルの低いタスクがロックして
いるすべての逐次使用可能資源を解放し、実行レベルの
高いタスクを優先して走行させるための逐次使用可能資
源解放手段と、その実行レベルの低いタスクを実行する
ための環境であるタスクコンテクストを解放した逐次使
用可能資源の確保以前の状態に戻すためのコンチクスト
設定手段とを有して構成されている。
〔実施例〕
次に、本発明の実施例について図面を参照して説明する
第1図は本発明のデッドロック回避方式の一実施例を示
すブロック図である。
本実施例は、第1図に示すように、一定時間毎に起動し
てデッドロックを判定する定期監視手段11と、デッド
ロックと判定された場合に、関係するタスクを検出する
タスク検出手段12と、検出された双方のタスクの実行
レベルを比較し、実行レベルの低い方のタスクがロック
しているすべての逐次使用可能資源を解放し、実行レベ
ルの高いタスクを優先して走行させるための逐次使用可
能資源解放手段13と、実行レベルの低い方のタスクの
コンチクストを逐次使用可能資源の確保以前の状態に戻
すためのコンチクスト設定手段14とで構成されている
第2図は本実施例のデッドロック回避方式によるデッド
ロックの回避の一例を示す図である。
第2図に示すように、CPU0のタスクAがSRR■を
使用するために、他のタスクからの使用を禁止(ロック
)シ、また、CPUIのタスクBがSRR■をロックし
ているときに、タスクAがSRR■を、タスクBがSR
R■をロックしようとした場合に、双方の使用禁止(ロ
ック)を解除できなくなり、プツトロックとなる。
そこで1タスクAよりタスクBの実行レベルの方が低い
場合に、タスクBがロックしているSRR■を解放し、
タスクBのコンチクストをSRR■のロック以前の状態
に戻すことによって、タスクBを削除することなく、タ
スクAを優先的に走行させて、デッドロックの回避を行
う。
次に、本実施例のデッドロック回避方式の動作について
説明する。
第3図は本実施例における逐次使用可能資源SRHの制
御情報の一例を示す図である。
第3図に示すように、本実施例では、SRRのデッドロ
ックの回避を実現するために、まず、SRHの1つずつ
に対応するSRR情報域を設けている。そして、そのS
RR情報域には、デッドロックを判定するためのカウン
タとデッドロックしているタスクを検出するためのタス
クIDの格納域の2つとの計3つの領域を設けている。
また、SRRをロックした時に、そのタスクにとって最
初のSRRロックであれば、そのときのタスクコンテク
ストをタスク制御情報域(Ta5kControl B
lockまたはTCB)からポイントされる領域に退避
しておき、さらに、ロックしたSRRのSRRID(S
RR識別子)をSRRロックリストに設定し、そのSR
Hに対応するSRR情報域にロックしたタスクのタスク
ID(タスク識別子)を設定する。
既にロックしであるSRHに、他のタスクがロックしよ
うとした場合には、無限りトライの場合に限り、ある回
数以上リトライすれば、そのSRRに対応するSRR情
報域のもう1つのタスクID格納域に、そのタスクのタ
スクIDを設定する。
一方、SRRをアンロックした時には、そのSRRに対
応するSRR情報域をクリアしておく。
そこで、定期監視手段11は、定期的に起動されるタス
クであり、起動されるとまずロックされているSRRが
あるかどうかを判定(SRR情報域がクリアされていれ
ばロックされていない)し、無ければ再びウェイトする
。ロックされているSRRがあれば、そのSRRに対応
するSRR情報域のカウンタを1アツプし、それをデッ
ドロック判定しきい値と比較し、デッドロック判定しき
い値より大きければ、そのSRRをデッドロックとみな
し、タスク検出手段12を呼び出す。なお、デッドロッ
ク判定しきい値以下ならば再びウェイトする。
次に、タスク検出手段12は、定期監視手段11でデッ
ドロックとみなされたSRHに対応するSRR情報域の
タスクIDからデッドロックになっているタスクを検出
する。
また、SRR解放手段13で、そのタスクの実行レベル
を比較し、実行レベルの低い方のタスクがロックしてい
るSRRを、SRRロックリストより求めて、それらを
すべて解放する。
そして、実行レベルの低いタスクが最初にSRRをロッ
クした際に退避しておいたコンテクストをもとにして、
コンチクスト設定手段14によって、そのタスクをSR
Rロック以前の状態に戻す。
〔発明の効果〕
以上説明したように、本発明のデッドロック回避方式は
、逐次使用可能資源のためのデッドロックが発生した場
合に、実行レベルの低い方のタスクを、デッドロックを
起こした逐次使用可能資源を確保する以前の状態に戻す
ことによって、実行レベルの高い方のタスクを優先的に
走行させ、システムが停止することを防ぐことができる
という効果を有している。
【図面の簡単な説明】
第1図は本発明のデッドロック回避方式の一実施例を示
すブロック図、第2図は本実施例のプツトロック回避方
式によるデッドロックの回避の一例を示す図、第3図は
本実施例における逐次使用可能資源SRHの制御情報の
一例を示す図、第4図は従来のデッドロック回避方式に
よるデッドロックの回避の一例を示す図である。 11・・・定期監視手段、12・・・タスク検出手段、
13・・・逐次使用可能資源解放手段、14・・・コン
チクスト設定手段。

Claims (1)

    【特許請求の範囲】
  1. 密結合多重プロセス処理(TightlyCouple
    dMulti−processingまたはTCMP)
    などの逐次使用可能資源(SeriallyReusa
    bleResourceまたはSRR)のためのデッド
    ロック回避方式において、一定時間毎に起動して逐次使
    用可能資源のためのデッドロックを判定する定期監視手
    段と、前記定期監視手段で判定されたデッドロックによ
    りデッドロック中のタスクを検出するタスク検出手段と
    、前記タスク検出手段で検出されたデットロック中のタ
    スクの実行レベルを比較し、実行レベルの低いタスクが
    ロックしているすべての逐次使用可能資源を解放し、実
    行レベルの高いタスクを優先して走行させるための逐次
    使用可能資源解放手段と、その実行レベルの低いタスク
    を実行するための環境であるタスクコンテクストを解放
    した逐次使用可能資源の確保以前の状態に戻すためのコ
    ンテクスト設定手段とを有することを特徴とするデッド
    ロック回避方式。
JP2195598A 1990-07-24 1990-07-24 デッドロック回避方式 Pending JPH0481965A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2195598A JPH0481965A (ja) 1990-07-24 1990-07-24 デッドロック回避方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2195598A JPH0481965A (ja) 1990-07-24 1990-07-24 デッドロック回避方式

Publications (1)

Publication Number Publication Date
JPH0481965A true JPH0481965A (ja) 1992-03-16

Family

ID=16343816

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2195598A Pending JPH0481965A (ja) 1990-07-24 1990-07-24 デッドロック回避方式

Country Status (1)

Country Link
JP (1) JPH0481965A (ja)

Similar Documents

Publication Publication Date Title
US6983461B2 (en) Method and system for deadlock detection and avoidance
US5623670A (en) Method and apparatus for crash safe enforcement of mutually exclusive access to shared resources in a multitasking computer system
Elmagarmid A survey of distributed deadlock detection algorithms
US7093262B2 (en) Detecting deadlocks in multithreaded programs
CN101937365B (zh) 并行程序的死锁检测方法和系统
CA2027934C (en) Accelerated deadlock detection in congested data transactions
CN102053861B (zh) 并行程序中死锁检测的方法和系统
US20020133530A1 (en) Method for resource control including resource stealing
WO2010139260A1 (zh) 数据库事务锁机制的死锁检测方法及装置
US5583992A (en) Computer network system for detecting global deadlock
JPH01298440A (ja) 計算機システムおよびそのタスクスケジュール方法
US6681241B1 (en) Resource contention monitoring employing time-ordered entries in a blocking queue and waiting queue
JPH0451335A (ja) データベース処理装置
CN105824709A (zh) 一种临界区访问方法及装置
US7117496B1 (en) Event-based synchronization
JPH0481965A (ja) デッドロック回避方式
Attie et al. Efficiently verifiable conditions for deadlock-freedom of large concurrent programs
Fussell et al. Deadlock removal using partial rollback in database systems
Hung et al. Locking protocols for concurrency control in real-time database systems
JPH0485632A (ja) デッドロック回避方式
Rontogiannis et al. Distributed algorithm for communication deadlock detection
CN115809150A (zh) 一种分布式死锁检测方法、装置及电子设备
Gupta Deadlock detection techniques in distributed database system
JPS6191729A (ja) 排他エラ−通知先選択方式
Kumar et al. Modified execution time based resource reservation (METRR) algorithm