JPS6321941B2 - - Google Patents

Info

Publication number
JPS6321941B2
JPS6321941B2 JP5212682A JP5212682A JPS6321941B2 JP S6321941 B2 JPS6321941 B2 JP S6321941B2 JP 5212682 A JP5212682 A JP 5212682A JP 5212682 A JP5212682 A JP 5212682A JP S6321941 B2 JPS6321941 B2 JP S6321941B2
Authority
JP
Japan
Prior art keywords
exclusive
shared
lock
resource
exclusive lock
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.)
Expired
Application number
JP5212682A
Other languages
English (en)
Other versions
JPS58169659A (ja
Inventor
Norio Kuroba
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5212682A priority Critical patent/JPS58169659A/ja
Publication of JPS58169659A publication Critical patent/JPS58169659A/ja
Publication of JPS6321941B2 publication Critical patent/JPS6321941B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

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

Description

【発明の詳細な説明】 (1) 発明の技術分野 本発明は共用ロツク制御方式、特にマルチプロ
セツサシステムにおけるいわゆるスピンタイプロ
ツクによる資源の逐次化制御方式において、共用
による同時使用を可能にした共用ロツク制御方式
に関するものである。
(2) 技術の背景 マルチプログラミングやマルチプロセツシング
が行われるデータ処理システムにおいては、例え
ばメモリやメモリ内の制御ブロツク等の各種シス
テム資源を一時的に1つの処理部に占有させるこ
とにより、複数の処理部が競合して使用すること
による矛盾の発生を防止することが行われてい
る。このような処理を資源の逐次化処理という。
例えば、シングルプロセツシングのときには、
割込み禁止にしておけば、CPU時間を独占的に
継続して使用できるので、例えば制御ブロツク等
のシステム資源の内容は変化しないことが保証さ
れる。しかし、第1図図示の如く、マルチプロセ
ツシングのときには、単に一方の処理装置CPU
−Aを割込み禁止にしただけでは、他方の処理装
置CPU−Bからの主記憶装置MSU等の参照・更
新は可能であり、CPU−Aが制御ブロツクTBL
を使用中であるにもかかわらず、CPU−Bがそ
の制御ブロツクTBLの内容を変更してしまう可
能性がある。このような事態を防ぎ、システム資
源を処理の区切り毎に順番に使用するようにする
ために、ロツク制御などの逐次化処理が必要とさ
れている。なお、第1図中MCUは主記憶制御装
置であり、PSWはプログラムステータスワード
である。
(3) 従来技術と問題点 従来、逐次化処理方式としては、例えば
ENQ/DEQマクロによるキユーイング処理方式
や、スピンタイプによる排他ロツク制御が用いら
れていた。
第2図は従来のENQ/DEQマクロによる処理
方式の例を示す。このENQ/DEQマクロによる
処理方式によれば、システム資源の共用的使用ま
たは排他的使用のいずれかを指定して処理するこ
とが可能で、例えばタスク1がシステム資源4を
使用するときには、共用モードまたは排他モード
のいずれかを指定し、ENQマクロを発行して
ENQ処理部2を起動する。ENQ処理部2はシス
テム資源4に対応して設けられたキユーターミナ
ル5に他の使用要求の制御表6−1,6−2,…
がキユーイングされているかどうかを判定し、待
ちキユーがある場合には、当該タスク1の使用要
求の制御表6−3をキユーイングするとともに当
該タスク1を待ち状態にする。待ちキユーがない
場合には、システム資源4が使用中であるかどう
かを判定して、使用中でない場合および共用モー
ドで使用中であつてタスク1の要求も共用使用で
ある場合に限り、システム資源4が割当てられる
ようにされ、他の場合には待ちキユーにキユーイ
ングされる。
タスク1はシステム資源4の使用が終了したな
らば、DEQマクロによつてDEQ処理部3を起動
する。DEQ処理部3はシステム資源4の使用多
重度を1減算し、0になつたときに待ちキユーが
あれば、その待ちタスクを起動するなどの処理を
実行する。
該方式によれば、共用モードで使用する複数の
タスクが、1つのシステム資源を同時に使用する
ことができ、かつ割込み可能状態のまま使用でき
るという利点があるが、処理が極めて複雑であ
り、ダイナミツク・ステツプ数が増大し処理速度
が遅くなるという欠点や、待ち状態にある処理部
の再起動制御のために、発行はタスクに限られる
という欠点がある。
第3図は従来の排他ロツク制御方式の例を示
す。主記憶装置MSUにはシステム資源4に対応
してロツクワード7が設けられる。例えば、
CPU−Aがシステム資源4を使用する場合には、
まずロツク処理部8を起動する。ロツク処理部8
はロツクワード7の内容が0であるかどうかを判
定し、もし0でなければ、他の処理装置が使用し
ていることを意味するので、外部割込みを割込み
可能にして、再度ロツクワード7が0であるかど
うかの判定を判定結果が0になるまで繰り返す。
同じ命令を繰り返し実行してロツクが解除される
まで待つこととなるため、このようなタイプのロ
ツクはスピンタイプ・ロツクと呼ばれる。
ロツクワード7が0であれば、ロツクワード7
に自分の処理装置(CPU−A)の0でない識別
子を格納し、他の処理装置のシステム資源4の使
用を禁止するようにされる。この識別子の格納に
は、例えばCS(COMPARE AND SWAP)命令
またはCDS(COMPARE DOUBLE AND
SWAP)命令などが用いられ、この命令実行中
に他の処理装置(例えばCPU−B)がロツクワ
ード7にアクセスするのを抑止するようにされ
る。
CPU−Aはシステム資源4の使用を終えたな
らば、アンロツク処理部9を起動し、アンロツク
処理部9はロツクワード7を0に戻す。CPU−
Aがシステム資源4を使用している間に他の処理
装置がシステム資源4の使用を要求していれば、
ロツクワード7が0になつた時点で使用可能とな
る。
上記排他ロツク制御方式によれば、システム資
源に対しロツクがかかつていない場合には処理効
率はよく、しかも制御が簡単であるが、ロツクが
すでにかかつている場合には、ロツク獲得の待ち
時間だけ処理装置は遊ぶこととなり、無駄が生じ
ることとなる。
(4) 発明の目的 本発明は上記問題点の解決を図り、上記ロツク
獲得の待ち時間を減小させ、簡易で効率のよいロ
ツク制御方式を提供することを目的としている。
(5) 発明の構成 上記目的達成のため、本発明はスピンタイプの
ロツクを行う制御方式において、共用のロツクを
可能としたものである。資源要求元は資源の内容
を変更しない場合(例えば制御ブロツクを参照す
る場合等)には共用モードでロツクし、資源の内
容を変更する場合(例えば制御ブロツクの内容を
更新する場合)には排他モードでロツクすればよ
い。共用モードにおいては同時使用が可能とな
る。すなわち、本発明の共用ロツク制御方式は、
マルチプロセツサシステムにおける資源の各プロ
セツサ間逐次化使用を制御するロツク制御方式に
おいて、(a)各システム資源対応に、その資源に対
し、あるプロセツサが資源の内容を変更する排他
使用要求を出しているか否かの排他ロツク情報が
設定される排他ロツク表示部と、(b)各システム資
源対応に、その資源に対し、各プロセツサが資源
の内容を変更しない共用使用要求を出しているか
否かの共用情報が設定される共用表示部と、(c)あ
るシステム資源に対する共用使用要求に対し、上
記排他ロツク表示部が排他ロツク中でないことを
示すとき、当該要求に出したプロセツサに該当す
る上記共用表示部に共用情報を設定して、その資
源の共用使用を許可し、上記排他ロツク表示部が
排他ロツク中であることを示すとき、該排他ロツ
クの解除を待つた後、上記共用表示部に共用情報
を設定して、その資源の共用使用を許可する共用
要求処理部と、(d)資源の共用使用の終了時に、当
該使用したプロセツサに該当する上記共用表示部
における共用情報を解除する共用終了処理部と、
(e)あるシステム資源に対する排他使用要求に対
し、上記排他ロツク表示部が排他ロツク中でない
ことを示すとき、該排他ロツク表示部に排他ロツ
ク情報を設定し、上記排他ロツク表示部が排他ロ
ツク中であることを示すとき、その排他ロツクの
解除を待つた後、該排他ロツク表示部に排他ロツ
ク情報を設定し、上記共用表示部に、共用情報が
設定されていないことを条件として、その資源の
排他使用を許可する排他要求処理部と、(f)資源の
排他使用の終了時に、上記排他ロツク表示部にお
ける排他ロツク情報を解除する排他終了処理部と
を備えたことを特徴としている。
(6) 発明の実施例 以下図面を参照しつつ説明する。
第4図は本発明の一実施構成、第5図は本発明
に係る制御の説明図を示す。図中、符号4および
7は第3図に対応し、10は共用フラグ部、11
は共用要求処理部、12は共用終了処理部、13
は排他要求処理部、14は排他終了処理部を表わ
す。
第4図において、システム資源4は例えば制御
ブロツク等の資源であつて、更新される場合には
逐次化して処理される必要があるものである。こ
のシステム資源4に対応して排他制御のためのロ
ツクワード7が設けられる。該ロツクワード7が
0である場合には、システム資源4は排他モード
で使用されていないことを示し、ロツクワード7
が0でない場合には、現在システム資源4を排他
モードで1つの処理装置だけが占有して使用して
いるか、または他の処理装置が共用モードで使用
しているため、排他モードの使用要求を出してい
る1つの処理装置が待ち状態にあることを示して
いる。
また、システム資源4に対応して共用フラグ部
10が設けられ、共用フラグ部10には各処理装
置(CPU−A、B、C、D)毎に共用フラグが
割当てられる。この共用フラグ部10の共用フラ
グがオンであるときには、その共用フラグに対応
する処理装置が、システム資源4を共用モードで
使用していることを示す。共用フラグがすべてオ
フであれば、システム資源4を共用モードで使用
している処理装置はないことを示していることに
なる。
共用要求処理部11は資源を共用モードで使用
する処理装置に起動され、その資源の共用モード
による使用が認められる場合、すなわちその資源
が排他モードで使用されていないこと、および排
他モードの使用要求を出している他の処理装置が
存在しないことを条件として、制御を要求元の処
理装置に戻し、その資源を使用できるようにする
ものである。もし、上記の条件が満足されない場
合には条件が満されるまで待ち続けるようにされ
る。共用終了処理部12は、資源の共用モードの
使用が終了した場合に、その処理装置に起動さ
れ、後処理を行うものである。
排他要求処理部13は、資源を排他モードで使
用する処理装置によつて起動され、その資源の排
他モードによる使用が認められる場合、すなわち
その資源が排他モードでも共用モードでも使用さ
れていないことを条件として、制御を要求元の処
理装置に戻し、その資源を排他モードで使用でき
るようにするものである。もし、上記の条件が満
足されない場合には、条件が満されるまで待ち続
けるようにされる。排他終了処理部14は排他モ
ードの使用が終了した場合に、その処理装置に起
動され、後処理を行うものである。
次に第5図に従つて制御の詳細を説明する。
共用要求処理部11は、処理装置(例えば
CPU−A)によつて起動されると、まず第5図
図示処理によつて、要求されたシステム資源4
の共用フラグ部10にアクセスし、CPU−Aに
割り付けられた共用フラグをオンにする。次に処
理によつてロツクワード7が0であるかどうか
を判定する。ロツクワード7が0であれば、排他
モードで使用する他の処理装置は現時点で存在し
ていないので、要求元に制御を戻し、システム資
源4の共用モードによる使用を認める。ロツクワ
ード7が0でなければ、システム資源4は他の処
理装置によつて現在排他モードで使用されている
か、または既に排他モードの使用要求が出されて
いることになるので、処理によつて、共用フラ
グ部10の処理でオンにした共用フラグを一旦
オフに戻し、処理によつてロツクワード7が0
になるまで判定を繰り返して待つ。ロツクワード
7が0になつたならば、処理に戻り同様に処理
を繰り返す。
処理装置(CPU−A)は、システム資源4の
使用を終えたならば共用終了処理部12を呼び出
す。共用終了処理部12は、第5図図示処理に
よつて共用フラグ部10のCPU−Aに割り付け
られた共用フラグをオフにして制御を戻す。
システム資源4の内容を変更するような処理を
行う処理装置(例えばCPU−B)は、システム
資源4を独占的に確保する必要がある。そのよう
な場合には、使用前に排他要求処理部13を呼び
出すようにされる。排他要求処理部13は、まず
第5図図示処理によつてロツクワード7が0で
あるかどうかを判定する。他の処理装置が排他モ
ードで使用していれば0ではないので、例えば処
理によつて、当該処理装置(CPU−B)に対
する外部割込みを割込み可能にして、また処理
に戻りロツクワード7が0になるまで判定を繰り
返す。
処理による判定結果が0であれば、処理に
よつてロツクワード7に処理装置(CPU−B)
の識別子を格納する。なお、必ずしも識別子であ
る必要はなく、0以外の値であればよいが、識別
子を格納しておけば異常発生時の原因究明に役立
つことがあり便利である。ロークワード7の代わ
りに1ビツトの排他ロツクフラグを設け、それを
オン/オフすることによつて制御しても、勿論よ
い。処理による判定と処理の実行との間に、
例えば他の処理装置がロツクワード7にアクセス
しないようにするために、例えば処理の判定と
処理とを同時に実行する上述のCS命令または
CDS命令が用いられる。
次に処理によつて共用フラグ部10のすべて
の共用フラグがオフであるかどうか、すなわちシ
ステム資源4が共用モードで現在使用されていな
いかどうかを判定する。もし、オンの共用フラグ
があれば、処理の判定を繰り返し、共用モード
によるシステム資源4の使用が終了するまで待ち
続ける。この場合、既にロツクワード7には識別
子が格納されているので、新たな共用モードによ
る使用要求が、CPU−Bの排他モードによる使
用要求よりも優先することはない。
すべての共用フラグがオフになつたならば、要
求元に制御が戻され、独占してシステム資源4を
使用することが許される。排他モードによる使用
が終了したならば、必ず排他終了処理部14を呼
び出すようにされ、排他終了処理部14は、処理
によつてロツクワード7を0に戻す。この間
に、例えば他の処理装置がシステム資源4に対す
る共用モードまたは排他モードによる使用要求を
出し、待ち状態にあつたとしても、排他終了処理
部14から例えばENQ/DEQマクロによる制御
の場合などのように、わざわざ待ち状態にある処
理装置に通知する必要はない。ロツクワード7を
0にするだけで、他の処理装置は排他モードの使
用が直ちに検知できるからである。
(7) 発明の効果 以上説明した如く、本発明によればスピンタイ
プのロツクであつても、共用モードによる複数の
処理装置のシステム資源の同時使用が可能とな
り、ロツク獲得の待ち時間が大幅に削減される。
すなわち、従来、システム資源の内容を変更しな
いような、例えば制御ブロツクの参照といつた処
理についても必ず排他的となるようにされていた
が、本発明によれば、真に必要な場合以外には無
用の待ちにならないので処理装置の効率的な使用
が可能となる。
【図面の簡単な説明】
第1図はマルチプロセツサのシステムにおける
資源競合の説明図、第2図は従来のENQ/DEQ
マクロによる処理方式の例、第3図は従来のロツ
ク制御方式の例、第4図は本発明の一実施例構
成、第5図は本発明に係る制御の説明図を示す。 図中、4はシステム資源、7はロツクワード、
10は共用フラグ部、11は共用要求処理部、1
2は共用終了処理部、13は排他要求処理部、1
4は排他終了処理部を表わす。

Claims (1)

  1. 【特許請求の範囲】 1 マルチプロセツサシステムにおける資源の各
    プロセツサ間逐次化使用を制御するロツク制御方
    式において、 各システム資源対応に、その資源に対し、ある
    プロセツサが資源の内容を変更する排他使用要求
    を出しているか否かの排他ロツク情報が設定され
    る排他ロツク表示部7と、 各システム資源対応に、その資源に対し、各プ
    ロセツサが資源の内容を変更しない共用使用要求
    を出しているか否かの共用情報が設定される共用
    表示部10と、 あるシステム資源に対する共用使用要求に対
    し、上記排他ロツク表示部が排他ロツク中でない
    ことを示すとき、当該要求を出したプロセツサに
    該当する上記共用表示部に共用情報を設定して、
    その資源の共用使用を許可し、上記排他ロツク表
    示部が排他ロツク中であることを示すとき、該排
    他ロツクの解除を待つた後、上記共用表示部に共
    用情報を設定して、その資源の共用使用を許可す
    る共用要求処理部11と、 資源の共用使用の終了時に、当該使用したプロ
    セツサに該当する上記共用表示部における共用情
    報を解除する共用終了処理部12と、 あるシステム資源に対する排他使用要求に対
    し、上記排他ロツク表示部が排他ロツク中でない
    ことを示すとき、該排他ロツク表示部に排他ロツ
    ク情報を設定し、上記排他ロツク表示部が排他ロ
    ツク中であることを示すとき、その排他ロツクの
    解除を待つた後、該排他ロツク表示部に排他ロツ
    ク情報を設定し、上記共用表示部に、共用情報が
    設定されていないことを条件として、その資源の
    排他使用を許可する排他要求処理部13と、 資源の排他使用の終了時に、上記排他ロツク表
    示部における排他ロツク情報を解除する排他終了
    処理部14とを備えたことを特徴とする共用ロツ
    ク制御方式。
JP5212682A 1982-03-30 1982-03-30 共用ロツク制御方式 Granted JPS58169659A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5212682A JPS58169659A (ja) 1982-03-30 1982-03-30 共用ロツク制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5212682A JPS58169659A (ja) 1982-03-30 1982-03-30 共用ロツク制御方式

Publications (2)

Publication Number Publication Date
JPS58169659A JPS58169659A (ja) 1983-10-06
JPS6321941B2 true JPS6321941B2 (ja) 1988-05-10

Family

ID=12906178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5212682A Granted JPS58169659A (ja) 1982-03-30 1982-03-30 共用ロツク制御方式

Country Status (1)

Country Link
JP (1) JPS58169659A (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4604694A (en) * 1983-12-14 1986-08-05 International Business Machines Corporation Shared and exclusive access control
US4809168A (en) * 1986-10-17 1989-02-28 International Business Machines Corporation Passive serialization in a multitasking environment
US5311461A (en) * 1988-12-30 1994-05-10 International Business Machines Corp. Programmable priority and selective blocking in a compute system
JPH0831042B2 (ja) * 1990-02-13 1996-03-27 インターナショナル・ビジネス・マシーンズ・コーポレイション 周辺装置マネジャ、マルチタスクデータ処理システムおよびインターフェース方法
JPH0782445B2 (ja) * 1990-02-13 1995-09-06 インターナショナル・ビジネス・マシーンズ・コーポレイション インターフェース・システムおよび方法
JP4250779B2 (ja) 1998-01-12 2009-04-08 パナソニック株式会社 密閉型電池
JP3737638B2 (ja) 1998-08-31 2006-01-18 インターナショナル・ビジネス・マシーンズ・コーポレーション オブジェクトのロック管理方法及び装置、並びにオブジェクトのロック解除方法及び装置
US7428619B2 (en) 2005-01-18 2008-09-23 Sony Computer Entertainment Inc. Methods and apparatus for providing synchronization of shared data

Also Published As

Publication number Publication date
JPS58169659A (ja) 1983-10-06

Similar Documents

Publication Publication Date Title
CN105579961B (zh) 数据处理系统及操作方法、用于数据处理系统的硬件单元
US5455958A (en) Rendering context manager for display adapters
Craig Queuing spin lock algorithms to support timing predictability
JPH04308961A (ja) 占有されたプロセスの同期ロックの状態を通知するための手段及び装置
US6792497B1 (en) System and method for hardware assisted spinlock
US20110126208A1 (en) Processing Architecture Having Passive Threads and Active Semaphores
US5291608A (en) Display adapter event handler with rendering context manager
US5367680A (en) Rendering context manager for display adapters supporting multiple domains
JPS5812611B2 (ja) デ−タテンソウセイギヨホウシキ
JPH05197671A (ja) マスター・スレーブ通信方法
JPS6321941B2 (ja)
JP5213485B2 (ja) マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム
JPH0468461A (ja) 資源管理方式
Takada et al. A novel approach to multiprogrammed multiprocessor synchronization for real-time kernels
JP2804478B2 (ja) タスク制御方式及びオンライン・トランザクション・システム
JPH06348661A (ja) マルチプロセッサ間排他制御方式
JP2507071B2 (ja) バスロック制御方式
JPH09223032A (ja) 資源ロック制御機構
JP2010026575A (ja) スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム
JP3422504B2 (ja) タスク間排他制御方法
JP2823663B2 (ja) マルチプロセッサシステム
EP0442714A2 (en) Interrupt handling in a data processing system
JPS6125249A (ja) 排他制御方式
EP0442729A2 (en) Multitasking data processing system
JP2856761B2 (ja) 資源ロック管理装置