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
Application number
JP8324289A
Other languages
English (en)
Other versions
JP2856761B2 (ja
Inventor
Mitsuru Kakimoto
満 柿元
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP1083242A priority Critical patent/JP2856761B2/ja
Publication of JPH02260043A publication Critical patent/JPH02260043A/ja
Application granted granted Critical
Publication of JP2856761B2 publication Critical patent/JP2856761B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、計算機システムの資源ロック管理装置に関す
る。
(従来の技術) 昨今の計算機システムの多くは多重処理を行なっており
、複数ユーザのタスクが同時に計算機上で走ることが多
い。しかもこれら計算機システムを利用するユーザは不
特定多数である場合が多く、計W機の使用に関して相互
に厳重な取り決めを持つことは期待できない。
一方、これら計算機上で仕事を行なうために必要となる
データなどの計算資源は、計算機の進歩と共にますます
膨大なものになってきており、ユーザー人−人に対して
大きな資源を個別に確保するのは難しく、共有できるも
のは一つにまとめておいた方が都合がよい。また、こう
することにより、データの更新を一度に行なうことがで
き、ユーザが使用するデータの一貫性を保つことが容易
となる。
ところが、データなど資源を共有する場合、複数ユーザ
によるデータの更新を無秩序に許すと、データに矛盾が
生じることが知られている。このため、各:L−ザの業
務を実行するプロセスは、自己が必要とする資源に対し
てロックを掛け、必要とする処理が終了するまで他のユ
ーザのプロセスがデータをアクセスするのを排除すると
いう手段がとられている。
一方、計算機システムでは、あるひとまとまりのデータ
は一つのファイルという形になる。各プロセスはこのフ
ァイルから自分が必要とする部分に対して読み書きを行
ないながら作業を進める。
通常、複数ユーザで共有されるようなデータは規模が大
きなものであり、それが格納されるファイルも大きなも
のとなる。従って、ファイル内のある一部分を複数のプ
ロセスが同時に使用する可能性はそれほど大きくない。
このような状況において、排他のためのロックをファイ
ル単位に掛けるようにしてしまうと、二つのプロセスが
ファイルの異なった部分にアクセスしようとした場合、
本来競合がないにもかかわらず、一方のプロセスが実行
を待たされることになる。
かかる不合理を避けるため、ファイルをより細かな単位
に分割し、それを単位としてロックを掛けることが行わ
れる。
また、このようなデータを始めとして複数のユーザによ
って共有される資源へのロックを実現するためには、通
常、第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もブロックされる。
このように、プロセスA、Bがそれぞれお互いに資源を
解放するのを待って実行が停止するような状況、つまり
デッドロックが生じるのである。
このデッドロックは、プロセスA及びBが同時に資源ロ
ック管理テーブルLTをアクセスするのを許しているこ
とに起因する。
上記のような状況を回避するためには、ロック管理テー
ブルLTへのアクセスを完全に排他的に制御することが
考えられる。この場合、一つのプロセスがロック管理テ
ーブルをアクセスしている間は、他のプロセスはその間
ずっとアクセスできず実行を持たされることになる。
(発明が解決しようとする課題) しかしながら、このように他を完全に排他的とする従来
の方式では、ある資源をアクセスしようとするプロセス
全てが一つのロック管理テーブルを専有するため、そこ
での競合が原因でシステムの性能に悪影響を与える可能
性があった。
本発明は、このような事情を考慮してなされたもので、
その目的はロック管理テーブルへのアクセスの競合を調
整し、計算機システムの性能を向上させることにある。
[発明の構成1 (課題を解決するための手段) 本発明の計算機システムの資源ロック管理装置は、複数
のプロセスで共有される複数の資源を有し一つの資源を
他のプロセスに対してロックした上で一つのプロセスに
専有させることとした計算機システムの資源ロック管理
装置において、ロック管理テーブルを複数設け、各プロ
セスのアクセス要求に対し順次一つのロック管理テーブ
ルを割付けるアクセス調停装置を設け、各プロセスのア
クセス要求状態に基いて最先のアクセス要求を行ったプ
ロセス及び他のプロセスのアクセス要求に対して何ら干
渉の無いアクセス要求を行ったプロセスに対して任意の
ロック処理を許可すると共にロック結果を仙のロック管
理テーブルに対して複製する監視装置を設けたことを特
徴とする。
(作用) 本発明の計算機システムの資源ロック管理装置では、複
数のロック管理テーブルを設け、アクセス調停装置で各
プロセスのアクセス要求に対し順次一つのロック管理テ
ーブルを割付ける。
又、監視装置で各プロセスのアクセス状態を監視し、最
先のアクセス要求を行ったプロセス、及び他のプロセス
のアクセス要求に対して何ら干渉の無いアクセス要求を
行ったプロセスに対して任意のロック処理を許可する。
さらに、上記監視装置では、ロック結果を他のロック管
理テーブルに対して複製し、次のロック処理の前準備と
する。
したがって、各管理テーブルは、常時現在のロック状態
を反映することになる。また、各プロセスは最優先の場
合、及び他のプロセスに対して何ら干渉が無い場合に他
のプロセスのロック処理と並行して自由にロック処理を
行うことができ、他のプロセスとの競合を減少させるこ
とができる。
(実施例) 以下、図面を参照して本発明の一実施例を説明する。
第1図は本発明の資源ロックの管理装置の一実施例を示
すブロック図である。図中、1・a、1b・・・1nは
プロセッサを示す。
各プロセッサla、1b・・・1nはデータバス(2a
 、 2b −+・2jl ) 、アドレスバス(3a
、3b・・・3n)、読み/書き識別信号線(4a 、
 4b・・・4n)、ロック管理装置アクセス信号線(
5a。
5b−5n)、承認信号線(6a 、 6b ・6n 
)等の制御信号線を介してロック管理装置7のアクセス
調停装置8に接続されている。
ロック管理装置7は、従来例で示したロック管理テーブ
ルLTのコピーを記録するコピー記憶装置9.10を複
数(本例では2)持っている。コピー記憶装置は最大、
プロセッサの数と同じだけあればよいが、管理テーブル
のアクセスの衝突の頻度に応じて適当に加減をしてもよ
い。
プロセッサla、1b・・・1nは、アクセス調停装置
8内のチャンネル(11i、11j>を介してコピー記
憶装置9,10につながる。各コピー記憶@f19.1
0に対しては、内部アドレスバス(12i 、12j 
)、内部データバス(13i。
13j)、内部読み/書き識別信号線(1414j)等
の制御信号線を介して監視装置15と接続されている。
監視装置15は内部アドレスバス(12i 、12j 
)を監視することにより、どのエントリーがアクセスさ
れているか、すなわちどの資源が要求されているかを知
ることができる。
アクセス調停装置8は、各プロセッサ1a〜1nに対し
て承認信号線(6a 、6b・・・6n)がつながって
いる。この承認信号線は、通常のメモリアクセスにおけ
るデータレディ信号に相当するもので、この信号がON
ならばプロセッサはメモリが読み書きの準備ができてい
るものと判断して、読み/書きサイクルを実行する。こ
の信号がOFFならば、読み書きサイクルにウェイトが
掛けられる。この様にしてプロセッサの1a〜1nの実
行を制御できる。
第2図に詳細に示すように、アクセス調停装置8は、各
プロセッサ18〜1nがロック管理装置7に対してアク
セスしている状態であるかそうでないかを示す状態フラ
グ16を各プロセッサ1a〜1nに対応して持っている
。また、アクセス調停装置8は、各管理テーブルLTの
コピーがいずれかのプロセッサに割り当てうけているか
どうかを示すビジーフラグ17を各コピー記憶装置9゜
10に対応して持っている。最初、これらのフラグは全
てリセット状態にある。
プロセスがロック管理装置7へのアクセスを開始してか
ら終了するまでの処理は、第3図に示すように、読み込
みフェーズF1と、更新フェーズF2と、終了フェーズ
F3とに分けることができる。
まず、ロック管理装置7へのアクセスの競合がないと仮
定して、各フェーズにおけるプロセスの動作及び対応す
るロック管理装置7の動作を説明する。
今、プロセッサ1a上で実行されているあるプロセスA
がロック管理装置7にアクセスしたいという状況を想定
すると、プロセスAの読み込みフェーズF1では、プロ
セッサ1aはロック管理装置7のアクセス信号線5aか
らの制御信号をONにすると同時に、アドレスバス3a
に必要とする資源の管理テーブル内のエントリーに対応
するアドレスをのせる。この時、アクセス調停装@8は
ロック管理装置のアクセス信号線5aの制御信号の立上
りにより、それがロック管理装置7に対するプロセスA
による最初のアクセスであると判定し、どのプロセッサ
にも割り当てられていないコピー装置9.10があれば
その内−つ(例えばコピー記憶装ra9)をプロセッサ
1aに割り当てる。
具体的には、アクセス調停装置8はそのプロセッサ1a
に対応する状態フラグ16、及びコピー装置9に対応す
るビジーフラグ17をセットする。
そして、プロセッサ1aからコピー記憶装置9へのチャ
ンネル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に割り当てる。
更新フェーズF2において、ロック管理テーブルLTに
対して必要な更新を終えた場合、または読み込みフェー
ズF1において必要な資源が獲得できないと判断できた
場合、プロセスAは終了フェーズF3に入る。この時、
プロセッサ1aはロック管理装置7へのアクセスが終了
したことを通知するため、ロック管理装置アクセス信号
線5aの制御信号をOFFにする。これを受けて、アク
セス調停装置8はそのプロセッサ1aに対する状態フラ
グ16.及びプロセッサ1aに割り当てられていたコピ
ー記憶装置9に対応するビジー7ラグ17aをリセット
する。監視@置15においては、プロセスAがどの資源
を要求したかという記録をクリアーする。
次に、ロック管理テーブルLTに対して二つのプロセス
からアクセスがあった場合、ロック管理装置7がどの様
にしてそれを並行に実行するかを説明する。
今、プロセッサ1a上で実行されているプロセス八と、
プロセッサ11)上で実行されているプロセスBがとも
にロック管理装置7にアクセスするものと仮定する。す
ると、アクセス調停装@8は、それぞれに対してロック
管理テーブル1丁のコピー記憶装置9,10をそれぞれ
割り当てる。ここで、プロセス八に対してコピー記憶装
置9が、プロセス已に対してコピー記憶装置10が割り
当てられたと仮定する。
新たなプロセスによりロック管理テーブルのアクセスが
開始されたことは、監視装置15にも伝えられ、監視機
構がスタートする。すなわち、監視@置15は、内部ア
ドレスバス12a、12bを監視していて、どの資源が
要求されているかを記録し、プロセスA、プロセスBの
要求している資線に重なりがないかどうかを絶えずチエ
ツクしている。
もし、プロセスAが獲得しようとする資源とプロレスB
の獲得しようとする資源に重なりがな【ノればどちらの
プロセスも独立に動作を行う。これによりロック管理テ
ーブルLTへのアクセスが多重化できるため、アクセス
権の競合による性能低下を防ぐことができる。
もし、重なりが検出された場合、監視装置15は重なっ
てアクセスされたエントリーに後からアクセスしたプロ
セッサに対して承認信号を返さず、ウェイトを掛ける。
ここでは、プロセッサ1bがウェイトを掛けられたもの
とする。この場合もやはりプロセッサ1bは、プロセス
Aが終了フェーズF3を経由して、アクセスを終了する
までウェイトされる。そのうち、アクセス調停装置8は
再びコピー記憶装置10をプロセッサ1bにiPIり当
て、監視装置15はプロセッサ1bに対して承認信号を
返し、プロセスBの実行が継続される。
以上により、本例では監視装置15の監視作用により、
プロセスA、Bに干渉がない場合には並列処理を許可し
、干渉が有るときは最先のプロセスのみに許可を与える
こととしたので、総合的な処理速度が大となり、かつデ
ッドロックを生ずることがない。
上記実施例では、一つのプロセッサは一つのプロセスを
実行するが如く説明したが、一つのプロセッサで複数プ
ロセスを実行する場合であっても、これを時分割的に処
理することとすれば同様である。但し、あるプロセスが
ロック管理装置にアクセスしている間は、そのプロセス
が実行されているプロセッサではタスクスイッチがおこ
らないものとする。
本発明は、上記実施例に限定されるものではなく、適宜
の設計的変更を行うことにより、この他適宜の態様で実
施し得るものである。
[発明の効果1 本発明は、特許請求の範囲に記載の通りの計算機システ
ムの資源ロック管理装置であるので、マルチプロセッサ
環境において、複数のプロセッサが同時に資源のロック
管理テーブルにアクセスしたとしてもデッドロックに陥
る危険性がなく、ロック管理テーブルの読み書きを並列
に実行できる。
このため、ロック管理テーブルのアクセスがシステムの
ボトルネックになることを回避でき、システムの性能を
向上することができる。
【図面の簡単な説明】
第1図は本発明の計算機システムの資源ロック管理装置
の一実施例を示すブロック図、第2図はアクセス調停装
置の詳細を示すブロック図、第3図はロック管理テーブ
ルへのアクセスするときのプロセスの状態遷移を示す説
明図、第4図は従来例で共用されるロック管理テーブル
の構成を示す説明図である。 1a、lb・・・1n・・・プロセッサ7・・・ロック
管理装置 8・・・アクセス調停装置 9.10・・・コピー記憶装置 15・・・監視装置

Claims (1)

    【特許請求の範囲】
  1. 複数のプロセスで共有される複数の資源を有し一つの資
    源を他のプロセスに対してロックした上で一つのプロセ
    スに専有させることとした計算機システムの資源ロック
    管理装置において、ロック管理テーブルを複数設け、各
    プロセスのアクセス要求に対し順次一つのロック管理テ
    ーブルを割付けるアクセス調停装置を設け、各プロセス
    のアクセス要求状態に基いて最先のアクセス要求を行つ
    たプロセス及び他のプロセスのアクセス要求に対して何
    ら干渉の無いアクセス要求を行つたプロセスに対して任
    意のロック処理を許可すると共にロック結果を他のロッ
    ク管理テーブルに対して複製する監視装置を設けたこと
    を特徴とする計算機システムの資源ロック管理装置。
JP1083242A 1989-03-31 1989-03-31 資源ロック管理装置 Expired - Fee Related JP2856761B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62140159A (ja) * 1985-12-16 1987-06-23 Hitachi Ltd 共用データ管理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
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