JPH0383142A - 共有資源排他制御方式 - Google Patents
共有資源排他制御方式Info
- Publication number
- JPH0383142A JPH0383142A JP1221016A JP22101689A JPH0383142A JP H0383142 A JPH0383142 A JP H0383142A JP 1221016 A JP1221016 A JP 1221016A JP 22101689 A JP22101689 A JP 22101689A JP H0383142 A JPH0383142 A JP H0383142A
- Authority
- JP
- Japan
- Prior art keywords
- lock
- shared
- mode
- task
- tasks
- 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
Links
- 238000000034 method Methods 0.000 claims description 21
- 230000000903 blocking effect Effects 0.000 abstract 2
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007717 exclusion Effects 0.000 description 2
- 206010011224 Cough Diseases 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は共有資源排他側9n方式に関し、特に計算機シ
ステムの共有資源の排他制御方式に関する。
ステムの共有資源の排他制御方式に関する。
計算機システムにおいて複数のタスクから使用される資
源については、それへのアクセスを逐次化するために排
他制御が必要である。このような排他制御のために、計
算機システムには、ロック/アンロック(あるいはEN
Q/DEQ)と呼ばれる基本機能が備えられており、ロ
ック要求には通常排他モードと共有モードとの2fim
がある。
源については、それへのアクセスを逐次化するために排
他制御が必要である。このような排他制御のために、計
算機システムには、ロック/アンロック(あるいはEN
Q/DEQ)と呼ばれる基本機能が備えられており、ロ
ック要求には通常排他モードと共有モードとの2fim
がある。
排他制御の基本的動作は次のようなものである。
あるタスクがロック要求を出した場合、ロック要求対象
資源が他のタスクによりロックされていないならば、す
ぐにロック権が与えられる。しかし、他のタスクにより
すでにロックされている場合、その資源のロックモード
、または該タスクのロック要求のモードが排他モードの
ときはロック待ちとなる。その*aのロックモードと該
タスクの口7り要求のモードとがともに共有モードのと
きは、(1) ロック待ちしているタスクがない場合
は該タスクにロック権を与え、ロック待ちタスクがある
場合は該タスクをロック待ちとする、(2)該タスクに
ロック権を与える、 のいずれかの方法がとられる。
資源が他のタスクによりロックされていないならば、す
ぐにロック権が与えられる。しかし、他のタスクにより
すでにロックされている場合、その資源のロックモード
、または該タスクのロック要求のモードが排他モードの
ときはロック待ちとなる。その*aのロックモードと該
タスクの口7り要求のモードとがともに共有モードのと
きは、(1) ロック待ちしているタスクがない場合
は該タスクにロック権を与え、ロック待ちタスクがある
場合は該タスクをロック待ちとする、(2)該タスクに
ロック権を与える、 のいずれかの方法がとられる。
また、資源をロックしていたタスクがアンロック要求を
出した場合は、該アンロック要求タスクのロック樽の行
使が終了する。他にロックしているタスクがなく、かつ
リック待ちタスクがある場合には、それらのうちの最も
早くロック要求したタスクの要求モードが排他モードな
らばこのタスクのみにロック権を与え、共有モードなら
ば前記(1)および(2)に対応して、 (1) 現在排他モードでロック待ちしているどのタ
スクよりも早く共有モードでロック待ちしているタスク
のすべてにロック権を与える、(2)現在共有モードで
ロック待ちしているタスクのすべてにロック潅を写える
、 のいづ゛れかの方法がとられる。
出した場合は、該アンロック要求タスクのロック樽の行
使が終了する。他にロックしているタスクがなく、かつ
リック待ちタスクがある場合には、それらのうちの最も
早くロック要求したタスクの要求モードが排他モードな
らばこのタスクのみにロック権を与え、共有モードなら
ば前記(1)および(2)に対応して、 (1) 現在排他モードでロック待ちしているどのタ
スクよりも早く共有モードでロック待ちしているタスク
のすべてにロック権を与える、(2)現在共有モードで
ロック待ちしているタスクのすべてにロック潅を写える
、 のいづ゛れかの方法がとられる。
−L述した(1)の方法を採用した従来の共有資源排他
制御方式では、いかなる場合も共有モードのロック要求
を出したタスクが排他モードのロック要求を出したタス
クを追い越してロックできないので、現在のロックが解
け、次のロック待ちタスクにロック権を与える際に該タ
スクのロックモードが共有モードであっても、排他モー
ドのロック待ちタスクがあると、それ以後に共有モード
でロック待ちになったタスクにはロック権が与えられず
、資源を効率よく使用できないという欠点がある。
制御方式では、いかなる場合も共有モードのロック要求
を出したタスクが排他モードのロック要求を出したタス
クを追い越してロックできないので、現在のロックが解
け、次のロック待ちタスクにロック権を与える際に該タ
スクのロックモードが共有モードであっても、排他モー
ドのロック待ちタスクがあると、それ以後に共有モード
でロック待ちになったタスクにはロック権が与えられず
、資源を効率よく使用できないという欠点がある。
また、上述した(2)の方法を採用した従来の共有資源
排他制御方式では、共有モードのロック要求に対して排
他モードのロック要求に比べて有利にロック権が与えら
れることになるので、共有モードのロック要求が排他モ
ードのロック要求よりも頻繁に行われると、いつまでも
排他モードでロック要求したタスクにロック潅が与えら
れない状況(永久封鎖)が発生するという欠点がある。
排他制御方式では、共有モードのロック要求に対して排
他モードのロック要求に比べて有利にロック権が与えら
れることになるので、共有モードのロック要求が排他モ
ードのロック要求よりも頻繁に行われると、いつまでも
排他モードでロック要求したタスクにロック潅が与えら
れない状況(永久封鎖)が発生するという欠点がある。
本発明の目的は、上述の点に鑑み、最大共有タスク数を
新たに導入し、資源が共有モードでロックされていると
きにこの共有モードロック中にロック権を与えたタスク
数が最大共有タスク数未満の間は共イfモードロック要
求が排他モードロック要求を追い越すのを許すようにし
て、永久封鎖の問題を避けながら共有資源の使用効率の
向上を図るようにした共有資源排他制御方式を提供する
ことにある。
新たに導入し、資源が共有モードでロックされていると
きにこの共有モードロック中にロック権を与えたタスク
数が最大共有タスク数未満の間は共イfモードロック要
求が排他モードロック要求を追い越すのを許すようにし
て、永久封鎖の問題を避けながら共有資源の使用効率の
向上を図るようにした共有資源排他制御方式を提供する
ことにある。
(課題2−・解決するための手段)
本二発明の共有資源排他制御方式は、計算機シスツムの
共有資源排他制御方式において、共有モードのロック要
求に対して資源がロックされていない場合および共有モ
ードでロックされかつ共有モードロックになってかへロ
ック権を与えたタスクの数が最大共有タスク数より少な
い場合に該ロック要求を出したタスクにロック権を与え
その他の場合にはロック待ちとする共有要求処理手段と
、アンロック要求に対して次にロック権を与えるべきロ
、ツク待ちタスクが共有モードでロック要求している場
合に最大共有タスク数以内の共有モート′のロック待ち
タスクにロック権を与える共有待ちロック手段とを有す
る。
共有資源排他制御方式において、共有モードのロック要
求に対して資源がロックされていない場合および共有モ
ードでロックされかつ共有モードロックになってかへロ
ック権を与えたタスクの数が最大共有タスク数より少な
い場合に該ロック要求を出したタスクにロック権を与え
その他の場合にはロック待ちとする共有要求処理手段と
、アンロック要求に対して次にロック権を与えるべきロ
、ツク待ちタスクが共有モードでロック要求している場
合に最大共有タスク数以内の共有モート′のロック待ち
タスクにロック権を与える共有待ちロック手段とを有す
る。
本発明の共有’RB排他制御方式では、共有要求処理手
段が共有モードのロック要求に対してIQがロックされ
ていない場合および共有モードでロックされかつ共有モ
ードロックになってからロック権を与えたタスクの数が
最大共有タスク数より少ない場合に該ロック要求を出し
たタスクにロック権を与えその他の場合にはロック待ち
とし、共有待ちロック手段がアンロック要求に対し2て
次にロック権を与えるべきロック待ちタスクが共有モー
ドでロック要求している場合に最大共有タスク数以内の
共有モードのロック待ちタスク口、・り権を与える。
段が共有モードのロック要求に対してIQがロックされ
ていない場合および共有モードでロックされかつ共有モ
ードロックになってからロック権を与えたタスクの数が
最大共有タスク数より少ない場合に該ロック要求を出し
たタスクにロック権を与えその他の場合にはロック待ち
とし、共有待ちロック手段がアンロック要求に対し2て
次にロック権を与えるべきロック待ちタスクが共有モー
ドでロック要求している場合に最大共有タスク数以内の
共有モードのロック待ちタスク口、・り権を与える。
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例の共有資源排他制御方式の
構成を示すプロ/り図である。本実施例の共有資源排他
制御方式を実現する共有資源排他制御機能9は、ロック
要求処理部6と、アンロック要求処理部7と、排他制御
テーブル8とから、その主要部が構成されている。
構成を示すプロ/り図である。本実施例の共有資源排他
制御方式を実現する共有資源排他制御機能9は、ロック
要求処理部6と、アンロック要求処理部7と、排他制御
テーブル8とから、その主要部が構成されている。
ロック要求処理部6は、共有モードのロック要求を処理
する共有要求処理手段1と、排他モードのロック要求を
処理する排他要求処理手段2とから構成されている。
する共有要求処理手段1と、排他モードのロック要求を
処理する排他要求処理手段2とから構成されている。
アンロック要求処理部7は、アンロック要求したタスク
のロック解除を行うロック解除手段3と、次のロック待
ちタスクの要求モードが共有モードの場合のロック処理
を行う共有待ちロック手段4と、次のロック待ちタスク
の要求モードが排他モードの場合のロック処理を行う排
他待ちロック手段5とから構成されている。
のロック解除を行うロック解除手段3と、次のロック待
ちタスクの要求モードが共有モードの場合のロック処理
を行う共有待ちロック手段4と、次のロック待ちタスク
の要求モードが排他モードの場合のロック処理を行う排
他待ちロック手段5とから構成されている。
なお、第1図中、符号T1〜Tn、(nは正整数)は、
共有資源使用タスク(以下、単にタスクという)をそれ
ぞれ示す。
共有資源使用タスク(以下、単にタスクという)をそれ
ぞれ示す。
第2図を参照すると、排他制御テーブル8は、計xiシ
ステム内の排他制御対i資源(図示せず)を−意に識別
するための名前である資源名をキーとするテーブルであ
る。各資源に対するエントリは、資源名部と、共有タス
ク数と、ロックモード部と、ロック中タスクリストと、
ロック待ちタスクキューとからなる。共有タスク数は、
現在、資源が共有モードでロックされている場合、この
共有モードロック中にロック権を与えたタスクの数を記
録する。ロックモード部は、資源がロックされていると
きのロックモードを記録する。ロック中タスクリストは
、その資源をロックしているタスクのタスク識別子を記
録する。ロック待ちタスクキューは、待ち状態にあるロ
ック要求の待ち行列であり、これらのロック要求を出し
ているタスクのタスク識別子とロックモードとの組を要
求順に記録する。
ステム内の排他制御対i資源(図示せず)を−意に識別
するための名前である資源名をキーとするテーブルであ
る。各資源に対するエントリは、資源名部と、共有タス
ク数と、ロックモード部と、ロック中タスクリストと、
ロック待ちタスクキューとからなる。共有タスク数は、
現在、資源が共有モードでロックされている場合、この
共有モードロック中にロック権を与えたタスクの数を記
録する。ロックモード部は、資源がロックされていると
きのロックモードを記録する。ロック中タスクリストは
、その資源をロックしているタスクのタスク識別子を記
録する。ロック待ちタスクキューは、待ち状態にあるロ
ック要求の待ち行列であり、これらのロック要求を出し
ているタスクのタスク識別子とロックモードとの組を要
求順に記録する。
なお、第2図および第3図(a)〜(e)中、T1〜T
7はタスク識別子(タスクと同じ符号を使用する。以下
同様)を、Rは資源名を、SおよびEは共有モードおよ
び排他モードをそれぞれ示す。
7はタスク識別子(タスクと同じ符号を使用する。以下
同様)を、Rは資源名を、SおよびEは共有モードおよ
び排他モードをそれぞれ示す。
共有要求処理手段1は、共有モードのロック要求の処理
を行う、詳しくは、 〈1) 排他制御テーブル8のロック中タスクリスト
が空の場合か、共有タスク数が最大共有タスク数N(正
整数)未満の場合、該ロック要求のロックモード(共有
モード)をロックモード部に記録し、該ロック要求を出
したタスクのタスク識別子をロック中タスクリストに追
加し、共有タスク数に1を加える。
を行う、詳しくは、 〈1) 排他制御テーブル8のロック中タスクリスト
が空の場合か、共有タスク数が最大共有タスク数N(正
整数)未満の場合、該ロック要求のロックモード(共有
モード)をロックモード部に記録し、該ロック要求を出
したタスクのタスク識別子をロック中タスクリストに追
加し、共有タスク数に1を加える。
12)排他制御テーブル8のロックモード部に排他モー
ドが記録されている場合か、共有タスク数が最大共有タ
スク数Nに達している場合、該ロック要求を出したタス
クのタスク識別子と該ロック要求のロックモード(共有
モード)との姐をロック待ちタスクキューの最後に追加
し、該ロック要求を出したタスクの処理を中断させる。
ドが記録されている場合か、共有タスク数が最大共有タ
スク数Nに達している場合、該ロック要求を出したタス
クのタスク識別子と該ロック要求のロックモード(共有
モード)との姐をロック待ちタスクキューの最後に追加
し、該ロック要求を出したタスクの処理を中断させる。
共有待ちロック手段4は、アンロック要求処理において
、次のロック待ちタスクの要求モードが共有モードの場
合のロック処理を行う、詳しくは、tl) 排他制御
テーブル8のロックモード部に共有モードを記録し、ロ
ック待ちタスクキューの先頭から最大共有タスク数Nま
での共有モードのロック要求のタスク識別子をロック中
タスクリストに記録する0次に、この記録が行われたロ
ック要求を排他制御テーブル8のロック待ちタスクキュ
ーから削陳し、これらのタスクの処理を再開させる。さ
らに、ロック中タスクリストに記録されたタスク数を共
有タスク数に記録する。
、次のロック待ちタスクの要求モードが共有モードの場
合のロック処理を行う、詳しくは、tl) 排他制御
テーブル8のロックモード部に共有モードを記録し、ロ
ック待ちタスクキューの先頭から最大共有タスク数Nま
での共有モードのロック要求のタスク識別子をロック中
タスクリストに記録する0次に、この記録が行われたロ
ック要求を排他制御テーブル8のロック待ちタスクキュ
ーから削陳し、これらのタスクの処理を再開させる。さ
らに、ロック中タスクリストに記録されたタスク数を共
有タスク数に記録する。
排他要求処理手段2は、排他モードのロック要求の処理
を行う、詳しくは、 (1)排他制御テーブル8のロック中タスクリストが空
の場合、咳ロック要求のロックモード(排他モード)を
ロックモード部に記録し、該ロック要求を出したタスク
のタスク識別子をロック中タスクリストに記録する。
を行う、詳しくは、 (1)排他制御テーブル8のロック中タスクリストが空
の場合、咳ロック要求のロックモード(排他モード)を
ロックモード部に記録し、該ロック要求を出したタスク
のタスク識別子をロック中タスクリストに記録する。
(2)排他制御テーブル8のロック中タスクリストが空
でない場合、該ロック要求を出したタスクのタスク識別
子と該ロック要求のロックモード(排他モード)との組
をロック待ちタスクキューの最後に追加し、咳ロック要
求を出したタスクの処理を中断させる。
でない場合、該ロック要求を出したタスクのタスク識別
子と該ロック要求のロックモード(排他モード)との組
をロック待ちタスクキューの最後に追加し、咳ロック要
求を出したタスクの処理を中断させる。
ロック解除手段3は、アンロック要求された場合のロッ
ク解除処理を行い、ロック待ちタスクがある場合には、
次のロック待ちタスクのロック処理を行うために、共有
待ちロック手段4または排他待ちロック手段5を呼び出
す、詳しくは、Tll 35タスクのタスク識別子を
ロック中タスクリストから削除し、ロック中タスクリス
トが空になったならば、ロックモード部の内容を消去し
、共有タスク数に0を記録する。
ク解除処理を行い、ロック待ちタスクがある場合には、
次のロック待ちタスクのロック処理を行うために、共有
待ちロック手段4または排他待ちロック手段5を呼び出
す、詳しくは、Tll 35タスクのタスク識別子を
ロック中タスクリストから削除し、ロック中タスクリス
トが空になったならば、ロックモード部の内容を消去し
、共有タスク数に0を記録する。
、 t2+ 11Aいて、ロック中タスクリストが
空の場合、ロック待ちタスクキューの先頭のロック要求
が共有モードならば共有待ちロック手段4を、排他モー
ドならば排他待ちロック手段5を呼び出す。
空の場合、ロック待ちタスクキューの先頭のロック要求
が共有モードならば共有待ちロック手段4を、排他モー
ドならば排他待ちロック手段5を呼び出す。
上記(1)において、共有タスク数を共有モードロック
のアンロック要求のたびに1つ減じて、現在共有モード
ロックしているタスクの数を表すようにすると、排他モ
ードのロック待ちがあるときに、共有モードのアンロッ
ク要求と共有モードのロック要求とが交互に行われた場
合、排他モードのロック待ちタスクは永久封鎖されてし
まうが、本実施例の共有資源排他制御方式のように、共
有モードロックのアンロック要求に対して共有タスク数
を1つ減しることなく、ロック中タスクリストが空にな
った時点で初めて共有タスク数を0にすることにより、
共有タスク数は、現在の共有モードロック状態が始まっ
てからロック権を与えたタスクの累積数を表し、共有モ
ードのアンロック要求と共有モードのロック要求とが交
互に行われた場合でも、いずれ共有タスク数が最大共有
タスク数に達して、それ以後に共有モードでロック要求
したタスクはロック待ちとなり、排他モードのロック待
ちタスクの永久封鎖は発生しない。
のアンロック要求のたびに1つ減じて、現在共有モード
ロックしているタスクの数を表すようにすると、排他モ
ードのロック待ちがあるときに、共有モードのアンロッ
ク要求と共有モードのロック要求とが交互に行われた場
合、排他モードのロック待ちタスクは永久封鎖されてし
まうが、本実施例の共有資源排他制御方式のように、共
有モードロックのアンロック要求に対して共有タスク数
を1つ減しることなく、ロック中タスクリストが空にな
った時点で初めて共有タスク数を0にすることにより、
共有タスク数は、現在の共有モードロック状態が始まっ
てからロック権を与えたタスクの累積数を表し、共有モ
ードのアンロック要求と共有モードのロック要求とが交
互に行われた場合でも、いずれ共有タスク数が最大共有
タスク数に達して、それ以後に共有モードでロック要求
したタスクはロック待ちとなり、排他モードのロック待
ちタスクの永久封鎖は発生しない。
排他待ちロック手段5は、ロック解除手段3から呼び出
され、排他モードのロック待ちタスクのロック処理を行
う。詳しくは、 (1) ロック待ちタスクキューの先頭にあるロック
要求のロックモードをロックモード部に、タスク識別子
をロック中タスクリストにそれぞれ記録し、ロック待ち
タスクキューから該ロック要求を削除する。さらに、該
ロック要求を出したタスクの処理を再開させる。
され、排他モードのロック待ちタスクのロック処理を行
う。詳しくは、 (1) ロック待ちタスクキューの先頭にあるロック
要求のロックモードをロックモード部に、タスク識別子
をロック中タスクリストにそれぞれ記録し、ロック待ち
タスクキューから該ロック要求を削除する。さらに、該
ロック要求を出したタスクの処理を再開させる。
次に、このように構成された本実施例の共有資源排他制
御方式の動作について、第3図(a)〜(e)を参照し
ながら具体的に説明する。なお、ここでは、最大共有タ
スク数Nは、固定値2であると仮定する。
御方式の動作について、第3図(a)〜(e)を参照し
ながら具体的に説明する。なお、ここでは、最大共有タ
スク数Nは、固定値2であると仮定する。
第3図(a)〜(e)は、いずれもある時点での排他制
御テーブル8の状態を示している。第3図(a)では資
BRをタスクTlが共有モードでロックし、タスクT2
が排他モードでロック待ちしている。このとき、新たな
タスクT3およびT4がこの順序で共有モードのロック
要求をすると、共有要求処理手段1によりタスクT3に
対してはこの時点での共有タスク数が最大共有タスク数
2よりも小さいのでロック権が与えられるが、次のタス
クT4が要求した時点では共有タスク数がすでに最大共
有タスク数2に等しくなっているため、ロック待ちとな
る。この結果、排他制御テーブル8は第3図(b)の状
態となる。
御テーブル8の状態を示している。第3図(a)では資
BRをタスクTlが共有モードでロックし、タスクT2
が排他モードでロック待ちしている。このとき、新たな
タスクT3およびT4がこの順序で共有モードのロック
要求をすると、共有要求処理手段1によりタスクT3に
対してはこの時点での共有タスク数が最大共有タスク数
2よりも小さいのでロック権が与えられるが、次のタス
クT4が要求した時点では共有タスク数がすでに最大共
有タスク数2に等しくなっているため、ロック待ちとな
る。この結果、排他制御テーブル8は第3図(b)の状
態となる。
次に、タスクTIおよびT3がアンロック要求すると、
ロック解除手段3によりこれらタスクTlおよびT3の
ロックが解除され、ロック中タスクリストが空になるの
で、共有タスク数に0が記録される。続いて、次のロッ
ク待ちタスクT2のロック要求が排他モードなので排他
待ちロック手段5が呼び出され、ロックモード部に排他
モードが、ロック中タスクリストにタスク識別子T2が
それぞれ記録される0次に、ロック待ちタスクキュー中
のタスクT2のロック要求が削除され、タスクT2の処
理が再開される。この結果、排他制御テーブル8は第3
図(C)の状態となる。
ロック解除手段3によりこれらタスクTlおよびT3の
ロックが解除され、ロック中タスクリストが空になるの
で、共有タスク数に0が記録される。続いて、次のロッ
ク待ちタスクT2のロック要求が排他モードなので排他
待ちロック手段5が呼び出され、ロックモード部に排他
モードが、ロック中タスクリストにタスク識別子T2が
それぞれ記録される0次に、ロック待ちタスクキュー中
のタスクT2のロック要求が削除され、タスクT2の処
理が再開される。この結果、排他制御テーブル8は第3
図(C)の状態となる。
次に、新たなタスクT5が排他モードで、タスクT6お
よびT7が共有モードでロック要求すると、タスクT5
に対しては排他要求処理手段2が、タスクT6およびT
7に対しては共有要求処理手段1が呼び出され、すでに
資源Rが排他モードでタスクT2によりロックされてい
るので、これらタスクT5.T6およびT7はロック待
ちとなり、これらタスクT5.T6およびT7のタスク
識別子と要求モード(排他モード、共有モードおよび共
有モード)との紐がロック待ちタスクキューに記録され
る。この結果、排他制御テーブル8は第3図(d)の状
態となる。
よびT7が共有モードでロック要求すると、タスクT5
に対しては排他要求処理手段2が、タスクT6およびT
7に対しては共有要求処理手段1が呼び出され、すでに
資源Rが排他モードでタスクT2によりロックされてい
るので、これらタスクT5.T6およびT7はロック待
ちとなり、これらタスクT5.T6およびT7のタスク
識別子と要求モード(排他モード、共有モードおよび共
有モード)との紐がロック待ちタスクキューに記録され
る。この結果、排他制御テーブル8は第3図(d)の状
態となる。
次に、タスクT2がアンロック要求すると、ロック解除
手段3が呼び出され、ロック中タスクリストからタスク
識別子T2が削除される。続いて、ロック中タスクリス
トが空、かつ次のロック待ちタスクT4の要求モードが
共有モードなので、共有待ちロック手段4が呼び出され
、ロック待ちタスクキューの先頭から最大共有タスク数
2までの共有モードロック要求のタスク識別子T4およ
びT6をロック中タスクリストに記録し、共有タスク数
に2を記録する0次に、タスクT4およびT6のロック
要求をロック待ちタスクキューから削除し、タスクT4
およびT6の処理を再開させる。
手段3が呼び出され、ロック中タスクリストからタスク
識別子T2が削除される。続いて、ロック中タスクリス
トが空、かつ次のロック待ちタスクT4の要求モードが
共有モードなので、共有待ちロック手段4が呼び出され
、ロック待ちタスクキューの先頭から最大共有タスク数
2までの共有モードロック要求のタスク識別子T4およ
びT6をロック中タスクリストに記録し、共有タスク数
に2を記録する0次に、タスクT4およびT6のロック
要求をロック待ちタスクキューから削除し、タスクT4
およびT6の処理を再開させる。
この結果、排他制御テーブル8は第3図(6)の状態と
なる。
なる。
なお、本実施例では、最大共有タスク数Nを資源の種類
にかかわらずに固定値としたが、排他制御テーブル8内
に各資源に対する最大共有タスク数の欄を設けることに
より、資源ごとに異なる最大共有タスク数を使用するこ
とも可能である。
にかかわらずに固定値としたが、排他制御テーブル8内
に各資源に対する最大共有タスク数の欄を設けることに
より、資源ごとに異なる最大共有タスク数を使用するこ
とも可能である。
以上説明したように本発明は、共有モードのロック要求
に対して共有モードでロックされかつ共有モードロック
になってからロック権を与えたタスクの数が最大共有タ
スク数より少ない場合に該ロック要求を出したタスクに
ロック権を与える共有要求処理手段と、アンロック要求
に対して次にロック権を与えるべきロック待ちタスクが
共有モードでロック要求している場合に最大共有タスク
数以内の共有モードのロック待ちタスクにロック権を与
える共有待ちロック手段とを設けることにより、資源が
共有モードでロックされているときにこの共有モードロ
7り中にロック権を与えたタスク数が最大共有タスク数
未満の間は共有モードロック要求が排他モードロック要
求を追い越すのを許すようにして、永久封鎖の問題を避
けながら共有資源の使用効率を向上させることができる
という効果がある。
に対して共有モードでロックされかつ共有モードロック
になってからロック権を与えたタスクの数が最大共有タ
スク数より少ない場合に該ロック要求を出したタスクに
ロック権を与える共有要求処理手段と、アンロック要求
に対して次にロック権を与えるべきロック待ちタスクが
共有モードでロック要求している場合に最大共有タスク
数以内の共有モードのロック待ちタスクにロック権を与
える共有待ちロック手段とを設けることにより、資源が
共有モードでロックされているときにこの共有モードロ
7り中にロック権を与えたタスク数が最大共有タスク数
未満の間は共有モードロック要求が排他モードロック要
求を追い越すのを許すようにして、永久封鎖の問題を避
けながら共有資源の使用効率を向上させることができる
という効果がある。
第1図は本発明の一実施例の共有資源排他制御方式のf
Jll戒を示すブロック図、 第2図は第1図中の排他制御テーブルのI#I威を示す
図、 第3図(a)〜(e)は本実施例の共有資源排他制御方
式の具体的な動作例を説明するための図である。 図において、 l・・・共有要求処理手段、 2・・・排他要求処理手段、 3・・・ロック解除手段、 4・・・共有待ちロック手段、 5・・・排他待ちロック手段、 6・・・ロック要求処理部、 7・・・アンロック要求処理部、 8・・・排他制御テーブル、 9・・・共有資源排他制御機能、 TI−Tn・・・タスクである。 第 図 第2図 E・・臂他モ ド
Jll戒を示すブロック図、 第2図は第1図中の排他制御テーブルのI#I威を示す
図、 第3図(a)〜(e)は本実施例の共有資源排他制御方
式の具体的な動作例を説明するための図である。 図において、 l・・・共有要求処理手段、 2・・・排他要求処理手段、 3・・・ロック解除手段、 4・・・共有待ちロック手段、 5・・・排他待ちロック手段、 6・・・ロック要求処理部、 7・・・アンロック要求処理部、 8・・・排他制御テーブル、 9・・・共有資源排他制御機能、 TI−Tn・・・タスクである。 第 図 第2図 E・・臂他モ ド
Claims (1)
- 【特許請求の範囲】 計算機システムの共有資源排他制御方式において、 共有モードのロック要求に対して資源がロックされてい
ない場合および共有モードでロックされかつ共有モード
ロックになってからロック権を与えたタスクの数が最大
共有タスク数より少ない場合に該ロック要求を出したタ
スクにロック権を与えその他の場合にはロック待ちとす
る共有要求処理手段と、 アンロック要求に対して次にロック権を与えるべきロッ
ク待ちタスクが共有モードでロック要求している場合に
最大共有タスク数以内の共有モードのロック待ちタスク
にロック権を与える共有待ちロック手段と を有することを特徴とする共有資源排他制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1221016A JPH0383142A (ja) | 1989-08-28 | 1989-08-28 | 共有資源排他制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1221016A JPH0383142A (ja) | 1989-08-28 | 1989-08-28 | 共有資源排他制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0383142A true JPH0383142A (ja) | 1991-04-09 |
Family
ID=16760162
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1221016A Pending JPH0383142A (ja) | 1989-08-28 | 1989-08-28 | 共有資源排他制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0383142A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08272667A (ja) * | 1995-03-31 | 1996-10-18 | Nec Corp | ファイルアクセス制御システム |
| US9411660B2 (en) | 2011-02-25 | 2016-08-09 | Fujitsu Limited | Lock control apparatus and lock control method |
| JP2018506085A (ja) * | 2015-12-14 | 2018-03-01 | 華為技術有限公司Huawei Technologies Co.,Ltd. | クラスタ内のロック管理方法、ロックサーバ及びクライアント |
| CN112965829A (zh) * | 2021-02-22 | 2021-06-15 | 电子科技大学 | 一种在并行任务分组调度下使用锁协议的方法 |
-
1989
- 1989-08-28 JP JP1221016A patent/JPH0383142A/ja active Pending
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08272667A (ja) * | 1995-03-31 | 1996-10-18 | Nec Corp | ファイルアクセス制御システム |
| US9411660B2 (en) | 2011-02-25 | 2016-08-09 | Fujitsu Limited | Lock control apparatus and lock control method |
| JP2018506085A (ja) * | 2015-12-14 | 2018-03-01 | 華為技術有限公司Huawei Technologies Co.,Ltd. | クラスタ内のロック管理方法、ロックサーバ及びクライアント |
| US10257282B2 (en) | 2015-12-14 | 2019-04-09 | Huawei Technologies Co., Ltd. | Lock management method in cluster, lock server, and client |
| US10609150B2 (en) | 2015-12-14 | 2020-03-31 | Huawei Technologies Co., Ltd. | Lock management method in cluster, lock server, and client |
| CN112965829A (zh) * | 2021-02-22 | 2021-06-15 | 电子科技大学 | 一种在并行任务分组调度下使用锁协议的方法 |
| CN112965829B (zh) * | 2021-02-22 | 2023-08-11 | 电子科技大学 | 一种在并行任务分组调度下使用锁协议的方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5454108A (en) | Distributed lock manager using a passive, state-full control-server | |
| JPH01298440A (ja) | 計算機システムおよびそのタスクスケジュール方法 | |
| US8082379B2 (en) | Systems and methods for managing semantic locks | |
| KR20010005570A (ko) | 에이전트로 구현되는 로킹 메커니즘 | |
| JPH02195453A (ja) | ファイルアクセス制御方式 | |
| JP2002157554A (ja) | スマートカードのアクセス管理システム、共有方法及び記憶媒体 | |
| Stone | Database applications of the fetch-and-add instruction | |
| JPH0383142A (ja) | 共有資源排他制御方式 | |
| US8566298B1 (en) | Method and apparatus for sharing resource locks amongst applications | |
| JP2518134B2 (ja) | 共有資源排他制御方式 | |
| JPH0478932A (ja) | 共有資源排他制御方式 | |
| JPH02118843A (ja) | 共有資源排他制御方式 | |
| JPH03141458A (ja) | 共有資源排他制御方式 | |
| JP2898012B2 (ja) | 計算機資源の排他制御方式 | |
| JPH0423047A (ja) | 共有資源排他制御方式 | |
| JPH04116731A (ja) | 共有資源排他制御方式 | |
| JPH03257568A (ja) | 共有資源排他制御方式 | |
| JPH05120040A (ja) | コンピユータシステム | |
| JPH02194442A (ja) | 共有資源制御装置 | |
| JP3068556B2 (ja) | 共有資源排他制御方式およびそのプログラム記録媒体 | |
| JP3036468B2 (ja) | 排他制御処理装置及び排他制御処理方法並びに排他制御処理プログラムを記憶した記憶媒体 | |
| JPS6320634A (ja) | 計算機資源排他制御方式 | |
| JPS5827255A (ja) | 複数電子計算機間共用フアイルの制御方式 | |
| JPH0981438A (ja) | クライアントサーバシステムにおける自動排他制御システム | |
| JPH04223533A (ja) | 共有資源排他制御システム |