JPS60128537A - 多重プログラミング・システム - Google Patents

多重プログラミング・システム

Info

Publication number
JPS60128537A
JPS60128537A JP59149850A JP14985084A JPS60128537A JP S60128537 A JPS60128537 A JP S60128537A JP 59149850 A JP59149850 A JP 59149850A JP 14985084 A JP14985084 A JP 14985084A JP S60128537 A JPS60128537 A JP S60128537A
Authority
JP
Japan
Prior art keywords
queue
task
resource
access
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.)
Granted
Application number
JP59149850A
Other languages
English (en)
Other versions
JPH0533410B2 (ja
Inventor
ロジヤー・エルドレツド・ハフ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS60128537A publication Critical patent/JPS60128537A/ja
Publication of JPH0533410B2 publication Critical patent/JPH0533410B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、一般に多重タスク・コンピュータ環境におい
て制御を確立し待行列(キューイング)するためのロッ
クワードの使用に係り、特に、スピン・ロッキングを避
けるタスク・ロッキングに係る。
[従来技術] 単一のプロセッサが常に単一のタスクを実行するコンピ
ュータ・システムでは、コンピュータ資源の制御にかか
わる問題は存在しない。関連する資源の種類には、大容
量記憶装置、テープ装置、印刷装置1通信チャンネルま
たは他の種類の資源がある。資源をアクセスするタスク
が1つしか存在しない場合、このタスクは要求資源がそ
の活動を完了するまでは、資源ならびに中央演算処理装
置の全てにわたって制御を維持する。
しかしながら、多重タスク・システム及びマルチプロセ
ッサ・システムが普及し、同時実行中のタスクの間でと
もかく資源を共用して複数のタスクの同時またはインタ
リーブ実行ができるようになった。印刷装置またはテー
プ装置のようなある資源は、少なくともある期間中は要
求タスクがその資源に対し排他的アクセスを必要とする
動作を行なう。共通記憶領域の一部分のような他の資源
は、種々のタスク間で共用することができる。資源アク
セスの制御を解決するために、資源アクセスを要求した
が直ちにアクセスが許可されない全タスクのキュー(q
ueue)即ち待ち行列がセットアツプされる。キュー
はそのキューにあるタスクが資源の共用アクセスまたは
排他的アクセスのどちらを要求しているか、そして資源
は現在、共用アクセスまたは排他的アクセスのどちらで
使用されているかについての情報を含んでいなければな
らない。
このようにタスクが資源アクセスを要求したが、直ちに
アクセスすることを拒否されたとき、オペレーティング
・システムは、要求タスクをキューに挿入し、キューを
再配列する。しかしながら、多重タスク環境では、2つ
またはそれ以上のタスクがほとんど同時に1つの特定の
資源へのアクセスを要求する可能性があり、そしてそれ
らタスクが並行してそのキューの再配列にとりかかる可
能性がある。この再配列は主としてキューの直列化にか
かわる、すなわちキューにおける順番を示すリストをセ
ットアツプする。この再配列を2つの異なったタスクが
同時に実行しようとする場合、それら要求タスクの1つ
はキューに挿入されないことがあり、もつと悪い場合に
は、そのキューの全体の構成が破壊されることがある。
これらの問題を避けるために、資源ごとにロックワード
が確立される。もし、その資源のキューが現在再配列中
であるなら、ロックワードはその事実を表示し、オペレ
ーティング・システムは次のタスクがキューを操作でき
ないようにする。しかしながら、もし、キューが操作中
ではないことをロックワードが表示すれば、要求タスク
は、先ず、ロックワードを変更して、その資源について
のキュー操作権を主張し、その要求によりキューの再配
列に着手する。
キュー操作が終了すると、ロックワードは、キュー操作
が現在行なわれていないことを表示するステータスにリ
セットされる。
2つのタスクが並行してキューを再配列する可能性を完
全になくするには、ロックワードの最初の検査をいつで
も単一のタスクしかこの動作を実行できないようロック
ワードの初期テスト及びセットを行なわなければならな
い。
多重タスク環境用に設計されたIBMシステム/370
には“テスト・アンド・セットII命令(TS命令)が
ある。この命令は、メモリから1つのワードを取出し、
特定ビットについて検査し、1つの修正されたワードを
メモリに戻すことができる命令であり、その動作の間、
全ての他のタスクまたはプロセッサはメモリ中のその特
定のワードをアクセスすることが禁止される。記憶の取
出しとその再記憶はアトム単位(atom unitま
たはatow reference)を構成する。アト
ム単位はいったん開始すると、マルチプロセッサにおけ
る他のCPUによって割込まれたり、またはインタリー
ブされることのない動作単位である。従って、TS命令
はロックワードを検査し、所有権確保のためにロックワ
ードをセットする。下記の第1表に示された1組の命令
では、LOCKWORDバイトの中の1ビツトが、ロッ
クワードの使用可能性を表わす0であるかどうかを検査
される。もし、該ビットがOなら、LOCKWORDは
、直ちにそのビットを1”にセットされ再書込みされる
この結果は保持され、条件付分岐BCにより次のステッ
プで使われる。もし、該ピッ1〜がOではなかった、す
なわちロックワードが別のタスクまたはプロセッサに占
有されていたなら、ブランチ動作が行なわれTS命令の
再試行(retry)に戻る。
ロックワードが使用可能となりそしてその所有権が確立
されると、1組の命令が実行され、キューはその要求タ
スクまたはプロセッサによって操作される。この操作が
行なわれている間、そのタスクがロックワードを所有し
ているから、他のタスクはキューを操作することができ
ない。操作が完了すると、最後の命令はロックワードを
再書込みし、ロックワードが再び使用可能であることを
表示する。LC)、GKWORDはOにセットされ、他
の要求タスクまたはプロセッサが再びキューを使用でき
ることを表わす。
1表(スピン・ロック) retry TS LOCKWORD B CCCI 、 retry alter queue MVI LOCKWORD、0 第1表の一連の動作はスピン・ロッキングと呼ばれる。
その理由は、タスクがロックワードの所有権を得ること
ができない場合、そのタスクは(ロックワードを)使用
中のタスクが最後に制御を手放すまでスピンする、すな
わちロックワードの所有権を得ようとし続けるからであ
る。このようなスピンは無駄であり、状況によっては、
多重タスク・コンピュータのスループットを著しく低下
させることがある。特に深刻な影響が生じるのは、ロッ
クワードを所有しているプロセッサがロックワードを手
放す前に障害が生じたためにスピン・ロック状態になり
、それが無限にスピンし続ける場合である。
TS命令によって実現されるタスク・ロッキングに関連
する階層が第2A図に示されている。TS命令はあまり
にも原始的であるので、CPUに障害が生じたときロッ
クワードを所有しているタスクまたはプロセッサを直接
識別したり、または1つの資源に対し2以上の所有者を
与えることはできない。従って、TS命令は、単一の要
素がら成る小さなキューの操作を制御するのに用いられ
、一方、その要素は他のキューの操作及び検査を制御す
る。これらの要素は、CPUに障害が生じた 。
ときキューを所有しているタスクまたはプロセッサを識
別することを可能にし、複数のタスクが同時に1つのキ
ューの所有権を得る能力を与える。
これはキューを変更することなくそれを検査するタスク
にとっては有用なものかもしれない。
改善されたスピン・ロックとしては、要求された使用可
能性が得られるまでタスク(プロセッサではない)を中
断させるようにキューの操作を制御するのに使われるも
のがある。他者との所有権の共有を許すような要求は“
共用”要求と呼ばれる。他者に所有権の共有を許さない
要求は″専用″要求と呼ばれる。プロセッサを中断せず
にタスクを中断させる要求は″タスク・ロック″と呼ば
れる。
第ルベルのタスク・ロックはオペレーティング・システ
ムがその動作の続行に関して依存する資源及びキューに
対して制御を行なうものである。
このタスク・ロックは監視プログラムにだけ使用可能で
あるので、″タスク・ロック監視プログラム″と呼ばれ
る。
タスク・ロック監視プログラムの1つは、オペレーティ
ング・システムの動作続行に無関係である資源及びキュ
ーに対して制御を与えるキューの操作を制御するのに用
いられる。これらのタスク・ロックは、どのプログラム
にも使用可能であるので、゛タスク・ロック・アプリケ
ーション″と呼ばれる。
階層の重要性は、タスク・ロック・アプリケーションが
4レベルの動作を必要とする点にある。
レベルが複数になると、オペレーティング・システムは
複雑で低速になる。
前記システム/370シリーズのプロセッサの重要な能
力は、′コンベア・アンド・スワップ″(CS)命令及
び″コンベア・ダブル・アンド・スワップ”(CDS)
命令と呼ばれる2つの命令によって可能になった。これ
らの2つの命令の異なる点は、O8命令が1ワード長で
動作するのに対し、CDS命令は2ワード長で動作する
という点だけである。lワード命令は4バイト(32ビ
ツト)長であり、2ワード命令はその倍の長さである。
後述の実施例では2ワード命令が用いられるので、ここ
では、CDS命令についてだけ説明する。
CDS命令は、CDS (OLD、NEW、LOCK)
の形式の3つのオペランドで動作する。この場合、OL
D、NEW及びLOCKはそれぞれ2ワード長である。
CDS命令の動作を第3図に示す。もし、LOCKとO
LDの値が一致するなら、LOCKにNEWの値が代入
される。しかし、もし、LOCKとOLDの値が一致し
なければ、OLDにLOCKの値が代入される。LOC
Kは不変である。状態コードCCは、LOCK=OLD
についての検査結果に応じてセットされる。この状態コ
ードは、検査の結果によって動作の流れを分岐するのに
使うことができる。
CDS命令とTS命令はアトム単位であるという属性を
持っている。すなわち、それは単一の動作で、メモリか
らの取出しとメモリへの再記憶を行ない、従って他のプ
ロセッサが割込むことはできない。第3図は5ステツプ
の動作を示しているが、CDS命令は、あたかも単一動
作であるかのように実行される。CDS命令とTS命令
は類似のアトム特性があるので、スピン専用監視プログ
ラムにおいて、TS命令の代りにCDS命令を用いるこ
とができる。事実、ほかの場合にも、スピン共用監視プ
ログラム及びタスク専用監視プログラムの両者にCDS
命令を使用する手段が知られている。CDS命令の可能
な用途が第2B図の階層に示されている。それによれば
専用タスクの場合、タスク・ロッキング・アプリケーシ
ョンには3つの動作レベルしか必要としない。今日まで
、共用アクセス・タスク・ロッキングは、制御に対する
アクセスを制御するのにスピンまたは専用タスク・ロッ
クの監視プログラムの使用を必要としており、一方それ
ら制御は共用アクセスを与え、その共用アクセスと、同
じキューまたは資源の専用アクセス要求とを調整するの
に用いられる。
タスクの中断及び再開はそれ自身では中断できず、タス
クとして再開することはできな塾1から、そのキューを
制御するロックは必然的にスピン・ロックでなければな
らない。もし、このスピン・ロックが、共用アクセスを
与えるのに用し)た制御へのアクセスを制御するのに用
いたのと同じロックでないなら、資源の使用可能性また
はそれの再現がないためにタスクを中断または再開しな
ければならないときに、もう1つのレベルのロッキング
を導入することができる。これらの3つのレベルは、T
S命令に必要な4つのレベルよりもすぐれている。しか
し、これらの3つのレベルは、依然として共用タスクに
よるシステムの複雑さを持っており、更に、システムを
不必要に複雑にしたり、その動作速度を低下させる原因
になる。
[発明が解決しようとする問題点] 本発明の目的は、命令セットとアプリケーション・タス
ク・ロッキングとの間に、最小限の動作レベルしか持た
ないタスク・ロッキングを提供することである。
本発明の他の目的は、他のロックの使用をできるだけ避
けた共用及び専用のタスク・ロッキングを提供すること
である。
[問題点を解決するための手段] 本発明はマルチプロセッサ・システムにおいて1つの資
源に対する共用アクセス及び専用アクセスの両方を制御
するためのものであり、アクセスを待っている間中断さ
れるタスクに対して先入り/先出しくF I FO)キ
ューが設けられる。そのキューにおける各メンバー即ち
制御ブロックはそのメンバーが要求したアクセスの標識
とそのメンバーのすぐ前にキューに入ったメンバーの標
識を有する。資源が共用状態にあるか専用状態にあるか
を表わすロック・フラッグと最も新しくキューに入った
タスクに対するロック・ポインタとを有するロックワー
ドが設定される。アクセスを要求又は解除する際に、そ
のロックワードに関する初期推定が行なわれ、その推定
に基いて1つの予測ロックワードが計算される。そこで
、他のプロセッサがそのロックワードへアクセスし得な
いアトム単位の動作がそのロックワードに対して行なわ
れる。その動作において、そのロックワードは予測ロッ
クワードと比較され、そしてその推定が正しかった場合
そのロックワードが予測ロックワードで置換され、アク
セスを要求又は解除するタスクに対してキューを再構成
する。その推定が正しくなかった場合、他の予測ロック
ワードを計算するためにそのロックワードが使用される
。次のタスクがアクセスを得るのに他のタスクの影響を
受ける場合、アトム単位の動作によるそのプロセスはア
トム単位動作相互間の介在する変化が生じなくなるまで
繰返される。
[実施例] 本発明によるタスク・ロッキングのアーキテクチャを第
1図のブロック図によって説明する。もし、1つまたは
それ以上のタスクが資源アクセスを要求したが、要求を
受入れられなければ、その要求はキューに挿入される。
資源上で現在実行中のタスクがその資源に対し専用アク
セスを必要とするタスクであったり、または既に資源が
専有または共有されているときにその要求中のタスク自
身が専用アクセスを必要とすることがあるから、最初に
キューに入れられた要求は資源アクセスを拒絶されるこ
とがある。もし、資源が現在使゛用中でないなら、要求
は直ちに受入れられ、キューは生成されない。キューが
なく且つ1つまたはそれ以上のタスクが、現在、資源に
対する共用アクセスを得ている場合、共用アクセスの追
加要求は直ちに受入れられ、従ってキューを生成する理
由がない。本発明においてキューはFIFOキューのア
ーキテクチャを有する。すなわち、最も先に出された資
源アクセス要求が受入れられた後、その後に出された要
求が受入れられる。これは先に出された要求が専用アク
セス要求であるなら、たとえ資源が現在、共用アクセス
で使用中であっても、後に出された共用アクセス要求は
拒絶されてキューに入れられることを意味する。資源が
現在、共用アクセスで使用中であれば、キューの先頭、
すなわち、最も先にキューに挿入されるタスクは、必然
的に専用アクセス要求であろう。共用アクセス要求が先
に出された場合、それは受入れられてしまうので、その
関連するタスクはキューには存在しないはずである。し
かしながら、キューに入っている専用要求よりも先順位
ではない共用アクセス要求はキューの中に存在すること
になる。キューは、マルチプロセッサ・システムのメモ
リ22の任意の場所に配列された一連のタスク遅延制御
ブロック(TDCB)として形成される。また、資源は
メモリ22の一部分を構成するものであってもよい。資
源アクセス要求が拒絶されたために中断されている各タ
スクに対してTDCBが個々にセットアツプされる。T
DCBの各々は種々の情報を含んでいる。タスク・ポイ
ンタ、または送られるべき制御プログラム事象制御ブロ
ックのような、中断されているタスクを再開するのに必
要な全ての情報がTDCBに含まれなければならない。
また共用または専用アクセスのどちらがそのタスクに要
求されたかの表示(SH/EXCL)もTDCBに含ま
れなければならない。もちろん、この表示は51つのア
クセス方式しか許されない場合には、省略することがで
きる。本発明の目的のためには、各TDCBはそれのす
ぐ前にキューに挿入されたTDCBに対するポインタN
CRも含んでいる。キューの先頭、すなわち最も先にキ
ュー挿入されたTDCBのNCBはOにセットされる。
ロックワードはダブルワード(LOCKFLAG : 
UOCKTPTR)であり、メモリ22の一定の場所に
記憶される。ロックワードは資源アクセスを待つタスク
の、資源及びキューに対するアクセスを制御する。ロッ
クワードの前半の第1のワードLOCKFLAGは現在
の資源使用状況を表示する。もし、資源が現在使用中で
はなく、どのタスクも資源アクセスを行なっていないな
ら、LOCKFLAG=Oである。もし、資源が現在共
用されているなら、その資源の共用アクセスを有するタ
スクのLOCKFLAGは負数である。
もし、資源が現在専用されているなら、LOCKFLA
Gは正数であり、更に、その専有タスクを指定するもの
でもよい。ロックワードL OCKの後半の第2のワー
ドLOCKTPTRは、最も後にキューに挿入さ九たタ
スクのTDCBを指すポインタである。もし、タスクが
キューに入っていない、すなわちキューがないなら、L
OCKTPTR=Oである。
前述のように、キューは動的なアーキテクチャを有する
。キュニの先順位のものが資源アクセスを与えられるの
で、その場合TDCB−1はメモリ22から割振りを解
除される。そして、次にキューに挿入されたタスクのT
DCB−2のポインタNCBは0にセットされ、TDC
B−2が今やキューの先頭にあることを表わす。また、
ロックワードの第1のワードLOCKFLAGはリセッ
トされ、資源の新しい状態を表わす。このように4番目
のタスクがキューに入る場合、TDCB−4が割振られ
、ロックワードの第2のワードLOCKTPTRは、こ
の新たに割振られたTDCB−4を指すようにセットさ
れる。この新しいTDCB−4のポインタNCBは、こ
れの前にキューに入れられたタスクのTDCB、例えば
TDCB=3を指すようにセットされる。
本発明によれば、資源アクセスを要求しまたは解除する
ためにキューを再構成することを希望するタスクは現在
のロックワードが何であるかを推測し、その推測に基づ
いて新しい予想ロックワードNEWを形成する。CDS
命令で、そのタスクは推測されたロックワードを現在の
ロックワードL OCKと比較させる。もし、推測が正
しかったなら、現在のロックワードに新しいロックワー
ドNEWの値が代入され、キューの再配列は完了する。
CDS命令のアトム特性によってキューの再配列が完了
するが、他のマルチプロセッサにおける他のタスクは、
ロックワードを変更するためのアクセスを禁止される。
しかしながら、もし現在のロックワードの推測が間違っ
ていたなら、LOCKの実際の値が予想ロックワードN
EWを生じるのに使われる。そして、CDS命令が繰返
され、他のタスクが差当ってキューを再配列せず、ロッ
クワードLOCKを変更せずにいるものと仮定して、次
のCDS命令がキューを再配列する。
本発明の詳細な説明は、資源を1つのタスクが専用でき
る場合、または複数タスク間で共用できる場合の4つの
異なった状況:専用アクセス要求、共用アクセス要求、
専用アクセス解除ならびに共用アクセス解除について行
なう。以下の説明において、ダブルワードのロックワー
ドは2つのシングルワードを含み(LOCK=LOCK
FLAG : LOCKTPTR)、ダブルワード及び
シングルワード表現はどちらも、動作に応じて使用され
る。同様に、推測されたロックワードNEWは2つのシ
ングルワードがら成り(NEW=NEWFLAG : 
NEWTPTR)、後述のように。
取り出されたロックワードOLDも、2つのシングルワ
ードから成る(OLD=OLDFLAG :0LDTP
TR)、第3図の流れ図において、条件コートCCによ
る条件付き分岐は、暗黙のうちにCDS動作に含まれる
ので、この動作からの出口はLOCKとOLDの比較結
果によって2つの経路のうちの1つを選択する。
タスクからの専用アクセス要求を処理する方法が第4図
に示される。プロセスが開始されると、ブロック30に
おいて、最初の推測で、資源は現在使用中ではなく、従
ってLOCKの値は(0,0)と推測される。この値は
ダブルワードOLDに記憶される。もし、これが正しけ
れば、要求中のタスクはただちに資源アクセスを得るこ
とができ、その場合、LOCKFLAGがセットされて
この要求中のタスクを専有者として指定し、且つLOC
KTPTRがOにセットされて他のタスクがキューに加
えられないことを表わす。もし現在、実際にキューが存
在するなら、資源は必然的に使用中でなければならない
。ロックワードのこれらの新しい値はそれぞれNEWF
LAGおよびNEWTPTRにセットされる。つぎに、
ブロック31で、アトム単位のCDS命令が実行される
。ロックワードLOCKが取出され、ダブルワードOL
Dと比較される。2つの値が一致すれば、推測は正しか
ったことになり、LOCKにNEWの値が代入され、資
源の専用アクセスが得られる。この場合、遅延させられ
た要求中のタスクがないため、キューは存在せず、かつ
キューを作る必要もない。
しかしながら、もし、OLDがLOCKに一致しなけれ
ば資源使用可能の推測は間違っている。
よって、現在のロックワードの値はOLDに記憶される
。ここで、重要な点は、前述のように、CDSはアトム
単位であるので、もし、CDSの実行開始的に推測が正
しかったならば、動作中に別のマルチプロセッサに状況
を変更されずに資源アクセスが得られること及びOLD
に記憶されているLOCKの値がCDS実行開始時の値
であるということである。
もし、資源の専用アクセスが現在得られないならば、要
求の実行はブロック32に達し、現在のタスクすなわち
要求タスクをキューに入れる準備が行なわれる。TDC
Bが用意され、このブロックの内容は、現在のタスクが
専用アクセス要求をしていることを表示するように設定
される。そして、現在のタスクをキューーーこれは前に
存在してしないこともあるm−に入れる用意が行なわれ
る。ブロック34において、ロックワードの値について
現在の最善の推測は、ブロック31のCDSで得た値O
LDである。現在のタスクがキューに挿入される場合、
LOCKFLAGの値は変らないので、NEWFLAG
に0LDFLAGの値が代入される。しかしながら、更
新されたLOCKTPTRは現在のタスクを指す。現在
のタスクはキューに挿入されると、最も後しこキューに
挿入されたタスクとなるであろう。現在のタスクのTD
CBのNCRは、前のLOCKTPTRによって指示さ
れたTDCB−一その時点では最も後にキューに挿入さ
れたタスクーーを指示するであろう。従って、NEWT
PTRの値に、現在要求中のタスクのTDCBの標識I
D−一普通はアドレスーーが代入され、現在のTDCB
にある次のブロック・ポインタNCBに、0LDTPT
Rの値が代入される。次にブロック36で、もう1つの
アトム単位CDSが実行される。もし、ロックワードが
前のままに保持され、従って0LD=LOCKなら、L
OCKにNEWの値が代入され、現在のタスクはキュー
に挿入され、ポインタは再配列されたキューに対応して
修正される。現在のタスクは、資源アクセスを待つ間、
実行を中断し。
キューに挿入される。しかしながら、もし、最後のCD
S (ブロック31)以後、他のタスクが、ロックワー
ドを変更することにより、キューを再配列しているなら
ば、OLDとLOCKは一致せず、LOCKの現在の値
がOLDに代入される。
ブロック38において、状態の変更は資源が使用可能に
なることによるものか、または資源は再び使用不可能に
なるがキューが再配列されているかどうかについての判
断がなされる。もし0LD=(0、O)なら、最善の推
測は資源が現在使用可能であるので、もはやキューを形
成しなくてもよいということである。現在のタスクのT
DCBの記憶空間は、もし必要なら、割振りを解除され
、手順は開始点のブロック30に戻る。しかしながら、
もしOLD≠(Olo)なら、キューは変更されている
が、資源は使用不可能である。そして、ブロック31の
最初のアトム単位ではなく、後のブロック36のアトム
単位のCDSから得たOLDの値によって、手順はブロ
ック34に戻る。
第5図の流れ図に示すように共用アクセス要求の実行は
、資源が現在共用アクセスされているが、キューは現在
存在せず、資源要求タスクが共用アクセスを得ることが
できる場合を含む必要がある場合を除き、専用アクセス
要求と同様に実行される。FIFOキューについて前に
説明したように、キューにおいて、共用アクセス要求は
専用アクセス要求の先に飛越すことができない。また、
もし資源の所有権が共有されているなら、資源は全ての
共用アクセス要求に対応できるものと仮定しているので
、資源が共用されている場合にキューが存在することは
、キューの先頭、すなわち最も先順位の、最も先にキュ
ーに挿入されたタスクは専用アクセスを要求しているこ
とを意味する。
共用アクセス要求が開始されると、ブロック40におい
て、資源は使用可能でないだけではなく、現在、他のど
のタスクもその資源を共用アクセスしていないという最
初の推測がなされる。LOCKの推測値、すなわち(0
、O)はOLDに代入される。もし、この推測が正しけ
れば、共用アクセスは、GDSによって首尾よく記憶さ
れると、この単一のタスクに対して確立されることにな
りLOCKFLAGは“−1”にセットされ、資源の共
用アクセスには唯一のタスクとして現在のタスクしかな
いことを表わす。更に、指示すべきTDCBがなくなル
カら、LOCKTPTRは0 ニなる。これらの2つの
値はNEWに入れられる。
点42を経由して、アトム単位CDSのブロック44が
実行される。ロックワードLOCKが取出されてOLD
と比較され、もし、これらの2つのダブルワードが一致
すれば、推測は正しく、LOCKに推測された新しいロ
ックワードNEWが代入されるので、共用アクセス要求
は直ちに受入れることができる。そして、所有権共有の
フラグがセットされ、現在のタスクによる資源の所有権
共有を表示し、異常終了から回復することができる。
その結果、共用アクセスが得られる。しかしながら、も
し、推測が間違っていたので、OLDがLOCKに一致
しないならば、ロックワードの値はOLDに代入される
既にキューにある、専用アクセスを要求する、先順位の
タスクがあるか、または、キューはないが、1つまたは
それ以上のタスクが既に資源アクセスを得ていることを
意味するキューの存在により、推測が失敗することがあ
る。もし、0LDFLAG=<Oかっ0LDTPTR=
Oであれば、キューは存在せず、しかも資源は既に共用
されている。開始点のブロック40以外のところからも
、ブロック46を通る経路を開始できるから、ブロック
46では、0LDFLAGがOに辱しいという検査を含
めることも必要である。もし、検査結果が正しく、従っ
てキューも資源の専有権もないならば、更新されたL?
)CKFLAGの値の最善の推測は、0LDFLAGの
古い値から1を減じたものになり、もう1つのタスク、
すなおち現在のタスクが資源の共用アクセスを得ている
ことを表わす。従って、NEWFLAGに“0LDFL
A G −1”の値が代入され、手順は点42に戻って
、ブロック44のCDSを再実行することになる。
しかしながら、ブロック46で、もし、0LDFLAG
>Oまたは0LDTPTR≠0ならば、現在のタスクは
キューに挿入されなければならない。TDCBが作成さ
九、現在のタスクが共用アクセスを要求していることを
表わす。ブロック48において、前に取出されたロック
ワードに基づいたキューを再配列する準備が行なわれる
。NEWFLAGに0LDFLAGの値が代入される。
NEWTPTHにはその識別(I D)が代入され。
現在のタスクのTDCBを指示する。現在のTDCBは
、そのNCBに0LDTPTRを代入することにより1
次に最も後にキューに挿入されたTDCBを指示する。
次に、CDSを用いる新しいアトム単位がブロック50
で実行される。もし、ロックワードが最後のアトム単位
以来、変更されていないなら、OLDとLOCKは一致
し、ロックワードは、LOCKにNEWの値を代入する
ことにより、推測された新しいロックワードによって更
新され、従って、現在のタスクは適切にキューに挿入さ
れる。
そして、現在のタスクは、資源が使用可能になるのを待
つ後中断され、その間、キューに挿入されている。
しかしながら、もし、アトム単位(ブロック50)で取
出されたロックワードが、最後のアトム単位以来、変更
されているなら、OLDとLOCKは一致せず、OLD
に現在のロックワードL0CKの値が代入される。この
不一致は、最後のアトム単位以来のキューの消失、なら
びに所有権共有により資源が使用可能であることに起因
することがある。次に、ブロック52で、0LDFLA
G<=O及び0LDTPTR=Oが検査される。
これは、現在のタスクが、多分資源の共用アクセスを直
ちに得ることを意味する。従って、TDCBは処分され
、現在のLOCKFLAGは、次のブo ツ’) ’t
’ N E W F L A G ニ” OL D F
 L A G −1″の値を代入することにより減少さ
れる。そして、手順は点42に戻り、CDSを用いるア
トム単位がブロック44で再実行される。
しかしながら、ブロック52で、もし、非0の値がロー
ドされている0LDTPTR1または正の値がロードさ
れている0LDFL、AGがそれぞれ示すように、ロッ
クワードは変更されているが、キューはなお存在する、
すなわち資源が専用アクセスされているならば、手順は
ブロック48に戻り、現在のタスクをキューに挿入しよ
うとする試みがなされる。専用アクセス要求の場合の状
況でも丁度そうであったように、もし、アトム単位44
または50の連続実行の間に他のタスクがロックワード
を変更してしないなら、タスクは適切にキューに挿入さ
れるであろう。
資源の共用または専用のアクセスを有するタスクが、そ
の資源アクセスを解除しうる場合、アクセス解除には単
なる分離以上のものが含まれる。
アクセスが解除されるごとに、ロックワードは適切に更
新され、いま資源アクセスを得ることになっている、キ
ューに現在あるタスクのどれががキューから取出され、
適切な、アクセスが与えられることを保証することによ
り、キューは適切な形式で維持される。更に、アクセス
が解除されると、それ以上の機能が実行される、すなわ
ち、キューに挿入されたTDCB以来、異常終了してい
るタスクが処理される。
共用アクセスを解除する手順が第6図の流れ図に示され
ている。資源の所有権が共有されているとき、もし、キ
ューが存在すれば、そのキューの先頭の部分は専用アク
セス要求である。それよりも先順位の共用アクセス要求
は既に受入れられている。共用アクセス解除が開始され
ると、ブロック60において、タスクはキューに挿入さ
れていないという最初の推測がなされる。これはLOC
KTPTR=Oによって表示される。更に、0LDFL
AG=−1によって示すように、共用アクセスを解除す
るタスクは資源を現在使用中のタスクだけであると推測
される。もし、この推測が正しく、現在のタスクが共用
アクセスを解除するならば、新しいロックワードは、資
源が使用されていないことと、キューがないことを表示
する。従って、NEWのシングルワードはどちらもOに
セットされる。点62を経て、ブロック64楊おいて、
アトム単位CDSが実行される。もし、推測が正しく、
したがってOLDとLOCKが一致すれば、ロックワー
ドLOCKにNEWの値が代入され、タスクのアクセス
解除要求は成功している。
資源の所有権共有を表わすフラグは消去される。
なせならば、このタスクはもはやその資源の所有権を共
有していないからである。その後、そのタスクは解除さ
れ、どのタスクもキューに挿入されていないからこれ以
上の活動は必要ではない。
しかしながら、もし、最初の推測が間違っていれば、O
LDとLOCKは一致せず、ロックワードの現在の値が
OLDに入る。ブロック66において、資源を共用中の
他のタスクがあったか、またはキューが存在していなか
ったので、推測が間違っていたかについての判断が、そ
れぞれ、0LDFLAG<−1及び0LDTPTR=O
の条件によってなされる。開始点のブロック60以外か
らもブロック66を通る経路が存在するから、0L D
 T P T Hの検査は含めておくことが必要である
