JPH09223030A - 排他制御方法及びその装置 - Google Patents

排他制御方法及びその装置

Info

Publication number
JPH09223030A
JPH09223030A JP8050899A JP5089996A JPH09223030A JP H09223030 A JPH09223030 A JP H09223030A JP 8050899 A JP8050899 A JP 8050899A JP 5089996 A JP5089996 A JP 5089996A JP H09223030 A JPH09223030 A JP H09223030A
Authority
JP
Japan
Prior art keywords
task
lock
deadlock
monitoring
time
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
JP8050899A
Other languages
English (en)
Inventor
Katsumi Kobayashi
勝美 小林
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 JP8050899A priority Critical patent/JPH09223030A/ja
Publication of JPH09223030A publication Critical patent/JPH09223030A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 ロック操作にかかるオーバヘッドを削減す
る。 【解決手段】 タスクは、資源のロックを要求する際、
監視時間の指定を含むロック取得要求を発行する。この
ロック取得要求に対して直ちにロック許可を与えること
ができない場合には、タスク情報登録手段210 は、その
タスクに関するタスク情報を待ちリストに加える。待ち
時間監視手段220 は、タスクがロック待ちになってから
の時間を監視し、その時間がタスクによって指定された
監視時間となると、デッドロックチェック手段230 を呼
び出す。デッドロックチェック手段230 は、上記タスク
がロック待ち状態であれば、上記タスクについてデッド
ロックの発生の有無をチェックし、デッドロックが発生
している場合には、ロック待ちリストから削除すると共
に、その旨を要求元のタスクに通知する。この通知を受
けたタスクは、タスク情報削除手段240 を通じて、既に
取得していたロックを解除する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理システム
に於いて資源の排他制御を行う技術に関し、特に、デッ
ドロックチェックに係るオーバヘッドを低減させること
ができる排他制御方法及びその装置に関する。
【0002】
【従来の技術】複数のタスクにより資源が共有される場
合、その資源を使用するためにはその資源をロックする
ことが必要になる。一般に、書き込みのためのロックが
取得されていると、他のタスクは同一資源に関するロッ
クを取得することができない。
【0003】一方、複数のタスクで共有される資源に対
してロックを取得しようとした場合、他のタスクが取得
しているロックを互いに待ってしまい、処理が進まなく
なってしまうことがある。このような状態をデッドロッ
クという。デッドロックが発生すると、処理が進まなく
なるため、何らかの処置をとることが必要になる。
【0004】従来は、ロック取得要求を発行したタスク
がロックに失敗してロック待ちとなるような場合、必ず
デッドロック発生の有無をチェックし、デッドロックが
発生するようなロック取得要求は拒否するようにしてい
た。この従来の技術によれば、デッドロックの発生を防
ぐことはできるが、デッドロックの発生頻度は一般的に
は少ないため、ロック待ち合わせが発生する毎にデッド
ロックチェックを行うのではオーバヘッドが大きくなる
という問題がある。
【0005】そこで、上記した問題点を解決するため、
ロック待ち合わせが発生した時にはデッドロックチェッ
クを行わずに、或る一定時間間隔でロック待ち状態にあ
る全てのタスクに対してデッドロックチェックを行うよ
うにした技術が提案されている(特開昭62−1776
31号公報)。この技術によれば、ロック待ちが発生し
てからデッドロックチェックタイミングとなるまでの間
にロック待ちが解消したタスクについてはデッドロック
チェックを行うことが不要になるので、デッドロックチ
ェックを行うタスク数を少なくし、オーバヘッドを少な
くすることができる。
【0006】
【発明が解決しようとする課題】上述した従来の技術
は、一定時間間隔でデッドロックチェックを行っている
が、ロック待ちが発生するタイミングはデッドロックチ
ェックタイミングとは無関係のものである。従って、デ
ッドロックチェックタイミングの直前に於いて、ロック
待ちが発生する場合もあり、このような場合、上記ロッ
ク待ちに関係するタスクがデッドロックチェックタイミ
ングに於いてロック待ちが解消されている確率は低い。
つまり、上記したようなタスクについてはデッドロック
チェックを省くことができない確率が高くなる。このた
め、上述した従来の技術では、デッドロックチェックタ
イミングの直前に於いて、集中的にロック待ちが発生し
たような場合には、デッドロックチェックを省くことが
できるタスク数が少なくなり、オーバヘッドを余り低減
させることができないという問題がある。
【0007】そこで、本発明の目的は、ロック待ちの発
生タイミングにかかわらず、オーバヘッドを少なくする
ことができる排他制御方法及びその装置を提供すること
にある。
【0008】
【課題を解決するための手段】本発明の排他制御方法
は、上記目的を達成するため、タスクが発行するロック
取得要求に監視時間の指定を含ませ、監視時間の指定を
含むロック取得要求を発行したタスクがロックに失敗し
てロック待ちになった場合、前記ロック取得要求で指定
されている監視時間が経過するのを待ち合わせ、前記監
視時間が経過した時に前記タスクのロック待ちが解除さ
れていない場合に限って前記タスクに関連するデッドロ
ック発生の有無を調べ、デッドロックが発生している場
合、前記タスクがロックしている資源を解放する。
【0009】また、本発明の排他制御方法は、優先度が
異なるタスク間で競合が発生した場合、優先度の高いタ
スクが優先的に資源をロックできるようにするため、優
先度の高いタスク程、ロック取得要求に於いて指定する
監視時間を長くする。
【0010】また、本発明の排他制御装置は、上記目的
を達成するため、監視時間の指定を含むロック取得要求
を発行したタスクがロックに失敗してロック待ちになっ
た場合、前記ロック取得要求で指定されている監視時間
の経過を監視する待ち時間監視手段と、該待ち時間監視
手段によって監視時間の経過が検出されたタスクのロッ
ク待ちが解除されていない場合に限って前記タスクに関
連するデッドロック発生の有無を調べ、デッドロックが
発生している場合、前記タスクがロックしている資源を
解放するデッドロックチェック手段とを備えている。
【0011】上記した構成に於いては、タスクがロック
に失敗してロック待ちになった場合、待ち時間監視手段
が、上記タスクによって指定された監視時間の経過を監
視する。デッドロックチェック手段は、待ち時間監視手
段によって監視時間の経過が検出されたタスクのロック
待ちが解除されていない場合に限ってそのタスクに関連
するデッドロック発生の有無を調べる。
【0012】
【発明の実施の形態】次に本発明の実施の形態について
図面を参照して詳細に説明する。
【0013】図1を参照すると、本発明にかかる排他制
御装置200は、例えば、複数のプロセッサ100と、
これらプロセッサ100に共有される共有資源300と
を含む疎結合システム等の情報処理システムに適用され
る。ここで、共有資源300とされるのは、例えば、メ
モリの一部の領域やファイル等である。尚、以下の説明
に於いては、ロック制御の対象となる最小単位をブロッ
クと呼ぶ。
【0014】図2は排他制御装置200の構成例を示し
たブロック図である。同図を参照すると、排他制御装置
200は、各プロセッサ100とコマンドをやりとりす
るコマンドインタフェース250と、ロックまたはロッ
ク待ちしているタスクに関する情報(以下、タスク情
報)が登録されるロック管理テーブル260と、ロック
またはロック待ちしているタスクのタスク情報をロック
管理テーブル260に登録するタスク情報登録手段21
0と、タスクが発行したロック取得要求によって指定さ
れている監視時間の経過を監視する待ち時間監視手段2
20と、タスク間のデッドロックの有無を調べるデッド
ロックチェック手段230と、ロック管理テーブル26
0に登録されているタスク情報を削除するタスク情報削
除手段240とを備えている。
【0015】図3はロック管理テーブル260の内容例
を示した図である。同図を参照すると、ロック管理テー
ブル260には、ブロック毎のブロック情報261と、
そのブロックをロックまたはロック待ちしているタスク
のタスク情報262とが登録される。
【0016】ブロック情報261は、そのブロックを識
別するためのブロック識別子と、ロックリストの先頭に
対するポインタであるロックリストポインタと、待ちリ
ストの先頭に対するポインタである待ちリストポインタ
とを有する。ここで、ロックリストとは、そのブロック
をロックしているタスクのタスク情報を連結リストによ
り接続したものである。また、待ちリストとは、そのブ
ロックをロック待ちしているタスクのタスク情報を連結
リストにより接続したものである。また、各タスク情報
262は、タスクを識別するためのタスク識別子と、読
み出しか書き込みか等のロック種別を表すロック種別
と、連結リストを形成する次のタスク情報をポイントす
る次タスク情報ポインタとを有している。尚、本実施例
では、ロック管理テーブル260には、ブロック毎のブ
ロック情報を予め登録するようにしているが、そのブロ
ックをロックするタスクが発生した時に、そのブロック
のブロック情報を生成し、また、そのブロックをロック
またはロック待ちしているタスクがなくなった場合、そ
のブロックのブロック情報を削除するようにしても良
い。このようにすることにより、ロック管理テーブル2
60の容量を少ないものにすることができる。
【0017】図4は待ち時間監視手段220が使用する
監視エントリの内容例を示した図である。同図を参照す
ると、監視エントリは、ロック管理テーブル260中の
タスク情報へのポインタである対象エントリポインタ
と、ロック管理テーブル260に登録された時刻を示す
登録時刻と、タスクからのロック取得要求によって指定
された監視時間とを含む。
【0018】図5は各プロセッサ100上のタスクが発
行するコマンドの形式の一例を示す図である。同図を参
照すると、プロセッサ100が発行するコマンドは、要
求の種類を表すコマンドコードと、要求元タスクを表す
タスク識別子と、要求対象のブロックを表すブロック識
別子と、ロックの種別を表すロック種別と、ロック待ち
が生じた場合の監視時間とを含んでいる。
【0019】図6はタスク情報登録手段210の処理例
を示す流れ図、図7は待ち時間監視手段220の処理例
を示す流れ図、図8はデッドロックチェック手段230
の処理例を示す流れ図、図9はタスク情報削除手段24
0の処理例を示す流れ図であり、以下各図を参照して本
実施例の動作を説明する。
【0020】排他制御装置200内のコマンドインタフ
ェース250は、プロセッサ100上のタスクから図5
に示す形式のコマンドを受け取ると、コマンド中のコマ
ンドコードを解析する。そして、コマンドコードがロッ
ク取得要求を示していれば、タスク情報登録手段210
を呼び出してコマンドを渡し、アンロック要求を示して
いれば、タスク情報削除手段240を呼び出してコマン
ドを渡す。
【0021】図6を参照すると、タスク情報登録手段2
10は、コマンドインタフェース250からコマンドが
渡されると、先ずロック管理テーブルを検索して(S2
11)、上記コマンドに含まれている「ブロック識別
子」が示すブロックに対するロック可否を判定する(S
212)。
【0022】このS212の処理例を詳細に説明する
と、先ず、ロック管理テーブル260の中から、コマン
ドに含まれている「ブロック識別子」と同じ「ブロック
識別子」を有するブロック情報261を検索して、この
ブロック情報261の「ロックリストポインタ」が空ポ
インタであるか否かを調べる。そして、空きポインタで
ある場合は、ロック可と判定する。
【0023】また、空きポインタでない場合は、既に他
のタスクによってロックされているため、ロックリスト
に接続されている各タスク情報の「ロック種別」を参照
して同時にロックすることが可能か否かを判定する。即
ち、対象となるブロックが既に読み出しのためにロック
されていても、コマンドの「ロック種別」が「読み出
し」であれば、これもロックできるものと判定する。読
み出し同士であれば矛盾が生じないからである。一方、
対象となるブロックが既に書き込みのためにロックされ
ていれば、コマンドの「ロック種別」にかかわらず、ロ
ックできないものと判定する。以上がS212の詳細な
処理例である。
【0024】S212でロック可と判定された場合は、
コマンドに含まれている「タスク識別子」及び「ロック
種別」に基づいてタスク情報を生成して、ロックリスト
の最後尾に接続し(S213)、その後、コマンドイン
タフェース250を介してコマンドの「タスク識別子」
が示すタスクに対してロック許可の旨を通知する(S2
16)。
【0025】一方、S212でロックできないと判定さ
れた場合は、コマンドに含まれている「タスク識別子」
及び「ロック種別」に基づいてタスク情報を生成して、
待ちリストの最後尾に接続し(S214)、更に、待ち
時間監視手段220を呼び出してコマンドを渡し(21
5)、その後、コマンドの「タスク識別子」が示すタス
クに対してロック待ちの旨を通知する(S216)。
【0026】図7を参照すると、待ち時間監視手段22
0は、タスク情報登録手段210から呼び出されてコマ
ンドが渡されると、先ず、図4に示す形式の監視エント
リを生成し、ロック管理テーブル260に登録する(S
221)。そして、監視エントリ中の登録時刻からの経
過時間が監視エントリの「監視時間」と一致するまで監
視処理を行う(S222,S223)。
【0027】そして、経過時間が監視エントリ中の「監
視時間」と一致すると、ロック管理テーブル260を検
索して、監視エントリの「対象エントリポインタ」が指
し示すタスク情報が既に削除済みか否かを調べる(S2
24,S225)。その結果、ロック管理テーブル26
0に「対象エントリポインタ」によって指し示されるタ
スク情報がまだ残っている場合には、デッドロックチェ
ックを行うために、デッドロックチェック手段230を
呼び出して上記タスク情報を指し示す「対象エントリポ
インタ」を渡す(S226)。尚、ロック管理テーブル
260に「対象エントリポインタ」によって指し示され
るタスク情報が残っていない場合には、デッドロックチ
ェックを行う必要がないので、デッドロックチェック手
段230の呼び出しは行わない。
【0028】図8を参照すると、デッドロックチェック
手段230は、待ち時間監視手段220から呼び出され
て「対象エントリポインタ」が渡されると、先ず、「対
象エントリポインタ」によって指し示されるタスク情報
を起点にしてタスク間のデッドロック発生の有無を調べ
る(S231,S232)。その結果、デッドロックが
発生していた場合には、起点となったタスク情報中の
「タスク識別子」が指し示すタスクをデッドロック発生
の原因タスクと決定すると共に、タスク情報削除手段2
40を呼び出して上記「対象エントリポインタ」を渡し
(S233)、その後、コマンドインタフェース250
を介して原因タスクに対してデッドロックによるタスク
情報削除が発生した旨を通知する(S234)。この通
知を受けた原因タスクは、自身がロックしている全ての
ブロックを解放してデッドロックを解消するために、
「コマンドコード」にアンロックを要求するコードを、
「タスク識別子」に自身のタスク識別子を、「ブロック
識別子」にアンロックするブロックのブロック識別子を
設定した図5に示す形式のコマンドを、ロックしている
ブロックそれぞれについて発行する。このコマンドは、
コマンドインタフェース250によって解析され、タス
ク情報削除手段240に渡される。
【0029】図9を参照すると、タスク情報削除手段2
40は、デッドロックチェック手段230から呼び出さ
れた場合、及びコマンドインタフェース250を介して
アンロックを要求するコマンドが渡された場合、先ず、
ロック管理テーブル260から削除対象のタスク情報を
検索する(S241)。具体的には、アンロックを要求
するコマンドが渡された場合には、コマンドに含まれる
「ブロック識別子」を有するブロック情報を検索し、検
索されたブロック情報につながれているタスク情報の中
からコマンドに含まれる「タスク識別子」を有するタス
ク情報を検索する。また、デッドロックチェック手段2
30から呼び出され、「対象エントリポインタ」が渡さ
れた場合は、それが指し示すタスク情報を検索する。そ
して、この検索されたタスク情報を削除する(S24
2)。
【0030】その後、タスク情報を削除したブロック情
報の待ちリストに他のタスク情報が存在するか否かを調
べる(S243)。もし、待ちリストにタスク情報が存
在すれば、そのタスク情報が前述したタスク情報の削除
によってロック可能となったか否かを判断する(S24
4)。そして、ロック可能であると判断した場合には、
そのタスク情報を待ちリストから外してロックリストに
接続し、そのタスク情報に含まれる「タスク識別子」が
示すタスクに対して、ロックが許可された旨を通知する
(S245)。次に、アンロックを要求するコマンドが
コマンドインタフェース250から渡された場合であっ
た時は、コマンドに含まれる「タスク識別子」の指すタ
スクに対して、アンロックが完了した旨を通知する(S
246)。一方、待ちタスク情報が存在しないか、或い
はロック可能になっていなければ(S243,S24
4)、ロックが許可された旨は通知しない。尚、待ちリ
ストに複数のタスク情報が存在する場合には、全てのタ
スク情報に対して同様の処理を行う。
【0031】次に2つのタスク間でデッドロックが発生
した場合の動作を図10を参照して詳細に説明する。こ
こで、タスクT1は、ブロックA,Bをその順番でロッ
クした後、更新処理を行うものであり、タスクT2はブ
ロックB,Aをその順番でロックした後、更新処理を行
うものとする。また、両タスクT1,T2とも、ブロッ
クA,Bの両方をロックした上でなければ、更新処理を
行えないものとする。
【0032】図10を参照すると、タスクT1がコマン
ドを発行して、ブロックAに対するロック取得を要求す
ると、排他制御装置200は、ブロックAのロックリス
トにタスクT1のタスク情報を登録し、その後、タスク
T1に対してロック許可通知を行う(S901)。次
に、タスクT2がコマンドを発行して、ブロックBに対
するロック取得を要求すると、排他制御装置200は、
ブロックBのロックリストにタスクT2のタスク情報を
登録し、その後、タスクT2に対してロック許可通知を
行う(S902)。
【0033】その後、タスクT1が、コマンドを発行し
て、ブロックBに対するロック取得を要求する。しか
し、この時点に於いては、ブロックBは既にタスクT2
によってロックされているため、排他制御装置200
は、タスクT2に対してロック待ち通知を行うと共に、
ブロックBの待ちリストにタスクT1のタスク情報を登
録する(S903)。また、排他制御装置200は、上
記コマンドによって指定された「監視時間」の監視を開
始する(S904)。
【0034】次に、タスクT2がコマンドを発行してブ
ロックAに対するロック取得を要求する。しかし、この
時点に於いては、ブロックAは既にタスクT1によって
ロックされているため、排他制御装置200は、タスク
T2に対してロック待ち通知を行うと共に、ブロックA
の待ちリストにタスクT2のタスク情報を登録する(S
905)。また、排他制御装置200は、上記コマンド
によって指定された「監視時間」の監視を開始する(S
906)。
【0035】ここまでの処理により、タスクT1,T2
間でデッドロックが生じる。即ち、タスクT1,T2が
それぞれブロックA,Bをロックする一方、タスクT
1,T2がそれぞれブロックB,Aのロックを待ってお
り、互いに相手のロックしているブロックのロックを待
って硬直状態になっている。この場合、何れかがロック
してブロックを強制的にアンロックしない限り、この状
態が永久に続いてしまう。そこで、本発明では、監視エ
ントリの「監視時間」が経過すると、デッドロック発生
の有無を調べ、もしデッドロックが発生していれば、そ
のロック待ち状態を解除して、その旨をタスクに通知す
ることにより、このデッドロックを解消するようにして
いる。
【0036】今、例えば、タスクT1,タスクT2が同
じ値の「監視時間」を指定していたとすると、先に待ち
登録されたタスクT1の待ちが早くタイムアウトとな
る。このタイムアウトが検出されると(S907)、タ
スクT1のブロックBに対するロック待ちを表すタスク
情報を起点にデッドロック発生の有無が調べられ、タス
クT1が原因でデッドロックが発生していることが検出
される。そして、タスクT1のブロックBに対するロッ
ク待ちを表すタスク情報が待ちリストから削除され、タ
スクT1にはこの削除に関する通知がなされる(S90
8)。
【0037】この通知を受けて、タスクT1はデッドロ
ックが発生したことを認識し、自身がロックしているブ
ロックAのアンロックを要求する命令をコマンドする。
このコマンドに応答して、タスクT1のブロックAに対
するロック取得を表すタスク情報は、ロックリストから
削除され、タスクT1にはこの削除に関する通知がなさ
れる(S909)。また、ブロックAのロックを待って
いたタスクT2には、ロック許可の通知がなされる(S
909)。これにより、タスクT2は、ブロックA及び
ブロックBのロックが許可されて、更新処理が可能とな
る。
【0038】上述した例では、タスクT1,T2が同じ
値の「監視時間」を指定するようにしたが、タスクT1
が指定する「監視時間」をタスクT2が指定する「監視
時間」よりも大きな値とすることにより、タスクT2の
待ちを早くタイムアウトするようにすることもできる。
また、各タスクが指定する「監視時間」を、優先度の高
いタスク程長く指定するというように、タスクの優先度
に応じて調整しておけば、優先度が異なるタスク間でデ
ッドロックが発生した場合、優先度の低いタスクを最初
にタイムアウトさせることができ、優先度の高いタスク
に優先的に資源をロックさせることが可能になる。
【0039】
【発明の効果】以上説明したように、本発明の排他制御
方法は、監視時間の指定を含むロック取得要求を発行し
たタスクがロックに失敗してロック待ちになった場合、
ロック取得要求によって指定された監視時間の経過を待
ち合わせ、監視時間が経過した時に上記タスクのロック
待ちが解除されていない場合に限ってデッドロックチェ
ックを行うようにしたものであるので、ロック待ちが発
生してからデッドロックチェックタイミングとなるまで
の時間間隔は常にタスクによって指定された監視時間と
なる。従って、ロック待ちの発生タイミングによって
は、ロック待ちが発生してからデッドロックチェックタ
イミングとなるまでの時間間隔が非常に短くなる場合が
ある従来の技術に比較して、ロック待ちとなってからデ
ッドロックタイミングとなるまでの間にロック待ちが解
除される確率が高くなる。ロック待ちが解除されたタス
クに関しては、デッドロックチェックを行う必要がなく
なるので、本発明の排他制御方法によれば、従来の技術
に比較してデッドロックチェックを行うタスク数を少な
くし、オーバヘッドを少なくすることができる。
【0040】また、本発明の排他制御方法は、優先度の
高いタスク程、指定する監視時間を長くするようにした
ので、優先度の異なるタスク間でデッドロックが発生し
た場合、優先度の高いタスクに優先的に資源をロックさ
せることができる。
【0041】また、本発明の排他制御装置は、監視時間
の指定を含むロック取得要求を発行したタスクがロック
に失敗してロック待ちになった場合、ロック取得要求で
指定されている監視時間の経過を監視する待ち時間監視
手段と、待ち時間監視手段によって監視時間の経過が検
出されたタスクのロック待ちが解除されていない場合に
限ってそのタスクに関連するデッドロック発生の有無を
調べ、デッドロックが発生している場合、上記タスクが
ロックしている資源を解放するデッドロックチェック手
段とを備えているので、簡単な構成で、且つ少ないオー
バヘッドでデッドロックを解除することができる。
【図面の簡単な説明】
【図1】本発明の排他制御装置が使用される情報処理シ
ステムの一例を示すブロック図である。
【図2】排他制御装置の構成例を示すブロック図であ
る。
【図3】ロック管理テーブル260の内容例を示す図で
ある。
【図4】監視エントリの内容例を示す図である。
【図5】コマンド形式を示す図である。
【図6】タスク情報登録手段210の処理例を示す流れ
図である。
【図7】待ち時間監視手段220の処理例を示す流れ図
である。
【図8】デッドロックチェック手段230の処理例を示
す流れ図である。
【図9】タスク情報削除手段240の処理例を示す流れ
図である。
【図10】デッドロックが発生した場合の排他制御装置
200の動作の一例を示す図である。
【符号の説明】
100…プロセッサ 200…排他制御装置 210…タスク情報登録手段 220…待ち時間監視手段 230…デッドロックチェック手段 240…タスク情報削除手段 250…コマンドインタフェース 260…ロック管理テーブル 261…ブロック情報 262…タスク情報 300…共有資源

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 タスクが発行するロック取得要求に監視
    時間の指定を含ませ、 監視時間の指定を含むロック取得要求を発行したタスク
    がロックに失敗してロック待ちになった場合、前記ロッ
    ク取得要求で指定されている監視時間が経過するのを待
    ち合わせ、前記監視時間が経過した時に前記タスクのロ
    ック待ちが解除されていない場合に限って前記タスクに
    関連するデッドロック発生の有無を調べ、デッドロック
    が発生している場合、前記タスクがロックしている資源
    を解放することを特徴とする排他制御方法。
  2. 【請求項2】 優先度の高いタスク程、ロック取得要求
    に於いて指定する監視時間を長くすることを特徴とする
    請求項1記載の排他制御方法。
  3. 【請求項3】 監視時間の指定を含むロック取得要求を
    発行したタスクがロックに失敗してロック待ちになった
    場合、前記ロック取得要求で指定されている監視時間の
    経過を監視する待ち時間監視手段と、 該待ち時間監視手段によって監視時間の経過が検出され
    たタスクのロック待ちが解除されていない場合に限って
    前記タスクに関連するデッドロック発生の有無を調べ、
    デッドロックが発生している場合、前記タスクがロック
    している資源を解放するデッドロックチェック手段とを
    備えたことを特徴とする排他制御装置。
  4. 【請求項4】 優先度の高いタスク程、ロック取得要求
    に於いて指定する監視時間が長いことを特徴とする請求
    項3記載の排他制御装置。
