JPH03224036A - 資源の排他制御方式 - Google Patents

資源の排他制御方式

Info

Publication number
JPH03224036A
JPH03224036A JP2019944A JP1994490A JPH03224036A JP H03224036 A JPH03224036 A JP H03224036A JP 2019944 A JP2019944 A JP 2019944A JP 1994490 A JP1994490 A JP 1994490A JP H03224036 A JPH03224036 A JP H03224036A
Authority
JP
Japan
Prior art keywords
occupancy
resources
resource
order
release
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
JP2019944A
Other languages
English (en)
Other versions
JP2699600B2 (ja
Inventor
Yukitaka Saikawa
斎川 幸貴
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 JP2019944A priority Critical patent/JP2699600B2/ja
Priority to US07/648,483 priority patent/US5202990A/en
Publication of JPH03224036A publication Critical patent/JPH03224036A/ja
Application granted granted Critical
Publication of JP2699600B2 publication Critical patent/JP2699600B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野〕 本発明は電子計算機システムにおける資源の排他制御方
式に関するものである。
〔従来の技術〕
電子計算機システムの資源の中には、2つ以上のプログ
ラム(タスク)が同時に処理を行うと矛盾を生じてしま
うものがあり、入出力装置、ファイル、データ、プログ
ラム等が該当する。従って、このような資源に対しては
、矛盾が生しないように、特定のプログラムが使用して
いる間は他のプログラムに対して使用を許さない排他制
御を行っている。なお、この排他制御は、プログラムか
らIRHの占有要求が出された場合にその資源が他のプ
ログラムによる占有(ロック)状態でない使用可能な状
態であれば占有状態として使用を許可し、その後、その
資源が不要となってプログラムから資源の占有解除要求
が出された場合に占有状態を解除することによって行わ
れる。
ところで、資源の排他制御を行うことにより派生する新
たな問題としてデッドロックがある。これは、例えば、
ある資源を占有したプログラムが次に他の資源を占有し
ようとした時、その資源が他のプログラムによって既に
占有されており、かつ、その他のプログラムがこちら側
のプログラムの既に占有している資源を待っているよう
な状態であり、このようになると永久に待ち状態となっ
てしまう。
このようなデッドロックを防止する方法の一つとして、
資源の占有および占有解除の順序を決める方法がある。
例えば、所定の処理に用いられる資源α、βについてα
→βという占有順序を決めておけば、あるプログラムが
資源αを占有し、その後、資源βを占有しようとしたと
きに〜他のプログラムが資源βを既に占有し、かつ資源
αの待ち状態にあるということはなくなり、デッドロッ
クが防止される。
一方、限られた資源を有効に利用するためには、資源の
占有時間を短くする必要があり、そのため、資源を細分
化し、資源に対するロックを必要に応して多段的に行う
ようにしており、従来、このように細分化された資源に
対しても占有および占有解除の順序を決め、それに従っ
て占有および占有解除を行うことによりデッドロックの
発生を防止していた。
(発明が解決しようとする課題) 上述したように、従来はデッドロックの発生を防止する
ために資源の占有および解除の順序を決めていたが、こ
れらの資源の占有および解除の要求は全てプログラムの
側で行わなければならず、この際、占有および解除の順
序を間違えるとデッドロックを有効に防止できなくなる
ため間違えないように注意しなければならず、プログラ
ムのコーディングに要する負担が大きいと共に、少なか
らず間違いが発生しやすいという欠点があった。
第6図は占有順序を守りながら資源の占有を行う例であ
り、資源α、β、γについてα→β→Tという順序が決
められていたとすると、プログラムは最初に資源αにつ
いて占有要求を行い、次いで資源βについて占有要求を
行い、次いで資Brについて占有要求を行うことになり
、何度も占有要求を行わなければならず、それだけ間違
う確率も高くなるものであった。
本発明は上記の点に鑑み提案されたものであり、その目
的とするところは、資源の占有および占有解除の順序が
一意に決まるようなものについて、簡単な指定で自動的
に占有実行および占有解除が行える資源の排他制御方式
を提供することにある。
〔課題を解決するための手段〕
本発明は上記の目的を達成するため、資源の占有順序を
予め記憶してお(占有順序記憶手段と、資源の占有要求
に従い、前記占有順序記憶手段の記憶内容を参照しなが
ら資源の占有を行う占有実行手段と、 資源の占有解除要求に従い、前記占有順序記憶手段の記
憶内容を参照しながら資源の占有を解除する占有解除手
段とを備えるようにしている。
〔作用〕
本発明の資源の排他制御方式にあっては、占有順序記憶
手段が資源の占有順序を予め記憶しており、資源の占有
要求に従い占有実行手段が占有順序記憶手段の記憶内容
を参照しながら資源の占有を行い、資源の占有解除要求
に従い占を解除手段が占有順序記憶手段の記憶内容を参
照しながら資源の占有を解除する。
〔実施例〕
以下、本発明の実施例につき図面を参照して説明する。
第1図は本発明の資源の排他制御方式の一実施例を示す
構成図である。第1図において、本実施例は、資源の占
有順序を予め記憶しておく占有順序記憶手段1と、プロ
グラムからの資源の占有要求に従い占有順序記憶手段1
の記憶内容を参照しながら資源の占有を行う占有実行手
段2と、プログラムからの資源の占有解除要求に従い占
有順序記憶手段1の記憶内容を参照しながら資源の占有
を解除する占有解除手段3とから構成されている。
第2図は占有l@序記憶手段1において資源の占有およ
び占有解除の順序を記憶する主記憶上のロックテーブル
4の論理的構成を示したものであり、チェーニングされ
た複数のロックテーブル4によって占有順序記憶手段1
が構成される。口、クテ−プル4は細分化された各資源
に対応して設けられるものであり、次に占有される資源
のロンクチ−プル(4)のアドレスが設定される次ロン
グテーブルアドレス4aと、直前に占有される資源のロ
ックテーブル(4)のアドレスが設定される前ロックテ
ーブルアドレス4bと、対応する資源が占を状態である
か否かを示すロックバイト4cとを含んでいる。なお、
口、クハイト4cの状態は「ロック未」、「ロック中」
のいずれかであり、「ロック未」の場合は対応する資源
が占有されていないことを示し、[ロック中Jの場合は
対応する資源が占有されていることを示す。
第3図は占有実行手段2の処理を示したものであり、以
下、占有実行手段2の動作を説明する。
先ず、占有実行手段2は先頭アドレスと末尾アドレスと
を入力情報とする。ここで、先頭アドレスとは資源を順
番に占有する時に一番最初に占有を行うべき資源に対応
するロックテーブル4のアドレスであり、末尾アドレス
とは資源を順番に占有する時に一番最後に占有を行うべ
き資源に対応するロックテーブル4のアドレスである。
しかして、占有実行手段2は、先ず、レジスタXに先頭
アドレスを設定する(ステップ21)。
次いで、レジスタXの示す四ツクテーブル4のロックバ
イト4cを参照し、当富亥資源がロックされているか否
かについてチエツクする(ステップ22)。
そして、レジスタXの示すロックテーブル4のロックバ
イト4cが「ロック中」状態であった場合(ステップ2
2のYes)には、ロックバイト4cが「ロック中」状
態でなくなるまで(「ロック未」状態となるまで)、ス
テップ22の処理を適当な周期で繰り返す。
また、レジスタXの示す四ツクテーブル4の口7クハイ
)4cが「ロック中」状態でない場合(ステップ22の
No)には、そのロックバイト4clこ「ロック中j状
態を設定する(ステップ23)。これにより、当該資源
が占有される。
次いで、レジスタXの値が末尾アドレスであるか否かを
チエツクする(ステップ24)。
そして、レジスタXの値が末尾アドレスでない場合(ス
テップ24のNo)には、レジスタXの示すロックテー
ブル4から次ロックテーブルアドレス4aを取得し、レ
ジスタXに設定しくステップ25)、ステップ22に戻
る。
このようにして順々に次ロックテーブルアドレス4aに
よってチェーンされたロックテーブル4のロックバイト
4cに「ロック中」状態を設定して行く。
そして、レジスタXの値が末尾アドレスと等しい場合(
ステップ24のYa s)には、呼び出し元に制御を移
行して占有実行手段2の処理を終了する。
第5図は上記の占有処理の具体例を示したものである。
しかして、3つの資源α、β、Tをα→β→γの順序で
占有するものとすると、プログラムが先頭アドレスAα
と末尾アドレスATとを指定して占有要求を行うと、占
有実行手段2は占有順序記憶手段lのロックテーブル4
α、4β、4Tを順次にたどり、そのロックバイトを[
口、り中」とすることにより、資源α、β、γを順序通
りに占有状態とする。このように、途中の資源βを指定
することなく、1回だけ占有要求をプログラムから出す
だけで自動的に正しい順序で占有が行われる。
次に、第4図は占有解除手段3の処理を示したものであ
り、以下、占有解除手段3の動作を説明する。
先ず、占有解除手段3は解除先頭アドレスと解除末尾ア
ドレスとを入力情報とする。ここで、解除先頭アドレス
とは資源を順番に占有解除する時ムこ一番最初に占有解
除を行うべき資源に対応するロックテーブル4のアドレ
スであり、解除末尾アドレスとは資源を順番に占有解除
する時に一番最後に占有解除を行うべき資源に対応する
口、クチ−プル4のアドレスである。
しかして、占有解除手段3は、先ず、レジスタyに解除
先頭アドレスを設定する(ステップ31)。
次いで、レジスタyの示すロックテーブル4のロックバ
イト4Cに「ロック未」状態を設定する(ステップ32
)。
次いで、レジスタyの値が解除末尾アドレスであるか否
かをチエツクする(ステップ33)。
そして、レジスタyの値が解除末尾アドレスでない場合
(ステップ33のNo)には、レジスタyの示すロック
テーブル4から前ロックテーブルアドレス4bを取得し
、レジスタyに設定しくステップ34)、ステップ32
に戻る。
このようにして、順々に、前ロックテーブルアドレス4
bによってチェーンされたロックテーブル4のロックバ
イト4Cに「四ツク未」状態を設定して行く。
そして、レジスタyの値が解除末尾アドレスと等しい場
合(ステ、ブ33のYes)には、呼び出し元に制御を
移行して占有解除手段3の処理を終了する。
〔発明の効果〕
以上説明したように、本発明の資源の排他制御方式にあ
っては、資源の先頭と後尾とを指定した要求等の簡単な
操作により、予め記憶しておいた順序に従って自動的に
占有および占有解除が行われるため、プログラムによる
占有要求および占有解除要求の回数が少なくなり、プロ
グラムのコーディングが容易になると共に、間違いの発
生を皆無とすることができる効果がある。
【図面の簡単な説明】
第1図は本発明の資源の排他制御方式の一実施例を示す
構成図、 第2図は第1図における占有順序記憶手段を構成するロ
ックテーブルの論理的構成図、第3図は第1図における
占有実行手段の処理のフローチャート、 第4図は第1図における占有解除手段の処理のフローチ
ャート、 第5図は占有処理の具体例の説明図および、第6図は従
来の占有処理の説明図である。 回において、 1・・・・・・占有順序記憶手段 2・・・・・・占有実行手段 3・・・・・・占有解除手段 4・・・・・・ロックテーブル

Claims (2)

    【特許請求の範囲】
  1. (1)資源の占有順序を予め記憶しておく占有順序記憶
    手段と、 資源の占有要求に従い、前記占有順序記憶手段の記憶内
    容を参照しながら資源の占有を行う占有実行手段と、 資源の占有解除要求に従い、前記占有順序記憶手段の記
    憶内容を参照しながら資源の占有を解除する占有解除手
    段とを備えたことを特徴とする資源の排他制御方式。
  2. (2)次ロックテーブルアドレスと前ロックテーブルア
    ドレスとロックバイトとを含むロックテーブルを複数個
    用いて占有順序記憶手段を構成したことを特徴とする請
    求項1記載の資源の排他制御方式。
JP2019944A 1990-01-30 1990-01-30 資源の排他制御方式 Expired - Lifetime JP2699600B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019944A JP2699600B2 (ja) 1990-01-30 1990-01-30 資源の排他制御方式
US07/648,483 US5202990A (en) 1990-01-30 1991-01-30 Exclusive control system capable of simply locking each resource

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019944A JP2699600B2 (ja) 1990-01-30 1990-01-30 資源の排他制御方式

Publications (2)

Publication Number Publication Date
JPH03224036A true JPH03224036A (ja) 1991-10-03
JP2699600B2 JP2699600B2 (ja) 1998-01-19

Family

ID=12013317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019944A Expired - Lifetime JP2699600B2 (ja) 1990-01-30 1990-01-30 資源の排他制御方式

Country Status (2)

Country Link
US (1) US5202990A (ja)
JP (1) JP2699600B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204677A (ja) * 1992-01-30 1993-08-13 Fujitsu Ltd 連想ロック方式
US6338054B1 (en) 1998-12-07 2002-01-08 Fujitsu Limited Channel interface re-connection controlling method and file controlling apparatus

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04308961A (ja) * 1991-01-18 1992-10-30 Ncr Corp 占有されたプロセスの同期ロックの状態を通知するための手段及び装置
US5317737A (en) * 1991-07-29 1994-05-31 Ncr Corporation Method and apparatus for controlling a re-entrant synchronization lock tenure in a multiprocessor system
JPH07191944A (ja) * 1991-09-11 1995-07-28 Internatl Business Mach Corp <Ibm> 多重プロセッサによる多数の資源への命令におけるデッドロックを防止するためのシステムおよび方法
JPH06110846A (ja) * 1992-09-25 1994-04-22 Fujitsu Ltd 排他制御方式
US5761670A (en) * 1995-12-08 1998-06-02 Sun Microsystems, Inc. System and method for space efficient object locking using global and local locks
US5794241A (en) * 1996-04-08 1998-08-11 Oracle Corporation Method and apparatus for dynamically disabling and enabling table locking for a database
US5974473A (en) * 1996-06-14 1999-10-26 Texas Instruments Incorporated System for controlling insertion, locking, and removal of modules by removing plurality of device drivers for module to be removed from BIOS and informing BIOS of module removal
US6088757A (en) * 1998-08-28 2000-07-11 International Business Machines Corporation Computer program means and device for conducting high performance locking facility in a loosely coupled environment
US6189007B1 (en) 1998-08-28 2001-02-13 International Business Machines Corporation Method and apparatus for conducting a high performance locking facility in a loosely coupled environment
US6185650B1 (en) 1998-08-28 2001-02-06 International Business Machines Corporation High performance locking facility
US6253274B1 (en) 1998-08-28 2001-06-26 International Business Machines Corporation Apparatus for a high performance locking facility
US6574293B1 (en) * 1998-10-28 2003-06-03 Ericsson Inc. Receivers and methods for reducing interference in radio communications
US6347364B1 (en) * 1998-11-20 2002-02-12 International Business Machines Corp. Schedulable dynamic memory pinning
US6973521B1 (en) * 2000-05-16 2005-12-06 Cisco Technology, Inc. Lock controller supporting blocking and non-blocking requests
JP3755415B2 (ja) * 2001-04-04 2006-03-15 株式会社デンソー 処理実行装置、当該処理実行装置に搭載される処理プログラム、及び記録媒体
US7506090B2 (en) * 2006-06-14 2009-03-17 Honeywell International Inc. System and method for user-configurable resource arbitration in a process control system
US8434082B2 (en) * 2006-06-22 2013-04-30 Intel Corporation Efficient ticket lock synchronization implementation using early wakeup in the presence of oversubscription
US8069445B2 (en) * 2006-06-30 2011-11-29 Intel Corporation Method and apparatus for detecting lock acquisition hierarchy violations and unsafe lock releases
US8381308B2 (en) * 2009-05-27 2013-02-19 International Business Corporation Computer-implemented multi-resource shared lock
JP5621904B2 (ja) * 2011-02-25 2014-11-12 富士通株式会社 ロック制御装置、ロック制御プログラムおよびロック制御方法
US8718807B2 (en) 2012-03-23 2014-05-06 Honeywell International Inc. System and method for robust real-time control of regular automated production using master recipe
CN114679465B (zh) * 2022-03-28 2024-07-16 北京火山引擎科技有限公司 资源操作方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61233849A (ja) * 1985-04-08 1986-10-18 Hitachi Ltd デ−タベ−ス排他制御方法
JPS6470838A (en) * 1987-09-11 1989-03-16 Hitachi Ltd Exclusive control system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4480304A (en) * 1980-10-06 1984-10-30 International Business Machines Corporation Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment
US4779194A (en) * 1985-10-15 1988-10-18 Unisys Corporation Event allocation mechanism for a large data processing system
US4807111A (en) * 1987-06-19 1989-02-21 International Business Machines Corporation Dynamic queueing method
US4965719A (en) * 1988-02-16 1990-10-23 International Business Machines Corporation Method for lock management, page coherency, and asynchronous writing of changed pages to shared external store in a distributed computing system
JPH01303527A (ja) * 1988-05-31 1989-12-07 Hitachi Ltd 共有資源の管理方法
US4979105A (en) * 1988-07-19 1990-12-18 International Business Machines Method and apparatus for automatic recovery from excessive spin loops in an N-way multiprocessing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61233849A (ja) * 1985-04-08 1986-10-18 Hitachi Ltd デ−タベ−ス排他制御方法
JPS6470838A (en) * 1987-09-11 1989-03-16 Hitachi Ltd Exclusive control system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204677A (ja) * 1992-01-30 1993-08-13 Fujitsu Ltd 連想ロック方式
US6338054B1 (en) 1998-12-07 2002-01-08 Fujitsu Limited Channel interface re-connection controlling method and file controlling apparatus

Also Published As

Publication number Publication date
JP2699600B2 (ja) 1998-01-19
US5202990A (en) 1993-04-13

Similar Documents

Publication Publication Date Title
JPH03224036A (ja) 資源の排他制御方式
US6668291B1 (en) Non-blocking concurrent queues with direct node access by threads
US4369494A (en) Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system
CN110888727B (zh) 并发无锁队列实现方法、装置及存储介质
JP3807588B2 (ja) マルチスレッド処理装置及び処理方法並びにマルチスレッドプログラムを格納したコンピュータ可読の記録媒体
JP2000284978A (ja) 共用資源を非同期的に更新するためのインターフェース・システムおよび方法
JPH04308961A (ja) 占有されたプロセスの同期ロックの状態を通知するための手段及び装置
JPH04229355A (ja) データアクセス方法及びデータ処理システム
US5138713A (en) Multiprocessing computer system with exit logic and method for maintaining resource integrity
JPH07120299B2 (ja) マルチプロセッサシステムの試験方法
US20030041086A1 (en) Method for synchronising program sections of a computer program
JP3621433B2 (ja) データベース排他制御方法
US6757679B1 (en) System for building electronic queue(s) utilizing self organizing units in parallel to permit concurrent queue add and remove operations
CN116266101A (zh) 一种分布式对象存储系统处理方法及装置、存储介质
JPH08129492A (ja) 資源排他チェックシステム及び資源排他チェック方法
CN111930766A (zh) 一种分布式锁的服务实现方法、设备、存储介质
JPH02156348A (ja) 複数のハッシュ表のあふれ領域管理方法
JPH0833831B2 (ja) 共有資源の占有競合管理方法
JPH0520269A (ja) 排他制御方式
JP2663600B2 (ja) 制御表再配置処理方式
CN118260051A (zh) 线程访问控制设备、方法与计算设备
JPS62173535A (ja) 共有資源のアクセス制御方式
JPH05113891A (ja) 疑似セマフオア方式
JPS63196956A (ja) フアイル排他方式
CN121579228A (zh) 处理器的控制方法、装置、电子设备及可读存储介质