JPH0227436A - オペレーティングシステムのプロセス制御方式 - Google Patents

オペレーティングシステムのプロセス制御方式

Info

Publication number
JPH0227436A
JPH0227436A JP17764188A JP17764188A JPH0227436A JP H0227436 A JPH0227436 A JP H0227436A JP 17764188 A JP17764188 A JP 17764188A JP 17764188 A JP17764188 A JP 17764188A JP H0227436 A JPH0227436 A JP H0227436A
Authority
JP
Japan
Prior art keywords
semaphore
instruction
issued
argument
pointer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP17764188A
Other languages
English (en)
Inventor
Soichiro Miyano
宮野 壯一郎
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP17764188A priority Critical patent/JPH0227436A/ja
Publication of JPH0227436A publication Critical patent/JPH0227436A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置のオペレーティングシステムにお
けるプロセス制御方式、特にセマフォに対する操作が可
能なプロセス間の同期および共有資源の排他制御のため
のオペレーティングシステムのプロセス制御方式に関す
る。
〔従来の技術〕
従来、この種のセマフォに対する命令は一般にP命令、
■命令、C命令があり、P命令は引数としてセマフォ番
号を持ち、このセマフォカウンタの値から1を引き、こ
の値が非負であればそのまま現在実行中のプロセスを継
続し、負であれば現在実行中のプロセスを閉塞して、他
の実行待ちプロセスを起動する命令である。また、■命
令は引数として同じくセマフォ番号を持ち、このセマフ
ォの値に1を加え、この値が正であればそのまま現在実
行中のプロセスを継続し、0以下であればこのセマフォ
番号で閉塞しているプロセスの1つを実行待ち状態とす
る命令である。またC命令はやはり引数としてセマフォ
番号を持ち、このセマフォ番号に対応する待機キュー先
頭ポインタおよびセマフォカウンタを主記憶上に生成す
る。
〔発明が解決しようとする課題〕
上述した従来のセマフォに対するP命令、■命令では、
実行するプロセスが指定するセマフォ番号が不正なもの
であっても全くチエツクすることができない。こうした
誤りは各プロセスのプログラム開発上の誤りによるもの
が大部分であるが、このような誤りが発生したとき、プ
ロセス間の同期や実行順序に予測不可能な乱れが発生し
、誤りの原因を知るのに大きな困難が生じるという問題
がある。
〔課題を解決するための手段〕
本発明のオペレーティングシステムのプロセス制御方式
は、情報処理装置で実行される各プロセスの制御を主記
憶上の管理表としてのプロセスコントロールブロックに
より行なうオペレーティングシステムにおいて、前記プ
ロセスコントロースブロックにプロセスを識別するため
のプロセス番号と待機キュー次ポインタと待機キュー前
ポインタとを持ち、待機するプロセスコントロールブロ
ックのキューの先頭を指す待機キュー先頭プロセスコン
トロールブロックポインタとセマフォカウンタと第1お
よび第2のプロセス番号列とを設けておき、前記待機キ
ュー次ポインタにより各セマフォで待機中となっている
プロセスの待機キューを表現するプロセス制御方式に対
する命令としてのP命令については、一つのセマフォ番
号を引数とし、この引数で指定されたセマフォが閉塞せ
ずかつP命令を発行したプロセスのプロセス番号が引数
で措定したセマフォの前記第1のプロセス番号列中に存
在するときにはP命令を発行したプロセスに復帰し、前
記セマフォが閉塞しかつP命令を発行したプロセスのプ
ロセス番号が前記セマフォの第1のプロセス番号列中に
存在するときにはP命令を発行したプロセスコントロー
ルブロックを前記引数で指定されたセマフォの待機キュ
ーにつないでプロセスを待機中とし、前記セマフォの第
1のプロセス番号列にP命令を発行したプロセスのプロ
セス番号が存在しないときにはP命令を発行したプロセ
スにP命令異常終了を通知して復帰し、■命令について
は、1つのセマフォ番号を引数とし、この引数で指定し
たセマフォが閉塞状態でなくかつ前記セマフォの第2の
プロセス番号列にV命令を発行したプロセスのプロセス
番号が存在するときには■命令を発行したプロセスにV
含意正常終了を通知して復帰し、前記セマフォが閉塞状
態でかつ前記セマフォの第2のプロセス番号列中にV命
令を発行したプロセスのプロセス番号が存在したときは
前記セマフォの待機キューから先頭のプロセスコントロ
ールブロックをはずして実行待ち状態とし、C命令につ
いては、一つのセマフォ番号と少なくとも1つ以上の前
記セマフォに対してP命令の発行を許可するところのプ
ロセスのプロセス番号と少なくとも1つ以上の前記セマ
フォに対してV命令発行を許可するところのプロセスの
プロセス番号とを引数とし、この引数で指定されたセマ
フォの前記待機キュー先頭ポインタとセマフォカウンタ
と第1および第2のプロセス番号列とのための記憶領域
を主記憶上に設定し、引数で指定された1つ以上の前記
セマフォに対してP命令発行を許可するところのプロセ
ス番号を前記セマフォの第1のプロセス番号列に格納し
、引数で指定された1つ以上の前記セマフォに対して■
命令発行を許可するところのプロセス番号を前記セマフ
ォの第2のプロセス番号列に格納することにより構成さ
れる。
〔実施例〕
次に、本発明の実施例について図面を参照して説明する
第1〜4図は本発明の一実施例の主記憶上に設けられた
管理表の構成図である。第1図はプロセスコントロール
ブロック(以下PCBという)の構成図で、PCBIは
プロセス番号2.プロセス名3.制御情報格納域4.実
行状態表示部5゜実行待ちキュー次ポインタ6、待機キ
ュー次ポインタ7、待機キュー前ポインタ8から構成さ
れる。
第2図は実行待ちキューの構成図で、実行待ち先頭PC
Bポインタ9は実行待ちのPCBloの実行待ちキュー
次ポインタ12を指し、この実行待ちキュー次ポインタ
12は次の実行待ちのPCBllの実行待ちキュー次ポ
インタ13を指している。このキューはシステムが許容
するまでつなぐことができる。キューの最終PCBの実
行待ちキュー次ポインタにはOが書込まれる。
第3図は待機キューの構成図である。セマフォ14は待
機キュー先頭PCBポインタ15.セマフォカウンタ1
6.P命令実行許可プロセス番号17〜24.■命令実
行許可プロセス番号25〜32から構成され、C命令が
発行されたとき、指定されたセマフォ番号に対応するセ
マフォ14は待機キュー先頭PCBポインタ15とセマ
フォカウンタ16とはOに初期化され、P命令実行許可
プロセス番号17〜24およびV命令実行許可プロセル
番号25〜32には各々引数で指定されたプロセス番号
が格納される。
そこで待機キューは次のように構成される。例えば−1
=?7t141:’PCB33とPCB36とが待ち合
わせているとすると、この待機キュー先頭PCBポイン
タ15はPCB33の待機キュー次ポインタ34を指し
、この待機キュー次ポインタ34はPCB36の待機キ
ュー次ポインタ37を指す、また、待機キュー前ポイン
タ35および38はそれぞれ待機キュー先頭PCBポイ
ンタ15および待機キュー次ポインタ34を指す、この
キューはシステムが許容するまでつなぐことができる。
第4図はセマフォポインタテーブルの構成図である。セ
マフォポインタテーブル39はシステムで使用可能な全
てのセマフォについて、セマフォ番号に対応するセマフ
ォポインタ40の配列であり、セマフォポインタ40は
対応するセマフォ41の待機キュー先頭PCBポインタ
42を指す。
セマフォ41は第3図で説明したように、待機キュー先
頭PCBポインタ42.セマフォカウンタ43、P命令
実行許可プロセス番号44〜51およびV命令実行許可
プロセス番号52〜59がら構成される。
第5〜7図は第1〜4図の管理表を用いてそれぞれセマ
フォに対してP命令、■命令およびC命令を実行した場
合の流れ図、第8図はプロセスの実行制御を行なうプロ
セススケジューラの流れ図である。
まず第5図を参照してP命令の実行について説明する。
P命令は引数として1つのセマフォ番号を指定し、ある
プロセスが例えばセマフォ14のセマフォ番号を指定し
てP命令を発行した場合、まずセマフォ番号14のP命
令実行許可プロセス番号17〜24にP命令を発行した
プロセスのプロセス番号が存在するかを調べ(ステップ
S1)、存在しなけれはP命令異常終了として(ステッ
プS2)、P命令を発行したプロセスに戻り(ステップ
S5)、存在すればセマフォカウンタ16から1を減じ
る(ステップS3)。その後セマフォカウンタが0以上
であるか調べ(ステップS4)、0以上であれば制御を
P命令を発行したプロセスに戻す(ステップS5)。も
しセマフォカウンタ16が負のときは、P命令を発行し
たプロセスの制御情報をこのプロセスのPCBの制御情
報格納域4に退避しくステップS6)、実行状態表示部
5を“待機′°に設定する(ステップS7)。そしてこ
のPCBをセマフォ14の待機キューの最後尾につなぐ
(ステップS8)。このときのポインタの設定は前述し
た方法で行なわれる。その後スケジューラに制御を渡す
、(ステップS9)。
次に第6図を参照してV命令の実行について説明する。
■命令は引数として1つのセマフォ番号を指定し、ある
プロセスがセマフオ14に対してV命令を発行した場合
、まず、■命令実行許可プロセス番号25〜32にV命
令を発行したプロセスのプロセス番号が存在するか調べ
(ステップ510)、存在しなければV命令異常終了を
セットしくステップ5ll)、制御をV命令を発行した
プロセスに戻しくステップ518)、存在すればセマフ
ォカウンタ16に1を加算しくステップ512)、セマ
フォカウンタ16が1以上か調べ(ステップ513)、
1以上であれば■命令を実行したプロセスにV命令正常
終了として制御を戻す(ステップ518)、0以下であ
れば待機キュー先頭PCBポインタ15で指示されるP
CBを待機キューからはずしくステップ514)、この
PCBを実行待ちキューにつなぎ(ステップ515)、
このPCBの実行状態表示部5を“実行待ち″と設定し
くステップ516)、制御をプロセススケジューラに渡
す(ステップ517)。例えば第3図においてセマフオ
14のセマフォ番号を引数としてV命令を発行されたと
すると、セマフォカウンタ16はこの状態では−2であ
り、1を加算して60以下であるので、待機キュー先頭
PCBポインタ15からPCB33がはずされ実行待ち
キューにつながれる。この際、待機キュー先頭PCBポ
インタ15はPCB36の待機キュー次ポインタを、待
機キュー前ポインタは待機キュー先頭PCBポインタ1
5を指し、PCB33の待機キュー次ポインタ34およ
び待機キュー前ポインタ35は初期化される。
次に第7図を参照してC命令の実行について説明する。
C命令は1つの初期化するセマフォのセマフォ番号と、
その番号のセマフォに対してP命令実行を許可するとこ
ろのプロセスのプロセス番号と、その番号のセマフォに
対して■命令実行を許可するところのプロセスのプロセ
ス番号とを引数とし、各プロセス番号は複数指定可能で
あるが、本実施例のセマフォでは各々8個まで可能とな
っている。
C命令が発行されると、指定されたセマフォ番号に対応
するセマフォの待機キュー先頭PCBポインタ、セマフ
ォカウンタ、P命令および■命令実行許可プロセス番号
のためのメモリ領域を主記憶上に設定しくステップ51
9)、セマフォポインタテーブル39の指定されたセマ
フォ番号に対応するセマフォポインタ40が初期化する
セマフォ41の待機キュー先頭PCBポインタ42を指
すように設定する(ステップ520)。次に引数で指定
されたP命令実行許可プロセス番号を初期化するセマフ
オ41のP命令実行許可プロセス番号44〜51に格納
しくステップ521)、引数で指定されたV命令実行許
可プロセス番号を初期化するセマフォ43の■命令実行
許可プロセス番号52〜59に格納しくステップS22
> 、セマフォカウンタ43を0に初期化する(ステッ
プ823)。この後、■命令を実行したプロセスに制御
を戻す(ステップ524)。
次に第8図を参照してプロセススケジューラの流れにつ
いて説明する。P命令あるいはV命令から制御か渡され
ると、先ず実行待ち先頭PCBポインタからPCBのア
ドレスを得る(ステップ525)、もしこのPCB実行
状態表示部5が“実行待ち”であれば、ここに“実行中
”を設定する(ステップ527)、そしてPCBの制御
情報格納域4からプロセスの実行に必要な変数を復元し
くステップ528) 、このプロセスを起動する(ステ
ップ529)、また前記PCBの実行状態表示部5が“
実行待ち”でなければ、実行待ちキューをたどり順次P
CBの実行状態表示部5が“実行待ち”のプロセスを捜
しくステップS26゜S30,531)起動する。もし
すべてのプロセスが“実行待ち”でなければハードウェ
アの割込みを待つ(ステップ532)。
〔発明め効果〕
以上説明したように本発明によれば、セマフォにP命令
、■命令実行許可プロセス番号を持ち、セマフォを初期
化するためのC命令を発行するときに各セマフォに対し
各々P命令、■命令の実行を許可するプロセスのプロセ
ス番号を指定することにより、システム動作時のセマフ
ォ操作の誤りを検出できるという効果がある。
【図面の簡単な説明】
第1図、第2図、第3図および第4図は本発明の一実施
例のそれぞれプロセスコントロールブロック、実行待ち
キュー、待機キューおよびセマフォポインタテーブルの
構成図、第5図、第6図。 第7図および第8図はそれぞれ本発明におけるP命令、
■命令、C命令およびプロセススケジューラの流れ図で
ある。 1.10,11.33.36・・・プロセスコントロー
ルブロック(PCB)、2・・・プロセス番号、3・・
・プロセス名、4・・・制御情報格納領域、5・・・実
行状態表示部、6.12.13・・・実行待ちキュー次
ポインタ、7.34.37・・・待機キュー次ポインタ
、8,35.38・・・待機キュー前ポインタ、9・・
・実行待ちキュー先頭PCBポインタ、14゜41・・
・セマフォ、15.42・・・待機キュー先頭PCBポ
インタ、16.43・・・セマフォカウンタ、17〜2
4.44〜51・・・P命令実行許可プロセス番号、2
5〜32.52〜59・・・V命令実行許可プロセス番
号、39・・・セマフォポインタテーブルI 図 \、− /2. /J : @丁r”t−5午ニ一次・バダ↓り
第2図 牛 S 図 雫 ≠ 回 第 図

