JPH02260043A - 資源ロック管理装置 - Google Patents
資源ロック管理装置Info
- Publication number
- JPH02260043A JPH02260043A JP8324289A JP8324289A JPH02260043A JP H02260043 A JPH02260043 A JP H02260043A JP 8324289 A JP8324289 A JP 8324289A JP 8324289 A JP8324289 A JP 8324289A JP H02260043 A JPH02260043 A JP H02260043A
- Authority
- JP
- Japan
- Prior art keywords
- access
- lock management
- lock
- resource
- processor
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 95
- 230000008569 process Effects 0.000 claims abstract description 94
- 238000012806 monitoring device Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 2
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
本発明は、計算機システムの資源ロック管理装置に関す
る。
る。
(従来の技術)
昨今の計算機システムの多くは多重処理を行なっており
、複数ユーザのタスクが同時に計算機上で走ることが多
い。しかもこれら計算機システムを利用するユーザは不
特定多数である場合が多く、計W機の使用に関して相互
に厳重な取り決めを持つことは期待できない。
、複数ユーザのタスクが同時に計算機上で走ることが多
い。しかもこれら計算機システムを利用するユーザは不
特定多数である場合が多く、計W機の使用に関して相互
に厳重な取り決めを持つことは期待できない。
一方、これら計算機上で仕事を行なうために必要となる
データなどの計算資源は、計算機の進歩と共にますます
膨大なものになってきており、ユーザー人−人に対して
大きな資源を個別に確保するのは難しく、共有できるも
のは一つにまとめておいた方が都合がよい。また、こう
することにより、データの更新を一度に行なうことがで
き、ユーザが使用するデータの一貫性を保つことが容易
となる。
データなどの計算資源は、計算機の進歩と共にますます
膨大なものになってきており、ユーザー人−人に対して
大きな資源を個別に確保するのは難しく、共有できるも
のは一つにまとめておいた方が都合がよい。また、こう
することにより、データの更新を一度に行なうことがで
き、ユーザが使用するデータの一貫性を保つことが容易
となる。
ところが、データなど資源を共有する場合、複数ユーザ
によるデータの更新を無秩序に許すと、データに矛盾が
生じることが知られている。このため、各:L−ザの業
務を実行するプロセスは、自己が必要とする資源に対し
てロックを掛け、必要とする処理が終了するまで他のユ
ーザのプロセスがデータをアクセスするのを排除すると
いう手段がとられている。
によるデータの更新を無秩序に許すと、データに矛盾が
生じることが知られている。このため、各:L−ザの業
務を実行するプロセスは、自己が必要とする資源に対し
てロックを掛け、必要とする処理が終了するまで他のユ
ーザのプロセスがデータをアクセスするのを排除すると
いう手段がとられている。
一方、計算機システムでは、あるひとまとまりのデータ
は一つのファイルという形になる。各プロセスはこのフ
ァイルから自分が必要とする部分に対して読み書きを行
ないながら作業を進める。
は一つのファイルという形になる。各プロセスはこのフ
ァイルから自分が必要とする部分に対して読み書きを行
ないながら作業を進める。
通常、複数ユーザで共有されるようなデータは規模が大
きなものであり、それが格納されるファイルも大きなも
のとなる。従って、ファイル内のある一部分を複数のプ
ロセスが同時に使用する可能性はそれほど大きくない。
きなものであり、それが格納されるファイルも大きなも
のとなる。従って、ファイル内のある一部分を複数のプ
ロセスが同時に使用する可能性はそれほど大きくない。
このような状況において、排他のためのロックをファイ
ル単位に掛けるようにしてしまうと、二つのプロセスが
ファイルの異なった部分にアクセスしようとした場合、
本来競合がないにもかかわらず、一方のプロセスが実行
を待たされることになる。
ル単位に掛けるようにしてしまうと、二つのプロセスが
ファイルの異なった部分にアクセスしようとした場合、
本来競合がないにもかかわらず、一方のプロセスが実行
を待たされることになる。
かかる不合理を避けるため、ファイルをより細かな単位
に分割し、それを単位としてロックを掛けることが行わ
れる。
に分割し、それを単位としてロックを掛けることが行わ
れる。
また、このようなデータを始めとして複数のユーザによ
って共有される資源へのロックを実現するためには、通
常、第4図に示すような資源ロック管理テーブルLTが
用いられる。ロック管理テーブルはロックの対象となる
資源の数に等しい数だけのエントリーを持っている。各
エントリーには、その資源が既にロックされているかど
うかを示すロックフラグと、その資源をロックしている
プロセスのプロセス番号が格納されるプロセス番号フィ
ールドがある。あるプロセスAがある資源Xに対して読
み書きを行なう場合、プロセスAはまずロック管理テー
ブル内の資源〆に対応するエントリーを調べる。そのエ
ントリーのロックフラグが立っていなければ、つまり資
源Xがまだ他のプロセスによってロックされていなけれ
ばWaXは獲得可能であり、プロセスAはロックフラグ
を立て、自分のプロセス番号を所定のフィールドに登録
し、ロック管理テーブルLTを更新する。もしフラグが
立っていた場合、処理をどうするかについて様々な方式
が提案されているが、ここではプロセスAが獲得を一時
的に放棄し、資源Xが解放されるのを待つような状態(
ブロック状態)に入るものとする。
って共有される資源へのロックを実現するためには、通
常、第4図に示すような資源ロック管理テーブルLTが
用いられる。ロック管理テーブルはロックの対象となる
資源の数に等しい数だけのエントリーを持っている。各
エントリーには、その資源が既にロックされているかど
うかを示すロックフラグと、その資源をロックしている
プロセスのプロセス番号が格納されるプロセス番号フィ
ールドがある。あるプロセスAがある資源Xに対して読
み書きを行なう場合、プロセスAはまずロック管理テー
ブル内の資源〆に対応するエントリーを調べる。そのエ
ントリーのロックフラグが立っていなければ、つまり資
源Xがまだ他のプロセスによってロックされていなけれ
ばWaXは獲得可能であり、プロセスAはロックフラグ
を立て、自分のプロセス番号を所定のフィールドに登録
し、ロック管理テーブルLTを更新する。もしフラグが
立っていた場合、処理をどうするかについて様々な方式
が提案されているが、ここではプロセスAが獲得を一時
的に放棄し、資源Xが解放されるのを待つような状態(
ブロック状態)に入るものとする。
ところが、異なるプロセッサ上で実行されている複数の
プロセスが同時にロック管理テーブルし丁へアクセスす
るのを許すと、以下に示すようにデッドロックが生じる
恐れがある。
プロセスが同時にロック管理テーブルし丁へアクセスす
るのを許すと、以下に示すようにデッドロックが生じる
恐れがある。
すなわち、二つのプロセスA、Bが実行中であり、どち
らも資源番号1及び2の2つの資源を獲得しようとして
いるものとする。今、プロセスAが資源1を獲得しよう
とし、ロック管理テーブル内の資+1i1に対応するエ
ントリー(エントリー1)を更新したとする。次に、プ
ロセスAが資源2の獲得を試みる前にプロセスBがロッ
ク管理テーブルLT内の資源2に対応するエントリー(
エントリー2)を更新したとする。すると、プロセスA
が資源2を獲得しようしてエントリー2を調べに行くが
、既にプロセスBによってロックが掛けられているので
、プロセスAは実行をブロックされる。またプロセス8
は資源1の獲得を試みるが既にプロセスAによってロッ
クされているので、プロセスBもブロックされる。
らも資源番号1及び2の2つの資源を獲得しようとして
いるものとする。今、プロセスAが資源1を獲得しよう
とし、ロック管理テーブル内の資+1i1に対応するエ
ントリー(エントリー1)を更新したとする。次に、プ
ロセスAが資源2の獲得を試みる前にプロセスBがロッ
ク管理テーブルLT内の資源2に対応するエントリー(
エントリー2)を更新したとする。すると、プロセスA
が資源2を獲得しようしてエントリー2を調べに行くが
、既にプロセスBによってロックが掛けられているので
、プロセスAは実行をブロックされる。またプロセス8
は資源1の獲得を試みるが既にプロセスAによってロッ
クされているので、プロセスBもブロックされる。
このように、プロセスA、Bがそれぞれお互いに資源を
解放するのを待って実行が停止するような状況、つまり
デッドロックが生じるのである。
解放するのを待って実行が停止するような状況、つまり
デッドロックが生じるのである。
このデッドロックは、プロセスA及びBが同時に資源ロ
ック管理テーブルLTをアクセスするのを許しているこ
とに起因する。
ック管理テーブルLTをアクセスするのを許しているこ
とに起因する。
上記のような状況を回避するためには、ロック管理テー
ブルLTへのアクセスを完全に排他的に制御することが
考えられる。この場合、一つのプロセスがロック管理テ
ーブルをアクセスしている間は、他のプロセスはその間
ずっとアクセスできず実行を持たされることになる。
ブルLTへのアクセスを完全に排他的に制御することが
考えられる。この場合、一つのプロセスがロック管理テ
ーブルをアクセスしている間は、他のプロセスはその間
ずっとアクセスできず実行を持たされることになる。
(発明が解決しようとする課題)
しかしながら、このように他を完全に排他的とする従来
の方式では、ある資源をアクセスしようとするプロセス
全てが一つのロック管理テーブルを専有するため、そこ
での競合が原因でシステムの性能に悪影響を与える可能
性があった。
の方式では、ある資源をアクセスしようとするプロセス
全てが一つのロック管理テーブルを専有するため、そこ
での競合が原因でシステムの性能に悪影響を与える可能
性があった。
本発明は、このような事情を考慮してなされたもので、
その目的はロック管理テーブルへのアクセスの競合を調
整し、計算機システムの性能を向上させることにある。
その目的はロック管理テーブルへのアクセスの競合を調
整し、計算機システムの性能を向上させることにある。
[発明の構成1
(課題を解決するための手段)
本発明の計算機システムの資源ロック管理装置は、複数
のプロセスで共有される複数の資源を有し一つの資源を
他のプロセスに対してロックした上で一つのプロセスに
専有させることとした計算機システムの資源ロック管理
装置において、ロック管理テーブルを複数設け、各プロ
セスのアクセス要求に対し順次一つのロック管理テーブ
ルを割付けるアクセス調停装置を設け、各プロセスのア
クセス要求状態に基いて最先のアクセス要求を行ったプ
ロセス及び他のプロセスのアクセス要求に対して何ら干
渉の無いアクセス要求を行ったプロセスに対して任意の
ロック処理を許可すると共にロック結果を仙のロック管
理テーブルに対して複製する監視装置を設けたことを特
徴とする。
のプロセスで共有される複数の資源を有し一つの資源を
他のプロセスに対してロックした上で一つのプロセスに
専有させることとした計算機システムの資源ロック管理
装置において、ロック管理テーブルを複数設け、各プロ
セスのアクセス要求に対し順次一つのロック管理テーブ
ルを割付けるアクセス調停装置を設け、各プロセスのア
クセス要求状態に基いて最先のアクセス要求を行ったプ
ロセス及び他のプロセスのアクセス要求に対して何ら干
渉の無いアクセス要求を行ったプロセスに対して任意の
ロック処理を許可すると共にロック結果を仙のロック管
理テーブルに対して複製する監視装置を設けたことを特
徴とする。
(作用)
本発明の計算機システムの資源ロック管理装置では、複
数のロック管理テーブルを設け、アクセス調停装置で各
プロセスのアクセス要求に対し順次一つのロック管理テ
ーブルを割付ける。
数のロック管理テーブルを設け、アクセス調停装置で各
プロセスのアクセス要求に対し順次一つのロック管理テ
ーブルを割付ける。
又、監視装置で各プロセスのアクセス状態を監視し、最
先のアクセス要求を行ったプロセス、及び他のプロセス
のアクセス要求に対して何ら干渉の無いアクセス要求を
行ったプロセスに対して任意のロック処理を許可する。
先のアクセス要求を行ったプロセス、及び他のプロセス
のアクセス要求に対して何ら干渉の無いアクセス要求を
行ったプロセスに対して任意のロック処理を許可する。
さらに、上記監視装置では、ロック結果を他のロック管
理テーブルに対して複製し、次のロック処理の前準備と
する。
理テーブルに対して複製し、次のロック処理の前準備と
する。
したがって、各管理テーブルは、常時現在のロック状態
を反映することになる。また、各プロセスは最優先の場
合、及び他のプロセスに対して何ら干渉が無い場合に他
のプロセスのロック処理と並行して自由にロック処理を
行うことができ、他のプロセスとの競合を減少させるこ
とができる。
を反映することになる。また、各プロセスは最優先の場
合、及び他のプロセスに対して何ら干渉が無い場合に他
のプロセスのロック処理と並行して自由にロック処理を
行うことができ、他のプロセスとの競合を減少させるこ
とができる。
(実施例)
以下、図面を参照して本発明の一実施例を説明する。
第1図は本発明の資源ロックの管理装置の一実施例を示
すブロック図である。図中、1・a、1b・・・1nは
プロセッサを示す。
すブロック図である。図中、1・a、1b・・・1nは
プロセッサを示す。
各プロセッサla、1b・・・1nはデータバス(2a
、 2b −+・2jl ) 、アドレスバス(3a
、3b・・・3n)、読み/書き識別信号線(4a 、
4b・・・4n)、ロック管理装置アクセス信号線(
5a。
、 2b −+・2jl ) 、アドレスバス(3a
、3b・・・3n)、読み/書き識別信号線(4a 、
4b・・・4n)、ロック管理装置アクセス信号線(
5a。
5b−5n)、承認信号線(6a 、 6b ・6n
)等の制御信号線を介してロック管理装置7のアクセス
調停装置8に接続されている。
)等の制御信号線を介してロック管理装置7のアクセス
調停装置8に接続されている。
ロック管理装置7は、従来例で示したロック管理テーブ
ルLTのコピーを記録するコピー記憶装置9.10を複
数(本例では2)持っている。コピー記憶装置は最大、
プロセッサの数と同じだけあればよいが、管理テーブル
のアクセスの衝突の頻度に応じて適当に加減をしてもよ
い。
ルLTのコピーを記録するコピー記憶装置9.10を複
数(本例では2)持っている。コピー記憶装置は最大、
プロセッサの数と同じだけあればよいが、管理テーブル
のアクセスの衝突の頻度に応じて適当に加減をしてもよ
い。
プロセッサla、1b・・・1nは、アクセス調停装置
8内のチャンネル(11i、11j>を介してコピー記
憶装置9,10につながる。各コピー記憶@f19.1
0に対しては、内部アドレスバス(12i 、12j
)、内部データバス(13i。
8内のチャンネル(11i、11j>を介してコピー記
憶装置9,10につながる。各コピー記憶@f19.1
0に対しては、内部アドレスバス(12i 、12j
)、内部データバス(13i。
13j)、内部読み/書き識別信号線(1414j)等
の制御信号線を介して監視装置15と接続されている。
の制御信号線を介して監視装置15と接続されている。
監視装置15は内部アドレスバス(12i 、12j
)を監視することにより、どのエントリーがアクセスさ
れているか、すなわちどの資源が要求されているかを知
ることができる。
)を監視することにより、どのエントリーがアクセスさ
れているか、すなわちどの資源が要求されているかを知
ることができる。
アクセス調停装置8は、各プロセッサ1a〜1nに対し
て承認信号線(6a 、6b・・・6n)がつながって
いる。この承認信号線は、通常のメモリアクセスにおけ
るデータレディ信号に相当するもので、この信号がON
ならばプロセッサはメモリが読み書きの準備ができてい
るものと判断して、読み/書きサイクルを実行する。こ
の信号がOFFならば、読み書きサイクルにウェイトが
掛けられる。この様にしてプロセッサの1a〜1nの実
行を制御できる。
て承認信号線(6a 、6b・・・6n)がつながって
いる。この承認信号線は、通常のメモリアクセスにおけ
るデータレディ信号に相当するもので、この信号がON
ならばプロセッサはメモリが読み書きの準備ができてい
るものと判断して、読み/書きサイクルを実行する。こ
の信号がOFFならば、読み書きサイクルにウェイトが
掛けられる。この様にしてプロセッサの1a〜1nの実
行を制御できる。
第2図に詳細に示すように、アクセス調停装置8は、各
プロセッサ18〜1nがロック管理装置7に対してアク
セスしている状態であるかそうでないかを示す状態フラ
グ16を各プロセッサ1a〜1nに対応して持っている
。また、アクセス調停装置8は、各管理テーブルLTの
コピーがいずれかのプロセッサに割り当てうけているか
どうかを示すビジーフラグ17を各コピー記憶装置9゜
10に対応して持っている。最初、これらのフラグは全
てリセット状態にある。
プロセッサ18〜1nがロック管理装置7に対してアク
セスしている状態であるかそうでないかを示す状態フラ
グ16を各プロセッサ1a〜1nに対応して持っている
。また、アクセス調停装置8は、各管理テーブルLTの
コピーがいずれかのプロセッサに割り当てうけているか
どうかを示すビジーフラグ17を各コピー記憶装置9゜
10に対応して持っている。最初、これらのフラグは全
てリセット状態にある。
プロセスがロック管理装置7へのアクセスを開始してか
ら終了するまでの処理は、第3図に示すように、読み込
みフェーズF1と、更新フェーズF2と、終了フェーズ
F3とに分けることができる。
ら終了するまでの処理は、第3図に示すように、読み込
みフェーズF1と、更新フェーズF2と、終了フェーズ
F3とに分けることができる。
まず、ロック管理装置7へのアクセスの競合がないと仮
定して、各フェーズにおけるプロセスの動作及び対応す
るロック管理装置7の動作を説明する。
定して、各フェーズにおけるプロセスの動作及び対応す
るロック管理装置7の動作を説明する。
今、プロセッサ1a上で実行されているあるプロセスA
がロック管理装置7にアクセスしたいという状況を想定
すると、プロセスAの読み込みフェーズF1では、プロ
セッサ1aはロック管理装置7のアクセス信号線5aか
らの制御信号をONにすると同時に、アドレスバス3a
に必要とする資源の管理テーブル内のエントリーに対応
するアドレスをのせる。この時、アクセス調停装@8は
ロック管理装置のアクセス信号線5aの制御信号の立上
りにより、それがロック管理装置7に対するプロセスA
による最初のアクセスであると判定し、どのプロセッサ
にも割り当てられていないコピー装置9.10があれば
その内−つ(例えばコピー記憶装ra9)をプロセッサ
1aに割り当てる。
がロック管理装置7にアクセスしたいという状況を想定
すると、プロセスAの読み込みフェーズF1では、プロ
セッサ1aはロック管理装置7のアクセス信号線5aか
らの制御信号をONにすると同時に、アドレスバス3a
に必要とする資源の管理テーブル内のエントリーに対応
するアドレスをのせる。この時、アクセス調停装@8は
ロック管理装置のアクセス信号線5aの制御信号の立上
りにより、それがロック管理装置7に対するプロセスA
による最初のアクセスであると判定し、どのプロセッサ
にも割り当てられていないコピー装置9.10があれば
その内−つ(例えばコピー記憶装ra9)をプロセッサ
1aに割り当てる。
具体的には、アクセス調停装置8はそのプロセッサ1a
に対応する状態フラグ16、及びコピー装置9に対応す
るビジーフラグ17をセットする。
に対応する状態フラグ16、及びコピー装置9に対応す
るビジーフラグ17をセットする。
そして、プロセッサ1aからコピー記憶装置9へのチャ
ンネル11iが割り当てられる。全てのコピー記憶装置
が他のプロセッサにすでに割り合てられている場合には
、アクセス調停装置8は承認信号を返さず、何れかのコ
ピー記憶装置が解放されるまでプロセッサ1aはウェイ
トされる。)コピー記憶装置9が割り当てられると、プ
ロセスAは必要とするエントリーを調べ、そのロックフ
ラグが立っておらず、資源が獲得可能であるかどうかを
判定する。この時、監視装置15はプロセスAがどの資
源を獲得しようとしているかを監視しているが、他のプ
ロセスからのロック監視装置7へのアクセスがない限り
は、監視装@15がプロセスAの実行に干渉することは
ない。必要とする資源が全て獲得が可能であると判断で
きた場合、プロセスAは更新フェーズF2に入る。そう
でない場合、プロセスAは資源を獲得できないので、更
新フェーズをスキップし終了フェーズF3に入る。
ンネル11iが割り当てられる。全てのコピー記憶装置
が他のプロセッサにすでに割り合てられている場合には
、アクセス調停装置8は承認信号を返さず、何れかのコ
ピー記憶装置が解放されるまでプロセッサ1aはウェイ
トされる。)コピー記憶装置9が割り当てられると、プ
ロセスAは必要とするエントリーを調べ、そのロックフ
ラグが立っておらず、資源が獲得可能であるかどうかを
判定する。この時、監視装置15はプロセスAがどの資
源を獲得しようとしているかを監視しているが、他のプ
ロセスからのロック監視装置7へのアクセスがない限り
は、監視装@15がプロセスAの実行に干渉することは
ない。必要とする資源が全て獲得が可能であると判断で
きた場合、プロセスAは更新フェーズF2に入る。そう
でない場合、プロセスAは資源を獲得できないので、更
新フェーズをスキップし終了フェーズF3に入る。
更新フェーズF2では、プロセスAは獲得しようとする
資源に対応するロック管理テーブルLT内のエントリー
を更新する。アクセス調停装置8はプロセスAが更新フ
ェーズF2に入ったことを読み7mき識別信号により検
出すると、全てのコピー記憶装置!9.10に対して同
時に更新を行えるように、全てのコピー記憶装置9.1
0をプロセッサ1aに割り当てる。
資源に対応するロック管理テーブルLT内のエントリー
を更新する。アクセス調停装置8はプロセスAが更新フ
ェーズF2に入ったことを読み7mき識別信号により検
出すると、全てのコピー記憶装置!9.10に対して同
時に更新を行えるように、全てのコピー記憶装置9.1
0をプロセッサ1aに割り当てる。
更新フェーズF2において、ロック管理テーブルLTに
対して必要な更新を終えた場合、または読み込みフェー
ズF1において必要な資源が獲得できないと判断できた
場合、プロセスAは終了フェーズF3に入る。この時、
プロセッサ1aはロック管理装置7へのアクセスが終了
したことを通知するため、ロック管理装置アクセス信号
線5aの制御信号をOFFにする。これを受けて、アク
セス調停装置8はそのプロセッサ1aに対する状態フラ
グ16.及びプロセッサ1aに割り当てられていたコピ
ー記憶装置9に対応するビジー7ラグ17aをリセット
する。監視@置15においては、プロセスAがどの資源
を要求したかという記録をクリアーする。
対して必要な更新を終えた場合、または読み込みフェー
ズF1において必要な資源が獲得できないと判断できた
場合、プロセスAは終了フェーズF3に入る。この時、
プロセッサ1aはロック管理装置7へのアクセスが終了
したことを通知するため、ロック管理装置アクセス信号
線5aの制御信号をOFFにする。これを受けて、アク
セス調停装置8はそのプロセッサ1aに対する状態フラ
グ16.及びプロセッサ1aに割り当てられていたコピ
ー記憶装置9に対応するビジー7ラグ17aをリセット
する。監視@置15においては、プロセスAがどの資源
を要求したかという記録をクリアーする。
次に、ロック管理テーブルLTに対して二つのプロセス
からアクセスがあった場合、ロック管理装置7がどの様
にしてそれを並行に実行するかを説明する。
からアクセスがあった場合、ロック管理装置7がどの様
にしてそれを並行に実行するかを説明する。
今、プロセッサ1a上で実行されているプロセス八と、
プロセッサ11)上で実行されているプロセスBがとも
にロック管理装置7にアクセスするものと仮定する。す
ると、アクセス調停装@8は、それぞれに対してロック
管理テーブル1丁のコピー記憶装置9,10をそれぞれ
割り当てる。ここで、プロセス八に対してコピー記憶装
置9が、プロセス已に対してコピー記憶装置10が割り
当てられたと仮定する。
プロセッサ11)上で実行されているプロセスBがとも
にロック管理装置7にアクセスするものと仮定する。す
ると、アクセス調停装@8は、それぞれに対してロック
管理テーブル1丁のコピー記憶装置9,10をそれぞれ
割り当てる。ここで、プロセス八に対してコピー記憶装
置9が、プロセス已に対してコピー記憶装置10が割り
当てられたと仮定する。
新たなプロセスによりロック管理テーブルのアクセスが
開始されたことは、監視装置15にも伝えられ、監視機
構がスタートする。すなわち、監視@置15は、内部ア
ドレスバス12a、12bを監視していて、どの資源が
要求されているかを記録し、プロセスA、プロセスBの
要求している資線に重なりがないかどうかを絶えずチエ
ツクしている。
開始されたことは、監視装置15にも伝えられ、監視機
構がスタートする。すなわち、監視@置15は、内部ア
ドレスバス12a、12bを監視していて、どの資源が
要求されているかを記録し、プロセスA、プロセスBの
要求している資線に重なりがないかどうかを絶えずチエ
ツクしている。
もし、プロセスAが獲得しようとする資源とプロレスB
の獲得しようとする資源に重なりがな【ノればどちらの
プロセスも独立に動作を行う。これによりロック管理テ
ーブルLTへのアクセスが多重化できるため、アクセス
権の競合による性能低下を防ぐことができる。
の獲得しようとする資源に重なりがな【ノればどちらの
プロセスも独立に動作を行う。これによりロック管理テ
ーブルLTへのアクセスが多重化できるため、アクセス
権の競合による性能低下を防ぐことができる。
もし、重なりが検出された場合、監視装置15は重なっ
てアクセスされたエントリーに後からアクセスしたプロ
セッサに対して承認信号を返さず、ウェイトを掛ける。
てアクセスされたエントリーに後からアクセスしたプロ
セッサに対して承認信号を返さず、ウェイトを掛ける。
ここでは、プロセッサ1bがウェイトを掛けられたもの
とする。この場合もやはりプロセッサ1bは、プロセス
Aが終了フェーズF3を経由して、アクセスを終了する
までウェイトされる。そのうち、アクセス調停装置8は
再びコピー記憶装置10をプロセッサ1bにiPIり当
て、監視装置15はプロセッサ1bに対して承認信号を
返し、プロセスBの実行が継続される。
とする。この場合もやはりプロセッサ1bは、プロセス
Aが終了フェーズF3を経由して、アクセスを終了する
までウェイトされる。そのうち、アクセス調停装置8は
再びコピー記憶装置10をプロセッサ1bにiPIり当
て、監視装置15はプロセッサ1bに対して承認信号を
返し、プロセスBの実行が継続される。
以上により、本例では監視装置15の監視作用により、
プロセスA、Bに干渉がない場合には並列処理を許可し
、干渉が有るときは最先のプロセスのみに許可を与える
こととしたので、総合的な処理速度が大となり、かつデ
ッドロックを生ずることがない。
プロセスA、Bに干渉がない場合には並列処理を許可し
、干渉が有るときは最先のプロセスのみに許可を与える
こととしたので、総合的な処理速度が大となり、かつデ
ッドロックを生ずることがない。
上記実施例では、一つのプロセッサは一つのプロセスを
実行するが如く説明したが、一つのプロセッサで複数プ
ロセスを実行する場合であっても、これを時分割的に処
理することとすれば同様である。但し、あるプロセスが
ロック管理装置にアクセスしている間は、そのプロセス
が実行されているプロセッサではタスクスイッチがおこ
らないものとする。
実行するが如く説明したが、一つのプロセッサで複数プ
ロセスを実行する場合であっても、これを時分割的に処
理することとすれば同様である。但し、あるプロセスが
ロック管理装置にアクセスしている間は、そのプロセス
が実行されているプロセッサではタスクスイッチがおこ
らないものとする。
本発明は、上記実施例に限定されるものではなく、適宜
の設計的変更を行うことにより、この他適宜の態様で実
施し得るものである。
の設計的変更を行うことにより、この他適宜の態様で実
施し得るものである。
[発明の効果1
本発明は、特許請求の範囲に記載の通りの計算機システ
ムの資源ロック管理装置であるので、マルチプロセッサ
環境において、複数のプロセッサが同時に資源のロック
管理テーブルにアクセスしたとしてもデッドロックに陥
る危険性がなく、ロック管理テーブルの読み書きを並列
に実行できる。
ムの資源ロック管理装置であるので、マルチプロセッサ
環境において、複数のプロセッサが同時に資源のロック
管理テーブルにアクセスしたとしてもデッドロックに陥
る危険性がなく、ロック管理テーブルの読み書きを並列
に実行できる。
このため、ロック管理テーブルのアクセスがシステムの
ボトルネックになることを回避でき、システムの性能を
向上することができる。
ボトルネックになることを回避でき、システムの性能を
向上することができる。
第1図は本発明の計算機システムの資源ロック管理装置
の一実施例を示すブロック図、第2図はアクセス調停装
置の詳細を示すブロック図、第3図はロック管理テーブ
ルへのアクセスするときのプロセスの状態遷移を示す説
明図、第4図は従来例で共用されるロック管理テーブル
の構成を示す説明図である。 1a、lb・・・1n・・・プロセッサ7・・・ロック
管理装置 8・・・アクセス調停装置 9.10・・・コピー記憶装置 15・・・監視装置
の一実施例を示すブロック図、第2図はアクセス調停装
置の詳細を示すブロック図、第3図はロック管理テーブ
ルへのアクセスするときのプロセスの状態遷移を示す説
明図、第4図は従来例で共用されるロック管理テーブル
の構成を示す説明図である。 1a、lb・・・1n・・・プロセッサ7・・・ロック
管理装置 8・・・アクセス調停装置 9.10・・・コピー記憶装置 15・・・監視装置
Claims (1)
- 複数のプロセスで共有される複数の資源を有し一つの資
源を他のプロセスに対してロックした上で一つのプロセ
スに専有させることとした計算機システムの資源ロック
管理装置において、ロック管理テーブルを複数設け、各
プロセスのアクセス要求に対し順次一つのロック管理テ
ーブルを割付けるアクセス調停装置を設け、各プロセス
のアクセス要求状態に基いて最先のアクセス要求を行つ
たプロセス及び他のプロセスのアクセス要求に対して何
ら干渉の無いアクセス要求を行つたプロセスに対して任
意のロック処理を許可すると共にロック結果を他のロッ
ク管理テーブルに対して複製する監視装置を設けたこと
を特徴とする計算機システムの資源ロック管理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1083242A JP2856761B2 (ja) | 1989-03-31 | 1989-03-31 | 資源ロック管理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1083242A JP2856761B2 (ja) | 1989-03-31 | 1989-03-31 | 資源ロック管理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02260043A true JPH02260043A (ja) | 1990-10-22 |
JP2856761B2 JP2856761B2 (ja) | 1999-02-10 |
Family
ID=13796858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1083242A Expired - Fee Related JP2856761B2 (ja) | 1989-03-31 | 1989-03-31 | 資源ロック管理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2856761B2 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62140159A (ja) * | 1985-12-16 | 1987-06-23 | Hitachi Ltd | 共用データ管理方法 |
-
1989
- 1989-03-31 JP JP1083242A patent/JP2856761B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62140159A (ja) * | 1985-12-16 | 1987-06-23 | Hitachi Ltd | 共用データ管理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2856761B2 (ja) | 1999-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5161227A (en) | Multilevel locking system and method | |
US5613139A (en) | Hardware implemented locking mechanism for handling both single and plural lock requests in a lock message | |
JP3871305B2 (ja) | マルチプロセッサ・システムにおけるメモリ・アクセスの動的直列化 | |
JP4012517B2 (ja) | 仮想計算機環境におけるロックの管理 | |
US5452459A (en) | Method and apparatus for allocating server access in a distributed computing environment | |
EP0747815B1 (en) | Method and apparatus for avoiding dealocks by serializing multithreaded access to unsafe resources | |
US5129084A (en) | Object container transfer system and method in an object based computer operating system | |
JP2705717B2 (ja) | ロック装置及び方法、ロック要求の細分性を判別するための装置及び方法 | |
US5187790A (en) | Server impersonation of client processes in an object based computer operating system | |
US7328437B2 (en) | Management of locks in a virtual machine environment | |
US6105085A (en) | Lock mechanism for shared resources having associated data structure stored in common memory include a lock portion and a reserve portion | |
JPH07191944A (ja) | 多重プロセッサによる多数の資源への命令におけるデッドロックを防止するためのシステムおよび方法 | |
US8707315B2 (en) | Method and system for implementing realtime spinlocks | |
US20020016879A1 (en) | Resource locking and thread synchronization in a multiprocessor environment | |
JPH01188965A (ja) | データ処理方法 | |
US6792497B1 (en) | System and method for hardware assisted spinlock | |
JPH1115793A (ja) | 資源の保全性を保護する方法 | |
JPH02195453A (ja) | ファイルアクセス制御方式 | |
US6662364B1 (en) | System and method for reducing synchronization overhead in multithreaded code | |
Takada et al. | A novel approach to multiprogrammed multiprocessor synchronization for real-time kernels | |
US9274819B2 (en) | Performing garbage collection using a virtual thread in operating system without kernel thread support | |
JP7346649B2 (ja) | 同期制御システムおよび同期制御方法 | |
US20020116506A1 (en) | Cross-MVS system serialized device control | |
JPS6321941B2 (ja) | ||
JPH02260043A (ja) | 資源ロック管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |