JPH0492930A - 排他制御処理装置 - Google Patents

排他制御処理装置

Info

Publication number
JPH0492930A
JPH0492930A JP20876290A JP20876290A JPH0492930A JP H0492930 A JPH0492930 A JP H0492930A JP 20876290 A JP20876290 A JP 20876290A JP 20876290 A JP20876290 A JP 20876290A JP H0492930 A JPH0492930 A JP H0492930A
Authority
JP
Japan
Prior art keywords
request
exclusive control
indicator word
word
queue
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
JP20876290A
Other languages
English (en)
Inventor
Kazuo Watanabe
一生 渡辺
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 JP20876290A priority Critical patent/JPH0492930A/ja
Publication of JPH0492930A publication Critical patent/JPH0492930A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概 要〕 計算機で実行されるタスクで共有される資源のための、
排他制御の処理に関し、 複数の資源の同時占有を要する場合の排他制御を、特に
効率よく行う排他制御処理装置を目的とし、 使用表示語と、要求表示語と、排他制御キューと、処理
部とを有し、該使用表示語は、所定の各共有資源に対応
するビットを有するビット列であって、各該ビットは初
期値をオフの値とし、要求元は、所定の割当要求を該処
理部に発行して、所要の該共有資源を指定し、該処理部
は、該割当要求を受けた場合に、該ビット列の該指定の
共有資源に対応するビットのみをオンの値にした要求ビ
ット列と、該使用表示語との論理積を該要求表示語とし
て生成した後、該使用表示語を、該要求ビット列と該使
用表示語との論理和に更新し、該要求表示語にオンのビ
ットがある場合には、該要求表示語を含む所定の資源管
理テーブルを該排他制御キューに接続し、該処理部は、
所定の解除要求を受けた場合に、該使用表示語の該解除
要求に指定された該共有資源に対応するビットをオフに
し、該排他制御キューにつながる各該資源管理テーブル
について、該要求表示語と、該使用表示語を更新する所
定の論理演算を実行し、該処理部は、該要求表示語の全
ビットがオフになった場合に、当該割当要求の実行完了
を該要求元に通知し、該割当要求が該排他制御キューに
つながれている場合には当該資源管理テーブルを該排他
制御キューから除くように構成する。
〔産業上の利用分野〕
本発明は、計算機で実行されるタスクで共有される資源
のための排他制御の処理、特に複数の資源の同時占有を
要する場合の排他制御の処理効率を考慮した排他制御処
理装置に関する。
〔従来の技術〕
計算機で実行される複数のタスクによって共有される計
算機資源、いわゆる共有資源について、同期間に複数の
タスクが同じ資源にアクセスすると、タスク間の処理の
干渉により、矛盾した処理結果を生じる可能性がある。
そこで、そのような処理の干渉を避けるために、必要な
共有資源を特定のタスクに所要の期間占有させ、その間
は他のタスクが同じ共有資源にアクセスしないように制
御することが必要であり、共有資源の排他制御としてよ
(知られている。
通常の排他制御処理装置では、公知のように必要な各共
有資源ごとにキューを設け、共有資源の割当要求元のタ
スクが要求を発行すると、要求の共有資源に対応するキ
ューに、例えばその要求(の制御ブロック)を先着順に
つなぎ、例えば各キューの先頭の要求のみに当該共有資
源を占有させるように制御する。
即ち、キューの先頭にある要求元のタスクに所定の通知
を送って、その資源を独占的にアクセス可能にし、問責
源を要求する後続の要求元タスクは例えば待ち状態で停
止させておく、資源を占有したタスクがその資源の割当
解除を要求すると、該当のキューからその要求を外し、
後続の要求がキューの先頭になって当資源を占有できる
〔発明が解決しようとする課題〕
前記のような排他制御の処理方式では、資源の割当要求
を各資源ごとに発行し、排他制御の処理装置も各資源ご
とに個別に管理を行う。
しかし資源の使用態様には、このように個別に資源を使
用する場合の他に、占有を要する資源が複数あって、そ
れらをすべて同時に占有して初めて処理を進め得る場合
もしばしばあり、その場合に前記の方式ではそれら必要
な資源を順次獲得するためにシステムの処理効率を低下
させ、特にいわゆるリアルタイム制御を行うシステム等
では、そのような資源獲得のためのオーバヘッドが問題
になる。
本発明は、複数の資源の同時占有を要する場合の排他制
御を、特に効率よく行う排他制御処理装置を目的とする
〔課題を解決するための手段〕
第1図は、本発明の構成を示すブロック図である。
図は排他制御処理装置の構成であって、使用表示語1と
、要求表示語2と、排他制御キュー3と、処理部4とを
有し、使用表示語1は、所定の各共有資源に対応するビ
ットを有するビット列であって、各該ビットは初期値を
オフの値とし、要求元5は、所定の割当要求を処理部4
に発行して、所要の該共有資源を指定し、処理部4は、
該割当要求を受けた場合に、該ビット列の該指定の共有
資源に対応するビットのみをオンの値にした要求ビット
列6と、使用表示語1との論理積を要求表示語2として
生成した後、使用表示語1を、要求ビット列6と使用表
示語1との論理和に更新し、要求表示語2にオンのビッ
トがある場合には、要求表示語2を含む所定の資源管理
テーブル7を該排他制御キュー3に接続し、処理部4は
、所定の解除要求を受けた場合に、使用表示語1の該解
除要求に指定された該共有資源に対応するビットをオフ
にし、排他制御キュー3につながる各資源管理テーブル
7について、該要求表示語2と、該使用表示語1を更新
する所定の論理演算を実行し、処理部4は、要求表示語
2の全ビットがオフになった場合に、当該割当要求の実
行完了を要求元5に通知し、該割当要求が排他制御キュ
ー3につながれている場合には当該資源管理テーブル7
を排他制御キュー3から除く。
〔作 用〕
本発明の排他制御処理装置により、共有資源の管理が各
共有資源に対応したビットからなるビット列で構成する
制御語を用いて、制御語間の論理演算によって行われる
ようになり、制御語内のビットに対応する全共有資源の
管理を並行に処理できる。従って、共有資源の割当を要
求する要求元は、−回の要求で同時に必要な資源を一括
して要求することができ、その要求に対して処理装置は
、要求する資源の個数に関わらず同一の処理により、−
括して管理処理を行うことができる。
これにより、排他制御が迅速に処理できると共に、要求
ごとに必要な資源を一括して並行に処理するので、要求
の一部の資源を互いに待ち合わせるような、いわゆるデ
ッドロックの発生を、単に常に要求の先着順処理を行う
のみで容易に防ぐことができる。
[実施例] 第2図は本発明の実施例構成を示すブロック図である0
本例では要求元5となる各タスクは、割当要求及び解除
要求における共有資源の指定を、使用表示語lと同じ構
成のビット列の所要ビットをオンにして指定するものと
する。又本例では他の管理の目的で、排他制御キュー3
につなぐ資源管理テーブル7には、要求表示語2の他に
割当表示語8を設ける。
なお、以下においては説明のために、共有資源は、例え
ば共通メモリ、共通ファイル及びデイスプレィ等の3個
の資源R1、R2、R3があり、使用表示語等のビット
列の各ビットに左から順に対応しているものとする。
図において、使用表示語1(以下にSEMA$FLGと
する)は初め3ビツトがすべてオフ値の0”に初期設定
され、排他制御キュー3のポインタは接続している資源
管理テーブルが無いことを示す値として0°にしておく
 (第3図(a)参照)。
この状態で、要求元5の一つであるタスクT1が資源R
2、R3を要求するために、要求ビット列(以下にFL
GIとする)をroll Jにして処理部4に要求する
と、処理部4はそのFLGIとSEMA$FLGとの論
理積を求め、これをタスクTIのための資源管理テーブ
ルの要求表示語2 (以下にREQ$FLGとする)の
値とし、FLGIとSEMA$PLGとの論理和をとっ
て、その値をSEMA$FLGの新しい値とする。
又、FLGIとREQ$FLGとの排他的論理和をとり
、これを資源管理テーブル内の割当表示語(以下にUS
E$FLGとする)の値にする。
以上により各制御語の値は第3図(b)に示すようにな
り、処理部4はREQ$FLG= Oであるので、要求
元のタスクT1に要求の資源が割当られたことを通知す
る。
次にタスクT2が、資源R1とR2を要求するために、
FLGI−110として要求を発行すると、処理部4は
りスフT2の資源管理テーブルを作り、前記のように論
理演算を行って、第3図(CJの結果を得、この場合は
REQ$FLG≠0、即ちREQ$FLGにオンの値の
ビットがある状態なので、この資源管理テーブルを排他
制御キュー3につなぎ、要求元は通知待ちの状態にされ
る。
更にタスクT3が、資源R1とR3を要求するために、
FLG1=101として要求を発行すると、処理部4は
タスクT3の資源管理テーブルを作り、前記のように論
理演算を行って、第3図(ハ)の結果を得る。この場合
もRBQ$FLG≠0なので、この資源管理テーブルを
排他制御キュー3のチエインの末尾につなぎ、要求元は
通知待ちになる。
この状態で、例えばタスクTIが使用していた資源R2
、R3を返すために、解除要求の要求ビット列(以下に
FLG2とする)をroll Jとして処理を要求する
と、処理部4はSEMA$FLGとFLG2との排他的
論理和をとって、その値をSEMA$FLGの値とする
ことにより、SEMASFLG上の割当を解除する資源
に対応するビットをオフにする。
又T1の資源管理テーブルのUSE$FLGとFLG2
との排他的論理和をとってその値を新しいUSE$FL
Gとし、その結果USE$FLG= 0になった場合は
、その要求元に割り当てている資源が無くなったことを
示すので、その資源管理テーブルを消去して、例えば第
3図(e)の状態になる。
次に排他制御キュー3のチエインを先頭から順次検索し
て、先頭の資源管理テーブルから順に処理して、先ずR
EQ$FLGの内容をFLG3として、FLG3とSE
MA$FLGとの論理積を新たなREQ$FLGとし、
FLG3とSR月A$FLGとの論理和を新たなSEM
A$FLGとし、又FLG3と新たなRHQ$FLGと
の排他的論理和をUSE$FLGに論理和をとって新た
なUSE$FLGとする。
処理部4はT2の資源管理テーブルについて、以上の処
理の結果REQ$FLG= Oとなるので、この資源管
理テーブルを排他制御キューから除き、要求元のタスク
T2に要求の資源が割当られたことを通知する。 T3
の資源管理テーブルについては、同様の論理演算処理の
結果、資源R3は割り当てられるが、資源R1の割当待
ちがあるのでキューに接続されたままとなる(第3図げ
))。
第4図は処理部4の資源割当処理の流れの一例を示す図
であり、処理ステップ10でFLGIを受は取ると、処
理ステップ11で、その要求元のための資源管理テーブ
ルを生成する。
処理ステップ12テFLG1とSEMA$FLG (7
)論理積(図に記号△で示す)をとってREQ$FLG
とし、処理ステップ13テSEMAIF[、GをFLG
IとSEMA$FLG cv h理和(図に記号Vで示
す)にする、処理ステップ14でFLGIとREQ$F
LGの排他的論理和(図に@で示す)をUSE$FLG
にする。
以上の論理演算の結果について、処理ステップ15でR
EQ$FLGが0か識別し、0なら処理ステップ16で
要求元に資源割当済であることを示す所定の通知を返し
、0でなければ処理ステップ17で、要求元の資源管理
テーブル7を排他制御キュー3のチエインの末尾につな
いで処理を終わる。
第5図は処理部4の割当解除処理の流れの一例を示す図
であり、処理ステップ20でFLG2を受は取ると、処
理ステップ21テPLG2とSEMA$FLGとの排他
的論理和をSEMA$FLGとする。
次に要求元の資源管理テーブルについて、FLG2とU
SE$FLGの排他的論理和を新しいUSE$FLGと
し、処理ステップ23でUSE$FLGがOになったか
識別して、0であれば全資源の割当解除を終わっている
ので、処理ステップ24でその資源管理テーブルを消去
して、解除要求の実行は終わる。
次に、返された資源を割り当てるために、処理ステップ
25で排他制御キュー3を見て、ポインタがOになって
いれば待ちが無いので処理をおわり、ポインタが非0な
ら、キューにつながる資源管理テーブルを先頭から先着
順に以下のように処理する。
1つの資源管理テーブルを取り出すと、処理ステップ2
6でそのREQ$FLGの内容をFLG3とし、処理ス
テップ27でFLG3とSEMA$FLGとの論理積を
新たなREQ$FLG とし、処理ステップ28でFL
G3とSEMA$FLGの論理和を新たなSEMA$F
LGとし、処理ステップ29でFLG3とREQ$FL
Gとの排他的論理和に、USE$FLGを論理和して、
新たなUSE$FLGとする。
次に処理ステップ30でREQ$FLGが0か識別し、
0になった場合は処理ステップ31でその資源管理テー
ブルを排他制御キューのチエインから除き、処理ステッ
プ32で要求元に資源割当済を通知する。
又、REQ$PLGが非0ならキューに接続のままとす
る。
処理ステップ33で排他制御キューの終わりを識別して
、排他制御キューにつながる各資源管理テーブルについ
て以上の処理を繰り返す。
〔発明の効果〕
以上の説明から明らかなように本発明によれば、計算機
で実行されるタスクで共有される資源のための、排他制
御処理装置において、複数の資源の同時占有を要する場
合の排他制御を、特に効率よく行うことができるので、
システムの処理効率を改善するという著しい工業的効果
がある。
第2図は本発明の実施例を示すブロック図、第3図は各
種制御情報の状態を説明する図、第4図は資源割当処理
の流れ図、 第5図は割当解除処理の流れ図 である。
図において、 1は使用表示語、   2は要求表示語、3は排他制御
キュー  4は処理部、 5は要求元、      6は要求ビット列、7は資源
管理テーブル、8は割当表示語、10〜17.20〜3
3は処理ステップ
【図面の簡単な説明】
第1図は本発明の構成を示すブロック図、本発明の構成
を示すブロック図 第1図 本発明の実施例を示すブロック図 第2図 (a)(支)四M=01 「司不回 各種制御情報の状態を説明する図 資源割当処理の流れ図

Claims (1)

  1. 【特許請求の範囲】 使用表示語(1)と、要求表示語(2)と、排他制御キ
    ュー(3)と、処理部(4)とを有し、該使用表示語(
    1)は、所定の各共有資源に対応するビットを有するビ
    ット列であって、各該ビットは初期値をオフの値とし、 要求元(5)は、所定の割当要求を該処理部(4)に発
    行して、所要の該共有資源を指定し、 該処理部(4)は、該割当要求を受けた場合に、該ビッ
    ト列の該指定の共有資源に対応するビットのみをオンの
    値にした要求ビット列(6)と、該使用表示語(1)と
    の論理積を該要求表示語(2)として生成した後、 該使用表示語(1)を、該要求ビット列(6)と該使用
    表示語(1)との論理和に更新し、 該要求表示語(2)にオンのビットがある場合には、該
    要求表示語を含む所定の資源管理テーブル(7)を該排
    他制御キュー(3)に接続し、該処理部(4)は、所定
    の解除要求を受けた場合に、該使用表示語(1)の該解
    除要求に指定された該共有資源に対応するビットをオフ
    にし、 該排他制御キュー(3)につながる各該資源管理テーブ
    ル(7)について、該要求表示語(2)と、該使用表示
    語(1)を更新する所定の論理演算を実行し、 該処理部(4)は、該要求表示語(2)の全ビットがオ
    フになった場合に、当該割当要求の実行完了を該要求元
    (5)に通知し、該割当要求が該排他制御キュー(3)
    につながれている場合には当該資源管理テーブル(7)
    を該排他制御キューから除くように構成されていること
    を特徴とする排他制御処理装置。
JP20876290A 1990-08-06 1990-08-06 排他制御処理装置 Pending JPH0492930A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20876290A JPH0492930A (ja) 1990-08-06 1990-08-06 排他制御処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20876290A JPH0492930A (ja) 1990-08-06 1990-08-06 排他制御処理装置

Publications (1)

Publication Number Publication Date
JPH0492930A true JPH0492930A (ja) 1992-03-25

Family

ID=16561670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20876290A Pending JPH0492930A (ja) 1990-08-06 1990-08-06 排他制御処理装置

Country Status (1)

Country Link
JP (1) JPH0492930A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6955012B2 (en) 1999-12-15 2005-10-18 Kabushiki Kaisha Muzukuwa Roof and roof board material
JP2006018806A (ja) * 2004-07-02 2006-01-19 Seagate Technology Llc コンピュータ・ベース・システムにおける資源割当て方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6955012B2 (en) 1999-12-15 2005-10-18 Kabushiki Kaisha Muzukuwa Roof and roof board material
JP2006018806A (ja) * 2004-07-02 2006-01-19 Seagate Technology Llc コンピュータ・ベース・システムにおける資源割当て方法
US7917906B2 (en) 2004-07-02 2011-03-29 Seagate Technology Llc Resource allocation in a computer-based system
JP2011165223A (ja) * 2004-07-02 2011-08-25 Seagate Technology Llc コンピュータ・ベース・システムにおける資源割当て方法
JP2014063536A (ja) * 2004-07-02 2014-04-10 Seagate Technology Llc コンピュータ・ベース・システムにおける資源割当て方法

Similar Documents

Publication Publication Date Title
US5784698A (en) Dynamic memory allocation that enalbes efficient use of buffer pool memory segments
JP3882930B2 (ja) 共用リソースを使用するための仮想計算機の管理
JP4410795B2 (ja) 共有リソースの同時アクセス
TWI239450B (en) Apparatus, computer readable recording medium, and method for yielding to a processor within a logically partitioned data processing system
US6341338B1 (en) Protocol for coordinating the distribution of shared memory
KR20010087404A (ko) 비정형 메모리 억세스 데이타 처리 시스템용 인터럽트아키텍쳐
JPH0628053B2 (ja) マルチプロセッサシステムの資源の割当制御方法
JP2005108214A (ja) プラグ可能スケジューラのフレームワーク
JPH0492930A (ja) 排他制御処理装置
US5918243A (en) Computer mechanism for reducing DASD arm contention during parallel processing
JPH08292932A (ja) マルチプロセッサシステムおよびマルチプロセッサシステムにおいてタスクを実行する方法
JPH05120041A (ja) 資源割り当て管理方式
JPH04219836A (ja) ブロック管理方式
US20080209427A1 (en) Hardware Register Access Via Task Tag Id
JP2001142723A (ja) 資源配分方法、計算機システム及び記録媒体
JPH11249917A (ja) 並列型計算機及びそのバッチ処理方法及び記録媒体
US20240362215A1 (en) Short query prioritization for data processing service
JP2004086921A (ja) マルチプロセッサシステムおよびマルチプロセッサシステムにおいてタスクを実行する方法
JPH0877029A (ja) 負荷率に基づいた処理要求実行順序制御方式
KR940002148B1 (ko) 전전자 교환시스팀의 작업 동기 방법
JPH02159647A (ja) Cpuによるバッファ管理制御方法
JPH09265405A (ja) 共有資源の排他アクセス方法
JPH0324643A (ja) データベースのページ割当て方式
JPH0342740A (ja) ファイルの媒体割付け方法
JPH0528120A (ja) マルチプロセツサ処理方式