JPS584372B2 - オブジェクト・アクセス制御装置 - Google Patents

オブジェクト・アクセス制御装置

Info

Publication number
JPS584372B2
JPS584372B2 JP54130951A JP13095179A JPS584372B2 JP S584372 B2 JPS584372 B2 JP S584372B2 JP 54130951 A JP54130951 A JP 54130951A JP 13095179 A JP13095179 A JP 13095179A JP S584372 B2 JPS584372 B2 JP S584372B2
Authority
JP
Japan
Prior art keywords
hold
record
chain
address
gated
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
JP54130951A
Other languages
English (en)
Other versions
JPS5557954A (en
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 JPS5557954A publication Critical patent/JPS5557954A/ja
Publication of JPS584372B2 publication Critical patent/JPS584372B2/ja
Expired 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)
  • Storage Device Security (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】 〔技術分野〕 本発明はプログラム記憶式データ処理シスデムにおいて
、複数のタスクによるオブジェクトへのアクセスを制御
する装置に係る。
〔本発明の背景〕
2以上のプログラムを同時に処理し得るデータ処理シス
テムにおいては、データ又はプログラムに対するアクセ
スの衝突を避けるための手段を備えておく必要がある。
データ処理システムのユーザのために遂行されるプロセ
スは「タスク」と呼ばれる。
各タスクは1以上のプログラムを含み得る。
プログラムは多数の機械語命令から成っている。
各機械語命令は、「オブジェクト」と呼ばれるアドレス
指定可能な対象に対してオペレーションを遂行する。
オブジェクトにはデータ、タスク,プログラムなどが含
まれる。
特定のオブジェクトに対するアクセスの衝突は、そのよ
うなアクセスを要求している各々のタスクを直列化する
ことによって回避される。
直列化されると、現タスクが問題のオブジェクトに対す
るオペレーションを終了するまで、同じオブジェクトへ
の衝突するアクセスを要求している他のタスクは待機状
態にされる。
従来の直列化技術はソフトウエアによって実施されてい
るが、ソフトウエアによる直列化は比較的長い処理時間
を必要とする。
更に、ソフトウエアでアクセス制限(ホールド)を具体
化するシステムにしても、実際に認識できるオブジェク
ト・アクセス・レベルの数は2までであり、複数のタス
クが所与のアクセス・レベルを共有する能力も限られて
いる。
従来のシステムでは、オブジェクトに課されているアク
セス制限は、ホールド・プログラムを呼出してそのオブ
ジェクトに或る制限を加えることによってのみ検査する
ことができた。
従って、実際のオペレーションにあたってホールドを必
要としない場合であっても、そのオブジェクトの可用性
を調べるということだけのために、かなりの処理時間を
かけてホールドの付加及び除去を行なわなければならな
い。
加うるに、或るオブジェクトへのアクセスが制限されて
いるかどうかを調べるためには、プログラマがホールド
を適用するか又は他のプログラミング手順に従わなけれ
ばならないので、従来のアクセス制限は確実さに欠け、
オブジェクトの保全性に問題がある。
別の問題として、従来のシステムでは各タスクによる多
重ホールドができないため、或るオブジェクトのための
ホールドを除去するにあたっては大きな注意を払う必要
があった。
また、従来のシステムにおけるアクセス制限は、一般に
、その制限を加えたユーザによる追跡ができないもので
あった。
従来のシステムでは、ソフトウエア・ホールドはそれに
よって制限されるオブジェクトと共に記憶されており、
ホールドに関する状況データは1つにまとめられていな
い。
従って、ホールドに関係したオペレーションを遂行する
ためには、仮想メモリ・システムにおけるページングの
量を増す必要がある。
〔本発明の目的〕
本発明の目的は、複数のタスクによるオブジェクトへの
アクセスを自動的に且つ確実に制御することができ、し
かもその制御が外部からのアクセスが困難なハードウエ
ア・レベルで達成されるオブジェクト・アクセス制御装
置を提供することにある。
〔本発明の概要〕
本発明はオブジェクトのアクセス制限をハードウエア直
列化機構の形で実現させるもので、要求されているオブ
ジェクトのアドレスを保持するアドレス保持手段と、現
タスクの識別子を保持する識別子保持手段と、各オブジ
ェクトに課されているアクセス制限を関連するタスクの
識別子と共に記憶する記憶手段と、この記憶手段からオ
ブジェクト・アドレスを用いて対応するアクセス制限を
読出す読出し手段と、安求されている動作及び現タスク
の識別子と読出されたアクセス制限との両立性をテスト
し、その結果に応じて動作を禁止又は許可するアクセス
制御手段とを具備している。
現タスクの命令によって要求される動作には、通常のア
クセス(読取り、書込みなど)の他に、特定のアクセス
制限を加える動作及び既に存在しているアクセス制限を
除去する動作が含まれ、そのすべての場合において両立
性がテストされる。
テストの結束両立性が否定されると、問題のオブジェク
トへのアクセス又はアクセス制限の付加もしくは除去は
禁止される。
上述の構成によれば、1つのオブジェクトに対し、両立
性が存在している範囲内において複数のアクセス制限を
加えることができる。
また、各々のアクセス制限が関連するタスク即ち当該ア
クセス制限を加えたタスクの識別子と共に記憶され、両
立性をテストするときにはこの識別子も使用されるので
、共有オブジェクトの保全を確実に行なえる。
〔実施例の説明〕
A.定義 アクセス制限に関する動作は、ユーザによって要求され
る場合と、機械命令によって自動的に要求される場合と
がある。
前者は「ロツク/アンロツク」と呼ばれ、後者は「捕獲
/解放」と呼ばれる。
本発明の装置もこれらに対応して、以下「許容/自由装
置」と呼ぶことにする。
「許容」はオブジェクトのロック又は捕獲に対応し、「
自由」はオブジェクトのアンロツク又は解放に対応する
,ロツク/アンロツクは、或るオブジェクトに対して特
定の型のアクセス制限即ちホールドを加えたいとき、又
はそのようなホールドを除去したいときに、ユーザが設
定したロック命令又はアンロツク命令によって遂行され
る。
これに対し、捕獲/解放は機械命令がオブジェクトに対
して特定の動作を行なうためのものであり、従って捕獲
の持続時間は単一の機械命餐に制限される。
捕獲には排他的捕獲と共有捕獲(非排他的捕獲)とがあ
る。
ロックも排他性を持つものと共有性を持つものとに分け
られるが、オブジェクトに対する動作に応じて更に細分
される。
まず動作については、「破壊」、「修正」、及び[読取
り」が行なわれるものとする。
「破壊」動作は、それによって他のタスクが問題のオブ
ジェクトの破壊、修正又は読取りを行なえなくなるよう
なすべての動作を意味する。
例えば、オブジェクトの名前が変更されたり消去された
りすると、他のタスクはそのオブジェクトにアクセスで
きなくなる。
「修正」動作は、他のタスクによるアクセス可能性を残
したままで、オブジェクト自体又はその特性を変化させ
る動作を意味する(更新とも言う)。
「読取り」動作はオブジェクトのアクセスを要求するが
それを変比させないような動作を意味する。
これらの動作は階層的である。即ち、オブジェクトを破
壊し得るタスクは修正及び読取りも可能であり、オブジ
ェクトを修正し得るタスクは読取りも可能である。
これらの動作の間の両立性については、或るタスクによ
るオブジェクトの破壊は、他のタスクによる同じオブジ
ェクトの読取り、修正又は破壊と両立せず、従って排他
性を持っている。
しかし読取り及び修正に限れば、基本的には排他性を持
っていない。
捕獲/解放の基本的機能は、或るタスクがオブジェクト
の修正又は破壊を行なっている間は他のタスクが同じオ
ブジェクトの読取り、修正又は破壊を行なえないように
することによって、オブジェクトの保全を図ることにあ
る。
2つのタスクが同じオブジェクトを同時に読取ることは
差し支えない。
従って、捕獲には2つの型があることがわかる。
即ち、[共有捕獲(SHSZ)、及び[排他的捕獲(E
XSZ)Jである。
共有捕獲はオブジェクトを読取るだけのタスクによって
要求され、それが得られると、タスクに対してオブジェ
クトを読取るためのアクセスを保証する。
そのとき、他のタスクによる共有捕獲が同じオブジェク
トに関して既に得られていてもよい。
排他的捕獲はオブジェクトを修正もしくは破壊するタス
クによって要求される。
排他的捕獲が得られると、他のタスクはそのオブジェク
トに対して如何なる動作も行なえない。
従って、或るオブジェクトについて排他的捕獲が存在し
ている限り、他のタスクによる共有捕獲及び排他的捕獲
は許されない。
逆に、排他的捕獲はそれを保有するタスクに対し中断さ
れないアクセスを保証する。
しかし或るオブジェクトについて既に共有捕獲が存在し
ていれば、排他的捕獲は許されない。
もし、許されると、既に共有捕獲を得ていた、即ち読取
りを保証されていたクスタがそのオブジェクトを読取れ
なくなるからである。
共有捕獲及び排他的捕獲は、問題のオブジェクト(こつ
5)て既に存在しているロックと両立しない場合にも許
されない。
ロツクはユ−ザの制御の下にあり、次の5つの型に分け
られる。
排他的ロツタ読取り禁止(LENR)一この型のロック
を有するタスクは問題のオブジェクトを全曲的に支配す
る。
他のタスクはどれもこのロックがかかつている間はオブ
ジェクトにアクセスし得ない。
オゾジ丁クトはこのロツクを保持するタスクによって何
時でも読取り、修正もしくは破壊され得る。
このロックは問題のオブジェクトに対し他のタスクが如
何なる支配潅も持っていない場合にのみ許容される。
排他的ロック読取り許容(LEAR)一このロックはこ
れを保持するタスクに、何時でも問題のオブジェクトを
読取りもしくは修止するだめのアクセスを保証し、さら
にどの他のタスクもこの田ンクが有効である間はオブジ
ェクトを修止し得ない事を保証する。
このロックは、もしオブジェクトに対し他のタスクがL
ENR,LEAR,LSUPもしくはLSROのロック
又は排他的捕獲のいずれかを保持するならば許容されな
い。
共有oツク更新(LSUP)一このロツノはこれを保持
するクスタに何時でも間頂のオブジェクトを読取りもし
くは修市するためのアクセスを保証する。
他のタスクは、オブジェクトの読取りもしくは修正は行
なえるが、オブジェクトを破壊ずる↑は出来ない。
このロツタは、もし他のタスクが問題のオブジェクトに
対しLENR,LEARもしくはLSUPのロツタ又は
排他的捕獲を保持しているならば許容されない。
共有ロック読取り(LSRD)一このロックはLSRO
と同じくオブジェクトの読取りアクセスを保証する。
他のタスクはオブジェクトの読取りの他に修止もできる
が、破喰はできない。
このロツクは他のタスクが問題のオブジェクトに対して
LENRのりツクもしくは排他的捕獲を保持しているな
らば許容されない。
共有ロック読取りのみ(LSRO)一このロックはタス
クのオブジェクトに対する読取りアクセスを任意の時刻
に保証する。
他のタスクはオブジェクトの読取りはできるが、修正も
しくは破壊はできない。
このロックは他のタスクがLENR.LEAR,もしく
はLSUPのDノク又は排他的捕獲をオブジェクトに対
しで保持しているならば訂容されない。
上述の5種類のロックを表の杉で要約すると次のように
なる。
前述のように、捕獲には2つの型、即ち排他的,捕獲及
び共有捕獲がある。
排他的捕獲は、それを要求しているのが修正命令が破壊
命令かに応じて異なった手順で具体化される。
修正命令の場合は、問題のオブジェクトにどのようなロ
ックも存在していないか又は他のタスクによる修正を許
容する型のロック(例えばLSUP.LSRD)が存在
していると、排他的捕獲は許容される。
これに対して、破壊命令による排他的捕獲は、問題のオ
ブジェクトにどのようなロックも存在していない場合に
のみ許容される。
従って、捕獲によるアクセス制限(ホ−ルド)には3つ
の型があることがわかる。
ロックには5つの型があったから、本発明の好ましい実
施例においては、全部で8つの−意的なホ−ルドが使用
されることになる。
許容/自山装置の主な機能に「許容ホールド機能」及び
[自由ホ−ルド機能]がある。
誇群ホールド機能は、オブジェクトの読取り、修正もし
くは破壊を行なう機械品令又はオブジェクトをロツクず
るしフック命令の実行が許されるか占かを決定する。
この決定は、後述するホールド要求ブロック中のデスト
・バイトに基づいて行なわれる。
自山ホールド機能は、機械命令によるオブジェクトの読
取り、修正もしくは破壊が完了したとき又はアンロツク
命令が出されたときに呼出され、問題のオブジェタトに
付随する捕獲又は0ツクを除人する。
ロック命令及びアンロツタ命令も機械命告であるが、ホ
ールド型コード(ロックの型を示すコード)が命令の入
力オペランドとしてユーザによって指定されるという点
で他の機械副令とは異なっている。
読取り命令、修正命令及び破壊命令のホールド型コード
は予め決まっている。
何れにしても、許容/自由装置は、問題のオブジェクト
のアドレス及びホールド型コードを受取って種々の動作
を行なう。
B.構成 第1図を参照して、本発明は内蔵プログラム計算機シス
テムに組込まれたものとして説明される,■乃至それ以
上のプログラム10はl乃至それ以上のオブジェクト(
図示されず)に操作を加えるタスク12へ編入されてい
る。
タスク12内の各プログラム10は夫々の命令の流れの
中でオブジェクト・アドレス14を使用する。
オブジェクトアドレス14はハツシュ発生器16によっ
て操作ヲ受ける。
ハツシュ発生郡はハツシュ・アルゴリズムを使用してオ
ブジェクト・アドレス14よりも長さが短かいハツシュ
・アドレスもしくはハツシュ・インデックス18を発生
する。
ハツシュ・インデックス18はホールド・ハツシュ表H
HT20中の特定のホールド・ハツシュ表エントリ−H
HTE5Qを参照する。
HHT2Q中のHHTE50はオブジェクト・アドレス
14に存在するオブジェクトのための現在のホールド・
アクテイビテイを含むホールド・レコード連鎖22に対
するアドレスを含む。
ホールド・レコード連鎖22は同様にハツシュ・シノニ
ム即ちハツシュ発生器16が同じハツシュ・インデック
ス18を発生する様な異なるオブジェクト・アドレス1
4ヲ含む。
各HHTE5Qはホ−ルド・レコード連鎖22に対する
アドレスかもしくはO値を含む。
O表示はオブジェクト及びそのハツシュ・シノニム(以
ドハツユ・シノニム群と呼ぶ)に対する現在のホールド
・アクテイビテイがない事を示す。
従って各ボールド・レコ−ド連鎖22はシステム中のす
べてのアクティブなタスク12のための特定ノハツシュ
・シノニム群に対するすべての現在のボールド・レコー
ド34のア・タ戸イビテイを含む。
使用可能なホールド・レコ−ドの連鎖24が初期設定さ
れ、ここから新らしいホールド・レコ−ド34が引出さ
れ、これに自由にされたボールド・しコード34が戻さ
れる。
制御アドレス表CAT3Bはすべてのタスク12がアク
セスし得る表である。
CAT3BはHHT20の開始点のホールド・ハツシュ
表アドレスHHTA40及び使用可能なホールド・Lコ
ード連鎖24中に残存している最初の使用可能なボール
ドの使用可能ホールド・レコ−ド・アドレスAHRA4
2を含む。
第2図を参照するに、タスク12を一意的に同定スるタ
スク指名エレメントTDE30は許容/自山装置によっ
て使用される2つの−フィールドを含んでいる。
第1のTDEフィールドはタスク12に5よって創生さ
れる各ホールド・レコード34中にコピーされる一意的
なタスク識別子TDEID32である。
これはタスク12によって自由にされた任意のホールド
・レコード34が同じクスク12によって創生されたも
のであった事を保証するために許容/自由装置によって
遂行されるホールド自由機能によって使用される。
第2のTDEフィールドはクスク12によって形成され
たすべてのホ−ルド・レコードの計数 TDECNT36である。
TDECNT36はタスク12によって創生されたすべ
てのホールド・レコード34が除去される事を保証する
ためとすべての創生されたホールド・レコ一ドが除去さ
れた後にさらにホールド・レコード34のための探索を
避けるためにタスク12が破壊される時に使用される。
すべてのホールド・レコード34は、これ等がハツシュ
・シノニム群のための特定の使用されるホールド・レコ
ード連鎖22上にあるかもしくは使用可能ホールド・レ
コード連鎖24上にあるかに拘らず現実には単一のホー
ルド・レコード領域HRA4B内に含まれる。
与えられたホールド・レコード連鎖22もしくは使用可
能ホールド・レコード連鎖24上のホールド・レコード
34は隣接している様に見えるが、これ等は隣接してい
る必要はない。
ホールド・レコード34はホールドレコ−ド連鎖22及
び24内の次のホールド・レコード34のアドレス並び
に使用されるホールドレコード連鎖22のためのHHT
E50もしくは使用可能ホールド・レコード連鎖24の
ためのAHRA42を処理する事によって隣接して見え
る様にする事が出来る。
ホールド・レコード連鎖22もしくは24上の次のホー
ルド・レコード34のアドレスは以下説明される如く各
ホールドレコード34内に含まれる。
16バイト・ホールド・レコード34のフォーマットが
第3図に示されている。
バイト0はHRフラッグ60を含み、これは5個の不使
用のビット0−4とこれに続く3個のフラッグ・ビット
5−1より成る。
ビツト5はビジイ・フラッグ(HRビジイ)62で他の
タスクがホールド・レコード連鎖22に操作を加えるの
を防止するため任意のホールド・レコード連鎖22中の
最初のホールド・レコード34中でセットもしくはオフ
にされ得る。
ビット6は連鎖の終りフラッグHREOC64であり、
各ホールド・レコード連鎖22中の最後のホールド・レ
コード34中でオンにされる。
ビットTは特定のモニタされたホールド・レコード34
が自由にされた時にプログラミング・システムに知らせ
るために使用されるモニタ・フラッグ(HRモニタ)6
6である。
ホ−ルド・レコード34のバイト1は実行されるべき特
定のホールドの正確な型を示すホールドコード(HRホ
ールド)68を含む。
バイト2−7はホールド・レコード34が適用されるオ
ブジェクト・アドレス(HRオブジェクト・アドレス)
10を含んでいる。
HRオブジェクト・アドレス10はホールド・レコード
連鎖22上のホールド・レコード34がオブジェクト・
アドレス14に適用可能であるか、オブジェクト・アド
レス14のハツシュ・シノニムに適用可能であるかを決
定するためにオブジェクト・アドレスと比較されなけれ
ばならない。
バイト8−9はホールドレコード34が創生きれる時に
TDE30中のTDEID32フィールドからロードさ
れるタスク識別子HR TDE 72を含んでいる。
バイト10−11はホールド・レコード連鎖22もしく
は使用可能ホールド・レコ−ド連鎖24中の次のホール
ド・レコード34のアドレス(HR連鎖)74を含んで
いる。
バイト12−15は使用されない。
第3図は同様に以丁説明される許容/自由装置によって
使用される2バイトのホールド要求ブロックHRB76
のフォーマットを示している。
バイト0はテストさるべきホールドの型を示すため許容
/自由装置中において使用されるビット・コードHRB
TEST 7Bを含む。
これ等のホールドの型はかならずしも許容もし《は自由
にさるべきホールドと同じである必要はない。
例えば、本発明の捕獲及びロックのプロトコールはLS
RDロックを許容する前にLENRロックをテストする
,バイト1は許容もしくは自由化されるべき実際のホー
ルド型であるHRBHOLD 80を含む。
第1,2及び3図を参照するに、ホールド・レコード制
御動作は許容/自由装置によって遂行される3つの内部
機能、即ち連鎖ビジイ・フラッグの取扱い(セット/リ
セット連鎖ビジイ機能);オブジェクトに対し要求され
たホールドの許容(許容ホールド機能)及びオブジェク
トに対し特定されたホールドの自由化(自由ホールド機
能)より成る。
ビジイ・フラッグ取扱い機能はセット/リセット連鎖ビ
ジイ機能より成る。
予じめ指定されたオブジェクト・アドレス・レジスタは
問題のオブジェクトの6バイト・オブジェクト・アドレ
ス14を含む。
予じめ指定された復帰ホールド・レコード・アドレス・
レジスタは、もしHHTE50の内容が非OでHRビジ
イ・フラッグ62が以下説明される如く予期される状態
にあればホールド・レコード連鎖22上の最初のホール
ド・レコード34のアドレスがロードされる。
オブジェクト・アドレス14はハツシュ発生器16中で
HHT20へのインデックスとして使用される1バイト
のハツシュ・アドレス即ち、ハッシュ・インデックス1
8にハツシュされる。
HHT20へのアドレスHHTA40はCAT3B中に
存在する。
HHT20は2バイト・アドレスHHTE5Qのリスト
を含む。
HHTE50の各々はOであるかもしくはオブジェクト
・アドレス14及びそのハツシュ・シノニムのためのホ
ールド・レコード連鎖22中の最初のホールド・レコー
ド34のバイト・アドレスの最右の2バイトのいずれか
である2バイト・アドレスHHTE50はHRA4B中
のホールド連鎖22を参照する。
HRA4B中のすべてのホ−ルド・レコード34はそれ
等の6バイト・アドレスの最左の4バイトが共通である
様に記録領域中で画定されているので、ホールド・レコ
ード・アドレスの最左の4バイトはCAT38中に保持
された利用町能ホールド・レコードアドレスAHRAか
ら得られ得る。
これによりHHTE50及びHR連鎖14のアドレスは
最右の2バイトだけに簡単化され得る様にされる。
もしHHT20中のHHTE50が0ならば、ホールド
・レコード連鎖22はホールド・レコ−ド34を含まず
、連鎖の終りラッチがオンに転ぜられ、予じめ指定され
た復帰ホールド・レコード・アドレス・レジスタの内容
は変化されず、セット/リセット連鎖ビジイ機能が完了
される。
もしHHT20中のHHTE50の内容が非0ならばH
HTE50によってアドレスされるホールド・レコード
連鎖22中の第1のホールド・レコード34がフエツチ
され、HRビジイ・フラッグ62が検査される。
セット連鎖ビジイ機能の場合、もしホールド・レコード
連鎖22がすでにビジイである事が発見されるならば、
即ちもしHRビジイ・フラッグ62がオンならば、ビジ
イ・ラッチがオンに転ぜられる。
同様に、リセット連鎖ビジイ機能の場合、もしHRビジ
イ・フラッグ62がすでにオフならば、ビジイ・ラッチ
がオンに転ぜられる。
これ等の2つの場合のいずれでも、もし連隅の終りラッ
チがオンかもしくはビジイ・ラッチがオンならば、予じ
め指定された復帰ホ一ルド・レコード・アドレス・レジ
スタの内容は変化されない。
もしビジイ・ラッチがオフならば、HRビジイ・フラッ
グ62の状態が逆転され、連鎖22の最初のホールド・
レコード34のHRオブジェクト・アドレス70はこれ
を予じめ指定された復帰ホールド・アドレス・レジスタ
へロードする事によって復帰される。
許容/自由装置によって遂行される第2の内部機能は許
容ホールドである。
許容ホールド機能の可能な結果は所望のホールドの許容
の成巧、もはや使用可能なホールド・レコードが存在し
ないという例外による表示、もしくはホールドの衝突が
存在するという発見である。
予じめ指定されたオブジェクト・アドレス・レジスタは
問題のオブジェクトのためのオブジェクト・アドレス1
4を含む。
このオブジェクト・アドレス14はハツシュされ、ホー
ルド・レコード連鎖22上の最初のホールド・レコード
34がセット/リセット連鎖ビジイ機能中の如くアクセ
スされる。
第2の予じめ指定されたレジスタは2バイトのHRB7
6のフイールドを含む。
第3の予じめ指定された復帰ホールド・アドレス・レジ
スタはホールドが許容されるか、ホールドの衝突が存在
する事が発見されるかどうかにかかわらず、ホールド・
レコード34のアドレスをロードされる。
もしHHTE50が0ならば新しいホールド・レコード
34が以下説明される如く(そのHREOCフラッグ6
4をオンの状態にして)形成される。
TDE30中のTDECNT 36が1だけインクレメ
ントされ、形成されたホールド・レコード34のアドレ
スが復帰ホールド・レコード・アドレス・レジスタヘロ
ードされる。
HHTE50がホールド・レコード連鎖22をアドレス
するのならば、ホールド・レコード連鎖22中の各々の
ホールド・レコードが1つずつアクセスされる。
もし最初のホールド・レコード34のHRビジイ・フラ
ッグ62がオンならば、ビジイ・ラッチがオンに転ぜら
れ、復帰ホールド・レコード・アドレス・レジスタは変
更されず、許容ホールド機能が完了される。
そうでない場合、各ホールド・レコードが倹査され予じ
め指示されたオブジェクト・アドレス・レジスタの内容
がホールド・レコード34中のHRオブジェクト・アド
レス70と一致するかどうか、HRBTEST 7Bが
(可能なホールドの衝突を示して)HRホールド・フィ
ールド68と共通の任意のビットがオンであるかどうか
を見るために検査される。
もし共通ビットがオンならば、TDE30のTDEID
フィールド3、2がホールド・レコード34中のHR
TDEフィールド12と比較され、もし一致するならば
、可能な衝突は無視される。
そうでない場合真の衝突が生ずる。もし全神鎖がオブジ
ェクトのための衝突するホールドを含まないならば、新
らしいホールド・レコードがv下説明される如く創生き
れ、(HR EOC フラッグ64がこの場合オフに残
される点を除いて)、0連鎖の場合古同様に連鎖の前面
に連結される。
もし衝突がオブジェクトに対して発見されるならば衝突
ラッチがオンに転ぜられ、復希ホールド・レコード・ア
ドレス・レジスタは衝突するボールド・レコードのアド
レスがロードされ、許容ホールド機能が完了する。
衝突が発見されず、所望のホールドが許容されるべきす
べての場合において、HRB76のHRBHOLD 8
0はすべてのO(空白ホールド)表示を求めて検査され
る。
HRBHOLD 80が全0であればホールド・レコー
ドは創生きれず、許容ホールド機能は終了する。
そうでない場合、新らしいホールド・レコードは使用可
能ホールド・レコード連鎖24中の最初の使用可能なホ
ールドレコード34をフエツチし、もしそのHR EO
Cフラッグ64がオフならばHRホールド68、HRオ
ブジェクト・アドレス70、HR TDEγ2、HR連
鎖(次のアドレス)74及び(もし適切ならば)HR
EOCフラッグ64を更新する事によって創生きれる。
新らしいホールド・レコードが次いで連鎖中の最初の位
置に連結される。
もしフエツチされた使用可能ボールド・レコード34の
HR EOCフラッグ64がオンならば、これは使用可
能ホールド・レコード連鎖24中最後のものである事を
示し、新らしいホールド・レコード34は創生きれず、
連鎖士に置かれない。
この場合、メモリ制限超過ラッチを介して追加の使用可
能なホールド・レコード34の初期設定が行なわれるか
もしくはこれ以上ホールド・レコ−ド34が初期設定さ
れ得ないならば修正動作が開始される。
許容/自由装置によって遂行される第3の内部機能は自
由ホールドである。
自由ホールド機能の可能な結果は上述のホールドを自由
化する事、自由化されるべきホールド・レコードがモニ
タされるべきかどうかを示す事、一致するホールドが発
見されない事を示す事である。
3つの予じめ指定されたレジスタは、HRモニタ・フラ
ッグ66がオンならば復帰ホールド・レコード・アドレ
ス・レジスタが自由化されるべきボールド・しコードの
アドレスをロードされる点を除いて許容ホ一ルド機能に
対して説明されたものと同じである。
もし連鎖が空かヒジイならば、一致ホールドは発見され
得す、夫々連鎖の終りラッチもしくはビジイ・ラッチが
オンに転ぜられ、復帰アドレス・レジスタは変史されな
い。
そうでない場合、ホールド・しコード連鎖22十のホー
ルド・しコード34がHRオブジェクト・アドレス・バ
イト10、HRホールド・バイト68及びHR TDE
バイト72中の内容との市確な一致を求めて比較される
,上述のすべての3つと一致するホールド・レコ一ド連
鎖22上の最初のホールド・レコ一ド34がホールド・
レコ−ド連鎖22から除去されるべき一つの候補である
先ずHRモニタ・フラッグ66が倹査され、もしオンな
らば候補ホールド・レコードのアドレスが復帰ホールド
・レコード・アドレス・レジスタヘロードされ、ホール
ド・レコード連鎖22はその最初のホールド・レコード
34中のHRビジイ・フラッグ62をオンに転ずる事に
よってビジイ状態に置かれ、モニタ・ラッチがオンにさ
れる。
もしHRモニタ・フラッグ66がオフならばボールド・
レコード34はホールド・レコード連鎖22から除去さ
れ使用可能ホールド・レコード連鎖24へ戻される。
もしホールト・レコード連鎖22中のどのホ−ルド・レ
コ−ド34もオブジェクト・アドレスと一致しない事が
発見されると、以下説明される1ロック不在ラッチ”が
オンに転ぜられ、ロック不在例舛が信号され、復帰ホー
ルド・レコード・アドレス・レジスタは賓更されない。
第4図は本発明の好ましい実施例のデータの流れを示す
プロセツサ制飾ユニツトPCU90が・データの流れの
ための順序付け、レジスタ選択及び即値データ放出のた
めの制御中心である。
PCU90は制御ラッチ100をサンプルする。
関連する制御ラッチは第5図に示されている。
PCU90が制御信号を発生する方法はこの技術分野で
周知であり、本発明とは直接関係しない。
PCU90に加えて通常の演算論理ユニットALU92
が存在する。
主メモリ・ユニット94、3つのレジスタ配列体120
,130,140及びホールド要求エミツク配列体15
0が示されている。
これ等の後者の5個のユニットの各々は通常の如くアド
レス・レジスタによってアドレスされる。
これ等のユニツトの各々はホールド要求エミツタ配列体
150を除き、その内容をデータ・レジスタによって双
方向的に転送する。
所望のレジスタ内容を選択するための配列体アドレスの
ゲート動作は周知であり、一般的に説明から省略される
メモリ・アドレス・レジスタSAR配列体140及び汎
用レジスクGPR配列体120は各レジスタが同長の通
常の読取/書込みレジスタ配列体である。
上述のCAT3B(第1図及び第2図)はこの特定の実
施例の場合、SAR配列体140の一部として含まれる
専用レジスクSPR配列体130はそのレジスタが論理
的に異なる長さであり得る点でわずかに異なる。
この技術分野の専門家にとっては任意数(偶数)のバイ
トのレジスクを具体化するために多くの小さな(例えば
、2バイトの)セクシコンをアドレスし転送するために
必要とされるステップは容易に認識する事が出来よう。
PCU90の直接制御下にある即値データエミツタ96
は選択町能な定数をALU92の右側に転送する。
2バイトO検査ユニット98がSPRデータ・レジスタ
132の右側の2バイトに対して与えられる。
O検出ユニット98は、これがPCU90によってイネ
ーブルされてSPRデーク・レジスタ132中のすべて
のOの最右の2バイト・フィールドを検出した時に制御
ラツチ100中のO検出表示器102をセットする。
ハツシュ発生器16が6バイト・オブジェクト・アドレ
スに対してハツシング・アルゴリズムを適用し(例えば
すべての6個のバイトの互いの排他的OR)1バイト・
ハツシュ・インデックス18を発生する。
ホールド要求エミツタ配列体150はシステムのための
予定のデータ定数の読取り専用メモリである。
特定のロックもしくは捕獲動作のために第6図に示され
た如き適当な単一の2バイト・データ定数が3ビット・
ホールド型コードによって選択されてそのアドレス・レ
ジスタヘゲートされる。
本発明は例外の処理機能を使用し(第5図に示された例
外ラツチ116−119の説明を参照)、PCU90に
対し例外の場合が生じた事を信号する。
PCU90は本発明において説明された機能のだめの通
常のイベントの系列を中断し、多くの訂算機シスデムに
共通であり、本明細占では説明されない例外処理機能へ
例列を提示する。
読取り、修正、破壊もしくはロックされるためにオブジ
ェクトを呼出した任危の命令は捕獲もしくは田ンク機能
を開始する。
データ処理ンステムはすべてのホールド・レコ−ド34
を使用可能ホールド・レコード連鎖24土に連結し、H
HT20のすべてのHHTE50をOにセットする事に
よって初期設定される。
制御ラツチ100のすべてのラッチ及び表示器は任意の
タスクの機械命令の開始時にオフに転ぜられる。
制斜ラツチ100のステータス及びすべてのレジスタの
ステータスは各タスクに対し独ウーして保持され得る。
機械命令はPCU90をしてGPR配列体120中の予
じめ指定されたオブジェクト・アドレス・レジスタOA
R123ヘホールドきるヘキオブジェクトの6バイト・
オブジェクト・アドレス14をゲートする。
遂行さるべき動作に対応する3ビット・ホールド型コー
ドがPCU90によってホ−ルド要求エミツタ配列体ア
ドレス・レジスタHREA AR 151ヘゲートされ
る。
これによってホールド型コードに対応してホールド要求
エミツタ配列体HREA150から2バイトが選択され
、PC090によってホールド要求エミツタ配列体のデ
ータ・レジスタHREADR152ヘゲートされる。
HREA150の出力値は第6図に示された値に従って
選択され得るが以下説明される如く他の値も使用され得
る。
HREA出力はPCU90によってSPR配列体130
のホールド要求ブロック・レジスタHRBR.139に
ゲートされる。
許容/自由装置の許谷ホールド機能が次いで信号される
C.許容ホールド機能 第1〜5図を参照するに、許容/自由装置の許容ボール
ド機能の具体例が示されている。
許容ホールド機能のシ−ケンス動作が信号され、制御信
号がPCU90中で発生され、これは新らしく要求され
たホールドを許容する前に衝突を求めて適切なホールド
・レコード連鎖22の探索を生ずる。
HHT20のアドレスHHTA40はSAR配列体14
0から専用レジスタSPR配列体130中のハツシュ・
ホールド表アドレス・レジスタHHTAR133ヘゲー
トされる。
GPR配列体12QのOAR123がフエツチされハツ
ノユ発生器16ヘゲートされる。
ハツシュ発生器16は主メモリ94中のHHT20中の
HHTE50(第1図および第2図に示された)へ向う
1バイト・ハツシュ・インデックス18を発生する。
1バイト・ハツシュ・インデックス18はALU92の
右辺ヘゲートされる。
HHTAR133がALU92の左辺ヘゲートされる。
ADD動作がALU92によって遂行され、その結果が
メモリアドレス・レジスタSAR93へおよびSPR配
列体130中のホールド・ハツシュ表エントリ・アドレ
ス・レジスタHHTEAR136ヘゲートされる。
つぎにSAR93中のアドレスが主メモリ94からオブ
ジェクト・アドレス14のためのHHTE50をフエツ
チするのに使用される。
2バイトのHHTE50はSPR配列体130中の現ホ
ールド・レコード・アドレス・レジスタCHRAR13
4およびホールド・ハツシュ表エントリ・レジスタHH
TER13γにゲートされる。
HHTE50がO検査ハードウエア98を介してすべて
のOを求めてSPRデータ・レジスタ132中において
検査されるのはこの時点であるもしHHTE5QがO(
空のホールド・レコード連鎖22を示す)ならば、0検
出表示器102はオンにセットされ、シーケンシングは
以下説明される如くホールド・レコード34の許容へと
進むHHTE50が非0ならば、SAR配列体140中
のAHRA42の最左の4バイトがCHRARI34の
最左の4バイトへゲートされるCHRAR134中のア
ドレスがSPR配列体130からSAR93へゲートさ
れ、このアドレスが主メモリ94からホールド・レコー
ド連鎖22(第1図及び第2図)上の最初のホールド・
レコード34をフエツチするのに使用される。
フエツチされた16バイトのホールド・レコードはSP
R配列体130中の現ホールド・レコード・レジスタC
HRR135ヘゲートされる。
この時最初のホールド・レコード34が検査され、HR
ビジイ・フラッグ62がオンかどうかが決定される。
もしオンならば、ビジイ・ラッチ114(第5図)がオ
ンに転ぜられ、捕獲もしくはロックの許容が再び続けら
れる。
もしホールド連鎖22のHRビジイ・フラッグ62がオ
フならば、SAR配列体140中の現TDEアドレスC
TDEA143がALU92の左側ヘゲートされ、即値
データ・エミツタ96の即値データ出力がALU92の
右側ヘゲートされる。
この即値データ出力はCTDEA143をインクレメン
トしてTDE3ロ内のTDEID32を指摘する。
ADD動作がALU92によって遂行され、和がSAR
93ヘゲートされる。
SAR93中のアドレスはTDE30中のTDEID3
2を主メモリ94からフエツヂするのに使用される。
2バイトのTDEID32はSPR配列体130中のT
DEIDレジスタTDEIDR13Bヘゲートされる。
ホールド・レコード34は次の如《要求されているホー
ルドの型との衝突があるかどうかを見るために検査され
る。
段階1において、SPR配列体130のCHFtR13
5中のHRオブジェクト・アドレス70はALU92の
左側にゲートされ、GPR配列体120中のOAR12
3中に含まれるオブジェクト・アドレス14がALU9
2の右辺にゲートされる。
ALU92によって比較動作が遂行され、もし2つのオ
ブジェクト・アドレスが一致すれば比較一致表示器10
3(第5図)がオンにセットされる。
そうでない場合は比較一致表示器103はオフにセット
される。
比較一致表示器」03がオンの場合、シーケンスは段階
2に進みそうでない場合は段階4に進む。
段階2において、CHRR135中のHRホールド68
はALU92の左側ヘゲートされ、HRBR139中の
HRBTEST 7BがALU92の右側ヘゲートされ
る。
AND動作がALU92によって遂行される。
もしHRホールド68及びHRBTEST 78中に任
意のオンの対応ビットが存在すれば(即ち結果が非Qな
らば)衝突表示器104がオンにセットされ、シーケン
スは段階3に進み、そうでない時は段階4に進む。
段階3で、CHRR135中のHR TDE 72がA
LU92の左辺ヘゲートされ、TDEIDR138中の
現TDEID32が右辺ヘゲートされる。
比較動作がALU92によって遂行され、もしALU9
2への2人力が等しいならば比較一致表示器103がオ
ンにセットされ、そうでなければオフにセットされる。
もし比較一致表示器103はオンにセットされるならば
、衝突が生じていす、シーケンスが段階4に進行する。
そうでなければ真の衝突が生じており、機能を完了する
ために衝突中のホールド・レコード34のCHRAR1
34中のアドレスはGPR配列体120の復帰ホールド
・レコード・アドレス・レジスタRHRAR124ヘゲ
ートされ、衝突ホールド・レコ−ド・ラツチ113がオ
ンに転ぜられて、許容ホールト機能が完了する。
段階4において、CHRR135中のHRフラッグ60
がALU92の左辺ヘゲートされ、″02”の16進値
がALU92の右辺へ即値テータエミツタ96からゲー
トされる。
AND動作がALU92によって遂行され、0表示器1
01はHR EOCフラッグ64がオフならばオンにセ
ットされる。
0表示器101がオフならば即ちHR EOCフラッグ
64がオンであったならば、シーケンスは以下説明され
る如くホールド・レコード34の許容に進む。
そうでない時は、ホールド.レコード連鎖22の次のホ
ールド・レコート34が検査される。
CHRR135中のHR連釦14がCHRAR134の
最右の2バイトにゲートされる。
CHRAR134が次いでSAR93にゲートされ、ホ
ールド・レコード連鎖22上の次のホールド・レコード
34をフエッチするのに使用される。
フエツチされたホールド・レコード34はCHRR13
5ヘゲートされ、衝突しているかどうかが検査される。
ホールド・レコード連鎖22上の各ホールド・レコード
34は衝突が発見されるか、ホールド・レコード連鎖2
2の終りに到達する迄段階1−4において上述の如く検
査される。
衝突ホールド・レコード34が発見されないならば又は
ホールド・レコード連鎖22が空ならばホールドは次の
如くホールド・レコード34を創生する事によって許容
される。
HRBR139のHRBHOLD 80がALU92の
左辺ヘゲートされ、00の16進値が即値データ・エミ
ツタ96からALU92の右辺ヘゲートされる。
比較動作がALU92によって遂行され、もし結果がO
(即ちHRBHOLD 80がO)ならば0表示器10
1がオンにセットされる。
さもないと、0表示器101がオフにセットされる。
もし0表示器101がオンならば、許容ホールド機能は
完了する。
この特徴はオブジェクトに対し新らしいロックが望まれ
ない場合でも、特定の衝突を求めてホールド・レコード
連鎖が探索されるのを可能とずる。
O表示器101がオフにセットされるならば、AHRA
42はAHRAレジスタAHRAR145及びCI4R
AR134ヘゲートされる。
AHRAR145はSAR93ヘゲートされ、主メモリ
94から使用町能なホールド・レコード34をフエツチ
するのに使用される。
使用町能ホールド・レコード34はCHRR135ヘゲ
ートされる。
この時使用可能ホールド・レコード34は、これが使用
可能ホールド・レコード連鎖24上の最後の使用可能レ
コード34である事を示してそのHREOCフラッグ6
4がオンであるかどうかを調べるために検査される。
もしHR EOCフラッグ64がオンならば、メモリ限
界超過ラツチ116がオンにされ、メモリ限界例外を信
号する。
もしそうでないならば、CHRRI35のHR連鎖14
がAHRAR145のバイト5及び6にゲートされ、H
RA4B中の次の使用可能なホールド・レコード34が
指摘される。
AHRAR145はSAR配列体140中のAHRA4
2にゲートされる。
新らしいホールド・コードであるHRBR139中のH
RBHOLD 80が次いでCHRR135中のHRホ
ールド68ヘゲートされる。
OAR123中のオブジェクト・アドレス14はCHR
R135中のHRオブジェクト・アドレス70ヘゲート
される。
TDEIDR13B中の新らしいTDEID32はCH
RR135中のHRTDE12ヘゲートされる。
もしO検査表示器102がオンにセットされているなら
ば、02の16進値がALU92を通じて即値データ・
エミツタ96からCHRR135中のHRフラッグ60
ヘゲートされ、丁度創生きれたホールド・レコードを連
鎖の終りであるとしてフラッグする。
HHTEAR136はSAR93にゲートされ、SAR
93中のアドレスがCHRAR134の最右の2バイト
を主メモリ94に記憶するのに使用される。
これは主メモリ94中のHHTE50を更新しホールド
・レコード連鎖22中の新らしいホールド・レコード3
4を指摘する。
新らしいHR連鎖アドレスHHTER137はCHRR
135中のHR連鎖14ヘゲートされる。
HHTEAR136はSAR93ヘゲートされ、CHR
R135を主メモリ94中に記憶するのに使用される。
TDECNT36は次いで次の如くlだけインクレメン
トされる。
CTDEA143がPCU90によつてSAR配列体1
40からALU92の左辺にゲートさね適切なオフセッ
ト値がALU92の右辺へ即値デ一タエミツタ96から
ゲートされる。
ADD動作がALU92によって遂行され、結果がSA
R93ヘゲートXれる。
これはTDE30内のTDECNT36を指摘するため
アドレスをインクレメントする。
SAR93中のアドレスは主メ土994からのTDEC
NT36をフエツチするため(こ使用される。
2バイトTDECNT36はALU92の左辺ヘゲ一ト
され、01の即値16進値が即値データエミツタ96か
らALU92の右辺ヘゲートされる。
ADD動作がALU92によって遂行され、結果が主メ
モリ94にゲートされる。
CHRAR134がGPR配列体120中のRERAR
124ヘゲートされ、新らしいホールドレコード34の
アドレスが保存される。
許容ホールド機能のシーケンスが次いで完了される。
捕獲もしくはロック機能を完了させるために、制御ラン
チ100の状態が変存される。
もし衝突ホールド・レコード・ラツチ113及び連鎖ビ
ジイ・ラツヂ114が共にオフ状態にあると(第5図)
、要求されたロックもしくは捕獲が達成されている。
もし要求されたホールドが捕獲ならば、シーケンスは捕
獲を開始した機械命令で進行するもし機械命貨がロック
の要求であったならばロックが許容されており、機械命
令は許容されてこの機械命合の動作が完了する。
もし連鎖ビジイ・ラツチ114がオンならば、関連する
ホールド・レコード連鎖は使用中であり、許容ホールド
機能は上述の如く再試行されな<てはならない。
もし衝突ボールド・レコード・ラツチ113がオンなら
ば要求されたホールドは既存の衝突するロックもしくは
捕獲のために許容され得ない。
GPR配列体120中のRHRAR124が次いでAL
U92の左辺ヘゲートされる。
16進値O】が即値データエミツタ96からALU92
の右辺にゲートされる。
ALU92はADD動作を遂行し結果がSAR93にゲ
ートされる。
アドレスされたバイトHRHOLD68はtメモリ94
からフエツチされてALU92はAND動作を遂行し結
果がALU92の左辺にゲートされる。
F8なる即値16進値が即値データエミツタ96からA
LU92の右辺にゲートされる。
ALU92はAND動作を遂行する。
制御ラッチNZR107はAND動作の結果が0ならば
オフに、結宋が非0ならばオンに転ぜられる。
HREA出力の対応2進値のための第6図のHRBTE
ST欄及びHRBHOLD欄を比較するにもし衝突が現
存するホールドによって生じたものであるならば、HR
BR139の最初のバイトHRHTEST及び主メモリ
94からフエツチされた衝突するホールド・レコードの
HRBHOLDバイトに対するAND動作は結果の最初
の5バイトの少なく共1つにlを生ずる。
他方もし衝突が現存する捕獲によって生じたものならば
、AND動作の結果の最後の2ビットの1つにlが存在
する。
この結果が16進値″F8”(2進値11111000
に対応ずる)とANDされる時、0値は衝突が存在する
捕獲によって生じたものである事を示す。
捕獲機能は単一の機械命令の実行中に排他的アクセスを
保持するためにのみ使用されるので、要求された捕獲の
許容を阻止する現存の捕獲は短時間後解放される。
制御ラツチNZRIOγがオフならば次いで無限待機ラ
ンチ108がオンに転ぜられ、ホ−ルドを要求するタス
クをして衝突中のボールドの解放を求めて待機せしめる
ために、以下説明する如く待機シーケンスが開始される
もし制御ラツチNZRIOγがオンならば、SPR配列
体130中のHRBR139のHRBHOLD 80は
ALU92の左辺にゲートされる。
03の即値l6進値が即値データエミツタ96からAL
U92の右辺ヘゲートされる。
ALU92がAND動作を遂行する。
制御ラツチNZRI07はもしAND動作の結果がOな
らはオフに、結果が非Oならはオンに転ぜられる。
制御ラッチNZR107がオンならば、これは要求され
る捕獲が現存する田ンクのために訂容され得なかった事
を示す。
この事は03(2進値00000011)の即値データ
l6進値と第6図に示されるHREA出力に対応する2
進デイジツトのためにHRBHOLD欄にリストされた
値と比較する事によって明らかにされる。
現存するロックは不定持続時間のものであり得るので、
拒否された捕獲は待機にされず動作ロック両突例外が動
作ロック衝突ラッチ117を介して信号される。
もし他方、制御ラツチNZR107がオフならば要求さ
れたホールドはロックであり、要求されたロツクは時間
のきめられた待機状態に置かれるその待続時間はロック
を要求したユ−ザによって指示され得る。
これは無限待機ランチ108をオフに転ずる事によって
達成される。
待機シーケンスが次いで次の如く開始される。
GPR配列体120中のRHRAR124の内容がSA
R93ヘゲートされる。
アドレスされたバイトが主メモリ94からフエツチされ
、ALU92の左辺にロードされる。
01の即値データ16進値(2進の00000001)
が即値データエミツタ96からALU92の右辺ヘゲー
トされる。
ALU92はOR動作を遂行し、1バイトの結果は主メ
モリ・データ・レジスタ95を経て主メモリ94ヘゲー
トされる。
この動作は衝突するホールド・レコード34中のHRモ
ニタ・フラッグ66をオンにセットし、衝突するホール
ド・レコード34が解放された時、成功しなかったホー
ルドの再試行が出来る様にする。
これは要求されたホールドを拒否したタスクを待機列に
置く事によつって達成される。
D.セット/リセット連鎖ビジイ機能 再び第1図乃至第5図を参照するに、セット/リセット
連鎖ビジイ機能の具体例が示されておりそのリセット連
鎖ビジイ部分がこの点で呼出される。
GPR120中のOA.R123に含まれるオブジェク
ト・アドレス14がフエツチされ、ハツシュ発生器16
ヘゲートされる。
ハツシュ発生器16は主メモリ94のHHT20中のH
HTE50へのインデックスとして使用される1バイト
ハツシュ・インデックス18を発生する。
ハツシュ発生器16の1バイト出力はALU92の右辺
へゲートされる。
HHTAR133がALU92の左辺にゲートされる。
ADD動作がALU92によって遂行され、和がSAR
93にゲートされる。
SAR93中のアドレスが主メモリ94からオブジェク
ト・アドレス14のためのHHTE50をフエツチする
のに使用される。
2バイトHHTE50はO検査器98によってSPRデ
ータ・レジスタ132の最右の2バイト中のすべて0を
求めて検査される。
もしHHTE50がすべてO(空のホールド・レコード
連鎖22)ならば連鎖の終りラツチ115がターン・オ
ンされ、セット/リセット連鎖ビジイ機能は完了する。
そうでない時AHRA42の最左の4バイトがSPR配
列体130のCHRAR134の最左の4バイトにゲー
トされる。
CHRAR134が次いでSPR配列体130からSA
R93ヘゲートされる。
SAR93中のアドレスは主メモリ94からホールド・
レコ−ド連鎖22土の最初のホールドレコード34をフ
エツチするのに使用される。
フエツチされたl6バイト・ホールド・レコ−ド34は
SPR配列体130中のCHRR135にゲートされる
セツト連鎖ビジイ・ジーケンスの場合、ホールド・レコ
ード連鎖22土の最初のボールド・レコード34はHR
ビジイ・フラッグ62がオンであるかどうかが検査され
もしオンならばビジイ・ラツチ114がオンに転ぜられ
、セット連鎖ビジイ機能が完了する。
リセツト連鎖ビジイ機能の場合、ホールド・レコード連
鎖22上の最初のホールド・レコード34のHRビジイ
゛フラッグ62がオフならば、ビジイ・ラツチ114が
オンに転ぜられ、リセット連鎖ビジイ機能が完fする。
他方、もしHRビジイ・フラッグ62がセット連鎖ビジ
イ機能の場合にオフ(リセツト連鎖ビジイ機能の場合に
対してオン)であったならば、CHRR135の最左バ
イトがALU92の左辺にデートされセット連鎖ビジイ
の場合、即値データエミツタ96からJ6進値04が(
もしくはリセット連鎖ビジイの場合16進値FBが)A
LU92の右辺にデートされる。
セット連鎖ビジイの場合にOR動作(リセツト連鎖ビジ
イの場合はAND動作)がALU92によって遂行され
、HRビジイ・フラッグ62はセット連鎖ビジイの場合
はオンに(リセット連鎖ビジイの場合はオフに)セット
される。
ALU動作の結果はCHRR135の最左バイトにゲー
ト・バックされる。
セット/リセット連鎖ビジイ機能を完了するために、C
HRAR134はSAR93及びCPR配列体120中
のRHRAR124にゲ一トされる。
SAR93のアドレスは主メモリ94へCHRR135
から更新された16バイト・ホールド・レコード34を
記録するために使用される。
これによりセツト/リセット連鎖ビジイ・シーケンスが
完fする。
この時点で、もし無限待機ランチ108がオフならばタ
スク・タイマ機能が誘起される。
もし指示された時間が経過し、及びホールドを拒否され
たタスクが依然待機しているならば、ロック待機時間切
れ例外がロック待機時間切れラッチ118を介して信号
される。
タイマ機能の設計及び動作は一般にこの技術分野で周知
のものであり、本発明の部分をなさない。
そうでない場合、待機タスクが次に説明された如く解放
もしくはアンロツク機能によって待機状態から除去され
、要求されたホールドが上述の如く再試行される。
要約すると、衝突ホールド・レコード・ラツチ113が
オンに転ぜられている時これは問題のオブジェクトに対
する現存のホールドのために要求されたホールドが許容
されない事を示す。
要求されているホールドと衝突しているホールドのHR
BTESTビット及びHRBHOLDビットは次いで互
いに及び即値データ基準ビットと比較され、現ホールド
がロックであるか捕獲であるかどうか及び要求されたホ
ールドがロックであるか捕獲であるかどうかが確かめら
れる。
現ホールドが捕獲であるならば、要求中のタスクは待機
される。
なんとなれば現行の捕獲は短かい持続時間のものである
からである。
もし現ホールドがロックならば要求されたホールドはこ
の要求がロックに対するものであるか捕獲にたいするも
のであるかを知るために検査される。
もし要求されたホールドが捕獲であるならば動作ロック
衝突例外が信号される。
なんとなれば捕獲にとってはロックの解放を待つ事は出
来ないからである。
もし、他方要求されたホールドがロックならば、ホール
ドを要求しているタスクは予じめ指定された時間だけ待
機状態に置かれる。
この時間間隔の終りに、もしロックが依然許容されてい
なければロック待機時間切れ例外がロック待機時間切れ
ラッチ11Bを介して信号される。
E.自由ホールド機能 機械命令(許容ロック以外)が遂行された後、もしくは
アンロツク命令が呼出された時、解放もしくはアンロツ
ク機能が信号される。
ホールドを解放するのに加えて、任意の要求されたホー
ルドが解放されたオブジェクトへのアクセスを求めて待
機されていたかどうかを検査する事が必要である。
これは自由ホールド機能によって達成される。第1図乃
至第4図は自由ホールド機能を遂行する装置を示す。
HRBR139及びOAR123のための適切な値が前
に説明された如くロックもしくは捕獲を許容するのに使
用されたのと同一の方法で(もし必要ならば)再ロード
され得る。
自由ホールド機能のシーケンスが信号される時、制御信
号がPCU90において発生され、これはプロセッサを
して探索情報を収集せしめ、ターゲットホールド・レコ
ードを位置付けせしめ、以下の如くターゲット・ホール
ド・レコードを自由化する段階Aにおいて、AHRA4
2はSAR配列体140からAHRAR145ヘゲート
される。
AHRAR145はCHRAR134及びSPR配列体
130中の最初のホールド・レコード・アドレス・レジ
スタFHRAR146ヘゲートされる。
HHTA40はSAR配列体140からSPR配列体1
30中のHHTAR133ヘゲートされる。
GPR配列体120中のOAR123中に含まれるオブ
ジェクト・アドレスはハツシュ発生器16ヘゲートされ
る。
ハツシュ発生器16によって発生された1バイト・ハツ
シュ・インデックス18はALU92の右辺にゲートさ
れる。
SPR配列体130中のHHTAR133がALU92
の左辺にゲートされ、1バイトのハツシュ・インデック
ス18がHHTA40に加算される。
和はSPR配列体130中のHHTEAR136及びS
AR93の両方にゲートされる。
SAR93中のアドレスは主メモリ94中のHHTEを
フエツチするのに使用される。
2バイトHHTE50はCHRAR134の最右の2バ
イト及びFHRAR146の最右の2バイトヘゲートさ
れる。
この動作はCHRAR134及びFHRAR146中の
アドレスを更新し、ホールド・レコード連鎖22の開始
点を指摘する。
次いでHHTE50はSPRデータ・レジスタ132中
においてO検出ハードウエア98によってOの値を求め
て検査される。
もしHHTE50がOであるならば、連鎖の終りラツチ
115がオンに転ぜられ、自由ホールド機能のシーケン
スが完了される。
もしHHTE50が非0ならばCHRAR134中のア
ドレスはSAR93ヘゲートされ、ホールド・レコード
連鎖22上の最初のホールド・レコード34が主メモリ
94からフエッチされる。
フエツチされた16バイト・ホールド・レコード34は
CHRR135ヘゲートされる。
この時、CHRR135中のHRビジイ・フラッグ62
が検査され、もしオンならば、ビジイ・ラツチ114は
オンに転ぜられ、自由ボールド機能のシーケンシングが
完了される。
もしHRビジイ・フラッグ62が非オンならば、CTD
EA143がSAR配列体140からALU92の左辺
ヘゲートされ、適切な16進オフセットが即値データエ
ミツタ96からA.LU92の右辺ヘゲートされる。
ALU92によってADD動作が遂行され、和がSAR
93ヘゲートされる。
この動作がCTDEA143をインクレメントし、TD
E30内のTDEID32を指摘する。
SAR93中のアドレスは主メモリ94からTDEID
32をフエツチするのに使用される。
2バイトTDEID32はTDEIDR13Bヘゲート
される。
最初のホールド・レコード表示器105がオンに転ぜら
れ、ホールド・レコード連鎖22上の最初のホールド・
レコード34が処理されつつある事を示す。
自由ホールド機能の段階Bで、CHRR135中のHR
オブジェクト・アドレス70はALU92の左辺に、O
AR123に含まれるオブジェクト・アドレス14はA
LU92の右辺ヘゲートされ、比較動作が遂行される。
もしアドレスが一致しなければ(即ち現在のホールド・
レコード34がシノニムならば)、現在のホールド・レ
コード34はターゲット・ホールド・レコード34でな
く、シーケンスは段階Cに進む。
もしアドレスが一致すれば、CHRR135中のHRホ
ールド68はALU92の左辺ヘゲートされ、HRBR
139中のHRBHOLD80はALU92の右辺にゲ
ートされる。
比較動作がALU92によって遂行され、もしホールド
が同一でなければ(即ち現在のホールド・レコード34
が自由化されつつあるホールドと一致しないホールドを
含む)、現在のホールド・レコード34はターゲット・
ホールド・レコードでなく、シーケンスは段階Cに進行
する。
もしHRホールド68及びHRBHOLD80が一致す
れば、CHRR135中のHRTDEγ2はALU92
の左辺にゲートされ、TDEIDRI38はALU92
の右辺にゲートされる。
比較動作が遂行され、もしこれ等が一致すれば(即ち現
在のTDEが現在のホールド・レコードの所有者であれ
ば)、現在のホールド・レコード34はターゲット・ホ
ールド・レコードであり、シーケンスはターゲット・ホ
ールド・レコードを自由化するため下記の段階Dに進む
段階Cにおいて、CHRR135中のHREOCフラッ
グ64が検査され、もしオンならば、ユーザは存在しな
いロックを解放する様に試み、且つ(これは連鎖の終り
に到達する前には発見されなかったので)ロック不在例
列がロック不在ラツチ119を介して信号される。
連鎖の終りラツチ115がオンに転ぜられ、自由ホール
ド機能のシーケンスが完了する。
もしHR EOCフラッグ64がオフならば、CHRA
R134はSPR配列体130中の前のホールド・レコ
ード・アドレス・レジスタPHRAR14γにゲートさ
れる。
CHRRI35中のHR連鎖14はCHRAR134の
最右の2バイトにゲートされる。
更新されたCHRAR134はSAR93ヘゲートされ
る。
SAR93のアドレスはCHRR135ヘゲートされる
ホールド・レコード連鎖22上の次のホールド・レコー
ド34をフエツチするために使用される。
最初のホールド・レコード表示器105はオフにリセッ
トされ、段階Bにおいて説明されたターゲット・ホール
ド・レコードをロケー卜するための動作が繰返される。
段階Dにおいて、CHRRI35中のHRモニタ・フラ
ッグ66が検査され、もしオンならばホールド・レコー
ド34は自由化されず、ホールド・レコード連鎖22土
に残される。
FHRAR146はSAR93にゲートされ、CHRR
135ヘゲートされるホールド・レコード連鎖22土の
最初のホールド・レコ−ド34をフエツチする。
CHRR135中のHRビジイ・フラッグ62がオンに
セットされる。
SAR93中のアドレスを用いてホールド・レコード連
鎖22上の最初のホールド・レコード34がアクセスさ
れ、CHRR135が主メモリ94にゲートされる。
CHRAR134中のアドレスはGPR配列体120中
のRHRAR124にゲートされる。
モニタ・ラツチ112はオンにセットされ、自由ホール
ド機能のシーケンスが完了する。
HRモニタ・フラッグ66がオフならばターゲット・ホ
ールド・レコードが次の如く自由化され得る。
CHRR135中のHR EOCフラッグ64が検査さ
れ、もしオフならば、連鎖の終り表示器106がオフに
セットされる。
もしHREOCフラッグ64がオ冫ならば連鎖の終り表
示器106がオンにセットされる。
CHRR135中のHRフラッグ60及びHR TDE
72はオノにセットされる。
この動作は現在のホールド・レ上一ド34中のHRフラ
ッグ60及びHR TDE72をクリアずる。
CHRR135中のHR連鎖74はSPR配列体130
中の次のホールド・レ」一ドオフセツ1へ・レジスタN
HR.OR14Bへゲートされ、る。
AHRAR145の最右の2バイトがCHRR135中
のHR連鎖74へ、ゲートされる。
SAR93中のアドルスはCHRAR134から口−ド
され、ホールド・レ」一ド連鎖22中の現在のホ−ルド
・レコード34をアクセスするのに使用されCHRR1
35が主メ七り94にゲー トされる。
CHRAR134はSAR配列体140中のAHRA1
42にゲートされる。
この動作は現在のホールド・レコードを利用可能なホー
ルド・レコード連鎖24土に置く。
最籾のホールド・レコード表示器105が倹配され、も
しオンならば、HHTEAR136がSAR93ヘゲー
トされる。
SAR93中のアドレスはホールド・レコード34のた
めのHHTE50をアクセスするのに使用される。
連鎖の終り表示器106が検査され、もしオンならばO
の2バイトが主メモリ94にゲートされる。
もし連鎖の終り表示器106がオフならばNHROR1
4Bが主メモリ94ヘゲートされる。
この動作は現在のホ一ルド・レコード34が連鎖上の最
初のものであつたならば、ホールドレコード連鎖22か
ら現在のホールド・レコードを除去する。
もし最初のホールド・レコード表示器105がオフなら
ば、PHRAR147がSAR93ヘゲートされ、主メ
モリ94からホールド・レコード連鎖22上の前のホー
ルド・レコード34をフエツチするのに使用される。
ホールド・レコード34はCHRR135にゲートされ
る。
この点において、連鎖の終り表示器106が検査され、
もしオンならば、CHRR135中のHR EOCフラ
ッグ64がオンにセットされ、HR連鎖14はOにセッ
トされる。
もし連鎖の終り表示器106がオフならば、FIREO
Cフラッグ64がオフにセットされ、NHROR14B
がCHRR135中のHR連鎖74ヘゲートされる。
SAR93中のアドレスはホールド・レコード連鎖22
七の前のホ−ルド・レコ一ド34をアクセスするのに使
用され、CHRR135が主メモリ94ヘゲートされる
この動作はもしこれがホールド・レコード連鎖22土の
最初のもので石工いならばホールド・レコード連鎖22
から現在のホールド・レコード34を除去する。
TDECNT36が次の如くlだけデイクレメントされ
る。
CTDEA143がPCU9OによってSAR配列体1
40からALU92の左辺にゲ一トされ、適切なオフセ
ット値が即値データエミツタ96からALU92の右辺
ヘゲートされる。
ADD動作がALU92によって遂行され、結果はSA
R93八ゲートされる。
これはCTDEA143をインクレメントしてTDE3
0内のTDECNT36フィールドを指摘ずる。
SAR93中のアドレスは主メ七り94からTDECN
T36をフエツチするに使用される。
2バイトTDECNT36はALU92の左辺ヘゲート
され、即値16進値01が即値データ・エミツタ96か
らALU92の右辺ヘゲートされる。
減算動作がALU92によって遂行され、結宋は主メモ
リ94ヘゲートされる。
自由ホールド機能のジーケンスが次いで完fされる。
次いで解放もしくは了ンロツク機能は次の如く完了され
る。
もし連鎖どジイ・ラツチ114及びモニタされたホール
ド・レコード・ラツチ112が共にオフならは、解放も
しくはアンロツクは完了されており、タスクは継続し得
る。
もし連鎖ビジイ・ラツチ114がオンならば、これはホ
ールドは自由化され得ない事を示す。
なんとなれば他のタスクが関連ホールド・レコード連鎖
を使用しつつあるからである。
上述の自由ホールド機能は連鎖がちはやビジイでなくな
るまで再試行されなくてはならない。
モシモニタされたホールド・レコード・ラツチ112が
オンならば、GPR配列体120中の復帰ホールド・レ
コード・アドレス・レジスタRHRAR124がSAR
93ヘゲートされ、主メモリ94から1バイトをALU
92の左辺へゲートせしめる。
FE(2進値11111110)なる16進値が即値デ
ータエミツクからALU92の右辺ヘロードされ、AL
U92はAND動作を遂行する。
この結果は主メモリ94にゲートされる。これはHRモ
ニタ・フラッグ66をオフに転ずる。
リセツト連鎖ビジイ機能は次に信号される。
モニタされるホールド・レコ一ド・ランチ112がオン
なので、この事はホールド・レコードが前のバス中自由
化されなかった手を示す。
従って、自由ホールド機能がここで再試行され、その後
連鎖の終りラツチ115、連鎖ビジイ・ラッチ114及
びモニタ・ホールド・レコード・ラッチ112の状態が
再び検査され、もしラッチの任意のものがオンならば上
述の如く動作が継続する。
もしこれ等のラッチのどれもオンでなければ、衝突する
ホ−ルドが自由化され、任意の待機タスクが待機状態か
ら除去され、要求されるホールドの許容が再び試みられ
る。
解放もしくはアンロツク機能が完了され、シーケンスは
次の機械命令で回復され得る。
HREA出力に対応するものとして第6図に示されたH
RBTESTビット及びHRBHOLDビットはこの明
細書の冒頭において説明されたロック及び捕獲衝突プロ
トコールを使用するビット構造の1例である事に注意さ
れたい。
さらに即値データ・テスト・バイトと比較される時、こ
れ等の構造は要求され、衝突するホールドがロックであ
るか捕獲であるかの決定を容易にする。
同一機能を遂行する互換HRBTESTビット及びHR
BHOLDビット構成の1例が同様に第6図に与えられ
ている。
これ等の互換ビット構成は前に与えられたものと同一の
即値データ基準ビットと共に動作する。
しかしながら最初の構成がより好ましい。
なんとなればテスト・フィールド及びホールド・フィー
ルドの2ビット(第6及び第7ビット)が使用されず、
従って他の機能のために利川可能であるからである。
互換構成中の第6ビツトのみが非使用のまま残される事
に注意されたい。
多くの互換ビット構成が可能で、これは適当な即値デー
タ基準ビットと結合される時十述の如きロック及び捕獲
プDトコールを具体化するのに使用され得る串は明らか
であろう。
【図面の簡単な説明】
第1図は本発明を示した概略図である。 10・・・・・・ブし1グラムA,B.12・・・・・
・タスク、14・・・・・・オブジェクト・アドレス、
16・・・・・・ハツシュ発生器、1B・・・・・・ハ
ツシュ・インデックス、20・・・・・・ホールド・ハ
ツジュ表、22・・・・・・ホ−ルド・しコード連鎖、
24・・・・・・使川可能ホールド・レコード、34・
・・・・・新らしいホールド・レコードもしくは自由化
され,たホールド・しコード、38・・・・・・制釘ア
ドレス表、40・・・・・・ポ−ルド・ハッシュ表アド
レス、42・・・・・・使用可能ホールド・レコード・
アドレス、50・・・・・・ホールド・ハツシュ表エン
トり。 第2図は本発明を示した概略図である。 第3図は本発明に従うホールド要求ブロック及びホール
ド・レコードOフオ=マットを示した図である。 第4図は本発明を具体化したデータ処理シスデムのブロ
ック図である。 第5図は本発明に従う関連制御ラッチを示した図である
。 第6図は3ビット・ホールド型、関連HREA出力、対
応するHRBTEST及びHRBHOLDのための2進
構造及びHRBTEST及びHRBHOLDのための互
換2進構成のサンプルを示した表である。

Claims (1)

  1. 【特許請求の範囲】 1 複数のタスクによるオブジェクトへのアクセスを匍
    御するために下記の(イ)乃至(ヘ)を具備するオブジ
    ェクト・アクセス制御装置。 (イ)特定のタスクからの命令によって指定された動作
    が行なわれるオブジェクトのアドレスを保持するアドレ
    ス保持手段。 (口)前記命令を出したタスクの識別子を保持する識別
    子保持手段。 (ハ)各オブジェクトに課されているアクセス制限を関
    連するタスクの識別子と共に記憶する記憶手段。 (ニ)前記アドレス保持手段に保持されているアドレス
    を用いて前記記憶手段から前記タスクの識別子をざむ対
    応するアクセス制限を読出す読出し手段。 (ホ)前記命咎及び前記識別子保持手段に保持されてい
    るタスクの識別子と、前記読出し手段によって読出され
    たアクセス制限との両立性をテストし、テスト結果が否
    定的であれば前記命令の実行を禁止し、テスト結果が肯
    定的であれば前記命令の実行を許可して指定されたオブ
    ジェクトへのアクセス、該オブジェクトに対するアクセ
    ス制限の発生及び前記記憶手段への書込み、又は前記記
    憶手段に記憶されている前記対応するアクセス制限の解
    除を行うアクセス制御手段
JP54130951A 1978-10-23 1979-10-12 オブジェクト・アクセス制御装置 Expired JPS584372B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/953,669 US4249241A (en) 1978-10-23 1978-10-23 Object access serialization apparatus for a data processing system

Publications (2)

Publication Number Publication Date
JPS5557954A JPS5557954A (en) 1980-04-30
JPS584372B2 true JPS584372B2 (ja) 1983-01-26

Family

ID=25494366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP54130951A Expired JPS584372B2 (ja) 1978-10-23 1979-10-12 オブジェクト・アクセス制御装置

Country Status (5)

Country Link
US (1) US4249241A (ja)
EP (1) EP0010190B1 (ja)
JP (1) JPS584372B2 (ja)
BR (1) BR7906844A (ja)
DE (1) DE2964732D1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH034618U (ja) * 1989-06-06 1991-01-17

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4435766A (en) 1981-06-16 1984-03-06 International Business Machines Corporation Nested resource control using locking and unlocking routines with use counter for plural processes
US4709326A (en) * 1984-06-29 1987-11-24 International Business Machines Corporation General locking/synchronization facility with canonical states and mapping of processors
US4847754A (en) * 1985-10-15 1989-07-11 International Business Machines Corporation Extended atomic operations
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
US4780816A (en) * 1986-05-16 1988-10-25 The United States Of America As Represented By The Secretary Of The Army Key-to-address transformations
US4868745A (en) * 1986-05-30 1989-09-19 Hewlett-Packard Company Data processing system and method for the direct and indirect execution of uniformly structured object types
US5319780A (en) * 1987-10-19 1994-06-07 International Business Machines Corporation System that implicitly locks a subtree or explicitly locks a node based upon whether or not an explicit lock request is issued
JPH01113849A (ja) * 1987-10-19 1989-05-02 Internatl Business Mach Corp <Ibm> マルチユーザシステム
US5263161A (en) * 1989-07-26 1993-11-16 Massachusetts Institute Of Technology Non-busy waiting resource control
AU650242B2 (en) * 1989-11-28 1994-06-16 International Business Machines Corporation Methods and apparatus for dynamically managing input/output (I/O) connectivity
US5247672A (en) * 1990-02-15 1993-09-21 International Business Machines Corporation Transaction processing system and method with reduced locking
US5289588A (en) * 1990-04-24 1994-02-22 Advanced Micro Devices, Inc. Interlock acquisition for critical code section execution in a shared memory common-bus individually cached multiprocessor system
US5459862A (en) * 1990-06-14 1995-10-17 Sunquest Informaion Systems, Inc. Network concurrency control for autonomous databases featuring independent lock release and lock ownership transfer
US5261102A (en) * 1991-03-28 1993-11-09 International Business Machines Corporation System for determining direct and indirect user access privileges to data base objects
JPH05197604A (ja) * 1991-05-21 1993-08-06 Digital Equip Corp <Dec> マルチプロセッサ・コンピュータ及びその動作方法
US5701480A (en) * 1991-10-17 1997-12-23 Digital Equipment Corporation Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing
US5504899A (en) * 1991-10-17 1996-04-02 Digital Equipment Corporation Guaranteeing global serializability by applying commitment ordering selectively to global transactions
JP2781092B2 (ja) * 1991-11-06 1998-07-30 富士通株式会社 システム間排他制御方式
US5276878A (en) * 1992-10-07 1994-01-04 International Business Machines Corporation Method and system for task memory management in a multi-tasking data processing system
JP3512439B2 (ja) * 1993-07-08 2004-03-29 富士通株式会社 チェックイン・チェックアウトモデルにおける施錠方式
US6012065A (en) * 1997-09-30 2000-01-04 Pitney Bowes Inc. Method and system for accessing carrier data
US6873978B1 (en) 1997-10-01 2005-03-29 Pitney Bowes Inc. Event interface for a carrier manager system
US6910047B1 (en) 1997-10-01 2005-06-21 Pitney Bowes Inc. Method and system for changing rating data via internet or modem in a carrier management system
US6356946B1 (en) 1998-09-02 2002-03-12 Sybase Inc. System and method for serializing Java objects in a tubular data stream
US6438559B1 (en) 1999-04-02 2002-08-20 Sybase, Inc. System and method for improved serialization of Java objects
US7188344B1 (en) 1999-12-21 2007-03-06 Unisys Corporation Architecture for a read/write thread lock
US7003521B2 (en) * 2000-05-30 2006-02-21 Sun Microsystems, Inc. Method and apparatus for locking objects using shared locks
US7587428B2 (en) * 2000-10-13 2009-09-08 Microsoft Corporation Maintaining a relationship between two different items of data
US7689560B2 (en) 2000-10-13 2010-03-30 Miosoft Corporation Persistent data storage techniques
US6624578B2 (en) 2001-06-04 2003-09-23 Extreme Devices Incorporated Cathode ray tube having multiple field emission cathodes
US6931409B2 (en) * 2002-01-08 2005-08-16 International Business Machines Corporation Method, apparatus, and program to efficiently serialize objects
US7730041B2 (en) * 2004-08-25 2010-06-01 Microsoft Corporation Data abstraction based serialization
US8561071B2 (en) 2005-07-11 2013-10-15 International Business Machines Corporation Process instance serialization
US20090307442A1 (en) * 2005-10-25 2009-12-10 Balbir Singh Memory Access Control
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
US7530106B1 (en) 2008-07-02 2009-05-05 Kaspersky Lab, Zao System and method for security rating of computer processes
WO2012114516A1 (ja) * 2011-02-25 2012-08-30 富士通株式会社 ロック制御装置、ロック制御プログラムおよびロック制御方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3319226A (en) * 1962-11-30 1967-05-09 Burroughs Corp Data processor module for a modular data processing system for operation with a time-shared memory in the simultaneous execution of multi-tasks and multi-programs
US3530438A (en) * 1965-12-13 1970-09-22 Sperry Rand Corp Task control
US3405394A (en) * 1965-12-22 1968-10-08 Ibm Controlled register accessing
US3528062A (en) * 1968-07-05 1970-09-08 Ibm Program interlock arrangement,including task suspension and new task assignment
US3683418A (en) * 1970-04-16 1972-08-08 Bell Telephone Labor Inc Method of protecting data in a multiprocessor computer system
US3676860A (en) * 1970-12-28 1972-07-11 Ibm Interactive tie-breaking system
US3886525A (en) * 1973-06-29 1975-05-27 Ibm Shared data controlled by a plurality of users
FR2253416A5 (en) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind Protection system for ale partition - is for multi program calculator and uses candidate tape
US3916385A (en) * 1973-12-12 1975-10-28 Honeywell Inf Systems Ring checking hardware

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH034618U (ja) * 1989-06-06 1991-01-17

Also Published As

Publication number Publication date
US4249241A (en) 1981-02-03
DE2964732D1 (en) 1983-03-17
EP0010190B1 (en) 1983-02-09
JPS5557954A (en) 1980-04-30
EP0010190A2 (en) 1980-04-30
EP0010190A3 (en) 1980-05-14
BR7906844A (pt) 1980-09-16

Similar Documents

Publication Publication Date Title
JPS584372B2 (ja) オブジェクト・アクセス制御装置
US4480304A (en) Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment
JP2665813B2 (ja) 記憶制御装置
JP2500101B2 (ja) 共用変数の値を更新する方法
US4429360A (en) Process and apparatus for interrupting and restarting sequential list-processing operations
US5499356A (en) Method and apparatus for a multiprocessor resource lockout instruction
EP0121700B1 (en) Multiprocessor storage serialization apparatus
JPH10187527A (ja) アクセス競合を防ぐ装置および方法
JPH03196249A (ja) 多重プロセッサシステム
EP0535820A2 (en) Method and apparatus for a register providing atomic access to set and clear individual bits of shared registers without software interlock
US5291581A (en) Apparatus and method for synchronization of access to main memory signal groups in a multiprocessor data processing system
US7689788B2 (en) System and method for executing transactions
JPH1115793A (ja) 資源の保全性を保護する方法
KR19980086610A (ko) 컴퓨터 시스템 내의 데이터 자원의 액세싱을 직렬화하기 위한 블록화 심볼 제어에 관련된 프로세서
EP0431326A2 (en) Inter-processor interrupts in an n-element multi-processor
US5696939A (en) Apparatus and method using a semaphore buffer for semaphore instructions
JPH0383154A (ja) 多重処理コンピュータ・システム及び方法
KR100470555B1 (ko) 컴퓨터 자원의 로크방법 및 장치
EP0187713B1 (en) System memory for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
EP0297895B1 (en) Apparatus and method using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system
JP2844679B2 (ja) アクセス制御方法及び情報処理装置
WO1986004165A1 (en) Allocator for a reduction processor evaluating programs stored as binary directed graphs employing variable-free applicative language codes
JPH01125633A (ja) マルチプロセッサシステムのデバッグ法
Gurevich The M-Machine operating system
JPS6394343A (ja) フアイル制御システム