。もし、他の共用アクセスが残ることになっているなら
、またはもし、どのタスクもキューに挿入されていない
ならば、負のLOCKFLAGを後に増加することによ
り、タスクが共用アクセスを解除する準備がなされる、
すなわち、NEWFLAGに” OL D F L A
 G +1 ”の値が代入され、手順は点62に戻る。
もし、その最後の実行以来、他のタスクが資源共用アク
セスを得たり、または解除したすせず、または資源アク
セスをキューに挿入していないならば、ブロック64の
アトム単位は首尾よく実行されるであろう。その間に、
タスク共用アクセスとして解除タスクしか残されていな
い場合には、0LDTPTR=Oの検査により、再び点
62に手順が戻る。しかしながら、もし、その間に、資
源共用またはキュー存在についての変更がなされていな
いならば、次のブロック64のCDSの実行により、タ
スクは共用アクセスから解除されるが、資源は依然とし
て少なくとも1つのタスクにより共用されている。
前記以外の場合、共用アクセスの解除をめるアクセスは
、資源を共用アクセスしている最後のタスクであり、そ
れ以上のタスク(先頭、すなわち最も先順位の、最も先
にキューに挿入された専用要求)はキューに挿入されて
いる。そして、手順はブロック68に進み、現在、タス
クが1つしかキューに挿入されていないm−これは必然
的に専用アクセス要求であるm−がどうかについての判
断がなされる。この判断は、OL D TP T Hに
より指定されたTDCBの次のフロック・ポインタNC
RがOであるかどうかを検査することによって行なわれ
る。もし、検査の結果、○LDTPTR=Oなら、手順
はブロック7oに進み、0LDTPTRによって指示さ
れたTDCBのタスク識別(I D)にNEWFLAG
をセットすることにより、キューを除去する準備が行な
われる。その結果、キューの先頭にあるTDCBのタス
クは資源の専用アクセスを取得し、NEWTPTR=O
の値は、意図された記憶がCDSにより首尾よく完了し
たときに、キューが存在しないことを表わす。そして、
ブロック72で、CDSのアトム単位が実行される。も
し、0LD=LOCKなら、LOCKにNEWの値が代
入され、手順はブロック74に進み、解除タスクによる
所有権共有のフラグが消去される。そして、ブロック7
8でキューにおける先順位のTDCBは処分される。先
順位のタスクは中断状態から取除かれ、または、もし先
順位のタスクが異常終了しているなら、先順位タスクの
資源専用アクセスは解除される。これで、共用アクセス
解除のための処理は完了する。
しかしながら、もし、ブロック72において、0LD=
LOCKでないなら、OLI]、ニーLOCKの値が代
入される。0LD=LOCKが得られないのは、前のア
トム単位(ブロック64)以来、別のタスクがキューに
追加された場合だけであるので、この時点では、少なく
とも2つのタスクがキューに挿入されている。ブロック
76において、キューの中の最も先順位のものを発見す
るため、次の制御ブロック・ポインタNCRにより、キ
ューをその末尾から先頭に向って、NCB=Oのものが
見つかるまで探索する。キューにおいて、次に最も先順
位のTDCBのNCBを0にセットすることにより、キ
ューの先順序の部分は除去される。次に、ブロック77
において、MP(マルチプロセッサ)の−貫した動作に
より、キューの先順位のタスク識別の値がLOCKFL
AGに代入される。MPの一貫した動作はアトム単位で
あるから、別のMPの一貫した動作−−CDSはその一
例であるm−によって、その部分的実行を見ることはで
きない。LOG、KFLAGの変更により、キューの先
順序の部分が資源アクセスを与えられており、手順は、
フラグを消去するブロック74を経て、ブロック78で
TDCBを処理するとともに、先順位のタスクを中断状
態から外す。
もし、ブロック68において、単一のタスクから成るキ
ューの最初の検査で、OLDとLOCKが一致しなけれ
ば1手順はブロック76に進み、前述のように、キュー
の先順位のタスクの探索が開始される。
解除タスクがいま資源を所有している唯一のタスクであ
ることが知られている専用アクセス解除は前略化される
。しかしながら、この簡略化は、キューの先頭の状態に
関する知識の不足を埋合わせる以上のものがある。最も
先にキューに挿入されたタスクは、第8A図に示すよう
に、専用要求であるかも知れない。その場合、再配列に
より。
キューの先頭部分は資源の専用アクセスを得るであろう
。そうではなくて、キューの先頭が、第8B図のキュー
に示すように、1つまたはそれ以上の共用アクセス要求
に占位されることもある。もし、そうならば、最も先に
キューに挿入された専用アクセス要求よりも先順位あ全
でのタスクは同時に資源共用アクセスを与えられるであ
ろう。
専用アクセス解除の実行は、第7図の流れ図に示すよう
に、ブiツク80で動作を開始する。資源は専用されて
いるから、0LDFLAGの値は必然的にタスク識別に
取替えられ、アクセスを解除しようとする。タスクはキ
ューに挿入されでいないという最初の推測が行なわれる
ので、0LDT P ”I” Rは、L OCK T 
P −17Rと一致することを期待して0にセットされ
る。対応するNEWの値は(0、O)である。CDSの
アトム単位がブロック82で実行される。もし、推測が
正しく、OL I) = T、OCRであったならば、
LOCKにNEWの値が代入されるので、ロックワード
は置換えられ、専用アクセスは首尾よく解除される。し
かしながら、もし、OLDとLOCKが一致しなかった
ならば、ある種のキューが存在していたことを示し、O
LDにLOCKの値が代入される。
点84において、キューの詳細が得られなければならな
い。キューを記述するパラメータは第8A図及び第8B
図に示されている。ここでは、1群のタスクの資源アク
セスが承認される。もし、最も先にキューに挿入された
タスクが専用タスクであれば、BEGPTRが、その先
順位の専用タスクのTDCBを指示する。BAKTPR
は、次に最も先にキューに挿入されたタスクを、もしあ
れば、指示する。しかしながら、第8B図に示すように
、もし、1つまたはそれ以上の共用アクセス要求がキュ
ーの先頭の位置を占めるなら、BEGPTRは、キュー
の先頭における共用アクセス要求のうちの、最も後にキ
ューに挿入されたTDCBを指示し、B A K P 
T’Rは、次に最も後にキューに挿入されたTDCB−
一要求が存在する場合は必然的に専用アクセス要求−一
を指示する。
いずれの場合も、もし、キューに他のタスクがなければ
、BAKPTR=Oである。この情報は、第9図の流れ
図に示すブロック86の一連のステップによって得るこ
とができる。キューにあるTDC’Bはキューの末尾が
ら順に質問され、l″DCBが専用アクセス要求を表わ
すがどうかを決定する。現在の、または最後のTDCB
が専用アクセスを表わす場合は、ポインタBEGPTR
及びBAKPTRはリセットされる。キューの連鎖は、
TDCBの各々にある次の制御ブロック・ポインタNC
Bによって追跡され、次に最も後にキューに挿入された
タスクを指示し、キューの先頭に達してNC]3=Qが
表示されると、ブロック88(第7図)において、BE
GPTR及びBAKPTRの現在値は、第8A図及び第
8B図に示すように、TDCBを指示する。
第7図で、BEGPTR及びBAKPTRが識別されて
いるブロック88において、BEGPTRによって指示
されたTDCBが専用アクセス要求を表わすがどうかに
ついて検査が行なわれる。
もし、最も先にキューに挿入されたタスクが、第8A図
に示すように、専用アクセス要求ならば、NEWFLA
Gは、BEGPTRによって指示されたTDCBのタス
クのタスク識別にセットされる。しかしながら、もし、
BEGPTRが、第8B図に示すように、専用アクセス
要求を表わさないTDCBを指示するならば、NEWF
LAGは、BEGPTRによって指示された、共用アク
セスを要求夾るTDCBの連鎖長の負値にセットされる
。第8B図に示された例では、このNEWFLAGの値
は−3である。これらの二者選−のNEWFLAGの値
はそれぞれ、キューが再配列された後の、専用及び共用
のLOCKFLAGの値である。
NEWFLAGが適切な値にセットされた後、ブロック
90において、意図されたキューの再配列後にキューが
存在するがどぅかについて検査が行なわれる。もしBA
KPTR=Oならば、キューは存在する。この場合、B
AKPTRによって指示されたTDCBの、次の制御ブ
ロック・ポインタNCBがOにセットされ、このタスク
は最も先にキューに挿入されたタスクになることを表わ
し、LOCKFLAGは、MPの一員した動作でNEW
FLAGにセットされる。点94の時点で、キューは再
配列されており、処理すべきもので残っているのは、中
断タスクの再開、もはや使用されないT I) CBの
処分、及び異常終了タスクによるアクセス解除だけであ
る。これらはブロック96で処理される・ しかしながら、もしブロック90でBAKPTR=Oな
らば、キューはこれ以上必要ではないので、ブ0ツク9
8に進み、N E W T P ′r Rを0にセット
し、キューが意図的に不在であることを意味する。そし
て、ブロック100に進み、CDSのアトム単位を実行
する。もし、0LD=LOCKならば、最後のアトム単
位以来、キューの再配列が生じていないことを意味する
。この場合、LOCKにNEWの値が代入され、手順は
点94を介して、ブロック96に進み、異常終了終結処
置、TDCBの処分及び中断タスクの再開を行なう。
しかしながら、もし、0LD=LOCKでないならば、
OLDにLOCKの値が代入され、手順は点84に戻り
、再びキューのステータスを得る。
ブロック96に示された異常終了の終結処置のステップ
は第10図の流iy図に示されている。終結処置の目的
はキューで資源アクセスを待つ間に異常終了(A13E
ND)したタスクのアクセスを除去することである。一
時的に資源アクセスを与えられているあらゆるタスクが
検査され、異常終了しているかどうかを決定する。もし
、異常終了しているなら、そのTDCBはキューに似た
ABENDリストに加えられ、その次の制御ブロック・
ポインタ(NCB)は、ABENDリスト中の、次に最
も後にキューに挿入されたTDCBを、もしあれば、指
示する。もし、タスクが異常終了していないならば、そ
の実行は再開され、そのTDCBは処分され、共用アク
セスのフラグは、共用アクセスすべきタスクごとにセッ
トされる。最後に、異常終了タスクはどれもアクセスを
解除され、そのTDCBは処分される。
もちろん、本明細書で説明したもの以外にも、本発明の
他の実施例が存在する。前述の動作上の約束の多くは任
意に変更することができる。例えば、共用アクセスをL
OCKFLAGの正の値で表示したり、専用アクセスを
負の値で表示したりすることができる。ダブルワードL
OCKにおけるLOCKFLAGはLOCKTPTRの
順序は任意である。実際には、もし、ワード内で個々の
ビットまたはビット・ブロックをセットし、検査するこ
とができるなら、シングルワードをLOCKに用いるこ
とができるであろう。
以上が、アトム単位CDSを用いて資源の共用アクセス
及び専用アクセスの要求または解除を行なう方法の説明
である。これらの方法を用いるタスク・ロッキングの階
層は第2C図に示されている。アプリケーション・タス
ク・ロッキングは、タスク・ロックの基本動作を形成す
るCDSに基づいたタスク専用監視プログラムまたはタ
スク共用監視プログラムのいずれかを使用することがで
きる。従って、この階層は専用タスクまたは共用タスク
の3つの動作レベルしか含まないので、従来技術のタス
ク・ロッキングよりも簡略化されている。
[発明の効果] 多重タスク・マルチプロセッサのアプリケーションはこ
のようなアプリケーションの範囲内のタスクの間のキュ
ー及び資源を制御するため、このロッキング形式を利用
することができる。そのように制御された資源ごとのロ
ックワードの所在は関連するタスクの各々、及び異常終
了に関連する処理にとって、分っていなければならない
。これは、そのようなアプリケーションの階層をわずか
に2レベルの動作に減少させる。そのように制御された
資源の中に、ロックワードのキューが存在することがで
きる。従って、そのようなアプリケーションは、それら
自身の記号のロック処理及びロッキング階層を設けるこ
とができる。その性能は監視プログラム内の対応する働
らきの利用に較べ、大幅に改善される。更に、シングル
・スレッド、多重タスク・アブリケーシヨンー−それら
自身のタスク指名形式を有するタスクから成り、現在、
それら自身の記号のロック処理及びロッキング階層を有
するm−は、多重タスク・マルチプロセッサ動作に変換
可能である。これは、それら自身の記号のロック処理及
びロッキング階層を有することによって得られた性能ま
たは機能を損失することなく、より大きい処理能力を生
じる。
タスク実行の中断または再開のときに多分要求される場
合を除き、タスク・ロック監視プログラムはスピン・ロ
ックなしに完了することができる。
もちろん、CDSによってスピン監視プログラムも可能
である。前述の方法においてスピンが存在しないことの
利点は、−性能向上に関連する経費を無視できること、
多重タスク・マルチプロセッサ・アプリケーションから
直接このロッキング形式を利用できること、ならびにC
PU障害−一スピン・ロックが障害CPUによって保持
されているm−から回復する事が重要ではなくなること
である。
更に、前述の方法の利点は、キューのステータスの最初
の推測に不一致が存在しないとき、ロックを得るのに要
する経路長が非常に短いことである。経路長が短いこと
は部分的には、資源を別個に投入することのないアクセ
ス要求または解除要求の最初の推測に起因するほか、C
DSのアトム単位によっては提供されないFIFOキュ
ーの操作に必要なアクセスの制御を与える資源のアクセ
スを用いることの経済性に起因する。前述の方法のもう
1つの利点は、TDCBの自由な記憶割振り、またはT
DCBの作成等が、資源の即時使用可能時には、アクセ
スを必要としない事である。
本発明のタスク・ロッキング方法には、ある不利点が存
在する。もし、資源所有タスクが異常終了すれば、資源
識別子として使われたダブルワードの各々の所在を知る
のにABEND処理が必要である。ABEND処理は、
終了するタスクに代って資源アクセスを解除しなければ
ならない。このロッキング形式を有する共用資源アクセ
スの主要な不利点は、各タスクに関連したフラグ形式が
、所有権共有を、それが保持されているとき、表示する
ようにセットされなければならないという要求があると
いうことである。
【図面の簡単な説明】
第1図は本発明において使われるような資源のキューを
表わす図、 第2Δ図及び第2B図は先行技術のタスク・ロッキング
・アプリケーションに必要な階層を示す図、 第2C図は本発明によるタスク・ロッキング・アプリケ
ーションに関連した階層を示す図、第3図はアトム命令
CDSの動作の流れ図、第4図は資源の専用アクセス要
求を処理する流れ図、 第5図は資源の所用アクセス要求を処理する流れ図、 第6図は資源の共有権共有の解除を処理する流れ図。 第7図は資源の所有権専有の解除を処理する流れ図、 第8A図及び第8B図は第7図及び第9図を理解するの
に有用な、キューを示す図、 第9図は第7図のキューの状態を識別するステップの流
れ図、 第10図は第7図の異常終了の終結処置のステップの流
れ図である。 出願人 インターナショナル・ビジネス。 マシーンズ・コーポレーション 代理人 弁理士 頓 宮 孝 − (外1名) 第2A図 第5図 第7図 第8A図 第8B図

