JPH0423047A - 共有資源排他制御方式 - Google Patents
共有資源排他制御方式Info
- Publication number
- JPH0423047A JPH0423047A JP12791790A JP12791790A JPH0423047A JP H0423047 A JPH0423047 A JP H0423047A JP 12791790 A JP12791790 A JP 12791790A JP 12791790 A JP12791790 A JP 12791790A JP H0423047 A JPH0423047 A JP H0423047A
- Authority
- JP
- Japan
- Prior art keywords
- lock
- task
- mode
- waiting
- shared
- 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
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は共有資源排他制御方式に関し、特に計算機シス
テムにおける共有資源排他制御方式に関する。
テムにおける共有資源排他制御方式に関する。
計算機システムにおいて複数のタスクから使用される共
有資源(以下、単に資源という)については、資源への
アクセスを逐次化するために排他制御が必要である。こ
のような排他制御のために、計算機システムには、ロッ
ク/アンロック(あるいはENQ/DEQ)と呼ばれる
基本機能が備えられており、ロック要求モードには通常
排他モードと共有モードとの2種類がある。
有資源(以下、単に資源という)については、資源への
アクセスを逐次化するために排他制御が必要である。こ
のような排他制御のために、計算機システムには、ロッ
ク/アンロック(あるいはENQ/DEQ)と呼ばれる
基本機能が備えられており、ロック要求モードには通常
排他モードと共有モードとの2種類がある。
従来、この種の共有資源排他制御方式の基本的動作は、
次のようなものである。あるタスクがロック要求を出し
た場合、ロック要求対象の資源が他のタスクによりロッ
クされていなければ、すぐにロック権が与えられる。し
かし、ロック要求対象の資源が他のタスクによりすでに
ロックされている場合には、資源のロックモードまたは
ロック要求タスクのロック要求モードが排他モードのと
きにはロック待ちとなる。資源のロックモードとロック
要求タスクのロック要求モードとがともに共有モードの
ときには、 (1) ロック待ちタスクがない場合には口・7り要
求タスクにロック権を与え、ロック待ちタスクがある場
合にはロック要求タスクをロック待ちとする、 (2) ロック要求タスクにロック権を与える、のい
ずれかの方法がとられる。
次のようなものである。あるタスクがロック要求を出し
た場合、ロック要求対象の資源が他のタスクによりロッ
クされていなければ、すぐにロック権が与えられる。し
かし、ロック要求対象の資源が他のタスクによりすでに
ロックされている場合には、資源のロックモードまたは
ロック要求タスクのロック要求モードが排他モードのと
きにはロック待ちとなる。資源のロックモードとロック
要求タスクのロック要求モードとがともに共有モードの
ときには、 (1) ロック待ちタスクがない場合には口・7り要
求タスクにロック権を与え、ロック待ちタスクがある場
合にはロック要求タスクをロック待ちとする、 (2) ロック要求タスクにロック権を与える、のい
ずれかの方法がとられる。
また、資源をロックしていたタスクがアンロック要求を
出した場合には、アンロック要求タスクのロック権の行
使が終了する。他に資源をロックしているタスクがなく
、かつロック待ちタスクがある場合には、ロック待ちタ
スクのうちの最も早くロック要求したタスクのロック要
求モードが排他モードならばこのタスクにのみロック権
を与え、共有モードならば前記fl)および(2)に対
応して、+11 現在排他モードでロック待ちしてい
るどのタスクよりも早く共有モードでロック待ちしてい
るタスクのすべてにロック権を与える、(2) 現在
共存モードでロック待ちしているタスクのすべてにロッ
ク権を与える、 のいずれかの方法がとられる。
出した場合には、アンロック要求タスクのロック権の行
使が終了する。他に資源をロックしているタスクがなく
、かつロック待ちタスクがある場合には、ロック待ちタ
スクのうちの最も早くロック要求したタスクのロック要
求モードが排他モードならばこのタスクにのみロック権
を与え、共有モードならば前記fl)および(2)に対
応して、+11 現在排他モードでロック待ちしてい
るどのタスクよりも早く共有モードでロック待ちしてい
るタスクのすべてにロック権を与える、(2) 現在
共存モードでロック待ちしているタスクのすべてにロッ
ク権を与える、 のいずれかの方法がとられる。
上述した(1)の方法を採用した従来の共f資源排他制
御方式では、いかなる場合も共有モードのロック要求を
出したタスクが排他モードのロック要求を出したタスク
を追い越して資源をロックすることができないので、現
在のロックが解け、次のロック待ちタスクにロック権を
与える際にロック待ちタスクのロックモードが共有モー
ドであっても、排他モードのロック待ちタスクがあると
、それ以後に共有モードでロック待ちになったタスクに
はロック権が与えられず、資源を効率よく使用すること
ができないという欠点がある。
御方式では、いかなる場合も共有モードのロック要求を
出したタスクが排他モードのロック要求を出したタスク
を追い越して資源をロックすることができないので、現
在のロックが解け、次のロック待ちタスクにロック権を
与える際にロック待ちタスクのロックモードが共有モー
ドであっても、排他モードのロック待ちタスクがあると
、それ以後に共有モードでロック待ちになったタスクに
はロック権が与えられず、資源を効率よく使用すること
ができないという欠点がある。
また、上述した(2)の方法を採用した従来の共存資源
排他制御方式では、共存モードのロック要求に対しては
排他モードのロック要求に比べて有利にロック権が与え
られることになるので、共有モードのロック要求が排他
モードのロック要求よりも頻繁に行われると、排他モー
ドで口・ツク要求したタスクにいつまでもロック権が与
えられない状況(永久封鎖)が発生するという欠点があ
る。
排他制御方式では、共存モードのロック要求に対しては
排他モードのロック要求に比べて有利にロック権が与え
られることになるので、共有モードのロック要求が排他
モードのロック要求よりも頻繁に行われると、排他モー
ドで口・ツク要求したタスクにいつまでもロック権が与
えられない状況(永久封鎖)が発生するという欠点があ
る。
本発明の目的は、上述の点に鑑み、最大待ち時間を新た
に導入し、資源を排他モードでロック待ちしているタス
クのロック待ち時間が最大待ち時間以内である場合に限
り、共有モードでロック要求したタスクが排他モードで
ロック待ちしているタスクを追い越すことを許すように
して、永久封鎖の問題を避けながら共有資源の使用効率
の向上を図るようにした共存資源排他制御方式を提供す
ることにある。
に導入し、資源を排他モードでロック待ちしているタス
クのロック待ち時間が最大待ち時間以内である場合に限
り、共有モードでロック要求したタスクが排他モードで
ロック待ちしているタスクを追い越すことを許すように
して、永久封鎖の問題を避けながら共有資源の使用効率
の向上を図るようにした共存資源排他制御方式を提供す
ることにある。
本発明の共有資源排他制御方式は、計算機システムの共
有資源排他制御方式において、共有モードのロック要求
に対して、資源が共有モードでロックされておりかつ排
他モードのロック待ちタスクがありこれらのタスクのす
べてのロック待ち時間が最大待ち時間以内であればロッ
ク要求タスクにロック権を与え、資源が共有モードでロ
ックされておりかつロック待ち時間が最大待ち時間以内
の排他モードのロック待ちタスクと最大待ち時間を越え
る排他モードのロック待ちタスクとがともにある場合お
よび¥を源が排他モードでロックされでおりかつロック
待ち時間が最大待ち時間以内の排他モードのロック待ち
タスクがある場合にはロック待ち時間が最大待ち時間以
内の排他モードのロック待ちタスクの中で最も長時間待
っているりスフの前にロック権が与えられるようにロッ
ク権の付与順序を変更してロック要求タスクをロック待
ちとする共有要求処理手段と、アンロック要求に対して
次にロック権を与えるべきロック待ちタスクが共有モー
ドでロック要求している場合にはどの排他モードのロッ
ク待ちタスクよりも先にロック権を与えるべき共有モー
ドのロック待ちタスクのすべてにロック権を与える共有
待ちロック手段とを有する。
有資源排他制御方式において、共有モードのロック要求
に対して、資源が共有モードでロックされておりかつ排
他モードのロック待ちタスクがありこれらのタスクのす
べてのロック待ち時間が最大待ち時間以内であればロッ
ク要求タスクにロック権を与え、資源が共有モードでロ
ックされておりかつロック待ち時間が最大待ち時間以内
の排他モードのロック待ちタスクと最大待ち時間を越え
る排他モードのロック待ちタスクとがともにある場合お
よび¥を源が排他モードでロックされでおりかつロック
待ち時間が最大待ち時間以内の排他モードのロック待ち
タスクがある場合にはロック待ち時間が最大待ち時間以
内の排他モードのロック待ちタスクの中で最も長時間待
っているりスフの前にロック権が与えられるようにロッ
ク権の付与順序を変更してロック要求タスクをロック待
ちとする共有要求処理手段と、アンロック要求に対して
次にロック権を与えるべきロック待ちタスクが共有モー
ドでロック要求している場合にはどの排他モードのロッ
ク待ちタスクよりも先にロック権を与えるべき共有モー
ドのロック待ちタスクのすべてにロック権を与える共有
待ちロック手段とを有する。
本発明の共有資源排他制御方式では、共存要求処理手段
が共有モードのロック要求に対して、資源が共有モード
でロックされておりかつ排他モードのロック待ちタスク
がありこれらのタスクのすべてのロック待ち時間が最大
待ち時間以内であればロック要求タスクにロック権を与
え、資源が共有モードでロックされておりかつロック待
ち時間が最大待ち時間以内の排他モードのロック待ちタ
スクと最大待ち時間を越える排他モードのロック待ちタ
スクとがともにある場合および資源が排他モードでロッ
クされておりかつロック待ち時間が最大待ち時間以内の
排他モードのロック待ちタスクがある場合にはロック待
ち時間が最大待ち時間以内の排他モードのロック待ちタ
スクの中て最も長時間待っているタスクの前にロック権
が与えられるようにロック権の付与順序を変更してロッ
ク要求タスクをロック待ちとし、共有待ちロック手段が
アンロック要求に対して次にロック権を与えるべきロッ
ク待ちタスクが共有モードでロック要求している場合に
はどの排他モードのロック待ちタスクよりも先にロック
権を与えるべき共有モードのロック待ちタスクのすべて
にロック権を与える。
が共有モードのロック要求に対して、資源が共有モード
でロックされておりかつ排他モードのロック待ちタスク
がありこれらのタスクのすべてのロック待ち時間が最大
待ち時間以内であればロック要求タスクにロック権を与
え、資源が共有モードでロックされておりかつロック待
ち時間が最大待ち時間以内の排他モードのロック待ちタ
スクと最大待ち時間を越える排他モードのロック待ちタ
スクとがともにある場合および資源が排他モードでロッ
クされておりかつロック待ち時間が最大待ち時間以内の
排他モードのロック待ちタスクがある場合にはロック待
ち時間が最大待ち時間以内の排他モードのロック待ちタ
スクの中て最も長時間待っているタスクの前にロック権
が与えられるようにロック権の付与順序を変更してロッ
ク要求タスクをロック待ちとし、共有待ちロック手段が
アンロック要求に対して次にロック権を与えるべきロッ
ク待ちタスクが共有モードでロック要求している場合に
はどの排他モードのロック待ちタスクよりも先にロック
権を与えるべき共有モードのロック待ちタスクのすべて
にロック権を与える。
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例に係る共有資源排他制御方
式の構成を示すブロック図である0本実施例の共有資源
排他制御方式を実現する共有資源排他制御機能9は、ロ
ック要求処理部6と、アンロック要求処理部7と、排他
制御テーブル8とがら、その主要部が構成されている。
式の構成を示すブロック図である0本実施例の共有資源
排他制御方式を実現する共有資源排他制御機能9は、ロ
ック要求処理部6と、アンロック要求処理部7と、排他
制御テーブル8とがら、その主要部が構成されている。
ロック要求処理部6は、共有モードのロック要求を処理
する共有要求処理手段1と、排他モードのロック要求を
処理する排他要求処理手段2とから構成されている。
する共有要求処理手段1と、排他モードのロック要求を
処理する排他要求処理手段2とから構成されている。
アンロック要求処理部7は、アンロック要求したタスク
のロック解除を行うロック解除手段3と、次のロック待
ちタスクのロック要求モードが共有モードの場合のロッ
ク処理を行う共有待ちロック手段4と、次のロック待ち
タスクのロック要求モードが排他モードの場合のロック
処理を行う排他待ちロック手段5とから構成されている
。
のロック解除を行うロック解除手段3と、次のロック待
ちタスクのロック要求モードが共有モードの場合のロッ
ク処理を行う共有待ちロック手段4と、次のロック待ち
タスクのロック要求モードが排他モードの場合のロック
処理を行う排他待ちロック手段5とから構成されている
。
なお、第1図中、符号T1〜Tn (nは正整数)は、
共有資源使用タスク(以下、単にタスクという)をそれ
ぞれ示す。
共有資源使用タスク(以下、単にタスクという)をそれ
ぞれ示す。
第2図を参照すると、排他制御テーブル8は、計算機シ
ステム内の排他制御対象の資源(図示せず)Rを一意に
識別するための名前である資源名R(資源と同じ符号を
使用する。以下同様)をキーとするテーブルである。各
資源Rに対するエントリは、資源名部と、ロックモード
部と、ロック中タスクリストと、ロック待ちタスクキュ
ーとからなる。ロック中タスクリストは、責fiRをロ
ックしているタスクT1〜Tnのタスク識別子T1〜T
n(タスクと同じ符号を使用する。以下同様)を記録す
る。ロック待ちタスクキューは、ロック待ちタスクの情
報(以下、この情報を誤解のない範囲で単にロック待ち
タスクということがある)を登録する待ち行列であり、
共有モードSのロック要求タスクではタスク識別子およ
び共有モードSの組を、排他モードEのロック要求タス
クではタスク識別子、排他モードEおよびロック要求時
刻の組を記録する。
ステム内の排他制御対象の資源(図示せず)Rを一意に
識別するための名前である資源名R(資源と同じ符号を
使用する。以下同様)をキーとするテーブルである。各
資源Rに対するエントリは、資源名部と、ロックモード
部と、ロック中タスクリストと、ロック待ちタスクキュ
ーとからなる。ロック中タスクリストは、責fiRをロ
ックしているタスクT1〜Tnのタスク識別子T1〜T
n(タスクと同じ符号を使用する。以下同様)を記録す
る。ロック待ちタスクキューは、ロック待ちタスクの情
報(以下、この情報を誤解のない範囲で単にロック待ち
タスクということがある)を登録する待ち行列であり、
共有モードSのロック要求タスクではタスク識別子およ
び共有モードSの組を、排他モードEのロック要求タス
クではタスク識別子、排他モードEおよびロック要求時
刻の組を記録する。
共有要求処理手段1は、タスクT1〜Tnがらの資#R
の共有モードSでのロック要求の処理を行う、詳しくは
、 +11 排他制御テーブル8の資源名Rのエントリの
ロックモード部が空の場合には、ロック要求タスクのロ
ック要求モードである共存子−ドSを口ツクモード部に
記録し、ロック要求タスクのタンク識別子をロック中タ
スクリストに記録し、口。
の共有モードSでのロック要求の処理を行う、詳しくは
、 +11 排他制御テーブル8の資源名Rのエントリの
ロックモード部が空の場合には、ロック要求タスクのロ
ック要求モードである共存子−ドSを口ツクモード部に
記録し、ロック要求タスクのタンク識別子をロック中タ
スクリストに記録し、口。
り要求タスクに資源Rのロック権を与える。
(2)排他制御テーブル8の資源名Rのエンド5のロッ
クモード部が空でない場合には、ロック?4ちタスクキ
ューを先頭から順に走査し、排他モードEのロック待ち
タスクを見つけた場合には、5在時刻からこのロック待
ちタスクのロック要求1シ刻を減算し、結果であるロッ
ク待ち時間が所定の最大待ち時間T以内となるときには
ロック待ちタスクキューの走査を終了する。また、ロッ
ク持方タスクキューのすべてのロック待ちタスクを検査
し終わったときにも走査を終了する。この走査の結果、 ■ 排他制御テーブル8の資源名Rのエントリのロック
モード部に共有モードSが記録されており、かつロック
待ちタスクキューに排他モードEのロック待ちタスクが
ない場合には、ロック要求タスクのタスク識別子をロッ
ク中タスクリストに追加し、ロック要求タスクに資6j
JRのロック権を与える。
クモード部が空でない場合には、ロック?4ちタスクキ
ューを先頭から順に走査し、排他モードEのロック待ち
タスクを見つけた場合には、5在時刻からこのロック待
ちタスクのロック要求1シ刻を減算し、結果であるロッ
ク待ち時間が所定の最大待ち時間T以内となるときには
ロック待ちタスクキューの走査を終了する。また、ロッ
ク持方タスクキューのすべてのロック待ちタスクを検査
し終わったときにも走査を終了する。この走査の結果、 ■ 排他制御テーブル8の資源名Rのエントリのロック
モード部に共有モードSが記録されており、かつロック
待ちタスクキューに排他モードEのロック待ちタスクが
ない場合には、ロック要求タスクのタスク識別子をロッ
ク中タスクリストに追加し、ロック要求タスクに資6j
JRのロック権を与える。
■ 排他制御テーブル8の資源名Rのエントリのロック
モード部に共存モードSが記録されており、かつロック
待ちタスクキューに排他モードEのロック待ちタスクが
ありこれらのタスクのすべてのロック待ち時間が最大待
ち時間T以内であれば、ロック要求タスクのタスク識別
子をロック中タスクリストに追加し、ロック要求タスク
に資源Rのロック権を与える。
モード部に共存モードSが記録されており、かつロック
待ちタスクキューに排他モードEのロック待ちタスクが
ありこれらのタスクのすべてのロック待ち時間が最大待
ち時間T以内であれば、ロック要求タスクのタスク識別
子をロック中タスクリストに追加し、ロック要求タスク
に資源Rのロック権を与える。
■ 排他制御テーブル8の資源名Rのエントリのロック
モード部に共有モードSが記録されており、かつロック
待ちタスクキューにロック待チ時間が最大待ち時間T以
内の排他モードEのロック待ちタスクと最大待ち時間T
を越える排他モート′Eのロック待ちタスクとがともに
ある場合には、ロック待ち時間が最大待ち時間T以内の
排他モートEのロック待ちタスクの中で最も長い時間待
っているタスクの前となるようにロック要求タスクのタ
スク識別子およびロック要求モードである共有モードS
の組をロック待ちタスクキューに挿入してロック権の付
与順序を変更し、口、ツタ要求タスクの処理を中断させ
てロック待ちとする。
モード部に共有モードSが記録されており、かつロック
待ちタスクキューにロック待チ時間が最大待ち時間T以
内の排他モードEのロック待ちタスクと最大待ち時間T
を越える排他モート′Eのロック待ちタスクとがともに
ある場合には、ロック待ち時間が最大待ち時間T以内の
排他モートEのロック待ちタスクの中で最も長い時間待
っているタスクの前となるようにロック要求タスクのタ
スク識別子およびロック要求モードである共有モードS
の組をロック待ちタスクキューに挿入してロック権の付
与順序を変更し、口、ツタ要求タスクの処理を中断させ
てロック待ちとする。
■ 排他制御テーブル8の資源名Rのエントリのロック
モード部に共有モードSが記録されており、かつロック
待ちタスクキューに排他モードEのロック待ちタスクが
ありこれらのタスクのすべてのロック待ち時間が最大待
ち時間Tを越えている場合には、現在のロック待ちタス
クの最後にロック権が与えられるようにロック待ちタス
クキューの最後にロック要求タスクのタスク識別子およ
びロック要求モードである共有モードSの組を追加し、
ロック要求タスクの処理を中断させてロック待ちとする
。
モード部に共有モードSが記録されており、かつロック
待ちタスクキューに排他モードEのロック待ちタスクが
ありこれらのタスクのすべてのロック待ち時間が最大待
ち時間Tを越えている場合には、現在のロック待ちタス
クの最後にロック権が与えられるようにロック待ちタス
クキューの最後にロック要求タスクのタスク識別子およ
びロック要求モードである共有モードSの組を追加し、
ロック要求タスクの処理を中断させてロック待ちとする
。
■ 排他制御テーブル8の資源名Rのエントリのロック
モード部に排他モードEが記録されており、かつロック
待ちタスクキューに排他モードEのロック待ちタスクが
ない場合には、現在の口。
モード部に排他モードEが記録されており、かつロック
待ちタスクキューに排他モードEのロック待ちタスクが
ない場合には、現在の口。
り待ちタスクの最後にロック権が与えられるようにロッ
ク待ちタスクキューの最後にロック要求タスクのタスク
識別子およびロック要求モードである共有モードSの紐
を追加し、ロック要求タスクの処理を中断させてロック
待ちとする。
ク待ちタスクキューの最後にロック要求タスクのタスク
識別子およびロック要求モードである共有モードSの紐
を追加し、ロック要求タスクの処理を中断させてロック
待ちとする。
■ 排他制御テーブル8の資源名Rのエントリのロック
モード部に排他モードEが記録されており、かつロック
待ちタスクキューにロック待ち時間が最大待ち時間以内
の排他モードのロック待ちタスクがある場合には、ロッ
ク待ち時間が最大待ち時間T以内のタスクの中で最も長
時間待っているタスクの前となるようにロック要求タス
クのタスク識別子およびロック要求モードである共有モ
ードSの紐をロック待ちタスクキューに挿入してロック
権の付与順序を変更し、口、り要求タスクの処理を中断
させてロック待ちとする。
モード部に排他モードEが記録されており、かつロック
待ちタスクキューにロック待ち時間が最大待ち時間以内
の排他モードのロック待ちタスクがある場合には、ロッ
ク待ち時間が最大待ち時間T以内のタスクの中で最も長
時間待っているタスクの前となるようにロック要求タス
クのタスク識別子およびロック要求モードである共有モ
ードSの紐をロック待ちタスクキューに挿入してロック
権の付与順序を変更し、口、り要求タスクの処理を中断
させてロック待ちとする。
■ 排他制御テーブル8の、wa名Rのエントリのロッ
クモード部に排他モードEが記録されており、かつ排他
モードのロック待ちタスクがありこれらのタスクのすべ
てのロック待ち時間が最大待ち時間Tを越えている場合
には、現在のロック待ちタスクの最後にロック権が与え
られるようにロック待ちタスクキューの最後にロック要
求クスクのタスク識別子およびロック要求モードである
共有モードSの組を追加し、ロック要求タスクの処理を
中断させてロック待ちとする。
クモード部に排他モードEが記録されており、かつ排他
モードのロック待ちタスクがありこれらのタスクのすべ
てのロック待ち時間が最大待ち時間Tを越えている場合
には、現在のロック待ちタスクの最後にロック権が与え
られるようにロック待ちタスクキューの最後にロック要
求クスクのタスク識別子およびロック要求モードである
共有モードSの組を追加し、ロック要求タスクの処理を
中断させてロック待ちとする。
上記(2)の■、■および■により、資源Rが共有モー
ドSでロックされておりかつ排他モードEのロック待ち
タスクがある場合、新たな共有モードSのロック要求タ
スクが追い越せる排他モードEのロック待ちタスクは、
ロック待ち時間が最大待ち時間T以内のタスクに限られ
ることになり、永久封鎖は発生しない。
ドSでロックされておりかつ排他モードEのロック待ち
タスクがある場合、新たな共有モードSのロック要求タ
スクが追い越せる排他モードEのロック待ちタスクは、
ロック待ち時間が最大待ち時間T以内のタスクに限られ
ることになり、永久封鎖は発生しない。
排他要求処理手段2は、タスクT1〜Tnからの資源R
の排他モードEでのロック要求の処理を行う、詳しくは
、 +11 排他制御テーブル8の資源名Rのエントリの
ロックモード部が空の場合、ロック要求モードである排
他モードEをロックモード部に記録し、ロック要求タス
クのタスク識別子をロック中タスクリストに記録し、ロ
ック要求タスクにロック権を与える。
の排他モードEでのロック要求の処理を行う、詳しくは
、 +11 排他制御テーブル8の資源名Rのエントリの
ロックモード部が空の場合、ロック要求モードである排
他モードEをロックモード部に記録し、ロック要求タス
クのタスク識別子をロック中タスクリストに記録し、ロ
ック要求タスクにロック権を与える。
(2)排他制御テーブル8の資源名Rのエントリのロッ
クモード部が空でない場合、ロック要求タスクのタスク
識別子、ロック要求モードである排他モードEおよびロ
ック要求時刻の組をロック待ちタスクキューの最後に追
加し、ロック要求タスクの処理を中断させてロック待ち
とする。
クモード部が空でない場合、ロック要求タスクのタスク
識別子、ロック要求モードである排他モードEおよびロ
ック要求時刻の組をロック待ちタスクキューの最後に追
加し、ロック要求タスクの処理を中断させてロック待ち
とする。
ロック解除手段3は、アンロック要求された場合のロッ
ク解除処理を行い、ロック待ちタスクがある場合には、
次のロック待ちタスクのロック処理を行うために、共有
待ちロック手段4または排他待ちロック手段5を呼び出
す、詳しくは、[11アンロック要求タスクのタスク識
別子をロック中タスクリストから削除し、ロック中タス
クリストが空になったならば、ロックモード部の内容を
消去する。
ク解除処理を行い、ロック待ちタスクがある場合には、
次のロック待ちタスクのロック処理を行うために、共有
待ちロック手段4または排他待ちロック手段5を呼び出
す、詳しくは、[11アンロック要求タスクのタスク識
別子をロック中タスクリストから削除し、ロック中タス
クリストが空になったならば、ロックモード部の内容を
消去する。
(2)次に、ロック中タスクリストが空の場合、ロック
待ちタスクキューの先頭のロック待ちタスクのロック要
求モードが共有モードならば共有待ちロック手段4を、
排他モードならば排他待ちロック手段5を呼び出す。
待ちタスクキューの先頭のロック待ちタスクのロック要
求モードが共有モードならば共有待ちロック手段4を、
排他モードならば排他待ちロック手段5を呼び出す。
共有待ちロック手段4は、ロック解除手段3から呼び出
され、次のロック待ちタスクのロック要求モードが共有
モードSの場合にロック処理を行う、詳しくは、 (11排他制御テーブル8の資源名Rのエントリのロッ
クモード部に共有モードSを記録し、ロック待ちタスク
キューの先頭から連続するすべての共有モードSのロッ
ク待ちタスクのタスク識別子をロック中タスクリストに
記録する。次に、この記録が行われたロック待ちタスク
を排他制御テーブル8のロック待ちタスクキューから削
除し、これらのタスクの処理を再開させてロック権を与
える。
され、次のロック待ちタスクのロック要求モードが共有
モードSの場合にロック処理を行う、詳しくは、 (11排他制御テーブル8の資源名Rのエントリのロッ
クモード部に共有モードSを記録し、ロック待ちタスク
キューの先頭から連続するすべての共有モードSのロッ
ク待ちタスクのタスク識別子をロック中タスクリストに
記録する。次に、この記録が行われたロック待ちタスク
を排他制御テーブル8のロック待ちタスクキューから削
除し、これらのタスクの処理を再開させてロック権を与
える。
排他待ちロック手段5は、ロック解除手段3から呼び出
され、次のロック待ちタスクのロック要求モードが排他
モードEの場合にロック処理を行う、詳しくは、 (1) ロック待ちタスクキューの先頭にあるロック
待ちタスクのロック要求モードをロックモード部に、タ
スク識別子をロック中タスクリストにそれぞれ記録する
6次に、この記録が行われたロック待ちタスクをロック
待ちタスクキューから削除し、このタスクの処理を再開
させてロック権を与える。
され、次のロック待ちタスクのロック要求モードが排他
モードEの場合にロック処理を行う、詳しくは、 (1) ロック待ちタスクキューの先頭にあるロック
待ちタスクのロック要求モードをロックモード部に、タ
スク識別子をロック中タスクリストにそれぞれ記録する
6次に、この記録が行われたロック待ちタスクをロック
待ちタスクキューから削除し、このタスクの処理を再開
させてロック権を与える。
次に、このように構成された本実施例の共有資源排他制
御方式の動作について、第3図および第4図(a)〜(
g)を参照しながら具体的に説明する。第3図は、本説
明での資源Rに対するロック要求およびアンロック要求
の発生状況を示すタイムチャートである。第4図(a)
〜(g)は、第3図の各時刻t a −t gでの排他
制御テーブル8の状態をそれぞれ示す図である。なお、
ここでは、最大待ち時間Tは、固定値2であると仮定す
る。また、資源Rは、時刻tより前ではロックされてお
らず、ロック待ちタスクもないものと仮定する。
御方式の動作について、第3図および第4図(a)〜(
g)を参照しながら具体的に説明する。第3図は、本説
明での資源Rに対するロック要求およびアンロック要求
の発生状況を示すタイムチャートである。第4図(a)
〜(g)は、第3図の各時刻t a −t gでの排他
制御テーブル8の状態をそれぞれ示す図である。なお、
ここでは、最大待ち時間Tは、固定値2であると仮定す
る。また、資源Rは、時刻tより前ではロックされてお
らず、ロック待ちタスクもないものと仮定する。
時刻tで、タスクTIが資源Rを共有モードSでロック
要求すると、共有資源排他側ms能9は、ロック要求処
理部6の共有要求処理手段1を呼び出す。共有要求処理
手段1は、排他制御テーブル8の資源名Rのエントリに
アクセスし、ロックモ−ド部が空なので資源Rはロック
されていないことを認識し、ロックモード部にロック要
求モードである共有モードSを、ロック中タスクリスト
にロック要求タスクT1のタスク識別子T1をそれぞれ
記録し、ロック要求タスクTIに資#Rのロック権を与
える。
要求すると、共有資源排他側ms能9は、ロック要求処
理部6の共有要求処理手段1を呼び出す。共有要求処理
手段1は、排他制御テーブル8の資源名Rのエントリに
アクセスし、ロックモ−ド部が空なので資源Rはロック
されていないことを認識し、ロックモード部にロック要
求モードである共有モードSを、ロック中タスクリスト
にロック要求タスクT1のタスク識別子T1をそれぞれ
記録し、ロック要求タスクTIに資#Rのロック権を与
える。
時刻(+1で、タスクT2が資源Rを排他モードEでロ
ック要求すると、共有資源排他制御機能9は、ロック要
求処理部6の排他要求処理手段2を呼び出す、排他要求
処理手段2は、排他制御テーブル8の資源名Rのエント
リにアクセスし、ロックモード部に共存モードSが記録
されているので資fIARが共有モードSですでにロッ
クされていることを認識し、ロック要求タスクT2のタ
スク識別子下2゜ロック要求モードである排他子−ドE
、およびロック要求時刻としての現在時刻t+1の組を
ロック待ちタスクキューに記録し、ロック要求タスクT
2の処理を中断させてロック待ちとする。この結果、排
他制御テーブル8は、第4図(a)に示す状態となる。
ック要求すると、共有資源排他制御機能9は、ロック要
求処理部6の排他要求処理手段2を呼び出す、排他要求
処理手段2は、排他制御テーブル8の資源名Rのエント
リにアクセスし、ロックモード部に共存モードSが記録
されているので資fIARが共有モードSですでにロッ
クされていることを認識し、ロック要求タスクT2のタ
スク識別子下2゜ロック要求モードである排他子−ドE
、およびロック要求時刻としての現在時刻t+1の組を
ロック待ちタスクキューに記録し、ロック要求タスクT
2の処理を中断させてロック待ちとする。この結果、排
他制御テーブル8は、第4図(a)に示す状態となる。
時刻t+2で、タスクT3が資源Rを共有モードSでロ
ック要求すると、共有資源排他制御機能9は、ロック要
求処理部6の共有要求処理手段1を呼び出す、共有要求
処理手段1は、排他制御テーブル8の資源名Rのエント
リにアクセスし、ロックモード部に共有モードSが記録
されているので、資源Rが共有モードSですでにロック
されていることを認識し、ロック待ちタスクキューを先
頭から順に走査して排他モードEのロック待ちタスクT
2を見つけ、現在時刻む+2からロック要求時刻t+1
を減算してロック待ちタスクT2のロック待ち時間1を
得る。ロック待ちタスクT2のロック待ち時間1が最大
待ち時間2よりも小さいので、共有要求処理手段1は、
ロック待ちタスクキューの走査を終了する。ロック待ち
タスクキューの先頭で走査が終了し、かつ資源Rが共有
モードSでロックされているので、共有要求処理手段1
は、ロック中タスクリストに共有モードSでのロック要
求タスクT3のタスク識別子T3を追加し、ロック要求
タスクT3に資′tARのロック権を与える。この結果
、排他制御テーブル8は、第4図(b)に示す状態とな
る。
ック要求すると、共有資源排他制御機能9は、ロック要
求処理部6の共有要求処理手段1を呼び出す、共有要求
処理手段1は、排他制御テーブル8の資源名Rのエント
リにアクセスし、ロックモード部に共有モードSが記録
されているので、資源Rが共有モードSですでにロック
されていることを認識し、ロック待ちタスクキューを先
頭から順に走査して排他モードEのロック待ちタスクT
2を見つけ、現在時刻む+2からロック要求時刻t+1
を減算してロック待ちタスクT2のロック待ち時間1を
得る。ロック待ちタスクT2のロック待ち時間1が最大
待ち時間2よりも小さいので、共有要求処理手段1は、
ロック待ちタスクキューの走査を終了する。ロック待ち
タスクキューの先頭で走査が終了し、かつ資源Rが共有
モードSでロックされているので、共有要求処理手段1
は、ロック中タスクリストに共有モードSでのロック要
求タスクT3のタスク識別子T3を追加し、ロック要求
タスクT3に資′tARのロック権を与える。この結果
、排他制御テーブル8は、第4図(b)に示す状態とな
る。
時刻t+4で、タスクT4が資#Rを共有モードSでロ
ック要求すると、共有資源排他制御機能9は、ロック要
求処理部6の共有要求処理手段lを呼び出す、共有要求
処理手段lは、排他側iflテーブル8の資源名Rのエ
ントリにアクセスし、ロックモード部に共存モードSが
記録されているので資fiRが共有モードSですでにロ
ックされていることを認識し、ロック待ちタスクキュー
を先頭から順に走査して排他モードEのロック待ちタス
クT2を見つけ、現在時刻t+4からロック要求時刻【
+1を減算してロック待ちタスクT2のロック待ち時間
3を得る。ロック待ちタスクT2のロック待ち時間3が
最大待ら時間2よりも大きいので、共有要求処理手段1
は、ロック待ちタスクキューの走査を継続しようとする
が、ロック待ちタスクキューのすべてを走査し終わって
いるので走査完了とする。ロック待ち時間が最大待ち時
間2より小さい排他モードEのロック待ちタスクが見つ
からなかったので、共有要求処理手段1は、ロック要求
タスクT4のタスク識別子T4およびロック要求モード
である共有モードSの紐をロック待ちタスクキューの最
後に追加し、ロック要求タスクT4の処理を中断させて
ロック待ちとする。
ック要求すると、共有資源排他制御機能9は、ロック要
求処理部6の共有要求処理手段lを呼び出す、共有要求
処理手段lは、排他側iflテーブル8の資源名Rのエ
ントリにアクセスし、ロックモード部に共存モードSが
記録されているので資fiRが共有モードSですでにロ
ックされていることを認識し、ロック待ちタスクキュー
を先頭から順に走査して排他モードEのロック待ちタス
クT2を見つけ、現在時刻t+4からロック要求時刻【
+1を減算してロック待ちタスクT2のロック待ち時間
3を得る。ロック待ちタスクT2のロック待ち時間3が
最大待ら時間2よりも大きいので、共有要求処理手段1
は、ロック待ちタスクキューの走査を継続しようとする
が、ロック待ちタスクキューのすべてを走査し終わって
いるので走査完了とする。ロック待ち時間が最大待ち時
間2より小さい排他モードEのロック待ちタスクが見つ
からなかったので、共有要求処理手段1は、ロック要求
タスクT4のタスク識別子T4およびロック要求モード
である共有モードSの紐をロック待ちタスクキューの最
後に追加し、ロック要求タスクT4の処理を中断させて
ロック待ちとする。
この結果、排他制御テーブル8は、第4図(C)に示す
状態となる。
状態となる。
時刻t −1−5で、タスクTIが資源Rをアンロック
要求すると、共存資源排他制御機能9は、アンロック要
求処理部7のロック解除手段3を呼び出す。ロック解除
手段3は、排他制御テーブル8の資源名Rのエントリに
アクセスし、ロック中タスクリストからアンロック要求
タスクT1のタスク識別子T1を削除する。
要求すると、共存資源排他制御機能9は、アンロック要
求処理部7のロック解除手段3を呼び出す。ロック解除
手段3は、排他制御テーブル8の資源名Rのエントリに
アクセスし、ロック中タスクリストからアンロック要求
タスクT1のタスク識別子T1を削除する。
時刻t+5で、タスクT3が資′tIRをアンロック要
求すると、共有資源排他制御機能9は、アンロック要求
処理部7のロック解除手段3を呼び出す。ロック解除手
段3は、排他制御テーブル8の資源名Rのエントリにア
クセスし、ロック中タスクリストからタスク識別子T3
を削除する。ここで、ロック中タスクリストが空となっ
たので、ロック解除手段3は、ロックモード部の共有モ
ードSも消去する0次に、ロック解除手段3は、ロック
待ちタスクキューの先頭のロック待ちタスクT2のロッ
ク要求モードが排他モードEであるので、排他待ちロッ
ク手段5を呼び出す、排他待ちロック手段5は、ロック
モード部に排他モードEを、ロック中タスクリストにロ
ック待ちタスクT2のタスク識別子T2をそれぞれ記録
し、ロック待ちタスクキューからロック待ちタスクT2
の登録を削除し、ロック待ちタスクT2の処理を再開さ
せてロック権を与える。
求すると、共有資源排他制御機能9は、アンロック要求
処理部7のロック解除手段3を呼び出す。ロック解除手
段3は、排他制御テーブル8の資源名Rのエントリにア
クセスし、ロック中タスクリストからタスク識別子T3
を削除する。ここで、ロック中タスクリストが空となっ
たので、ロック解除手段3は、ロックモード部の共有モ
ードSも消去する0次に、ロック解除手段3は、ロック
待ちタスクキューの先頭のロック待ちタスクT2のロッ
ク要求モードが排他モードEであるので、排他待ちロッ
ク手段5を呼び出す、排他待ちロック手段5は、ロック
モード部に排他モードEを、ロック中タスクリストにロ
ック待ちタスクT2のタスク識別子T2をそれぞれ記録
し、ロック待ちタスクキューからロック待ちタスクT2
の登録を削除し、ロック待ちタスクT2の処理を再開さ
せてロック権を与える。
時刻【+7で、タスクT5が資源Rを排他モードEでロ
ック要求すると、共有資源排他制御IIa能9は、ロッ
ク要求処理部6の排他要求処理手段2を呼び出す。排他
要求処理手段2は、排他制御テーブル8の資源名Rのエ
ントリにアクセスし、ロックモード部に排他モードEが
記録されているので資源Rが排他モードEですでにロッ
クされていることを認識し、ロック待ちタスクキューの
最後にロック要求タスクT5のタスク識別子T5.タス
ク要求モードである排他モードEおよびロック要求時刻
1+7の組を追加し、ロック要求タスクT5の処理を中
断させてロック待ちとする。この結果、排他制御テーブ
ル8は、第4図(d)に示す状態となる。
ック要求すると、共有資源排他制御IIa能9は、ロッ
ク要求処理部6の排他要求処理手段2を呼び出す。排他
要求処理手段2は、排他制御テーブル8の資源名Rのエ
ントリにアクセスし、ロックモード部に排他モードEが
記録されているので資源Rが排他モードEですでにロッ
クされていることを認識し、ロック待ちタスクキューの
最後にロック要求タスクT5のタスク識別子T5.タス
ク要求モードである排他モードEおよびロック要求時刻
1+7の組を追加し、ロック要求タスクT5の処理を中
断させてロック待ちとする。この結果、排他制御テーブ
ル8は、第4図(d)に示す状態となる。
時刻1+8で、タスクT6が資源Rを共有モードSでロ
ック要求すると、共有資源排他制御機能9は、ロック要
求処理部6の共有要求処理手段1を呼び出す、共有要求
処理手段1は、排他制御テーブル8の資源名Rのエント
リにアクセスし、ロックモード部に排他モードEが記録
されているので資源Rが排他モードEですでにロックさ
れていることを認識し、ロック待ちタスクキューを先頭
から順に走査して排他モードEのロック待ちタスクT5
を見つけて、現在時刻t+Bからロック要求時刻【+7
を減算してロック待ちタスクT5のロック待ち時間1を
得る。ロック待ちタスクT5のロック待ち時間1が最大
待ち時間2よりも小さいので、共有要求処理手段1は、
ロック待ちタスクキューの走査を終了する。資源Rが排
他モードEでロックされているので、共有要求処理手段
lは、走査終了位置にあるロック待ちタスクT5のロッ
ク要求の前にロック要求タスクT6のタスク識別子T6
およびロック要求モードである共有モードSの組を挿入
し、ロック要求タスクT6の処理を中断させてロック待
ちとする。この結果、排他制御テーブル8は、第4図(
e)に示す状態となる。
ック要求すると、共有資源排他制御機能9は、ロック要
求処理部6の共有要求処理手段1を呼び出す、共有要求
処理手段1は、排他制御テーブル8の資源名Rのエント
リにアクセスし、ロックモード部に排他モードEが記録
されているので資源Rが排他モードEですでにロックさ
れていることを認識し、ロック待ちタスクキューを先頭
から順に走査して排他モードEのロック待ちタスクT5
を見つけて、現在時刻t+Bからロック要求時刻【+7
を減算してロック待ちタスクT5のロック待ち時間1を
得る。ロック待ちタスクT5のロック待ち時間1が最大
待ち時間2よりも小さいので、共有要求処理手段1は、
ロック待ちタスクキューの走査を終了する。資源Rが排
他モードEでロックされているので、共有要求処理手段
lは、走査終了位置にあるロック待ちタスクT5のロッ
ク要求の前にロック要求タスクT6のタスク識別子T6
およびロック要求モードである共有モードSの組を挿入
し、ロック要求タスクT6の処理を中断させてロック待
ちとする。この結果、排他制御テーブル8は、第4図(
e)に示す状態となる。
時刻t+10で、タスクT7が資源Rを共有モードSで
ロック要求すると、共有資源排他制御機能9は、ロック
要求処理部6の共有要求処理手段1を呼び出す。共有要
求処理手段1は、排他制御テーブル8の資源名Rのエン
トリにアクセスし、ロックモード部に排他モードEが記
録されているので資源Rが排他モードEですでにロック
されていることを認識し、ロック待ちタスクキューを先
頭から順に走査して排他モードEのロック待ちタスクT
5を見つけて、現在時刻t+10からロック要求時刻1
+7を減算してロック待ちタスクT5のロック待ち時間
3を得る。ロック待ちタスクT5のロック待ち時間3が
最大待ち時間2よりも大きいので、共有要求処理手段1
は、ロック待ちタスクキューの走査を継続しようとする
が、ロック待ちタスクキューのすべてのロック要求を走
査し終わっているので走査完了とする。ロック待ち時間
が最大待ち時間2より小さい排他モードEのロック要求
が見つからなかったので、共有要求処理手段1は、ロッ
ク要求タスクT7のタスク識別子T7およびロック要求
モードである共有モードSの組をロック待ちタスクキュ
ーの最後に追加し、ロック要求タスクT7の処理を中断
させてロック待ちとする。この結果、排他制御テーブル
8は、第4図(f)に示す状態となる。
ロック要求すると、共有資源排他制御機能9は、ロック
要求処理部6の共有要求処理手段1を呼び出す。共有要
求処理手段1は、排他制御テーブル8の資源名Rのエン
トリにアクセスし、ロックモード部に排他モードEが記
録されているので資源Rが排他モードEですでにロック
されていることを認識し、ロック待ちタスクキューを先
頭から順に走査して排他モードEのロック待ちタスクT
5を見つけて、現在時刻t+10からロック要求時刻1
+7を減算してロック待ちタスクT5のロック待ち時間
3を得る。ロック待ちタスクT5のロック待ち時間3が
最大待ち時間2よりも大きいので、共有要求処理手段1
は、ロック待ちタスクキューの走査を継続しようとする
が、ロック待ちタスクキューのすべてのロック要求を走
査し終わっているので走査完了とする。ロック待ち時間
が最大待ち時間2より小さい排他モードEのロック要求
が見つからなかったので、共有要求処理手段1は、ロッ
ク要求タスクT7のタスク識別子T7およびロック要求
モードである共有モードSの組をロック待ちタスクキュ
ーの最後に追加し、ロック要求タスクT7の処理を中断
させてロック待ちとする。この結果、排他制御テーブル
8は、第4図(f)に示す状態となる。
時刻t+11で、タスクT2が資tARをアンロック要
求すると、共有資源排他制御機能9は、アンロック要求
処理部7のロック解除手段3を呼び出す。ロック解除手
段3は、排他制御テーブル8の資源名Rのエントリにア
クセスし、ロック中タスクリストからタスク識別子T2
を削除する。ここで、ロック中タスクリストが空となっ
たので、ロック解除手段3は、ロックモード部の排他モ
ードEも消去する0次に、ロック解除手段3は、ロック
待ちタスクキューの先頭のロック待ちタスクT4のロッ
ク要求モードが共存モードSであるので、共有待ちロッ
ク手段4を呼び出す、共有待ちロック手段4は、ロック
待ちタスクキューの先頭から連続する共有モードSのロ
ック待ちタスクT4およびT6のタスク識別子T4およ
びT6をロック中タスクリストに、共有モードSをロッ
クモード部にそれぞれ記録し、ロック待ちタスクT4お
よびT6をロック待ちタスクキューから削除する0次に
、共有待ちロック手段4は、ロック待ちタスクT4およ
びT6の処理を再開させてロック権を与える。この結果
、排他制御テーブル8は、第4図(g)に示す状態とな
る。
求すると、共有資源排他制御機能9は、アンロック要求
処理部7のロック解除手段3を呼び出す。ロック解除手
段3は、排他制御テーブル8の資源名Rのエントリにア
クセスし、ロック中タスクリストからタスク識別子T2
を削除する。ここで、ロック中タスクリストが空となっ
たので、ロック解除手段3は、ロックモード部の排他モ
ードEも消去する0次に、ロック解除手段3は、ロック
待ちタスクキューの先頭のロック待ちタスクT4のロッ
ク要求モードが共存モードSであるので、共有待ちロッ
ク手段4を呼び出す、共有待ちロック手段4は、ロック
待ちタスクキューの先頭から連続する共有モードSのロ
ック待ちタスクT4およびT6のタスク識別子T4およ
びT6をロック中タスクリストに、共有モードSをロッ
クモード部にそれぞれ記録し、ロック待ちタスクT4お
よびT6をロック待ちタスクキューから削除する0次に
、共有待ちロック手段4は、ロック待ちタスクT4およ
びT6の処理を再開させてロック権を与える。この結果
、排他制御テーブル8は、第4図(g)に示す状態とな
る。
なお、上記実施例では、最大待ち時間Tを資源Rの種類
にかかわらずに固定値としたが、排他制御テーブル8内
に各資源に対する最大待ち時間の欄を設けて各資源ごと
に異なった最大待ち時間Tを記録し、これを用いて資源
の排他制御を行うことも可能である。
にかかわらずに固定値としたが、排他制御テーブル8内
に各資源に対する最大待ち時間の欄を設けて各資源ごと
に異なった最大待ち時間Tを記録し、これを用いて資源
の排他制御を行うことも可能である。
以上説明したように本発明は、最大待ち時間を新たに導
入し、資源を排他モードでロック待ちしているタスクの
ロック待ち時間が最大待ち時間以内である場合に限り、
共有モードでロック要求したタスクが排他モードでロッ
ク待ちしているタスクを追い越すことを許すようにした
ことにより、永久封鎖の問題を避けながら共有資源の使
用効率を向上させることができるという効果がある。
入し、資源を排他モードでロック待ちしているタスクの
ロック待ち時間が最大待ち時間以内である場合に限り、
共有モードでロック要求したタスクが排他モードでロッ
ク待ちしているタスクを追い越すことを許すようにした
ことにより、永久封鎖の問題を避けながら共有資源の使
用効率を向上させることができるという効果がある。
第1図は本発明の一実施例に係る共有資源排他制御方式
の構成を示すブロック図、 第2図は第1図中の排他制御テーブルの構成を示す図、 第3図は本実施例の共有資源排他制御方式での資源に対
するロック/アンロック要求の発生状況の具体例を示す
タイムチャート、 第4図(a)〜(g)は第3図に示したタイムチャート
に基づく排他制御テーブルの状態の遷移を説明するため
の図である。 図において、 l・・・共有要求処理手段、 2・・・排他要求処理手段、 3・・・ロック解除手段、 4 ・・共存待ちロック手段、 5・・・排他待ちロック手段、 6・・・ロック要求処理部、 7・・・アンロック要求処理部、 8・・・排他制御テーブル、 9・・・共有資源排他制御機能、 T1〜′Fn・タスクである。
の構成を示すブロック図、 第2図は第1図中の排他制御テーブルの構成を示す図、 第3図は本実施例の共有資源排他制御方式での資源に対
するロック/アンロック要求の発生状況の具体例を示す
タイムチャート、 第4図(a)〜(g)は第3図に示したタイムチャート
に基づく排他制御テーブルの状態の遷移を説明するため
の図である。 図において、 l・・・共有要求処理手段、 2・・・排他要求処理手段、 3・・・ロック解除手段、 4 ・・共存待ちロック手段、 5・・・排他待ちロック手段、 6・・・ロック要求処理部、 7・・・アンロック要求処理部、 8・・・排他制御テーブル、 9・・・共有資源排他制御機能、 T1〜′Fn・タスクである。
Claims (1)
- 【特許請求の範囲】 計算機システムの共有資源排他制御方式において、 共有モードのロック要求に対して、資源が共有モードで
ロックされておりかつ排他モードのロック待ちタスクが
ありこれらのタスクのすべてのロック待ち時間が最大待
ち時間以内であればロック要求タスクにロック権を与え
、資源が共有モードでロックされておりかつロック待ち
時間が最大待ち時間以内の排他モードのロック待ちタス
クと最大待ち時間を越える排他モードのロック待ちタス
クとがともにある場合および資源が排他モードでロック
されておりかつロック待ち時間が最大待ち時間以内の排
他モードのロック待ちタスクがある場合にはロック待ち
時間が最大待ち時間以内の排他モードのロック待ちタス
クの中で最も長時間待っているタスクの前にロック権が
与えられるようにロック権の付与順序を変更してロック
要求タスクをロック待ちとする共有要求処理手段と、ア
ンロック要求に対して次にロック権を与えるべきロック
待ちタスクが共有モードでロック要求している場合には
どの排他モードのロック待ちタスクよりも先にロック権
を与えるべき共有モードのロック待ちタスクのすべてに
ロック権を与える共有待ちロック手段と を有することを特徴とする共有資源排他制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12791790A JPH0423047A (ja) | 1990-05-17 | 1990-05-17 | 共有資源排他制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12791790A JPH0423047A (ja) | 1990-05-17 | 1990-05-17 | 共有資源排他制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0423047A true JPH0423047A (ja) | 1992-01-27 |
Family
ID=14971839
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP12791790A Pending JPH0423047A (ja) | 1990-05-17 | 1990-05-17 | 共有資源排他制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0423047A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5621904B2 (ja) * | 2011-02-25 | 2014-11-12 | 富士通株式会社 | ロック制御装置、ロック制御プログラムおよびロック制御方法 |
| JP2018005851A (ja) * | 2016-07-08 | 2018-01-11 | 株式会社デンソー | 電子装置 |
-
1990
- 1990-05-17 JP JP12791790A patent/JPH0423047A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5621904B2 (ja) * | 2011-02-25 | 2014-11-12 | 富士通株式会社 | ロック制御装置、ロック制御プログラムおよびロック制御方法 |
| US9411660B2 (en) | 2011-02-25 | 2016-08-09 | Fujitsu Limited | Lock control apparatus and lock control method |
| JP2018005851A (ja) * | 2016-07-08 | 2018-01-11 | 株式会社デンソー | 電子装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6965893B1 (en) | Techniques for granting shared locks more efficiently | |
| US8082379B2 (en) | Systems and methods for managing semantic locks | |
| US7325064B2 (en) | Distributed locking protocol with asynchronous token prefetch and relinquish | |
| US8195702B2 (en) | Online index builds and rebuilds without blocking locks | |
| JPH01298440A (ja) | 計算機システムおよびそのタスクスケジュール方法 | |
| EP0595453B1 (en) | Distributed data processing system | |
| JP2004527857A5 (ja) | ||
| KR100834432B1 (ko) | 다중시스템 클러스터에서의 리소스 경합을 관리하는 방법 및 장치 | |
| JP4620871B2 (ja) | マルチスレッドコンピュータシステムにおけるモニタ変換 | |
| CN107992504A (zh) | 一种文件处理方法及装置 | |
| CN109034716A (zh) | 一种基于分组的协同编辑并发加锁方法 | |
| US7567986B2 (en) | Method and system for limiting resource usage of a version store | |
| JPH0423047A (ja) | 共有資源排他制御方式 | |
| US20030018606A1 (en) | Revocation of tokens without communication between the token holders and the token server | |
| JP2518134B2 (ja) | 共有資源排他制御方式 | |
| JPH0383142A (ja) | 共有資源排他制御方式 | |
| JPH0478932A (ja) | 共有資源排他制御方式 | |
| Xue et al. | Conflict control locking in distributed cooperative graphics editors | |
| JPH04116731A (ja) | 共有資源排他制御方式 | |
| JPH03257568A (ja) | 共有資源排他制御方式 | |
| JPH02118843A (ja) | 共有資源排他制御方式 | |
| Haritsa et al. | Real-time index concurrency control | |
| JPH03141458A (ja) | 共有資源排他制御方式 | |
| JP3068556B2 (ja) | 共有資源排他制御方式およびそのプログラム記録媒体 | |
| JPH09330240A (ja) | 資源排他制御方式 |