Claims (1)

    【特許請求の範囲】
  1. 情報処理装置で実行される各プロセスの制御を主記憶上
    の管理表としてのプロセスコントロールブロックにより
    行なうオペレーティングシステムにおいて、前記プロセ
    スコントロースブロックにプロセスを識別するためのプ
    ロセス番号と待機キュー次ポインタと待機キュー前ポイ
    ンタとを持ち、待機するプロセスコントロールブロック
    のキューの先頭を指す待機キュー先頭プロセスコントロ
    ールブロックポインタとセマフォカウンタと第1および
    第2のプロセス番号列とを設けておき、前記待機キュー
    次ポインタにより各セマフォで待機中となっているプロ
    セスの待機キューを表現するプロセス制御方式に対する
    命令としてのP命令については、一つのセマフォ番号を
    引数とし、この引数で指定されたセマフォが閉塞せずか
    つP命令を発行したプロセスのプロセス番号が引数で指
    定したセマフォの前記第1のプロセス番号列中に存在す
    るときにはP命令を発行したプロセスに復帰し、前記セ
    マフォが閉塞しかつP命令を発行したプロセスのプロセ
    ス番号が前記セマフォの第1のプロセス番号列中に存在
    するときにはP命令を発行したプロセスコントロールブ
    ロックを前記引数で指定されたセマフォの待機キューに
    つないでプロセスを待機中とし、前記セマフォの第1の
    プロセス番号列にP命令を発行したプロセスのプロセス
    番号が存在しないときにはP命令を発行したプロセスに
    P命令異常終了を通知して復帰し、V命令については、
    1つのセマフォ番号を引数とし、この引数で指定したセ
    マフォが閉塞状態でなくかつ前記セマフォの第2のプロ
    セス番号列にV命令を発行したプロセスのプロセス番号
    が存在するときにはV命令を発行したプロセスにV命令
    正常終了を通知して復帰し、前記セマフォが閉塞状態で
    かつ前記セマフォの第2のプロセス番号列中にV命令を
    発行したプロセスのプロセス番号が存在したときは前記
    セマフォの待機キューから先頭のプロセスコントロール
    ブロックをはずして実行待ち状態とし、C命令について
    は、一つのセマフォ番号と少なくとも1つ以上の前記セ
    マフォに対してP命令の発行を許可するところのプロセ
    スのプロセス番号と少なくとも1つ以上の前記セマフォ
    に対してV命令発行を許可するところのプロセスのプロ
    セス番号とを引数とし、この引数で指定されたセマフォ
    の前記待機キュー先頭ポインタとセマフォカウンタと第
    1および第2のプロセス番号列とのための記憶領域を主
    記憶上に設定し、引数で指定された1つ以上の前記セマ
    フォに対してP命令発行を許可するところのプロセス番
    号を前記セマフォの第1のプロセス番号列に格納し、引
    数で指定された1つ以上の前記セマフォに対してV命令
    発行を許可するところのプロセス番号を前記セマフォの
    第2のプロセス番号列に格納することを特徴とするオペ
    レーティングシステムのプロセス制御方式。
