JPH03130834A - テーブル排他制御方式 - Google Patents

テーブル排他制御方式

Info

Publication number
JPH03130834A
JPH03130834A JP1268001A JP26800189A JPH03130834A JP H03130834 A JPH03130834 A JP H03130834A JP 1268001 A JP1268001 A JP 1268001A JP 26800189 A JP26800189 A JP 26800189A JP H03130834 A JPH03130834 A JP H03130834A
Authority
JP
Japan
Prior art keywords
access
information
management information
entry
processes
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
JP1268001A
Other languages
English (en)
Inventor
Naoko Sato
尚子 佐藤
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 JP1268001A priority Critical patent/JPH03130834A/ja
Publication of JPH03130834A publication Critical patent/JPH03130834A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野〕 本発明は、計算機の主記憶上にある相互に関連するテー
ブル群に対し、複数のプロセスから参照または更新を行
う際におけるテーブル排他制御方式に関する。
[従来の技術] 例えば、システムで必要な定義情報等が格納された相互
に関連する主記憶上のテーブルをシステム稼働中に更新
すると、情報の一貫性が保てなくなり、不正動作を引き
起こす可能性がある。
このため、従来、テーブルの更新を行う場合には、情報
の一貫性を保つために、システムを一旦停止するなどし
て、テーブル群に対するすべてのアクセスを排除したの
ちに、該当テーブルの更新を行っている。
[発明が解決しようとする課題] ところで、従来方式では、動的にテーブルの変更ができ
ないため、テーブル中の定義情報のほんの一部分に対す
る変更に対しても、システムを一旦停止するなどして、
全ての処理の終了を待ち合わせなければならないという
問題点がある。
本発明の目的は動的にテーブルの変更できるテーブル排
他制御方式を提供することにある。
[課題を解決するための手段] 本発明によれば、計算機の主記憶上にある相互に関連す
るテーブルに対し、複数のプロセスから参照または更新
が行われるテーブル排他制御システムにおいて、エント
リ種別と、テーブル識別情報と、実テーブルアドレスと
、上位管理情報エントリアドレスと、ロック用セマフォ
情報と、ウェイト用セマフォ情報と、参照/更新フラグ
と、アクセス中のプロセス数を示すアクセスプロセス数
ウェイト中のプロセス数を示すウェイトプロセスを格納
するテーブル管理情報テーブルと、テーブル識別子と、
管理情報エントリアドレスとを有する実テーブルと、前
記プロセスがテーブルに対し。
参照または更新を行う際に作成され、テーブル識別情報
と、下位エントリアドレスと、参照/更新フラグと、テ
ーブルへのアクセス権の有無を示すアクセスフラグと、
アクセス中のテーブルアドレスとを格納するプロセス毎
アクセス情報テーブルと、前記プロセスがテーブルに対
し、アクセスを開始する際に通知するアクセス開始手段
と、アクセス開始手段からの指示により、プロセスがア
クセスするテーブルを前記プロセス毎アクセス情報テー
ブルに登録するアクセステーブル登録手段と。
前記アクセステーブル登録手段によって登録されたプロ
セス毎アクセス情報テーブルの情報に基づいてテーブル
のアクセス権を確保するアクセス権確保手段と、アクセ
ス権を確保する際にテーブルの複写を行うテーブル複写
手段と、前記プロセスがテーブルに対するアクセスを終
了した際に通知するアクセス終了手段と、プロセスがア
クセス終了を通知したテーブルに関連してアクセス終了
処理を行うテーブルを検索するアクセス解除テーブル検
索手段とを有することを特徴としている。
[実施例〕 次に本発明について実施例によって説明する。
第1図は本発明テーブル排他制御方式が適用されるシス
テムの一実施例を示すブロック図である。
第1図を参照して、この実施例は、相互に関連をもつテ
ーブル群TBLを対象としたテーブル排他制御システム
TLC9であり1本実施例では、テーブル管理情報テー
ブルLETと、実テーブルTn(nは正の整数)と、テ
ーブルにアクセスするプロセスPm(mは正の整数)と
、プロセス毎アクセス情報テーブルPET11と、アク
セス開始手段LCPIと、アクセステーブル登録手段L
CP2と、アクセス権確保手段LCP3と、テーブル複
写手段LCP4と、アクセス終了手段LCP5と、アク
セス解除テーブル検索手段LCP6とが備えられている
第2図を参照して、テーブル管理情報テーブルLETに
は、複数の管理情報エントリLEnが備えられており、
各管理情報エントリLEnは、エントリが複写されたも
のか否かを示すエントリ種別ALnと、テーブル識別情
報LTnと、実テーブルアドレスATnと、テーブル識
別情報LTnによって識別されるテーブルの上位のテー
ブルの管理情報エントリを示す上位管理情報エントリア
ドレス八PEnと、テーブル識別情報LTnによって識
別されるテーブルのυ1他制御に用いるロック用セマフ
ォ情報LKnと、ウェイト用セマフォ情報WKnと、テ
ーブルが参照中/更新中/未アクセスを示す参照/更新
フラグRUnと、テーブル識別情報LTnで識別される
テーブルにアクセスしているプロセス数を示すアクセス
プロセス数PCnと、ウェイトしているプロセス数を示
すウェイトプロセス数WPnとを有している。そして、
管理情報エントリLEnの配列がテーブル管理情報テー
ブルLETとなる。
実テーブルTnは、第3図に示すようにテーブル識別情
報TTnと、テーブル識別情報TTnで識別されるテー
ブルの管理情報エントリアドレスを示すTLEnとを有
している。
プロセス毎アクセス情報テーブルPETa+はプロセス
がテーブルにアクセスする場合に生成され、プロセス毎
アクセス情報テーブルPETa+は、複数の毎アクセス
情報エントリPEnを有しており、第4図に示すように
、各毎アクセス情報エントリPCB+gnと、テーブル
識別情報PTmnと、テーブル情報PTm nで識別さ
れるテーブルに対するアクセスモード(参照/更新)を
示す参照/更新フラグPRUmnと、テーブル識別情報
PTsnで識別されるテーブルに対するアクセス権の有
無を示すアクセスフラグPAsnと、アクセスするテー
ブルを指すテーブルアドレスP^−〇とを備えており、
毎アクセス情報エントリPEnの配列がプロセス毎アク
セス情報PETsとなる。
次に本実施例の動作について説明する。
本実施例の説明においては対象とするテーブルを2個と
し、それぞれTBLI、 TBL2とする。TBLIは
下位テーブルとしてTBL2をもつ。
本実施例の説明いあたり、各テーブル関係を明示するた
め、第5図に示すように左側にプロセス毎アクセス情報
テーブルPETmを、右側上段にテーブル管理情報エン
トリLEnを、右側下段に実テーブルTnを配置する。
PETm内の参照/更新フラグPRUinは参照をR2
更新をUであられし、アクセスフラグPAIInはアク
セス権がある場合をA、ない場合を−であられす。テー
ブル管理情報エントリLEn内のエントリ種別ALnは
本体をロ、複写されたものを■であられし、参照/更新
フラグRUnは参照中をR1更新中をU、未アクセスを
で表わす。
まず、第1図によって処理の流れを説明する。
まずプロセスがあるテーブルに対する参照または更新の
アクセス要求をアクセス開始手段LCPIに通知する。
アクセス開始手段LCPIは要求を行ったプロセスのプ
ロセス毎アクセス情報テーブルPET11を検索し、ア
クセス要求のあったテーブルに対するアクセス権をその
プロセスが持っているか否かをチエツクする。すでにア
クセス権がある場合は該当するテーブルのアドレスをプ
ロセスに通知する。
アクセス権がない場合は、アクセステーブル登録手段L
CP2を用いてアクセス要求のあったテーブルをプロセ
ス毎アクセス情報テーブルに登録する。
このときアクセス要求のあったテーブルより上位にある
テーブルで、プロセスがアクセス権を持っていないテー
ブルは必ず新たに参照要求として登録される。登録が終
了すると、アクセステーブル登録手段LCP2は新たに
登録した最上位のテーブルのアクセス情報エントリPE
■nを通知する。
次にアクセス開始手段LCPIは通知されたアクセス情
報エントリPEmnをパラメータとしてアクセス権確保
手段LCP3を呼び出す。アクセス権確保手段LCP3
はアクセス情報エントリPE*nの情報をもとにプロセ
スのテーブルに対するアクセス権を確保する処理を行う
。まず、テーブル管理情報エントリLEn内のロック用
セマフォLKnを利用してテーブル管理情報エントリL
Enに排他をかけ他のプロセスからのテーブル管理情報
エントリLEnに対するアクセスを禁止する。
参照要求の場合には、参照が可能であればテーブルを参
照中の状態にし、アクセスプロセス数をカウントアツプ
する。テーブルが更新中であれば。
参照することはできないので、テーブル管理情報エント
リLEnへの他のプロセスのアクセス禁止を解除したの
ち、テーブル管理情報エントリLEn内のウェイト用セ
マフォを利用して更新の終了を待ち合わせ、参照可能と
なると再び、テーブル管理情報エントリLEnに排他を
かけ、同様の処理を行う。
更新要求の場合は、他に参照中のプロセスがあった場合
は、テーブル複写手段LCP4を用いてテーブルを複写
して、そのプロセス占有状態にした後。
複写したテーブルを更新中とする。更新要求以前にテー
ブルを参照していたプロセスは、複写される前の情報を
そのまま参照することになる。他に参照中のプロセスが
なかった場合はそのテーブルを占有することができるた
め複写を行わずそのままテーブルを更新中とする。これ
らの処理が終了すると、テーブル管理情報エントリLE
nに対する排他を解除し、アクセス情報エントリPE5
nにテーブルアドレス、アクセス権フラグをセットし。
アクセス権確保処理の終了をアクセス開始手段LCPI
に通知する。
アクセス開始手段LCPLはプロセスからアクセス要求
のあったテーブルのアクセス権が確保できるまでアクセ
ス権確保手段LCP3を用いて処理を行い。
すべてアクセス権が確保されるとアクセス要求のあった
テーブルアドレスをプロセスに通知する。
プロセスがテーブルに対するアクセスを終了するとアク
セス終了をアクセス終了手段LCP5に通知する。アク
セス終了手段LCP5はアクセス解除テーブル検索手段
LCP6を用いてアクセス権を解除するテーブルを検索
する。このときアクセス終了通知のあったテーブルより
下位のテーブルもすべてアクセス権解除の対象となる。
アクセス解除テーブル検索手段LCP8は通知されたテ
ーブルの下位テーブルのうち最下位にあるテーブルのア
クセス情報エントリPEmnをアクセス終了手段LCP
5に通知する。
アクセス終了手段LCP5はアクセス情報エントリPE
mnの情報をもとに対応するテーブル管理情報エントリ
LEnを辿り、テーブル管理情報エントリLEn内のロ
ック用セマフォLKnを用いてテーブル管理情報エント
リLEnに排他をかけ、他のプロセスからのテーブル管
理情報エントリLEnに対するアクセスを禁止し、アク
セス情報エントリPEmnの情報をもとに参照又は更新
アクセスの解除を行う。
参照解除の場合には、アクセスプロセス数をカウントダ
ウンする。参照中にテーブルの更新が行われ、参照して
いたテーブルの情報が古くなっている場合は、他に参照
しているプロセスがなければテーブルを削除する。更新
終了の場合は更新を解除し、ウェイトしているプロセス
があれば、そのプロセスを起動する。テーブルに対する
アクセス権の解除が終了すると、テーブル管理情報エン
トリLEnに対する排他を解除し、対応するアクセス情
報エントリPH5nを解除する。アクセス終了が通知さ
れたテーブル以下の全てのテーブルに対するアクセス権
解除が終了すると、解除終了をプロセスに通知する。
次に本実施例の動作を具体的に説明する。第6図にテー
ブルの初期状態を示す。上段はテーブル管理情報エント
リLEI、LE2であり、下段はそれぞれに対応する実
テーブルTl、T2である。
上位管理情報エントリAPE2はテーブル管理情報エン
トリLE1を指し、上位管理情報エントリAPE2は上
位テーブルがないことを示す値All比である。
実テーブルアドレスATL、AT2はそれぞれ実テーブ
ルTl、T2をさし、管理情報エントリアドレスTLE
I、 TLE2はそれぞれテーブル管理情報エントリL
EI、LE2を指す。エントリ種別ALI 。
Al1は本体であることを示す口であり、テーブルはど
のプロセスからもアクセスされていないため、参照/更
新フラグRUI、RU2は−、アクセスプロセス数PC
I、PC2,およびフェイトプロセス数WPI、WP2
は0である。
第7図を参照して、まずプロセスP1がテーブルTBL
2に対する参照のアクセス要求をアクセス開始手段LC
PIに通知する。アクセス開始手段LCPIは要求を行
ったプロセスP1のプロセス毎アクセス情報テーブルP
ETlを検索し、テーブルTBL2に対するアクセス権
をプロセスP1が持っているか否かをチエツクする。こ
こではプロセスP1のテーブルTl1L2に対する初め
てのアクセス要求であるので。
アクセス開始手段LCPIはアクセステーブル登録手段
LCP2を用いてアクセス要求のあったテーブルをプロ
セス毎アクセス情報テーブルに登録する。すなわち1テ
ーブル識別情報TBL2.アクセスモード(参照)をパ
ラメータとしてアクセステーブル登録手段LCP2を呼
び出す。
アクセステーブル登録手段LCP2は引き渡された情報
をアクセス情報エンドすPIEIIにセットし、テーブ
ル識別情報TIIL2によってテーブル管理情報エント
リLET内を探し対応する管理情報エントリLE2をみ
つけ、テーブル管理情報エントリLE2のアドレスをテ
ーブルアドレスPATI 1にセットする。テーブル管
理情報エントリLE2の上位テーブルがあれば上位管理
情報エントリアドレス八PE2を辿り、テーブル管理情
報エントリLEIを見つける。テーブル管理情報エント
リLEI内のテーブル識別情報LTIの値TBLIでプ
ロセス毎アクセス情報テーブルPETlをさがし、なか
った場合は。
テーブルTBLIの情報をアクセス情報エントリPE1
2にセットする。この状態を第7図に示す。
プロセス毎アクセス情報テーブルPETlにテーブルT
BL2. TBLIが参照モードとしてセットされ、テ
ーブルアドレスPATII 、 PAT12にはそれぞ
れLE2 。
LEIのアドレスがセットされる。下位エントリアドレ
スPCE12は下位のテーブルTBL2のアクセス情報
エントリを指し、下位エントリアドレスPCB 11は
最下位を示す値NO比である。プロセスはまだテーブル
へのアクセス権をもっていないため、アクセスフラグP
AIL、PA12は−である。テーブルTBLIは最上
位であるので登録はここで終了し、アクセステーブル登
録手段LCP2は新たに登録した最上位のテーブルのア
クセス情報エントリPE12を通知する。
次にアクセス開始手段LCPIは通知されたアクセス情
報エントリPE12をパラメータとしてアクセス権確保
手段LCP3を呼び出す。アクセス権確保手段LCP3
はアクセス情報エントリPE1.2の情報をもとにプロ
セスのテーブルに対するアクセス権を確保する処理を行
う。まずテーブル管理情報エントリLEI内のロック用
セマフォLKIを利用してテーブル管理情報エントリL
EIに排他をかけ他のプロセスからのテーブル管理情報
エントリLEIに対するアクセスを禁止する。次に、参
照の可否をチエツクするが、他にアクセスしているプロ
セスはないためテーブル管理エントリLEl内の参照/
更新フラグを参照中をしめすRをセットし。
アクセスプロセス数をカウントアツプして1とする。こ
れらの処理が終了すると、テーブル管理エントリLEI
に対する排他を解除し、アクセス情報エントリPE1Z
内のテーブルアドレスPAT12にテブル管理エントリ
LEI内の実テーブルアドレスAT12で示されるテー
ブルアドレスをセットし。
アクセス権が確保できたため、アクセス権フラグPA1
2をセットしてAとする。その後、アクセス権確保処理
の終了をアクセス開始手段LCPIに通知する。
アクセス開始手段LCPIはアクセス権を確保したテー
ブルのアクセス情報エントリPE12内の下位エントリ
アドレスPCE12を辿り、上述したようにテーブルT
BL2に対するアクセス権を確保する。参照要求のあっ
たテーブルTBL2のアクセス権が確保できると、テー
ブルTBL2のアクセス情報エントリ内のテーブルアド
レスアドレスPATII  (実テーブルT2)を指す
)をプロセスに通知して処理を終了する。このときの状
態を第8図に示す。
次に、プロセスP1が実テーブルTI、T2を参照中に
プロセスP2が実テーブルT1の更新要求を行った場合
を説明する。
プロセスP2はテーブルTBL2の更新要求をアクセス
開始手段LCPIに通知する。アクセス開始手段LCP
Iは前述と同様にして、アクセステーブル登録手段LC
P2を用いてプロセス毎アクセス情報テーブルPET2
への登録を行う。この状態を第9図に示す。
登録が終了するとアクセス開始手段LCPIは登録した
エントリPE21をパラメータとしてアクセス権確保手
段LCP3を呼び出す。アクセス権確保手段LCP3は
エントリPE21の情報をもとにプロセスのテーブルに
対するアクセス権を確保する処理を行う。
まずテーブル管理情報エントリLEIに排他をかけ他の
プロセスからのテーブル管理情報エントリLEIに対す
るアクセスを禁止する。次に、更新の可否をチエツクす
るが、この場合、プロセスP1がすでにこのテーブルを
参照しており、そのままテーブルTBLIを更新するこ
とはできないため。
テーブル複写手段LCP4を用いてテーブルの複写を行
う。
テーブル複写手段LCP4は指定されたテーブルのテー
ブル管理情報エントリLEI及び実テーブルT1を複写
し、テーブル管理情報エントリLEI’実テーブルTI
’ とする。この状態を第10図に示す。テーブル管理
情報エントリLEI’のエントリ種別ALL’ は複写
されたものであることを■になっている。
次に、テーブル複写手段LCP4はテーブル管理情報エ
ントリLEIの実テーブルアドレスATIを実アドレス
T1から実アドレスTI’ を指すように、実アドレス
T1の管理情報エントリアドレスTLEIはLEIから
LEI’を指すように変更する。
これにより、今まで実アドレスT1を参照していたプロ
セスP1は引き続き実アドレスT1を参照することがで
き、またプロセスP2は複写した実テーブルTl’を占
有することができるようになる。
テーブルの複写が終了すると、アクセス権確保手段LC
P3はテーブル管理情報エントリLEIの参照/更新フ
ラグRU1に更新を意味するUをセットシ、アクセスプ
ロセス数は1となる。これらの処理が終了すると、テー
ブル管理情報エントリLEIに対する排他を解除し、プ
ロセスP2のプロセス毎にアクセス情報エントリPE2
1にテーブルアドレス、アクセス権フラグをセットし、
アクセス権確保処理の終了をアクセス開始手段LCPI
に通知する。
アクセス開始手段LCPIは、更新要求のあったテーブ
ルTBLIのアクセス権が確保できると、プロセス毎ア
クセス情報エントリ内のテーブルアドレスPAT21を
プロセスに通知して処理を終了する。このときの状態を
第11図に示す。
ここで1次にプロセスP1がテーブルTBLIの参照要
求を行った場合、アクセス開始手段LCPIはプロセス
毎アクセス情報テーブルPETlを検索してテーブルT
BLfに対するアクセス権をチエツクする。
テーブルTBLIはすでにプロセス毎アクセス情報テー
ブルPETlに登録されており、プロセスP1はすでに
テーブルTBLIに対するアクセス権を持っているため
、アクセス情報エントリPε12内のテーブルアドレス
PAT12で示されるテーブルアドレスをプロセスに通
知する。即ち、更新される前のテーブルである実アドレ
スT1が参照できるため。
更新以前から参照されているテーブルTBL2との一貫
性が保証されることになる。
次にプロセスP3がテーブルTBL2の参照要求をアク
セス開始手段LCPIに通知した場合を説明する。
アクセス開始手段LCPIは前述と同様にしてアクセス
テーブル登録手段LCP2を用いてテーブルTBL2゜
TBLIをプロセス毎アクセス情報テーブルPET3に
登録する。登録が終了するとアクセス開始手段LCPI
はアクセス権確保手段LCP3にテーブルTBLIのア
クセス権確保を要求する。アクセス権確保手段LCP3
は対応するテーブル管理情報エントリLEIに排他をか
け、参照の可否をチエツクする。この場合テーブルTB
LIは更新中であり、更新が終了するまで参照すること
はできないため、ウェイトプロセス数WPIをカウント
アツプして1とし、テーブル管理情報エントリLEIの
排他を解除したうえで、テーブル管理情報エントリLE
I内のウェイト用セマフォを利用して更新の終了を待ち
合わせる。この時の状態を第12図に示す。テーブルに
対するアクセスは必ず上位テーブルから行われており、
更新中のテーブルがあった場合は、それ以下のテーブル
に対するアクセスは待ち合わされることになる。このた
め、プロセスP2の行っているテーブルTBLIの変更
がテーブルTBL2に影響を与える場合も、テーブルT
BLIの更新中はそれ以下のテーブルに対する新たなア
クセスは待ち合わせるため、テーブルの一貫性を保証す
ることができる。
ここで、プロセスP2がテーブルTBLIの更新を終了
し、アクセス終了をアクセス終了手段LCP5に通知し
た場合を説明する。
アクセス終了手段LCP5はアクセス解除テーブル検索
手段を用いてアクセス権を解除するテーブルを検索する
。このときアクセス終了通知のあったテーブルより下位
のテーブルもすべてアクセス権解除の対象となるが1 
ここではテーブルは一つであるのでアクセス終了手段L
CP5はアクセス情報エントリPE21をアクセス終了
手段LCP5に通知する。
アクセス終了手段LCP5はプロセス毎アクセス情報エ
ントリP[E21の情報をもとに対応するテーブル管理
情報エントリLEIを辿り、テーブル管理情報エントリ
LEI内のロック用セマフォLKIを用いてテーブル管
理情報エントリLEIに排他をかけ、他のプロセスから
のテーブル管理情報エントリLEIに対するアクセスを
禁止し、更新のアクセスの解除処理を行う。テーブル管
理情報エントリLEI内の参照/更新フラグRUIを未
アクセス状態−とし、アクセスプロセス数PCIはOと
する。また、ウェイトプロセス数が1であるのでウェイ
トしているプロセスを起動する。テーブルに対するアク
セス権の解除が終了すると、テーブル管理情報エントリ
LEnに対する排他を解除し、対応するPE21を削除
する。削除が終了すると。
解除終了をプロセスに通知する。この状態を第13図に
示す。
テーブルTBLIに対する更新が終了したため、テーブ
ルTBLIの参照のため、アクセス権確保手段LCPa
内でウェイトしていたプロセスP2が起動される。テー
ブルは未アクセス状態となっているため、テーブルにア
クセスすることができる。アクセス権確保手段LCP3
は前述した方法で参照処理を行い、処理終了をアクセス
開始手段LCPIに通知する。アクセス開始手段LCP
Iはさらにアクセス権確保手段LCP3用いてテーブル
TBL2に対するアクセス権をかくほする。この状態を
第14図に示す。プロセスP1は更新前のテーブルT1
およびT2を参照し、プロセスP3は更新後のテーブル
TI’およびT2をアクセスしている。
プロセスP1がテーブルTBLIの参照終了をアクセス
終了手段LCP5に通知すると、アクセス終了手段LC
P5はアクセス解除テーブル検索手段LCP6を用いて
プロセス毎アクセス情報テーブルPETlを検索する。
アクセス解除テーブル検索手段LCP6は下位エントリ
アドレスPCE12を辿って、テーブルTBLIの下位
テーブルを検索し、解除すべきテーブルのエントリPE
IIをアクセス終了手段LCP5に通知する。
アクセス終了手段LCP5は通知されたエントリ情報P
EII内のテーブルアドレスPATI lからアクセス
中のテーブルT2を辿り、テーブルT2内の管理情報エ
ントリアドレスTLE2から対応するテーブル管理情報
エントリLE2を辿る。ここで、テーブル管理情報エン
トリLE2に排他をかけ、アクセスプロセス数をカウン
トダウンする。テーブル管理情報エントリLE2のエン
トリ種別は本体を示す口であるので、何もせずにテーブ
ル管理情報エントリLE2の排他を解除し、対応するア
クセス情報エントリPEI lを削除する。さらにアク
セス解除テーブル検索手段LCP6を用いて次にアクセ
スを終了するテーブルを検索する。アクセス解除テーブ
ル検索手段LCP6はエントリPE12をアクセス終了
手段mcpsに通知する。アクセス終了手段LCP5は
前述と同様にしてテーブル管理情報エントリLEI’を
辿り、アクセスプロセス数をカウントダウンしてOとす
る。テーブル管理情報エントリLEI’のエントリ種別
は複写を示す−であり、アクセスプロセス数は0である
から、テーブル管理情報エントリLEI’ に対する排
他を解除した上で、これまで参照していたテーブルT1
およびその管理情報エントリLEI’を削除する。削除
が完了するとプロセス毎アクセス情報エントリPE12
を削除して、解除完了をプロセスP1に通知する。この
ときの状態を第15図に示す。
次にプロセスP3がテーブルTBLIのアクセス終了を
アクセス終了手段LCP5に通知すると前述と同様にし
てアクセスの解除処理が行われ、アクセスしているプロ
セスがなくなるため、テーブルは第16図に示す状態と
なる。
このようにして本実施例により相互に関連するテーブル
の一貫性を保ちながら動的にテーブルの参照更新を行う
ことができる。
[発明の効果] 以上説明したように9本発明では、プロセスがアクセス
している相互に関連する定義情報の一貫性が保証される
ため、システムを停止するなどして、処理の終了を待ち
合わせることなく、動的に定義情報テーブルの変更を行
うことができるという効果がある。
【図面の簡単な説明】
第1図は本発明によるテーブル排他制御方式の一実施例
を示す構成図2第2図から第5図はそれぞれ第1図を部
分的に詳細に示す図、第6図から第16図は本発明によ
るテーブル排他制御方式の動作を説明するための図であ
る。 TLCS・・・テーブル排他制御システム、TBL・・
・関連テーブル群、 LCPI・・・アクセス開始手段
、 LCP2・・・アクセステーブル登録手段、 LC
P3・・・アクセス権確保手段、 LCP4・・・テー
ブル複写手段、 LCP5・・・アクセス終了手段、 
LCP6・・・アクセス解除テープ検索手段。 Pm・・・プロセス、Tn・・・実テーブル、TTn・
・・テーブル識別情報、 TLEn・・・管理情報エン
トリアドレス、LET・・・テーブル管理情報テーブル
、LEn・・・テーブル管理情報エントリ、ALn・・
・エントリ種別、LTn・・・テーブル識別情報、AT
n・・・実テーブルアドレス、 APEn・・・上位管
理情報エントリアドレス、LKn・・・ロック用セマフ
ォ情報、WKn・・・ウェイト用セマフォ情報、RUn
・・・参照/更新フラグ、PCn・・・アクセスプロセ
ス数、WPn・・・ウェイトプロセス数、 PETm・
・・プロセス毎アクセス情報テーブル、 PEmn・・
・プロセス毎アクセス情報エントリ、  PCB+in
・・・下位エントリアドレス、 PTn・・・テーブル
識別情報、 PAin・・・アクセスフラグ。 PATmn・・・テーブルアドレス。 第 4 図 プロセス毎アクセス情報テーブル ETm 第 図 第 図 第 図 8 図 図 第 0 図 第 1 図

Claims (1)

  1. 【特許請求の範囲】 1、計算機の主記憶上にある相互に関連するテーブルに
    対し、複数のプロセスから参照または更新を行うテーブ
    ル排他制御システムにおいて、エントリ種別と、テーブ
    ル識別情報と、実テーブルアドレスと、上位管理情報エ
    ントリアドレスと、ロック用セマフォ情報と、ウェイト
    用セマフォ情報と、参照/更新フラグと、アクセス中の
    プロセス数を示すアクセスプロセス数、ウェイト中のプ
    ロセス数を示すウェイトプロセスを格納するテーブル管
    理情報テーブルと、 テーブル識別子と、管理情報エントリアドレスとを有す
    る実テーブルと、 前記プロセスがテーブルに対し、参照または更新を行う
    際に作成され、テーブル識別情報と、下位エントリアド
    レスと、参照/更新フラグと、テーブルへのアクセス権
    の有無を示すアクセスフラグと、アクセス中のテーブル
    アドレスとを格納するプロセス毎アクセス情報テーブル
    と、 前記プロセスがテーブルに対し、アクセスを開始する際
    に通知するアクセス開始手段と、アクセス開始手段から
    の指示により、プロセスがアクセスするテーブルを前記
    プロセス毎アクセス情報テーブルに登録するアクセステ
    ーブル登録手段と、 前記アクセステーブル登録手段によって登録されたプロ
    セス毎アクセス情報テーブルの情報に基づいてテーブル
    のアクセス権を確保するアクセス権確保手段と、 アクセス権を確保する際にテーブルの複写を行うテーブ
    ル複写手段と、 前記プロセスがテーブルに対するアクセスを終了した際
    に通知するアクセス終了手段と、プロセスがアクセス終
    了を通知したテーブルに関連してアクセス終了処理を行
    うテーブルを検索するアクセス解除テーブル検索手段と を有することを特徴とするテーブル排他制御方式。
JP1268001A 1989-10-17 1989-10-17 テーブル排他制御方式 Pending JPH03130834A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1268001A JPH03130834A (ja) 1989-10-17 1989-10-17 テーブル排他制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1268001A JPH03130834A (ja) 1989-10-17 1989-10-17 テーブル排他制御方式

Publications (1)

Publication Number Publication Date
JPH03130834A true JPH03130834A (ja) 1991-06-04

Family

ID=17452534

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1268001A Pending JPH03130834A (ja) 1989-10-17 1989-10-17 テーブル排他制御方式

Country Status (1)

Country Link
JP (1) JPH03130834A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05282260A (ja) * 1991-06-21 1993-10-29 Internatl Business Mach Corp <Ibm> コンピユータネツトワーク及びその操作方法
JPH0683783A (ja) * 1992-03-30 1994-03-25 Internatl Business Mach Corp <Ibm> 条件付きオペレーション提供装置及び方法
JP2006277634A (ja) * 2005-03-30 2006-10-12 Nec Corp 排他制御方法と情報処理装置
US9253046B2 (en) 1998-09-10 2016-02-02 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05282260A (ja) * 1991-06-21 1993-10-29 Internatl Business Mach Corp <Ibm> コンピユータネツトワーク及びその操作方法
JPH0683783A (ja) * 1992-03-30 1994-03-25 Internatl Business Mach Corp <Ibm> 条件付きオペレーション提供装置及び方法
US9253046B2 (en) 1998-09-10 2016-02-02 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
US9565013B2 (en) 1998-09-10 2017-02-07 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
US9860315B2 (en) 1998-09-10 2018-01-02 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
US10491675B2 (en) 2001-10-01 2019-11-26 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
JP2006277634A (ja) * 2005-03-30 2006-10-12 Nec Corp 排他制御方法と情報処理装置

Similar Documents

Publication Publication Date Title
JP2575541B2 (ja) 分散キャッシュの階層無効化方法
JP2575543B2 (ja) 同時アクセス管理方法
JP2837785B2 (ja) データ・コヒーレンス制御方法
US5226143A (en) Multiprocessor system includes operating system for notifying only those cache managers who are holders of shared locks on a designated page by global lock manager
US5946711A (en) System for locking data in a shared cache
US20080005495A1 (en) Relocation of active DMA pages
JP2512675B2 (ja) デ―タ処理制御方法及びコンピュ―タ・システム
US5197148A (en) Method for maintaining data availability after component failure included denying access to others while completing by one of the microprocessor systems an atomic transaction changing a portion of the multiple copies of data
JP2559959B2 (ja) 複数の非同期的プロセスによりレコードを更新する方法
US8250047B2 (en) Hybrid multi-threaded access to data structures using hazard pointers for reads and locks for updates
US6681239B1 (en) Computer system having shared address space among multiple virtual address spaces
US5845331A (en) Memory system including guarded pointers
US7814082B2 (en) Efficient support of consistent cyclic search with read-copy-update
US20070143287A1 (en) Coordinating access to memory locations for hardware transactional memory transactions and software transactional memory transactions
JP2001527242A (ja) ロックグループを用いた楽観的並行処理制御のためのきめ細やかな整合性をもたらす仕組み
JPH0784851A (ja) 共有データ管理方法
CN112231007B (zh) 基于用户态与内核态驱动协同处理框架的设备驱动方法
US20090063783A1 (en) Method and appartaus to trigger synchronization and validation actions upon memory access
US7502906B2 (en) Non-blocking growable arrays
US6529933B1 (en) Method and apparatus for locking and unlocking a semaphore
JPH03130834A (ja) テーブル排他制御方式
Chang et al. Evolution of storage facilities in AIX Version 3 for RISC System/6000 processors
US7844781B2 (en) Method, apparatus, and computer program product for accessing process local storage of another process
Marathe et al. Efficient nonblocking software transactional memory
JP2707958B2 (ja) キャッシュ一致処理制御装置