Claims (1)

  1. 【特許請求の範囲】 多重プログラミング・システムにおいて1つの資源への
    アクセスを待っている要求とそれぞれ関連した制御ブロ
    ックより成る先入れ・先出しキューによって該アクセス
    を制御する方法であって、該キューは該資源を使用する
    すべてのプログラムにとってアクセス可能な1つのロッ
    クワードを有し、該ロックワードは該資源のアクセス可
    能性を表わすロックフラッグと該キューにおける最後に
    該キューに入れられた制御ブロックを指すロックポイン
    タとより成り、該ロックポインタは該キューに制御ブロ
    ックがない時には該キューが空であることを表おす値に
    セットされ、該キューにおける各制御ブロックは当該制
    御ブロックの次に該キューに入れられた制御ブロックを
    指すポインタを有し、該キューにおいて最も早く該キュ
    ーに入れられた制御ブロックにおけるポインタは該制御
    ブロックを最も早く該キューに入れられた制御ブロック
    として識別する標識を有するものにおいて、複数の共用
    アクセス要求が該資源を同時にアクセスするのを許すが
    、一時に1つの専用アクセス要求しか該資源をアクセス
    するのを許さないステップと、 現在該資源をアクセスするのを許されている要求の型を
    表わすように該ロックフラッグの内容を制御するステッ
    プと、 該キューにおける各制御ブロックと関連した1つの要求
    が資源への共用アクセス又は専用アクセスのどちらを待
    っているかを表わすためのアクセス表示フィールドを当
    該制御ブロックに設けるステップと、 を有することを特徴とする資源アクセス制御方法。