JP17764188A 1988-07-15 1988-07-15 オペレーティングシステムのプロセス制御方式 Pending JPH0227436A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17764188A JPH0227436A (ja) 1988-07-15 1988-07-15 オペレーティングシステムのプロセス制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17764188A JPH0227436A (ja) 1988-07-15 1988-07-15 オペレーティングシステムのプロセス制御方式

Publications (1)

Publication Number Publication Date
JPH0227436A true JPH0227436A (ja) 1990-01-30

Family

ID=16034544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17764188A Pending JPH0227436A (ja) 1988-07-15 1988-07-15 オペレーティングシステムのプロセス制御方式

Country Status (1)

Country Link
JP (1) JPH0227436A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6331239B1 (en) 1997-04-07 2001-12-18 Okuno Chemical Industries Co., Ltd. Method of electroplating non-conductive plastic molded products

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6331239B1 (en) 1997-04-07 2001-12-18 Okuno Chemical Industries Co., Ltd. Method of electroplating non-conductive plastic molded products

Similar Documents

Publication Publication Date Title
CN101730881B (zh) 包括多个处理器的系统以及操作该系统的方法及设备
JPS6258341A (ja) 入出力割込処理方式
JPS58191046A (ja) Cpu制御方法
JPH0450621B2 (ja)
JPH1153202A (ja) 並列トランザクション処理システム
US4385365A (en) Data shunting and recovering device
JPS63279328A (ja) 仮想計算機システムのゲスト実行制御方式
JPH0227436A (ja) オペレーティングシステムのプロセス制御方式
JPS6049352B2 (ja) デ−タ処理装置
JPH0754467B2 (ja) データ処理装置
JPS60214044A (ja) マイクロコンピュ−タ
JPH03158952A (ja) Dmaコントローラおよび情報処理システム
JPS59144955A (ja) 情報処理装置
JPS62125437A (ja) 付加プロセツサの制御方法
JPS61235925A (ja) 電子計算機システムの運用方式
JPS63276139A (ja) 複数プロセスシステムにおけるプロセスのデバッグ方法
JPH04225442A (ja) コンピュータファイルシステムの整合性検査方式
JPH02101555A (ja) 時刻データ参照設定処理方式
JPH03110635A (ja) オペレーティングシステムのプロセス制御方式
JPS63137350A (ja) チヤネルプログラム実行制御方式
JPS61282937A (ja) 情報処理装置
JPH04270441A (ja) データ処理装置
JPS6010342A (ja) 汎用レジスタのリロ−ド制御方式
JPH0474266A (ja) 識別子付きアクセス命令の逐次化制御方式
JPS59105152A (ja) 複数レジスタの一括ストア方式