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

デッドロック回避方式

Info

Publication number
JPH0485632A
JPH0485632A JP2199008A JP19900890A JPH0485632A JP H0485632 A JPH0485632 A JP H0485632A JP 2199008 A JP2199008 A JP 2199008A JP 19900890 A JP19900890 A JP 19900890A JP H0485632 A JPH0485632 A JP H0485632A
Authority
JP
Japan
Prior art keywords
task
deadlock
srr
execution level
execution
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
JP2199008A
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 JP2199008A priority Critical patent/JPH0485632A/ja
Publication of JPH0485632A publication Critical patent/JPH0485632A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、密結合構成のマルチプロセッシングシステム
における逐次使用可能資源のデッドロック回避方式に関
する。
〔従来の技術〕
従来、密結合マルチプロセッシングシステムにおいて、
同時使用不可であるが逐次使用の可能な資源、すなわち
S RR(Serially ReusableRes
ource)のデッドロックが発生した場合には、デッ
ドロックを起こしている双方のタスクの実行レベルを比
較して実行レベルが低い方のタスクが確保しているSR
Rをすべて解放し、実行レベルが低い方のタスクを最初
の5RRVfi保以前の状態に戻すことによってデッド
ロックを回避していた。
第4図は上述した従来の方式の具体例を示す図であり、
CPU5[1タスクAが5RR52を使用するため他タ
スクからの使用を禁止(ロック)し、またCPU51(
1’スクBが5RR53をロックしているときに、タス
クAが5RR53を、タスクBが5RR52をロックし
ようとした場合に、双方の使用禁止(ロック)を解除で
きなくなリ、デッドロックとなる。
ここで、タスクAよりタスクBの実行レベルの方が低い
場合、タスクBがロックしている5RR53を解放し、
タスクBを5RR53のロック以前の状態に戻すことに
よって、デッドロックの回避を行っていた。
[発明が解決しようとする課題] しかしながら、上述した従来の方式では、SI?Rのデ
ッドロックが発生ずると実行レベルが低いタスクは最初
にSRRを確保した時点まで戻されてしまうことになり
、SRHのデッドロックが発生した時点までに行った処
理が無駄になってしまうという欠点があった。
本発明は、上記のような従来の欠点を改善したもので、
その目的は、SRRのデッドロックを起こしている双方
のタスクの実行レベルを比較し、実行レベルの低い方の
タスクがロックしている全てのS RRを解放し、実行
L/ベベル低いタスクを再スタートするときにこのタス
クがデッドロック発生時までに行った処理が無駄になる
のを防止することの可能なデッドロック回避方式を捷供
することにある。
〔課題を解決するための手段] 本発明のデッドロック回避方式は、定期的に逐次使用可能資源のデッドロックを判定する定期監視手段と、デッドロック中のタスクを検出するタスク検出手段と、検出されたデッドロック中のタスクの実行レベルを比較し、実行レベルの低いタスクがロックしているすべての逐次使用可能資源を解放し、実行レベルの高いタスクを優先しで走行させるための一括解放手段と、実行レベルの低いタスクの逐次使用可能資源解放時のコンテクストを退避するためのコンテクスト退避手段と、実行レベルの低いタスクの再スタート時にコンテクストを回復するためのコンテクスト回復手段と、解放した逐次使用可能資源を一括して再確保するための一括確保手段とを有している 〔作 用〕
逐次使用可能資源(SRR)のデッドロックが発生した
場合に、実行レベルの低いタスクを一時的にストップさ
せて、これがロックしているSRI?をその間解放し、
再スタート時には、−括してSRRを再確保することで
、実行レベルの低いタスクがデッドロック発生時までに
行った処理が無駄になるのを防止している (実施例〕 次に本発明について図面を参照して説明する。
第1図は本発明の一実施例のブロック図である。
本実施例は、一定時間毎に起動しデッドロックを判定す
る定期監視手段11と、デッドロックと判定された場合
、デッドロックを起こしているタスクを検出するタスク
検出手段12と、検出された双方のタスクの実行レベル
を比較し、実行レベルの低い方のタスクがロックしてい
るすべてのSRRを一括解放し、実行レベルの高いタス
クを優先して走行させるための5RR−括解放手段13
と、実行レベルの低い方のタスクのSRR解放時のコン
テクスト(タスクが走行するための環境)を退避するた
めのタンチクスト退避手段14、実行レベルの低い方の
タスクが走行可能になった際、タスクを再スタートする
ために、退避してあったコンテクストを回復するための
コンテクスト回復手段15と、5RR−括解放手段13
で解放したすべてのSRRを一括して再確保するための
5RR−括確保手段16とで構成されている。
次にこのような構成におけるSRRのデッドロック回避
処理動作について説明する。
SRRのデッドロック回避処理を行うために、第2図に
示すように、5RR1つづつに対応する情報域INFを
設ける。情報域INFには、デッドロックを判定するた
めのカウンタと、デッドロックしているタスクを検出す
るための2つのタスクID格納域とを設ける。
SRRをロックした時にロックしたSRRの5RRID
 (SRR識別子)をタスクコントロールブロックTC
BからポイントされるSRRロックリストに設定する。
さらに、そのSRRに対応する情報域INFの1つのタ
スクID格納域にロックしたタスク、例えばAのタスク
ID(タスク識別子)を設定する。既にロックしである
SRRに、他のタスク、例えばBがロックしようとした
場合、無限りトライの場合に限り、ある回数以上リトラ
イすれば、そのSRHに対応する情報域INFのもう1
つのタスクID格納域にそのタスクBのタスクIDを設
定する。
またSRRをアンロックした時には、そのSRRに対応
する情報域INFをクリアしておく。
定期監視手段11は定期的に起動されるタスクであり、
起動されると、先ず、ロックされているSRRがあるか
判定(情報域INFがクリアされていればロックされて
いない)し、無ければ再びウェイトする。ロックされて
いるSRRがあれば、そのSRRに対応する情報域IN
FOカウンタを1アツプし、それをデッドロック判定し
きい値と比較し、デッドロック判定しきい値より大きけ
れば、そのSRRをデッドロックとみなし、タスク検出
手段12を呼び出す。デッドロック判定しきい値以下な
ら再びウェイトする。
タスク検出手段12は、定期監視手段11でデッドロッ
クとみなされたSRRに対応する情報域INFの、タス
クIDからデッドロックになっているタスクを検出する
5RR−括解放手段13でそのタスクの実行レベルを比
較し、実行レベルの低い方のタスクがロックしているS
RRをSRRロツタリストより求め、すべて解放する このとき、コンテクスト退避手段14によって実行レベ
ルの低いタスクのコンテクストをタスクコントロールブ
ロックTCBからポイントされる領域に退避し、該タス
クは、実行待ち状態になる。
その後、実行レベルの高い方のタスクの処理が緋了し、
実行レベルに低い方のタスクが走行可能になった場合、
コンテクスト退避手段14によって退避されているコン
テクストをコンテクスト回復手段15よって回復し、さ
らに、5RR−括解放手段13で解放したすべてのSR
Rを5RR−括確保手段16によって確保することによ
って、実行レベルの低いタスクをデッドロック発生時点
から再度走行させることができる。
第3図は本実施例による上述した処理方式の具体例を示
す図である。
第3図を参照すると、デッドロックが発生すると、タス
クAよりタスクBの実行レベルの方が低い場合には、タ
スクBがロックしている5RR53を解放し、タスクB
の5RR52のロック失敗時のコンテクストを退避する
。タスクAの処理が終了し、タスクBが走行可能になっ
た際、5RR53を確保し、退避してあったコンテクス
トを回復することによって、5RR53のロック時から
5RR52のロック時までの間にタスクBが行った処理
が無駄になるのを防ぎタスクAを優先的に走行させてデ
ッドロックの回避を行うことができる。
〔発明の効果〕
以上説明したように、本発明は、SRRのデッドロック
が発生した場合、実行レベルの低い方のタスクを一時的
にストップさせ、そのロックしているSRRをその間解
放し、再スタート時に一括してSRRを再確保すること
によって、実行レベルの低いタスクがデッドロック発生
時までに行った処理が無駄になることを防止し、デッド
ロックを回避することができるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例のブロック図、第2図はSR
Rとタスクとの関連を示す図、第3図は本発明によるデ
ッドロック回避処理の具体例を示す図、第4図は従来の
デッドロック回避処理の具体例を示す図である。 第1図において、 11・・・定期監視手段、12・・−タスク検出手段、
13・・・コンテクスト退避手段、14・・・5RR−
括解放手段、15・・・5RR−括確保手段、】6・・
・コンテクスト回復手段。 代理人  弁理士  山 下 積 平

Claims (1)

    【特許請求の範囲】
  1. 定期的に逐次使用可能資源のデッドロックを判定する定
    期監視手段と、デッドロック中のタスクを検出するタス
    ク検出手段と、検出されたデッドロック中のタスクの実
    行レベルを比較し、実行レベルの低いタスクがロックし
    ているすべての逐次使用可能資源を解放し、実行レベル
    の高いタスクを優先して走行させるための一括解放手段
    と、実行レベルの低いタスクの逐次使用可能資源解放時
    のコンテクストを退避するためのコンテクスト退避手段
    と、実行レベルの低いタスクの再スタート時にコンテク
    ストを回復するためのコンテクスト回復手段と、解放し
    た逐次使用可能資源を一括して再確保するための一括確
    保手段とを備えていることを特徴とするデッドロック回
    避方式。
JP2199008A 1990-07-30 1990-07-30 デッドロック回避方式 Pending JPH0485632A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2199008A JPH0485632A (ja) 1990-07-30 1990-07-30 デッドロック回避方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2199008A JPH0485632A (ja) 1990-07-30 1990-07-30 デッドロック回避方式

Publications (1)

Publication Number Publication Date
JPH0485632A true JPH0485632A (ja) 1992-03-18

Family

ID=16400576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2199008A Pending JPH0485632A (ja) 1990-07-30 1990-07-30 デッドロック回避方式

Country Status (1)

Country Link
JP (1) JPH0485632A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129452A (ja) * 1993-10-28 1995-05-19 Nec Corp 排他制御方式
JPH07271617A (ja) * 1994-03-30 1995-10-20 Nec Corp デッドロック再発生防止機能付き復旧方式
JP2008500645A (ja) * 2004-05-26 2008-01-10 クゥアルコム・インコーポレイテッド デバイスの動作モードに基づくアプリケーションの優先順位のためのシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129452A (ja) * 1993-10-28 1995-05-19 Nec Corp 排他制御方式
JPH07271617A (ja) * 1994-03-30 1995-10-20 Nec Corp デッドロック再発生防止機能付き復旧方式
JP2008500645A (ja) * 2004-05-26 2008-01-10 クゥアルコム・インコーポレイテッド デバイスの動作モードに基づくアプリケーションの優先順位のためのシステム
US7735085B2 (en) 2004-05-26 2010-06-08 Qualcomm Incorporated System for application priority based on device operating mode

Similar Documents

Publication Publication Date Title
US5269017A (en) Type 1, 2 and 3 retry and checkpointing
US5664088A (en) Method for deadlock recovery using consistent global checkpoints
EP0834806B1 (en) Process executing method and resource accessing method in computer system
US7093262B2 (en) Detecting deadlocks in multithreaded programs
US5583992A (en) Computer network system for detecting global deadlock
CN101937365B (zh) 并行程序的死锁检测方法和系统
EP0529536A2 (en) Recovery control register
JPH01298440A (ja) 計算機システムおよびそのタスクスケジュール方法
CN102053861B (zh) 并行程序中死锁检测的方法和系统
CA2165493A1 (en) Method and apparatus for crash safe enforcement of mutually exclusive access to shared resources in a multitasking computer system
US5301311A (en) Control method for preventing incorrect reset of common resource and multicomputer system executing the method
CN101256509A (zh) 一种锁机制的加锁方法、解锁方法和实现方法
US20020178208A1 (en) Priority inversion in computer system supporting multiple processes
JPH0451335A (ja) データベース処理装置
CN112241400A (zh) 一种基于数据库实现分布式锁的方法
CN111444002A (zh) 一种任务调度方法及装置
EP0788050B1 (en) Computer system with checkpoint and restart function
JPH0485632A (ja) デッドロック回避方式
Hung et al. Locking protocols for concurrency control in real-time database systems
JPH04116762A (ja) スピン・ロック制御方式
JPH0481965A (ja) デッドロック回避方式
JP3567911B2 (ja) 疎結合マルチプロセッサシステム及びデッドロック解除方法
JPH04219860A (ja) マルチシステム制御プロセッサによるホスト監視制御方式
JPS6191729A (ja) 排他エラ−通知先選択方式
Raghunathan Extending inter-process synchronization with robust mutex and variants in condition wait