JPH0230057B2 - - Google Patents
Info
- Publication number
- JPH0230057B2 JPH0230057B2 JP57064836A JP6483682A JPH0230057B2 JP H0230057 B2 JPH0230057 B2 JP H0230057B2 JP 57064836 A JP57064836 A JP 57064836A JP 6483682 A JP6483682 A JP 6483682A JP H0230057 B2 JPH0230057 B2 JP H0230057B2
- Authority
- JP
- Japan
- Prior art keywords
- resource
- lock
- field
- routine
- text
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Description
【発明の詳細な説明】
〔技術分野〕
本発明は多重処理における資源の割振りに係
り、特に2以上のプロセスによつて共有される資
源をその保全性を損うことなく直列化する技術に
係る。
り、特に2以上のプロセスによつて共有される資
源をその保全性を損うことなく直列化する技術に
係る。
〔背景技術〕
情報処理システムにおいては、複数のタスクが
同じ資源を必要とすることがある。本明細書では
このようなシステムの例としてワード処理システ
ムをとりあげるが、大型のシステムも同様であ
る。
同じ資源を必要とすることがある。本明細書では
このようなシステムの例としてワード処理システ
ムをとりあげるが、大型のシステムも同様であ
る。
現在使用されている対話式のワード処理システ
ム乃至はテキスト処理システムの代表的な構成
は、キーボード、デイスプレイ、プリンタ、デイ
スケツト及びマイクロプロセツサから成るもので
ある。マイクロプロセツサは、システムを構成す
る各ユニツトの相互の働きによつて、多様なテキ
スト処理が遂行されるようにプログラムされてい
る。テキスト処理システムの主要な機能の1つ
に、プリンタによる印刷された形での1頁乃至複
数頁のドキユメントの生成がある。このようなシ
ステムと操作員との間の対話は質問及びそれに対
する応答の形でなされる。その場合、まず操作員
に対して幾つかの質問或いは使用可能なオプシヨ
ンがデイスプレイに表示される(応答も表示され
ることがある)。操作員は、指定された文字キー
を押すことによつて、又は要求されたデータをキ
ーインすることによつて応答する。このような手
順を使用すれば、ドキユメントの様式(フオーマ
ツト)に関する様々なパラメータをシステムに対
して指定することができる。次いでシステムはテ
キスト入力モードに入り、実際のテキストが操作
員によつてキーインされ、更にデイスプレイで表
示される。その場合の表示様式はプリンタでのド
キユメントの印刷様式と大体同じである。
ム乃至はテキスト処理システムの代表的な構成
は、キーボード、デイスプレイ、プリンタ、デイ
スケツト及びマイクロプロセツサから成るもので
ある。マイクロプロセツサは、システムを構成す
る各ユニツトの相互の働きによつて、多様なテキ
スト処理が遂行されるようにプログラムされてい
る。テキスト処理システムの主要な機能の1つ
に、プリンタによる印刷された形での1頁乃至複
数頁のドキユメントの生成がある。このようなシ
ステムと操作員との間の対話は質問及びそれに対
する応答の形でなされる。その場合、まず操作員
に対して幾つかの質問或いは使用可能なオプシヨ
ンがデイスプレイに表示される(応答も表示され
ることがある)。操作員は、指定された文字キー
を押すことによつて、又は要求されたデータをキ
ーインすることによつて応答する。このような手
順を使用すれば、ドキユメントの様式(フオーマ
ツト)に関する様々なパラメータをシステムに対
して指定することができる。次いでシステムはテ
キスト入力モードに入り、実際のテキストが操作
員によつてキーインされ、更にデイスプレイで表
示される。その場合の表示様式はプリンタでのド
キユメントの印刷様式と大体同じである。
テキストは一連のキーストロークによつて入力
される。各キーストロークはシステム内で1バイ
トのデータに変換された後、マイクロプロセツサ
のメモリに書込まれる。殆んどのキーストローク
は文字データを表わしており、マイクロプロセツ
サはデイスプレイでの表示のためにそれらをリフ
レツシユ・バツフアへ送る。段落の字下げやキヤ
リツジ復帰などのテキスト様式制御データは、限
られた数のキーストロークによつて発生される。
マイクロプロセツサは、このような制御データを
認識すると、必要な文字制御信号をリフレツシ
ユ・バツフアへ送る。次のキーストロークを表わ
す文字がどこに表示されるかをデイスプレイ画面
上で示すためのカーソル文字信号も、マイクロプ
ロセツサからリフレツシユ・バツフアに与えられ
る。
される。各キーストロークはシステム内で1バイ
トのデータに変換された後、マイクロプロセツサ
のメモリに書込まれる。殆んどのキーストローク
は文字データを表わしており、マイクロプロセツ
サはデイスプレイでの表示のためにそれらをリフ
レツシユ・バツフアへ送る。段落の字下げやキヤ
リツジ復帰などのテキスト様式制御データは、限
られた数のキーストロークによつて発生される。
マイクロプロセツサは、このような制御データを
認識すると、必要な文字制御信号をリフレツシ
ユ・バツフアへ送る。次のキーストロークを表わ
す文字がどこに表示されるかをデイスプレイ画面
上で示すためのカーソル文字信号も、マイクロプ
ロセツサからリフレツシユ・バツフアに与えられ
る。
多くの場合、テキストがすべて入力されてしま
うと、操作員はシステムに対してドキユメント印
刷を要求する。システムはこれにより印刷モード
に入り、記憶されている様式パラメータ及びテキ
ストを用いてドキユメントを印刷する。印刷され
るべきドキユメントは一連のデータ及び制御文字
の形でメモリ(普通はデイスケツト)に記憶され
ている。システムはドキユメント名及びデイスケ
ツト番号が記録されたドキユメント索引を保持し
ており、これによりドキユメント・レコードの順
次検索が可能になる。
うと、操作員はシステムに対してドキユメント印
刷を要求する。システムはこれにより印刷モード
に入り、記憶されている様式パラメータ及びテキ
ストを用いてドキユメントを印刷する。印刷され
るべきドキユメントは一連のデータ及び制御文字
の形でメモリ(普通はデイスケツト)に記憶され
ている。システムはドキユメント名及びデイスケ
ツト番号が記録されたドキユメント索引を保持し
ており、これによりドキユメント・レコードの順
次検索が可能になる。
印刷されたドキユメントの編集が終ると、操作
員は再びドキユメントをデイスケツトから取出し
てメイン・メモリへ送り、更にシステムを更新モ
ードにしてこのドキユメントをデイスプレイで表
示させる。表示されたドキユメント中の特定の文
字又は単語を修正、例えば削除したい場合には、
カーソル移動キーを用いてデイスプレイ画面上で
削除を要する位置までカーソルを移動させ、次い
で削除キーを押せばよい。その結果、マイクロプ
ロセツサの働きによつて、メモリ内で対応する文
字が消去され、従つて更新されたドキユメントに
は現われなくなる。
員は再びドキユメントをデイスケツトから取出し
てメイン・メモリへ送り、更にシステムを更新モ
ードにしてこのドキユメントをデイスプレイで表
示させる。表示されたドキユメント中の特定の文
字又は単語を修正、例えば削除したい場合には、
カーソル移動キーを用いてデイスプレイ画面上で
削除を要する位置までカーソルを移動させ、次い
で削除キーを押せばよい。その結果、マイクロプ
ロセツサの働きによつて、メモリ内で対応する文
字が消去され、従つて更新されたドキユメントに
は現われなくなる。
殆んどのテキスト処理システムにおいては、文
字データ及び制御データから成るテキスト・デー
タは、キーストロークの順序に従つてメモリに書
込まれる。また頁長、左マージン、右マージン、
行間隔、タイプ・フオントなどのドキユメント様
式パラメータは、テキスト・データとは別にメモ
リに書込まれるのが普通であり、従つて、最終的
なドキユメントのテキスト様式パラメータを、そ
のテキストが最初にシステムへ入力されたときに
使用されていたパラメータとは全く異なつたもの
にすることができる。
字データ及び制御データから成るテキスト・デー
タは、キーストロークの順序に従つてメモリに書
込まれる。また頁長、左マージン、右マージン、
行間隔、タイプ・フオントなどのドキユメント様
式パラメータは、テキスト・データとは別にメモ
リに書込まれるのが普通であり、従つて、最終的
なドキユメントのテキスト様式パラメータを、そ
のテキストが最初にシステムへ入力されたときに
使用されていたパラメータとは全く異なつたもの
にすることができる。
テキスト・データをキーストロークの順序に従
つて記憶させておくと、様々な編集機能が可能に
なる。これらの機能には、文字や単語の修正(削
除、付加、変更など)といつた簡単なものから、
単語の綴りの検査、指定された単語の自動差替
え、単語の移動などの複雑なものまである。
つて記憶させておくと、様々な編集機能が可能に
なる。これらの機能には、文字や単語の修正(削
除、付加、変更など)といつた簡単なものから、
単語の綴りの検査、指定された単語の自動差替
え、単語の移動などの複雑なものまである。
上述のようなテキスト処理システムをソフトウ
エアの面からみると、マイクロプロセツサで使用
されるソフトウエアは、操作員による選択が可能
な多くのアプリケーシヨン乃至はタスクに分けら
れる。このようなアプリケーシヨンの例として
は、テキスト入力、テキスト修正、綴り検査、背
景印刷などがある。例えばメニユー選択を示す単
一のキーストロークによつて選択された各アプリ
ケーシヨンは、マイクロプロセツサ制御形のシス
テムの内部において、操作員が認識し得ない多く
の活動を生じさせる。この活動は1以上のプロセ
スによつて開始され遂行される。プロセスとはシ
ステムにおけるデイスパツチ可能な機能単位のこ
とであつて、スタツク域、一組のプログラム及び
プロセス制御ブロツクから成り、多くのプログラ
ム又はルーチンが単一のプロセスのもとで実行さ
れ得る。
エアの面からみると、マイクロプロセツサで使用
されるソフトウエアは、操作員による選択が可能
な多くのアプリケーシヨン乃至はタスクに分けら
れる。このようなアプリケーシヨンの例として
は、テキスト入力、テキスト修正、綴り検査、背
景印刷などがある。例えばメニユー選択を示す単
一のキーストロークによつて選択された各アプリ
ケーシヨンは、マイクロプロセツサ制御形のシス
テムの内部において、操作員が認識し得ない多く
の活動を生じさせる。この活動は1以上のプロセ
スによつて開始され遂行される。プロセスとはシ
ステムにおけるデイスパツチ可能な機能単位のこ
とであつて、スタツク域、一組のプログラム及び
プロセス制御ブロツクから成り、多くのプログラ
ム又はルーチンが単一のプロセスのもとで実行さ
れ得る。
単一のプロセスのもとで複数のプログラム又は
ルーチンが実行される場合、それらが同じ資源
(I/O装置、制御ブロツク、命令シーケンスな
ど)の使用を要求することがある。共有資源の制
御方式としては、同じプロセスが同じ資源に対し
てロツク要求を何度でも出せるようにしたものが
知られているが、ロツクされた資源の使用は、こ
のプロセスからの最初のアンロツク(解放)要求
によつて自由になる。また、資源をロツクしたル
ーチンによつて呼出されたサブルーチンが、この
既にロツクされている資源へのアクセスを必要と
した場合には問題が生じる。従来は、この問題を
解決するために、資源の状況を検査するための符
号を所定の場所に記憶させておき、その検査結果
をサブルーチンに知らせる方法が採られていた。
しかしながら、この方法では、符号を記憶させる
ための余分の場所を必要とし、また交換されるべ
き情報の量も多い。
ルーチンが実行される場合、それらが同じ資源
(I/O装置、制御ブロツク、命令シーケンスな
ど)の使用を要求することがある。共有資源の制
御方式としては、同じプロセスが同じ資源に対し
てロツク要求を何度でも出せるようにしたものが
知られているが、ロツクされた資源の使用は、こ
のプロセスからの最初のアンロツク(解放)要求
によつて自由になる。また、資源をロツクしたル
ーチンによつて呼出されたサブルーチンが、この
既にロツクされている資源へのアクセスを必要と
した場合には問題が生じる。従来は、この問題を
解決するために、資源の状況を検査するための符
号を所定の場所に記憶させておき、その検査結果
をサブルーチンに知らせる方法が採られていた。
しかしながら、この方法では、符号を記憶させる
ための余分の場所を必要とし、また交換されるべ
き情報の量も多い。
本発明の目的は上述の問題を解決すると共に、
必要な交換情報の量を減らすことにある。
必要な交換情報の量を減らすことにある。
本発明においては、ロツク要求のネステイング
を制御するためにロツク・ルーチン及びアンロツ
ク・ルーチンが使用される。所与のプロセスで最
初のロツク要求が許可されると、資源使用カウン
タが1にセツトされる。資源使用カウンタは、同
じプロセス内のルーチンからロツク要求が出され
る度に1ずつ増分され、呼出しルーチンからアン
ロツク要求が出される度に1ずつ減分される。資
減使用カウンタの内容が0になると、資源はもは
やロツクされておらず、従つて他のプロセスによ
るロツクが可能である。
を制御するためにロツク・ルーチン及びアンロツ
ク・ルーチンが使用される。所与のプロセスで最
初のロツク要求が許可されると、資源使用カウン
タが1にセツトされる。資源使用カウンタは、同
じプロセス内のルーチンからロツク要求が出され
る度に1ずつ増分され、呼出しルーチンからアン
ロツク要求が出される度に1ずつ減分される。資
減使用カウンタの内容が0になると、資源はもは
やロツクされておらず、従つて他のプロセスによ
るロツクが可能である。
本発明によれば、各共有資源に対してロツク制
御ブロツク(以下、LCBと略称)が関連付けら
れる。ロツク・ルーチンは、資源の排他的アクセ
スを要求するのに用いられる。資源が使用可能で
あれば、即ちそのロツク・カウントが0であれ
ば、ロツク要求を出したプロセスの識別子が
LCBの所定のフイールドに書込まれ、更にLCB
に含まれるロツク・カウントが1にセツトされ
る。ロツク・カウントはロツク要求の度に1ずつ
増分され、これにより、同じプロセスから同じ資
源へのロツク要求のネステイングが可能になる。
御ブロツク(以下、LCBと略称)が関連付けら
れる。ロツク・ルーチンは、資源の排他的アクセ
スを要求するのに用いられる。資源が使用可能で
あれば、即ちそのロツク・カウントが0であれ
ば、ロツク要求を出したプロセスの識別子が
LCBの所定のフイールドに書込まれ、更にLCB
に含まれるロツク・カウントが1にセツトされ
る。ロツク・カウントはロツク要求の度に1ずつ
増分され、これにより、同じプロセスから同じ資
源へのロツク要求のネステイングが可能になる。
資源が使用可能でなければ、即ちそのロツク・
カウントが0でなく且つLCB中のプロセス識別
子がロツク要求を出したプロセスの識別子と一致
しなければ、後者のプロセスはレデイリストから
除かれる。このプロセスのプロセス制御ブロツク
(以下、PCBと略称)は、同じ資源に対してロツ
ク要求を出し且つ該資源が使用可能になるのを待
つているプロセスのPCBの待ち行列に連鎖され
る。LCBはこの待ち行列にある最初のPCBを指
し示すためのフイールドを含んでいるが、当該資
源の使用を待つているプロセスがなければ、その
内容は0である。待ち行列におけるPCBの順序
は、待ち状態にあるプロセスの相対的な優先順位
によつて決まる。
カウントが0でなく且つLCB中のプロセス識別
子がロツク要求を出したプロセスの識別子と一致
しなければ、後者のプロセスはレデイリストから
除かれる。このプロセスのプロセス制御ブロツク
(以下、PCBと略称)は、同じ資源に対してロツ
ク要求を出し且つ該資源が使用可能になるのを待
つているプロセスのPCBの待ち行列に連鎖され
る。LCBはこの待ち行列にある最初のPCBを指
し示すためのフイールドを含んでいるが、当該資
源の使用を待つているプロセスがなければ、その
内容は0である。待ち行列におけるPCBの順序
は、待ち状態にあるプロセスの相対的な優先順位
によつて決まる。
アンロツク・ルーチンは、特定の資源に対応す
るLCB中のロツク・カウントを減分するのに用
いられる。ロツク・カウントが0になつたとき、
対応する資源の使用を待つているプロセスがなけ
れば、該資源は解放される。しかしながら、該資
源について1以上のプロセスが待ち状態にあれ
ば、PCB待ち行列から最初のPCBが除かれ、そ
れに対応するプロセスがレデイ・リストに付加さ
れて、資源の排他的アクセスを許される。LCB
にはこのプロセスの識別子が書込まれ、更にその
ロツク・カウントが1にセツトされる。
るLCB中のロツク・カウントを減分するのに用
いられる。ロツク・カウントが0になつたとき、
対応する資源の使用を待つているプロセスがなけ
れば、該資源は解放される。しかしながら、該資
源について1以上のプロセスが待ち状態にあれ
ば、PCB待ち行列から最初のPCBが除かれ、そ
れに対応するプロセスがレデイ・リストに付加さ
れて、資源の排他的アクセスを許される。LCB
にはこのプロセスの識別子が書込まれ、更にその
ロツク・カウントが1にセツトされる。
本発明に適用し得るテキスト(ワード)処理シ
ステムの一例を第1図に示す。グラフイツク文
字、データ及び命令の入力はキーボード10から
行われる。キーボード10から入力されたこれら
の情報は母線12を通つてプロセツサ14へ供給
される。プロセツサ14は、例えばインテル社の
8086プロセツサのようなマイクロプロセツサでよ
い。
ステムの一例を第1図に示す。グラフイツク文
字、データ及び命令の入力はキーボード10から
行われる。キーボード10から入力されたこれら
の情報は母線12を通つてプロセツサ14へ供給
される。プロセツサ14は、例えばインテル社の
8086プロセツサのようなマイクロプロセツサでよ
い。
キーボード10はまた割込み線16を介してハ
ードウエア割込み信号を割込みコントローラ18
(例えばインテル社の8259−A)へ送る。割込み
コントローラ18は各々の割込み要求をプロセツ
サ14の優先レベルに関連付ける。第1図の例で
は、割込みコントローラ18は5種類のハードウ
エア割込み信号を受取るようになつているが、こ
れをもつと多くすることもできる。例えばインテ
ル8259−Aは、割込み線を8本まで収容すること
ができ、各ハードウエア割込みに優先順位コード
が割当てられている。割込みのサービスは各ハー
ドウエア割込みに対応する割込みサービス・プロ
セスが受持つ。割込みサービス・プロセスは、対
応する割込みをサービスするときにシステムによ
つてデイスパツチされる。このデイスパツチの
間、同じレベル又はより優先順位の高いレベルで
の割込みはマスクされ、従つて割込みサービスの
ためのプロセツサ14のスケジユーリングが確実
に行われる。
ードウエア割込み信号を割込みコントローラ18
(例えばインテル社の8259−A)へ送る。割込み
コントローラ18は各々の割込み要求をプロセツ
サ14の優先レベルに関連付ける。第1図の例で
は、割込みコントローラ18は5種類のハードウ
エア割込み信号を受取るようになつているが、こ
れをもつと多くすることもできる。例えばインテ
ル8259−Aは、割込み線を8本まで収容すること
ができ、各ハードウエア割込みに優先順位コード
が割当てられている。割込みのサービスは各ハー
ドウエア割込みに対応する割込みサービス・プロ
セスが受持つ。割込みサービス・プロセスは、対
応する割込みをサービスするときにシステムによ
つてデイスパツチされる。このデイスパツチの
間、同じレベル又はより優先順位の高いレベルで
の割込みはマスクされ、従つて割込みサービスの
ためのプロセツサ14のスケジユーリングが確実
に行われる。
プロセツサ14は、ワード処理システムにおけ
るデータの処理、編集及び表示に必要な種々の制
御機能を有しており、メモリ母線20を介してラ
ンダム・アクセス型のメモリ22に接続される。
メモリ22にはシステム・データ及びプログラム
が記憶される。操作員とシステムとの対話を可能
にするデイスプレイ24及びシステム・プログラ
ムを含むプログラム・ライブラリとして働くデイ
スケツト26も、メモリ母線20を介してプロセ
ツサ14に接続される。プログラム・ライブラリ
から選択されたプログラム・モジユールをメモリ
22にロードしたり、不要なプログラム・モジユ
ールをメモリ22から取出したりすることが可能
である。各装置の動作タイミングを制御するクロ
ツクは、システム・クロツク28から与えられ
る。ワード処理システムは、メモリ母線20を介
してプロセツサ14に接続された他のDMA(直
接メモリ・アクセス)装置29を含んでいてもよ
い。デイスケツト26及びDMA装置29は各々
割込み線30及び32にハードウエア割込み信号
を発生する。
るデータの処理、編集及び表示に必要な種々の制
御機能を有しており、メモリ母線20を介してラ
ンダム・アクセス型のメモリ22に接続される。
メモリ22にはシステム・データ及びプログラム
が記憶される。操作員とシステムとの対話を可能
にするデイスプレイ24及びシステム・プログラ
ムを含むプログラム・ライブラリとして働くデイ
スケツト26も、メモリ母線20を介してプロセ
ツサ14に接続される。プログラム・ライブラリ
から選択されたプログラム・モジユールをメモリ
22にロードしたり、不要なプログラム・モジユ
ールをメモリ22から取出したりすることが可能
である。各装置の動作タイミングを制御するクロ
ツクは、システム・クロツク28から与えられ
る。ワード処理システムは、メモリ母線20を介
してプロセツサ14に接続された他のDMA(直
接メモリ・アクセス)装置29を含んでいてもよ
い。デイスケツト26及びDMA装置29は各々
割込み線30及び32にハードウエア割込み信号
を発生する。
出力データ母線35を介してプロセツサ14と
通信するプリンタ34は、キーボード10から入
力されたデータ又はシステムからの命令を印刷さ
れた形で出力し、更に別のハードウエア割込み信
号を割込み線36に発生する。キーボード10及
びプリンタ34以外の外のI/O装置37が設け
られてもよい。その場合、I/O装置37は出力
データ母線38を介してプロセツサ14と通信
し、更にハードウエア割込み信号を割込み線39
に発生する。割込み線16,30,32,36及
び39上のハードウエア割込み信号はすべて割込
みコントローラ18に受取られる。
通信するプリンタ34は、キーボード10から入
力されたデータ又はシステムからの命令を印刷さ
れた形で出力し、更に別のハードウエア割込み信
号を割込み線36に発生する。キーボード10及
びプリンタ34以外の外のI/O装置37が設け
られてもよい。その場合、I/O装置37は出力
データ母線38を介してプロセツサ14と通信
し、更にハードウエア割込み信号を割込み線39
に発生する。割込み線16,30,32,36及
び39上のハードウエア割込み信号はすべて割込
みコントローラ18に受取られる。
メモリ22の記憶内容のうち、本発明に関連す
るものを第2図に示す。50はシステム中核と呼
ばれるもので、ワード処理システムを制御するた
めの一組のルーチンから成つている。52は
PCB(PCB1〜PCBn)、54は資源(RES1〜
RESn)、56はLCB(LCB1〜LCBn)、58は特
定のプロセスに関連するプログラム(PGM1〜
PGMn)である。
るものを第2図に示す。50はシステム中核と呼
ばれるもので、ワード処理システムを制御するた
めの一組のルーチンから成つている。52は
PCB(PCB1〜PCBn)、54は資源(RES1〜
RESn)、56はLCB(LCB1〜LCBn)、58は特
定のプロセスに関連するプログラム(PGM1〜
PGMn)である。
システムのプロセス毎に準備されるPCB52
の内容を第3図に示す。図示のように、PCB5
2は、システムがプロセスをアドレス指定するの
に用いられるプロセス識別子PIDを保持するPID
フイールド60と、対応するプロセスの優先順位
を示す優先順位フイールド62と、レデイ、待
ち、ロード済みなどの状況情報を保持する状況フ
イールド64と、資源アクセスの直列化に関連し
て使用されるリンク・フイールド66とを含んで
いる。
の内容を第3図に示す。図示のように、PCB5
2は、システムがプロセスをアドレス指定するの
に用いられるプロセス識別子PIDを保持するPID
フイールド60と、対応するプロセスの優先順位
を示す優先順位フイールド62と、レデイ、待
ち、ロード済みなどの状況情報を保持する状況フ
イールド64と、資源アクセスの直列化に関連し
て使用されるリンク・フイールド66とを含んで
いる。
システムの共有資源毎に準備されるLCB56
の内容を第4図に示す。RPIDフイールド72は
対応する資源をロツクしたプロセスの識別子を保
持するもので、そのようなプロセスがなければ、
その内容は0である。LCKCNTフイールド74
は前述のロツク・カウントを保持する。これが0
であれば、対応する資源は使用可能である。対応
する資源がロツクされていると、LCKCNTフイ
ールド74は0以外の正の整数を含む。RLNK
フイールド76は待ち状態にある最初のPCBの
アドレスを保持する。資源が使用可能になるのを
待つているプロセスのPCBは矢印78で示され
るように連鎖される。PCB間の連鎖はリンク・
フイールド66によつて行われる。云い換えれ
ば、LCB56のRLNKフイールド76及びPCB
52のリンク・フイールド66は、PCB待ち行
列にある各PCBを順次に指定していくポインタ
を保持する。
の内容を第4図に示す。RPIDフイールド72は
対応する資源をロツクしたプロセスの識別子を保
持するもので、そのようなプロセスがなければ、
その内容は0である。LCKCNTフイールド74
は前述のロツク・カウントを保持する。これが0
であれば、対応する資源は使用可能である。対応
する資源がロツクされていると、LCKCNTフイ
ールド74は0以外の正の整数を含む。RLNK
フイールド76は待ち状態にある最初のPCBの
アドレスを保持する。資源が使用可能になるのを
待つているプロセスのPCBは矢印78で示され
るように連鎖される。PCB間の連鎖はリンク・
フイールド66によつて行われる。云い換えれ
ば、LCB56のRLNKフイールド76及びPCB
52のリンク・フイールド66は、PCB待ち行
列にある各PCBを順次に指定していくポインタ
を保持する。
次に、所与のプロセスのもとで実行されている
ルーチンが特定の資源をロツクしようとしたとき
に、システム中核50がどのように機能するかを
第5図を参照して説明する。第5図のルーチンは
入口点80から開始する。最初のステツプ82で
は、対応するLCB56のLCKCNTフイールド7
4が0か否かが調べられる。もし0であればステ
ツプ84へ進んで、ロツク要求を出したプロセスの
識別子PIDがLCB56のRPIDフイールド72に
置かれ、次のステツプ86でLCKCNTフイールド
74が1だけ増分される。これは対応する資源が
ロツクされたことを示す。LCKCNTフイールド
74の増分が終ると、出口点88において、ロツ
ク要求を出したプロセスへの復帰が行われる。
ルーチンが特定の資源をロツクしようとしたとき
に、システム中核50がどのように機能するかを
第5図を参照して説明する。第5図のルーチンは
入口点80から開始する。最初のステツプ82で
は、対応するLCB56のLCKCNTフイールド7
4が0か否かが調べられる。もし0であればステ
ツプ84へ進んで、ロツク要求を出したプロセスの
識別子PIDがLCB56のRPIDフイールド72に
置かれ、次のステツプ86でLCKCNTフイールド
74が1だけ増分される。これは対応する資源が
ロツクされたことを示す。LCKCNTフイールド
74の増分が終ると、出口点88において、ロツ
ク要求を出したプロセスへの復帰が行われる。
LCKCNTフイールド74が0でなく、資源が
既にロツクされていることを示していると、ステ
ツプ82からステツプ90へ進んで、ロツク要求を出
したプロセスの識別子PIDとLCB56のRPIDフ
イールド72の内容とが比較される。両者が一致
すると上述のステツプ86へ進み、次いで復帰が行
われる。一致しなければステツプ92へ進んで、ロ
ツク要求を出したプロセスがレデイ・リストから
除かれ、次のステツプ94で待ちリストに入れられ
る。前述のように、LCB56のRLNKフイール
ド76は、待ち状態にあるプロセスのPCBのう
ち最初のPCBを指定するのに用いられる。
RLNKフイールド76の内容が0であれば、対
応する資源が使用可能になるのを待つているプロ
セスがないことを示す。ロツクを要求したプロセ
スはもはやレデイ状態にはないから、第5図のル
ーチンはステツプ98において、レデイ状態にある
最高優先順位のプロセスHPRPをデイスパツチす
る。
既にロツクされていることを示していると、ステ
ツプ82からステツプ90へ進んで、ロツク要求を出
したプロセスの識別子PIDとLCB56のRPIDフ
イールド72の内容とが比較される。両者が一致
すると上述のステツプ86へ進み、次いで復帰が行
われる。一致しなければステツプ92へ進んで、ロ
ツク要求を出したプロセスがレデイ・リストから
除かれ、次のステツプ94で待ちリストに入れられ
る。前述のように、LCB56のRLNKフイール
ド76は、待ち状態にあるプロセスのPCBのう
ち最初のPCBを指定するのに用いられる。
RLNKフイールド76の内容が0であれば、対
応する資源が使用可能になるのを待つているプロ
セスがないことを示す。ロツクを要求したプロセ
スはもはやレデイ状態にはないから、第5図のル
ーチンはステツプ98において、レデイ状態にある
最高優先順位のプロセスHPRPをデイスパツチす
る。
特定の資源に対してアンロツク要求が出された
場合のシステム中核50のルーチンを第6図に示
す。このルーチンは入口点150から開始する。
最初のステツプ152では、アンロツクが要求され
た資源に対応するLCBのLCKCNTフイールド7
4が1だけ減分される。次のステツプ154では、
その内容が0になつたか否かが調べられる。0で
なければ、この資源はまだロツクされているか
ら、出口点160へ進んで、アンロツク要求を出
したプロセスへの復帰が行われる。LCKCNT=
0であればステツプ164へ進み、この資源をロツ
クしようとしているプロセス即ち待ち状態にある
プロセスの有無が調べられる。そのようなプロセ
スがなければステツプ166へ進み、LCKCNTフ
イールド74を0に保つたままでRPIDフイール
ド72を0にすることにより対応する資源が解放
される。次いで、出口点160からアンロツク要
求を出したプロセスへの復帰が行われる。資源を
ロツクしようとしているプロセスがあれば、ステ
ツプ164からステツプ170へ進み、待ちリスト
(PCB待ち行列)にある最初のプロセス(PCB)
が取出される。この待ちリストは優先順位の順に
なつている。第3図のところで説明したように、
各プロセスのPCB52は、デイスパツチの優先
順位を示す優先順位フイールド62を有する。次
のステツプ172では、ロツクが許可される。即ち、
待ちリストから取出されたプロセスの識別子PID
がLCB56のRPIDフイールド72に置かれ、
LCKCNTフイールド74が1にセツトされ、そ
して待ちリストにある次のプロセスの識別子PID
がRLNKフイールド76に置かれる。次のステ
ツプ174では、待ちリストから取出されたプロセ
スがレデイ・リストに加えられる。次のステツプ
176は第5図のステツプ98と同じであつて、
HPRPがデイスパツチされる。
場合のシステム中核50のルーチンを第6図に示
す。このルーチンは入口点150から開始する。
最初のステツプ152では、アンロツクが要求され
た資源に対応するLCBのLCKCNTフイールド7
4が1だけ減分される。次のステツプ154では、
その内容が0になつたか否かが調べられる。0で
なければ、この資源はまだロツクされているか
ら、出口点160へ進んで、アンロツク要求を出
したプロセスへの復帰が行われる。LCKCNT=
0であればステツプ164へ進み、この資源をロツ
クしようとしているプロセス即ち待ち状態にある
プロセスの有無が調べられる。そのようなプロセ
スがなければステツプ166へ進み、LCKCNTフ
イールド74を0に保つたままでRPIDフイール
ド72を0にすることにより対応する資源が解放
される。次いで、出口点160からアンロツク要
求を出したプロセスへの復帰が行われる。資源を
ロツクしようとしているプロセスがあれば、ステ
ツプ164からステツプ170へ進み、待ちリスト
(PCB待ち行列)にある最初のプロセス(PCB)
が取出される。この待ちリストは優先順位の順に
なつている。第3図のところで説明したように、
各プロセスのPCB52は、デイスパツチの優先
順位を示す優先順位フイールド62を有する。次
のステツプ172では、ロツクが許可される。即ち、
待ちリストから取出されたプロセスの識別子PID
がLCB56のRPIDフイールド72に置かれ、
LCKCNTフイールド74が1にセツトされ、そ
して待ちリストにある次のプロセスの識別子PID
がRLNKフイールド76に置かれる。次のステ
ツプ174では、待ちリストから取出されたプロセ
スがレデイ・リストに加えられる。次のステツプ
176は第5図のステツプ98と同じであつて、
HPRPがデイスパツチされる。
よく知られているように、多重処理システムに
おいては何らかの直列化技法が必要であり、もし
それがなければ、例えば或るデータ・セツトをア
クセスしている第1のルーチンが同じデータ・セ
ツトをアクセスする第2のルーチンによつて割込
まれたときに問題が生じる。即ち、第1のルーチ
ンが再びデータ・セツトをアクセスできるように
なつたときは、このデータ・セツトは第2のルー
チンによつて既に変更されており、従つて第1の
ルーチンの実行結果が誤つたものになる。ロツク
使用カウンタは周知であるが、本発明ではロツク
要求のネステイングが遂行される。即ち、同じプ
ロセスに含まれる種々のルーチンが特定の資源を
ロツクでき、しかもそのロツク状態は当該資源に
ついてのネストされたロツク要求がなくなるまで
保持される。
おいては何らかの直列化技法が必要であり、もし
それがなければ、例えば或るデータ・セツトをア
クセスしている第1のルーチンが同じデータ・セ
ツトをアクセスする第2のルーチンによつて割込
まれたときに問題が生じる。即ち、第1のルーチ
ンが再びデータ・セツトをアクセスできるように
なつたときは、このデータ・セツトは第2のルー
チンによつて既に変更されており、従つて第1の
ルーチンの実行結果が誤つたものになる。ロツク
使用カウンタは周知であるが、本発明ではロツク
要求のネステイングが遂行される。即ち、同じプ
ロセスに含まれる種々のルーチンが特定の資源を
ロツクでき、しかもそのロツク状態は当該資源に
ついてのネストされたロツク要求がなくなるまで
保持される。
前述のように、本発明が適用されるのは、各プ
ロセス内で複数のプログラム或いはルーチンが実
行され得る多重処理システムである。第7図を参
照しながら、特定のプロセスに関連する2つのプ
ログラムが同じ資源を使用する例について説明す
る。例としてとりあげたのは、番号が9のプロセ
ス(プロセス識別子はPID9)、それに関連する
番号が1及び3のプログラムPGM1及びPGM
3、並びにこれらのプログラムによつて使用され
る番号が5の資源RES5である。
ロセス内で複数のプログラム或いはルーチンが実
行され得る多重処理システムである。第7図を参
照しながら、特定のプロセスに関連する2つのプ
ログラムが同じ資源を使用する例について説明す
る。例としてとりあげたのは、番号が9のプロセ
ス(プロセス識別子はPID9)、それに関連する
番号が1及び3のプログラムPGM1及びPGM
3、並びにこれらのプログラムによつて使用され
る番号が5の資源RES5である。
プロセツサ14は、入口点190においてPID
9を有するプロセスの制御下に置かれる。プログ
ラムPGM1の実行が開始され(192)、その実行
中に資源RES5に対するロツク要求が出される
(194)。RES5のロツクは第5図のルーチンに従
つて遂行される。次いでPGM1はPGM3を呼出
し(196)、それによつてPGM3の実行が開始さ
れる(198)。PGM3もその実行中にRES5をロ
ツクする(200)。勿論、このロツクも第5図のル
ーチンに従つて遂行される。PGM1及びPGM3
はPID9を有する同じプロセスに関連しているか
ら、PGM3によるロツクの結果、RES5に対応
するLCB中のLCKCNTフイールド74の内容が
2になる。
9を有するプロセスの制御下に置かれる。プログ
ラムPGM1の実行が開始され(192)、その実行
中に資源RES5に対するロツク要求が出される
(194)。RES5のロツクは第5図のルーチンに従
つて遂行される。次いでPGM1はPGM3を呼出
し(196)、それによつてPGM3の実行が開始さ
れる(198)。PGM3もその実行中にRES5をロ
ツクする(200)。勿論、このロツクも第5図のル
ーチンに従つて遂行される。PGM1及びPGM3
はPID9を有する同じプロセスに関連しているか
ら、PGM3によるロツクの結果、RES5に対応
するLCB中のLCKCNTフイールド74の内容が
2になる。
PGM3はRES5を使用し(202)、次いでアン
ロツク・ルーチンを呼出す(204)。第6図のとこ
ろで説明したように、RES5に対応するLCB中
のLCKCNTフイールド74の内容が1だけ減分
されるが、まだ0には達していないから、アンロ
ツク・ルーチンからの復帰は、RES5をこのプ
ロセスにロツクした状態で行われる。次いで
PGM3からPGM1への復帰が行われる(206)。
PGM1はRES5を使用し(208)、次いでアンロ
ツクする(210)。かくしてRES5が使用可能に
なる。RES5の使用を待つている他のプロセス
があれば、そのプロセスによるRES5のロツク
はこの時点で許される。PGM1の実行は出口点
212で終了する。
ロツク・ルーチンを呼出す(204)。第6図のとこ
ろで説明したように、RES5に対応するLCB中
のLCKCNTフイールド74の内容が1だけ減分
されるが、まだ0には達していないから、アンロ
ツク・ルーチンからの復帰は、RES5をこのプ
ロセスにロツクした状態で行われる。次いで
PGM3からPGM1への復帰が行われる(206)。
PGM1はRES5を使用し(208)、次いでアンロ
ツクする(210)。かくしてRES5が使用可能に
なる。RES5の使用を待つている他のプロセス
があれば、そのプロセスによるRES5のロツク
はこの時点で許される。PGM1の実行は出口点
212で終了する。
第1図は本発明を適用し得るワード処理システ
ムのブロツク図、第2図はメモリ22の記憶内容
を示すブロツク図、第3図はPCB52の内容を
示すブロツク図、第4図はLCB52の内容及び
PCB52の連鎖を示すブロツク図、第5図はロ
ツク・ルーチンによるオペレーシヨンのフローチ
ヤート、第6図はアンロツク・ルーチンによるオ
ペレーシヨンのフローチヤート、第7図は本発明
の一実施態様を示すフローチヤートである。
ムのブロツク図、第2図はメモリ22の記憶内容
を示すブロツク図、第3図はPCB52の内容を
示すブロツク図、第4図はLCB52の内容及び
PCB52の連鎖を示すブロツク図、第5図はロ
ツク・ルーチンによるオペレーシヨンのフローチ
ヤート、第6図はアンロツク・ルーチンによるオ
ペレーシヨンのフローチヤート、第7図は本発明
の一実施態様を示すフローチヤートである。
Claims (1)
- 1 マルチタスク・システムにおいて、所定の資
源に対応して、プロセスの識別情報を記憶する手
段及びカウント手段を設け、上記プロセスの識別
情報を記憶する手段には上記資源を占有している
プロセスの識別情報を記憶し、上記カウント手段
は上記資源を占有しているプロセスからのロツク
要求が出される度に増分され且つアンロツク要求
が出される度に減分され、上記カウント手段の内
容が所定の初期値に等しくなつた時にのみ上記資
源を解放する資源制御方式。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/274,113 US4435766A (en) | 1981-06-16 | 1981-06-16 | Nested resource control using locking and unlocking routines with use counter for plural processes |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS57207957A JPS57207957A (en) | 1982-12-20 |
| JPH0230057B2 true JPH0230057B2 (ja) | 1990-07-04 |
Family
ID=23046827
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57064836A Granted JPS57207957A (en) | 1981-06-16 | 1982-04-20 | Resource control system |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US4435766A (ja) |
| JP (1) | JPS57207957A (ja) |
Families Citing this family (46)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4574350A (en) * | 1982-05-19 | 1986-03-04 | At&T Bell Laboratories | Shared resource locking apparatus |
| US4891749A (en) * | 1983-03-28 | 1990-01-02 | International Business Machines Corporation | Multiprocessor storage serialization apparatus |
| US4731750A (en) * | 1984-01-04 | 1988-03-15 | International Business Machines Corporation | Workstation resource sharing |
| US4751740A (en) * | 1984-12-10 | 1988-06-14 | Wang Laboratories, Inc. | Apparatus, method, and structure for translating a document having one structure into a document having another structure |
| US4912629A (en) * | 1986-06-26 | 1990-03-27 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Real-time garbage collection for list processing using restructured cells for increased reference counter size |
| JPH01195542A (ja) * | 1988-01-30 | 1989-08-07 | Nec Corp | マルチプログラミング処理装置 |
| US5249285A (en) * | 1988-08-01 | 1993-09-28 | Stenograph Corporation | RAM lock device and method for a text entry system |
| US5163141A (en) * | 1988-08-01 | 1992-11-10 | Stenograph Corporation | RAM lock device and method for a text entry system |
| US5155854A (en) * | 1989-02-03 | 1992-10-13 | Digital Equipment Corporation | System for arbitrating communication requests using multi-pass control unit based on availability of system resources |
| US5265245A (en) * | 1989-04-17 | 1993-11-23 | International Business Machines Corporation | High concurrency in use manager |
| US5226159A (en) * | 1989-05-15 | 1993-07-06 | International Business Machines Corporation | File lock management in a distributed data processing system |
| US5182809A (en) * | 1989-05-31 | 1993-01-26 | International Business Machines Corporation | Dual bus microcomputer system with programmable control of lock function |
| US5161227A (en) * | 1989-11-13 | 1992-11-03 | International Business Machines Corporation | Multilevel locking system and method |
| CA2027934C (en) * | 1989-12-22 | 1994-06-21 | Cherie C. Barnes | Accelerated deadlock detection in congested data transactions |
| US5276847A (en) * | 1990-02-14 | 1994-01-04 | Intel Corporation | Method for locking and unlocking a computer address |
| JPH04308961A (ja) * | 1991-01-18 | 1992-10-30 | Ncr Corp | 占有されたプロセスの同期ロックの状態を通知するための手段及び装置 |
| US5161226A (en) * | 1991-05-10 | 1992-11-03 | Jmi Software Consultants Inc. | Microprocessor inverse processor state usage |
| US5317737A (en) * | 1991-07-29 | 1994-05-31 | Ncr Corporation | Method and apparatus for controlling a re-entrant synchronization lock tenure in a multiprocessor system |
| JP2566717B2 (ja) * | 1992-03-30 | 1996-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 条件付きオペレーション提供装置及び方法 |
| FI91456C (fi) * | 1992-07-29 | 1994-06-27 | Nokia Telecommunications Oy | Menetelmä tietokoneessa varattujen resurssien hallitsemiseksi |
| 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 |
| 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 |
| US5768619A (en) * | 1996-02-16 | 1998-06-16 | Advanced Micro Devices, Inc. | Method and system for enabling and disabling functions in a peripheral device for a processor system |
| WO1998033119A1 (en) * | 1997-01-23 | 1998-07-30 | Sun Microsystems, Inc. | Locking of computer resources |
| US5968157A (en) | 1997-01-23 | 1999-10-19 | Sun Microsystems, Inc. | Locking of computer resources |
| US5983015A (en) * | 1997-10-31 | 1999-11-09 | Oracle Corporation | Latch-free sequence generation for high concurrency systems |
| US6000029A (en) | 1997-11-03 | 1999-12-07 | Motorola, Inc. | Method and apparatus for affecting subsequent instruction processing in a data processor |
| US6067587A (en) * | 1998-06-17 | 2000-05-23 | Sutmyn Storage Corporation | Method for serializing and synchronizing data packets by utilizing a physical lock system and a control data structure for mutual exclusion lock |
| 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 |
| FR2784478B1 (fr) * | 1998-10-09 | 2000-11-17 | Bull Sa | Architecture de verrou pour grand systeme |
| US7188344B1 (en) * | 1999-12-21 | 2007-03-06 | Unisys Corporation | Architecture for a read/write thread lock |
| US6823511B1 (en) * | 2000-01-10 | 2004-11-23 | International Business Machines Corporation | Reader-writer lock for multiprocessor systems |
| US7143410B1 (en) * | 2000-03-31 | 2006-11-28 | Intel Corporation | Synchronization mechanism and method for synchronizing multiple threads with a single thread |
| US6735760B1 (en) * | 2000-11-08 | 2004-05-11 | Sun Microsystems, Inc. | Relaxed lock protocol |
| US7159220B2 (en) * | 2001-09-28 | 2007-01-02 | Intel Corporation | Flexible acceleration of java thread synchronization on multiprocessor computers |
| US7447786B2 (en) * | 2003-05-09 | 2008-11-04 | Oracle International Corporation | Efficient locking of shared data that is accessed for reads in a cluster database |
| JP4463276B2 (ja) * | 2004-07-02 | 2010-05-19 | 日本電気株式会社 | マルチプロセッサシステムおよびメモリアクセス処理方法 |
| US7209990B2 (en) * | 2005-04-05 | 2007-04-24 | Oracle International Corporation | Maintain fairness of resource allocation in a multi-node environment |
| US7996585B2 (en) * | 2005-09-09 | 2011-08-09 | International Business Machines Corporation | Method and system for state tracking and recovery in multiprocessing computing systems |
| US7996848B1 (en) * | 2006-01-03 | 2011-08-09 | Emc Corporation | Systems and methods for suspending and resuming threads |
| US8347401B2 (en) * | 2007-10-24 | 2013-01-01 | Mcafee, Inc. | Method and system for ensuring a sharing violation free environment for a trusted software agent |
| US20170322734A1 (en) * | 2012-12-05 | 2017-11-09 | International Business Machines Corporation | Using locks to prevent multiple rebuilds of the same source |
| JP6295990B2 (ja) * | 2015-03-31 | 2018-03-20 | 京セラドキュメントソリューションズ株式会社 | 電子機器および情報処理プログラム |
| US10459810B2 (en) | 2017-07-06 | 2019-10-29 | Oracle International Corporation | Technique for higher availability in a multi-node system using replicated lock information to determine a set of data blocks for recovery |
| US10719464B1 (en) * | 2019-05-01 | 2020-07-21 | Xilinx, Inc. | Lock circuit for competing kernels in a hardware accelerator |
| US11294737B2 (en) * | 2019-06-24 | 2022-04-05 | International Business Machines Corporation | Self-managed lock access |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3683418A (en) | 1970-04-16 | 1972-08-08 | Bell Telephone Labor Inc | Method of protecting data in a multiprocessor computer system |
| US4096561A (en) | 1976-10-04 | 1978-06-20 | Honeywell Information Systems Inc. | Apparatus for the multiple detection of interferences |
| US4249241A (en) | 1978-10-23 | 1981-02-03 | International Business Machines Corporation | Object access serialization apparatus for a data processing system |
-
1981
- 1981-06-16 US US06/274,113 patent/US4435766A/en not_active Expired - Lifetime
-
1982
- 1982-04-20 JP JP57064836A patent/JPS57207957A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| US4435766A (en) | 1984-03-06 |
| JPS57207957A (en) | 1982-12-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0230057B2 (ja) | ||
| US4435780A (en) | Separate stack areas for plural processes | |
| US4044334A (en) | Database instruction unload | |
| EP0052712B1 (en) | Method for identifying a process in a data processing system | |
| US4432051A (en) | Process execution time accounting system | |
| US4394725A (en) | Apparatus and method for transferring information units between processes in a multiprocessing system | |
| US4374409A (en) | Method of and system using P and V instructions on semaphores for transferring data among processes in a multiprocessing system | |
| US4084228A (en) | Process management structures and hardware/firmware control | |
| US4395757A (en) | Process synchronization utilizing semaphores | |
| US4369494A (en) | Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system | |
| US4791554A (en) | Method and apparatus for preventing deadlock in a data base management system | |
| Tsichritzis et al. | Operating systems | |
| US4084224A (en) | System of controlling procedure execution using process control blocks | |
| US4417322A (en) | Report generation control system for text processing machines | |
| US4447874A (en) | Apparatus and method for communication of information between processes in an information system | |
| US4042912A (en) | Database set condition test instruction | |
| JPS603653B2 (ja) | 内部プログラム式データ処理装置 | |
| US5291581A (en) | Apparatus and method for synchronization of access to main memory signal groups in a multiprocessor data processing system | |
| EP0272821A2 (en) | Method and apparatus for computation stack recovery in a calculator | |
| US4351024A (en) | Switch system base mechanism | |
| EP0362903B1 (en) | A special purpose processor for off-loading many operating system functions in a large data processing system | |
| US5745757A (en) | Multiprocessor system with microprogrammed means for dispatching processes to processors | |
| EP0297895B1 (en) | Apparatus and method using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system | |
| Bond et al. | An interactive graphical display monitor in a batch-processing environment with remote entry | |
| Purser et al. | The design of a real‐time operating system for a minicomputers. Part 1 |