JP59149850A 1983-12-14 1984-07-20 多重プログラミング・システム Granted JPS60128537A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US561613 1983-12-14
US06/561,613 US4604694A (en) 1983-12-14 1983-12-14 Shared and exclusive access control

Publications (2)

Publication Number Publication Date
JPS60128537A true JPS60128537A (ja) 1985-07-09
JPH0533410B2 JPH0533410B2 (ja) 1993-05-19

Family

ID=24242695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59149850A Granted JPS60128537A (ja) 1983-12-14 1984-07-20 多重プログラミング・システム

Country Status (5)

Country Link
US (1) US4604694A (ja)
EP (1) EP0145889B1 (ja)
JP (1) JPS60128537A (ja)
CA (1) CA1213066A (ja)
DE (1) DE3477972D1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011148553A1 (ja) * 2010-05-24 2011-12-01 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理方法
JP2011248468A (ja) * 2010-05-24 2011-12-08 Sony Computer Entertainment Inc 情報処理装置および情報処理方法

Families Citing this family (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6031648A (ja) * 1983-07-29 1985-02-18 Sharp Corp マルチ・タスク制御方法
JPS6079460A (ja) * 1983-10-07 1985-05-07 Nec Corp 密結合多重演算装置における制御方式
DE3473665D1 (en) * 1984-06-25 1988-09-29 Ibm Graphical display apparatus with pipelined processors
US4679194A (en) * 1984-10-01 1987-07-07 Motorola, Inc. Load double test instruction
CA1239227A (en) * 1984-10-17 1988-07-12 Randy D. Pfeifer Method of and arrangement for ordering of multiprocessor operations in a multiprocessor system
US4719564A (en) * 1984-12-10 1988-01-12 Nec Corportion Interpreter linkage system for linking extension interpreters to a basic interpreter
EP0194024B1 (en) * 1985-02-05 1992-09-09 Digital Equipment Corporation Apparatus and method for controlling access in a multi-cache data processing system
US5067071A (en) * 1985-02-27 1991-11-19 Encore Computer Corporation Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
JPS6243766A (ja) * 1985-08-21 1987-02-25 Hitachi Ltd 共用資源の状態管理方式
US4847754A (en) * 1985-10-15 1989-07-11 International Business Machines Corporation Extended atomic operations
US4779194A (en) * 1985-10-15 1988-10-18 Unisys Corporation Event allocation mechanism for a large data processing system
US4903196A (en) * 1986-05-02 1990-02-20 International Business Machines Corporation Method and apparatus for guaranteeing the logical integrity of data in the general purpose registers of a complex multi-execution unit uniprocessor
US4780821A (en) * 1986-07-29 1988-10-25 International Business Machines Corp. Method for multiple programs management within a network having a server computer and a plurality of remote computers
US4809168A (en) * 1986-10-17 1989-02-28 International Business Machines Corporation Passive serialization in a multitasking environment
US4953122A (en) * 1986-10-31 1990-08-28 Laserdrive Ltd. Pseudo-erasable and rewritable write-once optical disk memory system
US4947315A (en) * 1986-12-03 1990-08-07 Finnigan Corporation System for controlling instrument using a levels data structure and concurrently running compiler task and operator task
US5381546A (en) * 1987-04-13 1995-01-10 Gte Laboratories Incorporated Control process for allocating services in communications systems
US4949239A (en) * 1987-05-01 1990-08-14 Digital Equipment Corporation System for implementing multiple lock indicators on synchronous pended bus in multiprocessor computer system
US4807111A (en) * 1987-06-19 1989-02-21 International Business Machines Corporation Dynamic queueing method
US5109515A (en) * 1987-09-28 1992-04-28 At&T Bell Laboratories User and application program transparent resource sharing multiple computer interface architecture with kernel process level transfer of user requested services
US4914569A (en) * 1987-10-30 1990-04-03 International Business Machines Corporation Method for concurrent record access, insertion, deletion and alteration using an index tree
US5055999A (en) * 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
US5341483A (en) * 1987-12-22 1994-08-23 Kendall Square Research Corporation Dynamic hierarchial associative memory
US5226039A (en) * 1987-12-22 1993-07-06 Kendall Square Research Corporation Packet routing switch
US5761413A (en) * 1987-12-22 1998-06-02 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
US5335325A (en) * 1987-12-22 1994-08-02 Kendall Square Research Corporation High-speed packet switching apparatus and method
US5822578A (en) * 1987-12-22 1998-10-13 Sun Microsystems, Inc. System for inserting instructions into processor instruction stream in order to perform interrupt processing
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
JPH01246656A (ja) * 1988-03-29 1989-10-02 Nec Corp プロセッサ間共有メモリ管理方式
US5251318A (en) * 1988-09-02 1993-10-05 Hitachi, Ltd. Multiprocessing system comparing information copied from extended storage before and after processing for serializing access to shared resource
US4965718A (en) * 1988-09-29 1990-10-23 International Business Machines Corporation Data processing system incorporating a memory resident directive for synchronizing multiple tasks among plurality of processing elements by monitoring alternation of semaphore data
US5081572A (en) * 1988-10-28 1992-01-14 Arnold Michael E Manipulation of time-ordered lists and instructions therefor
JPH02195453A (ja) * 1989-01-25 1990-08-02 Toshiba Corp ファイルアクセス制御方式
EP0381655A3 (en) * 1989-01-31 1992-12-02 International Business Machines Corporation Method for synchronizing the dispatching of tasks among multitasking operating systems
US5016166A (en) * 1989-04-12 1991-05-14 Sun Microsystems, Inc. Method and apparatus for the synchronization of devices
US5016161A (en) * 1989-04-12 1991-05-14 Sun Microsystems, Inc. Method and apparatus for the flow control of devices
US5127098A (en) * 1989-04-12 1992-06-30 Sun Microsystems, Inc. Method and apparatus for the context switching of devices
US5265245A (en) * 1989-04-17 1993-11-23 International Business Machines Corporation High concurrency in use manager
JPH0318935A (ja) * 1989-06-15 1991-01-28 Hitachi Ltd データリストに対するアクセスの直列化方式
US5297283A (en) * 1989-06-29 1994-03-22 Digital Equipment Corporation Object transferring system and method in an object based computer operating system
US5263161A (en) * 1989-07-26 1993-11-16 Massachusetts Institute Of Technology Non-busy waiting resource control
JP3206914B2 (ja) * 1989-11-09 2001-09-10 インターナショナル、ビジネス、マシーンズ、コーポレーション 多重プロセッサ・システム
US5161227A (en) * 1989-11-13 1992-11-03 International Business Machines Corporation Multilevel locking system and method
US5218678A (en) * 1989-11-17 1993-06-08 Digital Equipment Corporation System and method for atomic access to an input/output device with direct memory access
US5063504A (en) * 1989-12-18 1991-11-05 At&T Bell Laboratories Information control system for reserve locking infrastructure nodes for subsequent exclusive and share locking by the system
US5062038A (en) * 1989-12-18 1991-10-29 At&T Bell Laboratories Information control system
US5063503A (en) * 1989-12-18 1991-11-05 At&T Bell Laboratories Information control system for selectively locking an entity with requested intermediate reserve exclusive and share locks
US5063502A (en) * 1989-12-18 1991-11-05 At&T Bell Laborabories Information control system for counting lock application against composite information infrastructure
US5063501A (en) * 1989-12-18 1991-11-05 At&T Bell Laboratories Information control system for selectively transferring a tree lock from a parent node to a child node thereby freeing other nodes for concurrent access
US5499356A (en) * 1989-12-29 1996-03-12 Cray Research, Inc. Method and apparatus for a multiprocessor resource lockout instruction
JP2665813B2 (ja) * 1990-02-23 1997-10-22 三菱電機株式会社 記憶制御装置
US5301290A (en) * 1990-03-14 1994-04-05 International Business Machines Corporation Method for minimizing lock processing while ensuring consistency among pages common to local processor caches and a shared external store
US5153595A (en) * 1990-03-26 1992-10-06 Geophysical Survey Systems, Inc. Range information from signal distortions
US5293600A (en) * 1990-04-06 1994-03-08 International Business Machines Corporation Counter and flux bit locking for very fast shared serialization of shared data objects
US5410691A (en) * 1990-05-07 1995-04-25 Next Computer, Inc. Method and apparatus for providing a network configuration database
NL9001262A (nl) * 1990-06-05 1992-01-02 Oce Nederland Bv Werkwijze voor het in een logisch georganiseerd systeem, van door digrafen te representeren groepen van met elkaar in relatie staande entiteiten, distribueren van status-informatie betreffende een digraaf en een inrichting voor het toepassen van een dergelijke werkwijze.
JPH05508496A (ja) * 1990-06-11 1993-11-25 クレイ、リサーチ、インコーポレーテッド 命令をロードおよびフラグする方法および装置
US5255372A (en) * 1990-08-31 1993-10-19 International Business Machines Corporation Apparatus for efficiently interconnecing channels of a multiprocessor system multiplexed via channel adapters
JP2511588B2 (ja) * 1990-09-03 1996-06-26 インターナショナル・ビジネス・マシーンズ・コーポレイション デ―タ処理ネットワ―ク、ロックを獲得させる方法及び直列化装置
JP2586219B2 (ja) * 1990-12-20 1997-02-26 日本電気株式会社 高速媒体優先解放型排他方式
JPH0827755B2 (ja) * 1991-02-15 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション データの単位を高速度でアクセスする方法
US5430860A (en) * 1991-09-17 1995-07-04 International Business Machines Inc. Mechanism for efficiently releasing memory lock, after allowing completion of current atomic sequence
CA2078310A1 (en) * 1991-09-20 1993-03-21 Mark A. Kaufman Digital processor with distributed memory system
CA2078312A1 (en) 1991-09-20 1993-03-21 Mark A. Kaufman Digital data processor with improved paging
US5355477A (en) * 1991-12-23 1994-10-11 International Business Machines Corporation Method for updating a block using record-level locks by committing the update if the block has not been updated by another process otherwise spinning
DE69326705T2 (de) * 1992-02-14 2000-04-27 Motorola, Inc. Verfahren und Anordnung zur Feststellung der Befehlsablauffolge in einem Datenverarbeitungssystem
US5339427A (en) * 1992-03-30 1994-08-16 International Business Machines Corporation Method and apparatus for distributed locking of shared data, employing a central coupling facility
US5274823A (en) * 1992-03-31 1993-12-28 International Business Machines Corporation Interrupt handling serialization for process level programming
EP0569605A1 (de) * 1992-05-06 1993-11-18 International Business Machines Corporation Verfahren zur Zugriffsverwaltung und -steuerung mehrerer Rechner auf gemeinsame Daten
US5408629A (en) * 1992-08-13 1995-04-18 Unisys Corporation Apparatus and method for controlling exclusive access to portions of addressable memory in a multiprocessor system
US5450592A (en) * 1992-09-02 1995-09-12 Data General Corporation Shared resource control using a deferred operations list
JPH06110846A (ja) * 1992-09-25 1994-04-22 Fujitsu Ltd 排他制御方式
US5392433A (en) * 1992-09-25 1995-02-21 International Business Machines Corporation Method and apparatus for intraprocess locking of a shared resource in a computer system
US5341502A (en) * 1992-12-14 1994-08-23 Motorola, Inc. Device for assigning a shared resource in a data processing system
US6266654B1 (en) * 1992-12-15 2001-07-24 Softlock.Com, Inc. Method for tracking software lineage
US7089212B2 (en) 1992-12-15 2006-08-08 Sl Patent Holdings Llc System and method for controlling access to protected information
JPH06301657A (ja) * 1993-02-22 1994-10-28 Internatl Business Mach Corp <Ibm> 並行管理方法
US5455944A (en) * 1993-03-16 1995-10-03 International Business Machines Corporation Method for managing logging and locking of page free space information in a transaction processing system
US5875339A (en) * 1993-10-21 1999-02-23 Sun Microsystems, Inc. Asynchronous arbiter using multiple arbiter elements to enhance speed
US5713025A (en) * 1993-10-21 1998-01-27 Sun Microsystems, Inc. Asynchronous arbiter using multiple arbiter elements to enhance speed
US5526524A (en) * 1993-12-23 1996-06-11 International Business Machines Corporation Method and system for management of locked objects in a computer supported cooperative work environment
GB2289186A (en) * 1994-04-05 1995-11-08 Ibm Collaborative working method and system
US6219726B1 (en) * 1994-07-27 2001-04-17 International Business Machines Corporation System for providing access protection on media storage devices by selecting from a set of generated control parameters in accordance with application attributes
US6073211A (en) * 1994-12-13 2000-06-06 International Business Machines Corporation Method and system for memory updates within a multiprocessor data processing system
US5560018A (en) * 1994-12-16 1996-09-24 International Business Machines Corporation Providing external interrupt serialization compatibility in a multiprocessing environment for software written to run in a uniprocessor environment
US5956712A (en) * 1995-06-07 1999-09-21 International Business Machines Corporation Byte range locking in a distributed environment
US5931923A (en) * 1996-02-16 1999-08-03 Advanced Micro Devices, Inc. System for accessing control to a peripheral device utilizing a synchronization primitive within the peripheral device
US5867725A (en) * 1996-03-21 1999-02-02 International Business Machines Corporation Concurrent multitasking in a uniprocessor
US5794241A (en) * 1996-04-08 1998-08-11 Oracle Corporation Method and apparatus for dynamically disabling and enabling table locking for a database
US6078942A (en) * 1996-04-25 2000-06-20 Microsoft Corporation Resource management for multimedia devices in a computer
US5835964A (en) * 1996-04-29 1998-11-10 Microsoft Corporation Virtual memory system with hardware TLB and unmapped software TLB updated from mapped task address maps using unmapped kernel address map
US5991845A (en) * 1996-10-21 1999-11-23 Lucent Technologies Inc. Recoverable spin lock system
US5752249A (en) * 1996-11-14 1998-05-12 Macon, Jr.; Charles E. System and method for instantiating a sharable, presistent parameterized collection class and real time process control system embodying the same
US5900018A (en) * 1997-06-24 1999-05-04 Sun Microsystems, Inc. Processor-implemented method of controlling data access to shared resource via exclusive access control write-cache
US6112282A (en) * 1997-06-24 2000-08-29 Sun Microsystems, Inc. Apparatus for atomic locking-accessing-unlocking of a shared resource
US5966543A (en) * 1997-06-26 1999-10-12 International Business Machines Corporation Method of using collaborative spinlocks to provide exclusive access to a resource in a multiprocessor computer system
US7055151B1 (en) * 1998-04-03 2006-05-30 Applied Micro Circuits Corporation Systems and methods for multi-tasking, resource sharing and execution of computer instructions
US6112222A (en) * 1998-08-25 2000-08-29 International Business Machines Corporation Method for resource lock/unlock capability in multithreaded computer environment
US6105050A (en) * 1998-08-25 2000-08-15 International Business Machines Corporation System for resource lock/unlock capability in multithreaded computer environment
US6105049A (en) * 1998-08-25 2000-08-15 International Business Machines Corporation Resource lock/unlock capability in multithreaded computer environment
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
US6738974B1 (en) * 1998-09-10 2004-05-18 International Business Machines Corporation Apparatus and method for system resource object deallocation in a multi-threaded environment
US6401110B1 (en) 1998-11-30 2002-06-04 International Business Machines Corporation Method for managing concurrent processes using dual locking
US6105099A (en) * 1998-11-30 2000-08-15 International Business Machines Corporation Method for synchronizing use of dual and solo locking for two competing processors responsive to membership changes
US6633954B1 (en) * 2000-03-31 2003-10-14 Emc Corporation Method for enhancing host application performance with a DASD using task priorities
JP2002073348A (ja) * 2000-08-31 2002-03-12 Mitsubishi Electric Corp シナリオ解析型制御システム装置
US6633870B1 (en) * 2000-09-13 2003-10-14 Radiant Data Corporation Protocols for locking sharable files and methods for carrying out the protocols
US6611848B1 (en) * 2000-09-13 2003-08-26 Radiant Data Corporation Methods for maintaining data and attribute coherency in instances of sharable files
US6687716B1 (en) * 2000-09-13 2004-02-03 Radiant Data Corporation File consistency protocols and methods for carrying out the protocols
US6742028B1 (en) 2000-09-15 2004-05-25 Frank Wang Content management and sharing
US6910212B2 (en) 2000-12-04 2005-06-21 International Business Machines Corporation System and method for improved complex storage locks
US6950901B2 (en) * 2001-01-05 2005-09-27 International Business Machines Corporation Method and apparatus for supporting parity protection in a RAID clustered environment
US6988145B2 (en) * 2001-01-24 2006-01-17 International Business Machines Corporation Method, system, and program for managing client access to a shared resource
US7694302B1 (en) * 2001-04-05 2010-04-06 Network Appliance, Inc. Symmetric multiprocessor synchronization using migrating scheduling domains
US7178137B1 (en) 2001-04-05 2007-02-13 Network Appliance, Inc. Automatic verification of scheduling domain consistency
US6880071B2 (en) * 2001-04-09 2005-04-12 Sun Microsystems, Inc. Selective signalling of later reserve location memory fault in compound compare and swap
US20020172221A1 (en) * 2001-05-18 2002-11-21 Telgen Corporation Distributed communication device and architecture for balancing processing of real-time communication applications
US20020174258A1 (en) * 2001-05-18 2002-11-21 Dale Michele Zampetti System and method for providing non-blocking shared structures
US7178145B2 (en) * 2001-06-29 2007-02-13 Emc Corporation Queues for soft affinity code threads and hard affinity code threads for allocation of processors to execute the threads in a multi-processor system
DE10148007A1 (de) * 2001-09-28 2003-04-24 Siemens Ag Verfahren zur Ressourcenzugriffskoordinierung in einem Datenverarbeitungssystem, Datenverarbeitungssystem und Computerprogramm
US7284061B2 (en) * 2001-11-13 2007-10-16 Canon Kabushiki Kaisha Obtaining temporary exclusive control of a device
JP2003233520A (ja) * 2002-02-07 2003-08-22 Fujitsu Ltd ネットワーク上のファイル資源のためのファイル制御装置
US20030182464A1 (en) * 2002-02-15 2003-09-25 Hamilton Thomas E. Management of message queues
US7398554B1 (en) * 2002-04-02 2008-07-08 Winbond Electronics Corporation Secure lock mechanism based on a lock word
US20080091761A1 (en) * 2002-08-06 2008-04-17 Stt Webos, Inc. Method and apparatus for information exchange over a web based environment
US20110119353A1 (en) 2002-08-06 2011-05-19 Tsao Sheng Tai Ted Method and Apparatus for information exchange over a web based environment
US8577839B2 (en) * 2002-08-06 2013-11-05 Sheng Tai (Ted) Tsao Method and apparatus of dynamic updating web portals
US8234089B2 (en) * 2002-11-07 2012-07-31 National Instruments Corporation Auto-scheduling of tests
US7373640B1 (en) 2003-07-31 2008-05-13 Network Appliance, Inc. Technique for dynamically restricting thread concurrency without rewriting thread code
US7500242B2 (en) * 2003-09-08 2009-03-03 Intel Corporation Low-contention lock
US7493618B2 (en) * 2003-09-19 2009-02-17 International Business Machines Corporation Fault tolerant mutual exclusion locks for shared memory systems
US7380073B2 (en) 2003-11-26 2008-05-27 Sas Institute Inc. Computer-implemented system and method for lock handling
US8171480B2 (en) 2004-01-27 2012-05-01 Network Appliance, Inc. Method and apparatus for allocating shared resources to process domains according to current processor utilization in a shared resource processor
US7162666B2 (en) * 2004-03-26 2007-01-09 Emc Corporation Multi-processor system having a watchdog for interrupting the multiple processors and deferring preemption until release of spinlocks
US7917906B2 (en) * 2004-07-02 2011-03-29 Seagate Technology Llc Resource allocation in a computer-based system
US7403945B2 (en) * 2004-11-01 2008-07-22 Sybase, Inc. Distributed database system providing data and space management methodology
US8347293B2 (en) 2005-10-20 2013-01-01 Network Appliance, Inc. Mutual exclusion domains to perform file system processes on stripes
US20070094669A1 (en) * 2005-10-25 2007-04-26 Microsoft Corporation Shared resource acquisition
KR100748700B1 (ko) * 2006-01-18 2007-08-13 삼성전자주식회사 화이트보드를 이용한 원격회의 시스템 및 그 방법
US8099538B2 (en) * 2006-03-29 2012-01-17 Intel Corporation Increasing functionality of a reader-writer lock
US9223637B1 (en) * 2007-07-31 2015-12-29 Oracle America, Inc. Method and apparatus to advise spin and yield decisions
US8387122B2 (en) * 2008-05-16 2013-02-26 University Of Washington Access control by testing for shared knowledge
US9213586B2 (en) * 2009-03-18 2015-12-15 Sas Institute Inc. Computer-implemented systems for resource level locking without resource level locks
US8572617B2 (en) 2009-07-21 2013-10-29 Sas Institute Inc. Processor-implemented systems and methods for event handling
US8627331B1 (en) 2010-04-30 2014-01-07 Netapp, Inc. Multi-level parallelism of process execution in a mutual exclusion domain of a processing system
US8595567B2 (en) * 2010-12-16 2013-11-26 Wind River Systems, Inc. Method and system for spinlock fault recovery
US9244614B2 (en) * 2011-08-04 2016-01-26 Intel Corporation Memory coalescing computer-implemented method, system, apparatus and computer-readable media
US20140006867A1 (en) * 2012-06-29 2014-01-02 National Instruments Corporation Test Executive System With Process Model Plug-ins
US20170220466A1 (en) * 2016-01-30 2017-08-03 Intel Corporation Sharing a guest physical address space among virtualized contexts
US11005793B2 (en) * 2017-12-15 2021-05-11 Slack Technologies, Inc. Method, apparatus, and computer program product for determining access control parameter discrepancies in group-based communication channels with a group-based communication system
KR102450133B1 (ko) * 2019-04-04 2022-10-05 한국전자통신연구원 분산 잠금 관리를 하는 분산 시스템 및 그것의 동작 방법
CN115695317B (zh) * 2022-12-23 2023-04-07 海马云(天津)信息技术有限公司 接入请求的排队和出队方法与装置、电子设备及存储介质
CN120276878B (zh) * 2025-06-05 2025-08-19 深圳市楠菲微电子有限公司 基于硬件实现的互斥锁装置及其控制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54101635A (en) * 1978-01-09 1979-08-10 Honeywell Inf Systems Queue structure for data processor
JPS58169659A (ja) * 1982-03-30 1983-10-06 Fujitsu Ltd 共用ロツク制御方式

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3886525A (en) * 1973-06-29 1975-05-27 Ibm Shared data controlled by a plurality of users
US4271468A (en) * 1979-11-06 1981-06-02 International Business Machines Corp. Multiprocessor mechanism for handling channel interrupts
US4399504A (en) * 1980-10-06 1983-08-16 International Business Machines Corporation Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
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
US4400773A (en) * 1980-12-31 1983-08-23 International Business Machines Corp. Independent handling of I/O interrupt requests and associated status information transfers
US4482956A (en) * 1982-11-04 1984-11-13 International Business Machines Corporation Parallel queueing method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54101635A (en) * 1978-01-09 1979-08-10 Honeywell Inf Systems Queue structure for data processor
JPS58169659A (ja) * 1982-03-30 1983-10-06 Fujitsu Ltd 共用ロツク制御方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011148553A1 (ja) * 2010-05-24 2011-12-01 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および情報処理方法
JP2011248468A (ja) * 2010-05-24 2011-12-08 Sony Computer Entertainment Inc 情報処理装置および情報処理方法
US9658905B2 (en) 2010-05-24 2017-05-23 Sony Corporation Information processing apparatus and method for carrying out multi-thread processing

Also Published As

Publication number Publication date
EP0145889B1 (en) 1989-04-26
DE3477972D1 (en) 1989-06-01
US4604694A (en) 1986-08-05
EP0145889A3 (en) 1987-10-21
CA1213066A (en) 1986-10-21
JPH0533410B2 (ja) 1993-05-19
EP0145889A2 (en) 1985-06-26

Similar Documents

Publication Publication Date Title
EP0145889B1 (en) Non-spinning task locking using compare and swap
JP4042945B2 (ja) 共用資源を非同期的に更新するためのインターフェース・システムおよび方法
US7653791B2 (en) Realtime-safe read copy update with per-processor read/write locks
US5274823A (en) Interrupt handling serialization for process level programming
US7500037B2 (en) System, method and program for managing locks
US4482956A (en) Parallel queueing method
US5956712A (en) Byte range locking in a distributed environment
US6934950B1 (en) Thread dispatcher for multi-threaded communication library
US20130160028A1 (en) Method and apparatus for low latency communication and synchronization for multi-thread applications
EP0682312A2 (en) Hardware implemented locking mechanism for parallel/distributed computer system
US6963882B1 (en) Method and apparatus for processing a list structure
US6189007B1 (en) Method and apparatus for conducting a high performance locking facility in a loosely coupled environment
US6862595B1 (en) Method and apparatus for implementing a shared message queue using a list structure
JPH11327931A (ja) セマフォ操作を実行する方法及び装置
JPH02163835A (ja) 待ち行列又はスタックから要素を除去する方法
JPH0552980B2 (ja)
US6185650B1 (en) High performance locking facility
US6253274B1 (en) Apparatus for a high performance locking facility
US6662364B1 (en) System and method for reducing synchronization overhead in multithreaded code
US6088757A (en) Computer program means and device for conducting high performance locking facility in a loosely coupled environment
US5764922A (en) I/O system for off-loading operating system functions
JP7346649B2 (ja) 同期制御システムおよび同期制御方法
EP0290533B1 (en) I/o system for off-loading operating system functions
WO1988003682A2 (en) I/o system for off-loading operating system functions
JP2010026575A (ja) スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term