JP8050899A 1996-02-14 1996-02-14 排他制御方法及びその装置 Pending JPH09223030A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8050899A JPH09223030A (ja) 1996-02-14 1996-02-14 排他制御方法及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8050899A JPH09223030A (ja) 1996-02-14 1996-02-14 排他制御方法及びその装置

Publications (1)

Publication Number Publication Date
JPH09223030A true JPH09223030A (ja) 1997-08-26

Family

ID=12871601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8050899A Pending JPH09223030A (ja) 1996-02-14 1996-02-14 排他制御方法及びその装置

Country Status (1)

Country Link
JP (1) JPH09223030A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015075871A (ja) * 2013-10-08 2015-04-20 株式会社リコー 排他制御プログラム、情報処理装置、排他制御方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015075871A (ja) * 2013-10-08 2015-04-20 株式会社リコー 排他制御プログラム、情報処理装置、排他制御方法

Similar Documents

Publication Publication Date Title
EP0563624B1 (en) Method and apparatus for performing conditional operations on externally shared data
US6965893B1 (en) Techniques for granting shared locks more efficiently
US5761659A (en) Method, product, and structure for flexible range locking of read and write requests using shared and exclusive locks, flags, sub-locks, and counters
US4965719A (en) Method for lock management, page coherency, and asynchronous writing of changed pages to shared external store in a distributed computing system
US6681226B2 (en) Selective pessimistic locking for a concurrently updateable database
JPH07191944A (ja) 多重プロセッサによる多数の資源への命令におけるデッドロックを防止するためのシステムおよび方法
JPH0465414B2 (ja)
JPH01298440A (ja) 計算機システムおよびそのタスクスケジュール方法
JPH03161859A (ja) リクエスト管理方法及びアクセス制御システム
JPH04308961A (ja) 占有されたプロセスの同期ロックの状態を通知するための手段及び装置
KR20010005570A (ko) 에이전트로 구현되는 로킹 메커니즘
JPH06103132A (ja) 並行制御方法
JP3611295B2 (ja) コンピュータシステム、メモリ管理方法及び記憶媒体
US6185650B1 (en) High performance locking facility
US20020042850A1 (en) System and method for deadlock management in database systems with demultiplexed connections
JP2685530B2 (ja) 共用データの管理方法
CN116303489B (zh) 一种分层局部式表锁的实现方法以及实现系统
JP3681415B2 (ja) デッドロック検出装置
JPH01211064A (ja) ロック解除不可情報取得方式
US20250321948A1 (en) Distributed Database Locking
JPH09106357A (ja) 排他制御装置及びその方法
JPH09330240A (ja) 資源排他制御方式
Bowen et al. A locking facility for parallel systems
JPS62140159A (ja) 共用データ管理方法
CN114817287A (zh) 电力数据访问冲突处理方法、装置和计算机设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20041221

Free format text: JAPANESE INTERMEDIATE CODE: A621

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070306

A521 Written amendment

Effective date: 20070427

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070807