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

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

Info

Publication number
JPH03110635A
JPH03110635A JP24873689A JP24873689A JPH03110635A JP H03110635 A JPH03110635 A JP H03110635A JP 24873689 A JP24873689 A JP 24873689A JP 24873689 A JP24873689 A JP 24873689A JP H03110635 A JPH03110635 A JP H03110635A
Authority
JP
Japan
Prior art keywords
queue
semaphore
instruction
semaphores
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
JP24873689A
Other languages
English (en)
Inventor
Mitsuo Miwa
三輪 光雄
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 JP24873689A priority Critical patent/JPH03110635A/ja
Publication of JPH03110635A publication Critical patent/JPH03110635A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置におけるオペレーティングシステ
ムのプロセス制御方式に関し、特に複数のセマフォに対
して待機しているそれぞれのプロセスを同時に実行待ち
状態とすることができるプロセス間の同期および共有資
源の排他制御方式に関する。
(従来の技術〕 従来、この種のセマフォに対する命令には、般に、P命
令とV命令とがある。
P命令は、引数としてセマフォ番号をもち、引数で指定
されたセマフォ番号に対応するセマフォカウンタの値か
ら1を引き、セマフォカウンタの値が非負であればその
まま現在実行中のプロセスを継続し、負であれば現在実
行中のプロセスを閉塞し他の実行待ちプロセスを起動す
る命令である。
一方、■命令は、引数として同じくセマフォ番号をもち
、引数で指定されたセマフォ番号に対応するセマフォカ
ウンタの値に1を加え、セマフォカウンタの値が正であ
ればそのまま現在実行中のプロセスを継続し、0以下で
あればこのセマフォ番号で閉塞しているプロセスの1つ
を実行待ち状態とする命令である。
なお、セマフォカウンタの初期値が0の場合にはプロセ
ス間の同期に利用され、正の場合には共有資源の排他制
御に使用される。
〔発明が解決しようとする課題〕
上述した従来のセマフォに対するV命令では、引数とし
て唯一のセマフォ番号以外には指定することができなか
ったので、複数のセマフォに対して■命令を同時に発行
することができず、このような必要があるときにはV命
令をそのセマフォの個数分繰り返す必要があったが、こ
の場合にはそれぞれのV命令の発行ごとにプロセススケ
ジューラが起動される可能性があり、特にこのV命令を
発行するプロセスの実行優先度が他のプロセスより低い
ときには、すべてのセマフォに対して■命令を発行し終
わるまでに他のプロセスが実行されてしまい不都合を生
じるという欠点がある。
本発明の目的は、上述の点に鑑み、■命令で同時に複数
のセマフォに対して処理を行うようにして、閉塞してい
るセマフォで待機状態になっている複数のプロセスを同
時に実行待ち状態とした後にプロセススケジューラを起
動させるようにしたオペレーティングシステムのプロセ
ス制御方式を提供することにある。
〔課題を解決するための手段〕
本発明のオペレーティングシステムのプロセス制御方式
は、情報処理装置で実行される各プロセスの制御を主記
憶上の管理表としてプロセスコントロールブロックによ
り行うオペレーティングシステムにおいて、待機キュー
次ポインタおよび待機キュー前ポインタが設けられたプ
ロセスコントロールブロックと、前記オペレーティング
システムで使用される全セマフォにそれぞれ対応する待
機キューの先頭を示す待機キュー先頭プロセスコントロ
ールブロックポインタ・セマフォカウンタ列と、前記待
機キュー次ポインタにより各セマフォで待機中となって
いるプロセスの待機キューを表現するプロセス制御に対
する命令として、P命令については唯一のセマフォ番号
を引数としこの引数で指定されたセマフォが閉塞しなけ
ればP命令を発行したプロセスに復帰し前記セマフォが
閉塞したときにはP命令を発行したプロセスのプロセス
コントロールプローツクを前記引数で指定されたセマフ
ォの待機キューにつないでプロセスを待機中とし、■命
令については少なくとも1つ以上のセマフォ番号を引数
としこの引数で指定された全セマフォが閉塞状態でなけ
ればV命令を発行したプロセスに復帰し前記セマフォの
中に閉塞4[のものがあればこれらのセマフォの待機キ
ューからプロセスコントロールブロックを1つずっiM
択してはずして実行待ち状態にする命令実行部とを有す
る。
〔作用〕
本発明のオペレーティングシステムのプロセスM?11
方式では、プロセスコントロールブロックに搏機キュー
次ポインタおよび待機キュー前ポインタが設けられ、待
機キュー先頭プロセスコントロールブロックポインタ・
セマフォカウンタ列がオペレーティングシステムで使用
される全セマフォにそれぞれ対応する待機キューの先頭
を示し、命令実行部が待機キュー次ボインクにより各セ
マフォで待機中となっているプロセスの待機キューを表
現するプロセス制御に対する命令として、1)命令につ
いては唯一のセマフォ番号を引数としこの引数で指定さ
れたセマフォが閉塞しなければP命令を発行したプロセ
スに復帰しセマフォが閉塞したときにはP命令を発行し
たプロセスのプロセスコントロールブロックを引数で指
定されたセマフォの待機キューにつないでプロセスを待
機中とし、■命令については少なくとも1つ以上のセマ
フォ番号を引数としこの引数で指定された全セマフォが
閉塞状態でなければ■命令を発行したプロセスに復帰し
セマフォの中に閉塞状態のものがあればこれらのセマフ
ォの待機キューからプロセスコントロールブロックを1
つずつ選択してはずして実行待ち状態にする。
〔実施例〕
次に、本発明について図面を参照して詳細に説明する。
第1図は、本発明の一実施例に係るプロセス制御方式が
適用されたオペレーティングシステムの構成を示すブロ
ック図である。このオペレーティングシステムは、オペ
レーティングシステムの規模により数が決定される複数
のプロセスlと、これらプロセス1にそれぞれ対応する
複数のプロセスコントロールブロック(以下、PCBと
略記する)2と、PCB2を実行待ちキューにつなげる
実行待ちキュー先頭1’CBポインタ列3と1、PCB
2を待機キューにつなげる待機キュー先頭PCBポイン
タ・セマフォカウンタ列4と、プロセス1でP命令また
は■命令が発行されるとそれに従いPCl32の状態を
書き換えるとともに実行待ちキューまたは待機キューの
つながりを変更する命令実行部5と、実行待ちキューに
つながるPCB2から実行可能なプロセスlを検索して
起動をかけるプロセススケジューラ6とから、その主要
部が構成されている。
第2図を参照すると、PCB2は、プロセス名21と、
制御情報格納域22と、実行状態表示部23と、実行待
ちキュー次ポインタ24と、待機キュー次ポインタ25
と、待機キュー前ポインタ26と、実行優先度表示部2
7とから構成されている。
第3図を参照すると、実行待ちキュー先頭PCBポイン
タ列3は、実行優先度の高い順に並んだ実行待ちキュー
先頭PCBポインタ31から構成されている。第3図で
は、実行優先度が比較的高い実行待ちのプロセス1の3
つのPCB2が、実行待ちキュー先頭PCBポインタ3
1および実行待ちキュー次ポインタ24により実行待ち
キューを形成していることを示している。また、より実
行優先度が低いプロセス1の2つのPCB2が、実行待
ちキュー先頭PCBポインタ31および実行待ちキュー
次ポインタ24により実行待ちキューを形成しているこ
とを示している。実行待ちキューは、オペレーティング
システムが許容するまでつなぐことができ、実行待ちキ
ューの最終のPCB2の実行待ちキュー次ポインタ24
には−1が書き込まれる。また、実行待ちキューが存在
しない実行優先度の実行待ちキュー先頭PCBポインタ
31は、−1で初期化されている。
第4図を参照すると、待機キュー先頭PCBポインタ・
セマフォカウンタ列4は、セマフォ番号に対応する待機
キュー先頭PCBポインタ41と、セマフォカウンタ4
2とから構成されている。なお、待機キュー先頭PCB
ポインタ41は−1で初期化され、セマフォカウンタ4
2は非負の整数で初期化されている。
待機キューは、次のように構成される。例えば、任意の
セマフォ番号αの待機キュー先頭PCBポインタ41が
あるとし、このセマフォで2つのPCB2のプロセスl
が待ち合わせているとすると、この待機キュー先頭PC
Bポインタ41は先頭のPCB2の待機キエー次ポイン
タ25を指し、この待機キエー次ポインタ25は次のP
CB2の待機キュー次ポインタ25を指す、また、先頭
のPCB2の待機キュー前ポインタ26は待機キュー先
!I P CBポインタ41を指し、次のPCB2の待
機キュー前ポインタ26は先頭のPCB 2の待機キュ
ー次ポインタ25を指す、この待機キューは、オペレー
ティングシステムが許容するまでつなぐことができる。
第4図では、他に任意のセマフォ番号βの待機キュー先
頭PCBポインタ41が、このセマフオで1つのPGD
2が待機キューにつながれていることを示している。
第5図を参照すると、命令実行部5におけるP命令の処
理は、セマフォカウンタ減算ステップS11と、セマフ
ォカウンタO以上判定ステップS12と、プロセス制御
n情報PCB退避ステップS13と、実行状態表示“待
機”設定ステップS14と、PCB待機キューつなぎス
テップS15と、PCB実行待ちキューはずしステップ
S16と、プロセススケジューラ制御渡しステップS1
7とからなる。
第6図を参照すると、命令実行部5におけるV命令の処
理は、待機キュー先!IPCBポインタ・セマフォカウ
ンタ列検索ステップ521と、セマフォカウンタ1加算
ステツプS22と、セマフォカウンタ1以上判定ステッ
プ523と、PCB待機キューはずしステップ324と
、PCB実行待ちキューつなぎステップS25と、実行
状態表示“実行待ち”設定ステップS26と、待機キュ
ー先頭P CBポインタ・セマフォカウンタ列検索ステ
ップS27と、セマフォ番号処理完了判定ステップ52
8と、PCB実行待ちキューつなぎ判定ステップ329
と、プロセススケジューラ制御渡しステップS30とか
らなる。
第7図を参照すると、プロセススケジューラ6の処理は
、実行待ちキュー検索ステップS31と、先頭PCB検
索ステップS32と、実行状態表示“実行待ち”判定ス
テップS33と、実行状態表示“実行中”設定ステップ
S34と、制御情報復元ステップ335と、実行待ちキ
ュー次ポインタ取得ステップ336と、実行待ちキュー
全PCB検査終了判定ステップS37と、実行待ちキュ
ー検索ステップ33Bと、実行待ちキュー検査終了判定
ステップ339と、割込み待ちステップS40とからな
る。
次に、このように構成された本実施例のオペレーティン
グシステムのプロセス制御方式の動作について説明する
あるプロセスlが引数として唯一のセマフォ番号を指定
するP命令を発行した場合、命令実行部5は、まずP命
令の引数で指定されたセマフォ番号に対応する待機キュ
ー先頭PCBポインタ・セマフォカウンタ列4のセマフ
ォカウンタ42の値から1をfIi算する(ステップ5
11)、その結果、セマフォカウンタ42の値が0以上
であれば(ステップ512)、P命令を発行したプロセ
ス1に制御を戻す。
一方、セマフォカウンタ42の値が0より小さかったな
らば、命令実行部5は、P命令を発行したプロセスlの
制御情報をこのプロセス1に対応するPGD2の制御情
報格納域22に退避しくステップ513)、実行状態表
示部23を“待機”に設定する(ステップ514)、そ
して、このPGD2を引数で指定されたセマフォ番号の
待機キューの最後尾につなぐ(ステップ515)、この
ときの待機キュー次ポインタ25および待機キュー前ポ
インタ26の設定は、前述した方法で行われる。この後
、このPGD2を実行待ちキューからはずしくステップ
316)、プロセススケジューラ6に制御を渡す(ステ
ップ317)。
あるプロセス1が引数として少なくとも1つ以上のセマ
フォ番号を指定する■命令を発行した場合には、命令実
行部5は、まず待機キュー先頭PCBポインタ・セマフ
ォカウンタ列4の中から第1の引数で指定されたセマフ
ォ番号に対応する列の要素を選ぶ(ステップ321)、
選ばれた列の要素のセマフォカウンタ42の値に1を加
算しくステップ522)、セマフォカウンタ42の値が
1以上であったならば次の引数で指定されたセマフォに
対応する列の要素を選ぶ(ステップ323)。
一方、選ばれた列の要素のセマフォカウンタ42の値が
1より小さかったならば、命令実行部5は、待機キュー
から先頭のPGD2をはずす(ステップ524)・0次
に、待機キューからはずしたPGD2をその実行優先度
表示部27を参照して対応する実行待ちキューにつない
だ後に(ステップ525) 、PGD2の実行状態表示
部23を“実行待ち”に設定する(ステップ326)。
次に、命令実行部5は、次の引数で指定されたセマフォ
に対応する列の要素を捜しくステップ527)、再び制
御をステップ322に戻してそのセマフォについてPC
B2の有無を調べる。このとき、すべての引数で指定さ
れたセマフォ番号について処理を終了している場合には
(ステップ828)、これまでの過程で1つ以上のPC
B2を実行待ちキューにつないでいれば(ステップ52
9)、プロセススケジューラ6に制御を渡しくステップ
530)、実行待ちキューにPCB2を全くつないでい
なかったならば、そのままこの■命令を発行したプロセ
ス1に復帰する。
命令実行部5からP命令またはV命令の実行により制御
が渡されると、プロセススケジューラ6は、実行待ちキ
ュー先頭PCBポインタ列3から実行待ちキューが存在
する最も実行優先度の高い実行待ちキューを捜す(ステ
ップ531)、次に、捜した実行待ちキューから先頭の
PCB2を捜して(ステップ332) 、PCB2の実
行状態表示部23が“実行待ち1であれば(ステップ5
33)、ここに°実行中”を設定する(ステップ534
)、そして、PCB2の制御情報格納域22からプロセ
スlの実行に必要な制御情報を復元しくステップ535
)、プロセス1を起動する。
一方、ステップ333でPCB2の実行状態表示部23
が“実行待ち“でないならば、プロセススケジューラ6
は、実行待ちキューをたどり(ステップ536) 、P
CB2の実行状態表示部23を順次検査しくステップ5
37)、“実行待ち”のプロセスlを捜す。この実行優
先度の実行待ちキューに“実行待ち”のPCB2が存在
しなければ、実行待ちキュー先頭PCBポインタ列3か
ら次の実行優先度の実行待ちキューを捜しくステップ8
38)、ステップ332に制御を戻して再びこの実行優
先度の実行待ちキューをたどって“実行待ち”のプロヤ
スlを捜す。このとき、すべての実行優先度の実行待ち
キューについて検査してすべてのプロセス1が“実行待
ち”でなければ(ステップ539)、ハードウェアの割
込みを待つ(ステップ540)。
〔発明の効果〕
以上説明したように本発明は、■命令で同時に複数のセ
マフォに対して処理を行うことができるようにしたこと
により、そのうちの閉塞しているセマフォで待機状態に
なっている複数のプロセスを同時に実行待ち状態とした
後にプロセススケジューラを起動させることができ、す
べてのセマフォに対してV命令を発行し終わるまでに他
のプロセスが起動されて不都合が生じるということがな
くなる効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例に係るプロセス制御方式が適
用されたオペレーティングシステムの構成を示すブロッ
ク図、 第2図は第1図中のPCBの構成を示す図、第3図は第
1図中の実行待ちキュー先頭PCBポインタ列からつな
がる実行待ちキューを示す図、第4図は第1図中の待機
キュー先頭PCBポインタ・セマフォカウンタ列からつ
ながる待機キューを示す図、 第5図は第1図中の命令実行部におけるP命令の処理を
示す流れ図、 第6図は第1図中の命令実行部におけるV命令の処理を
示す流れ図、 第7図は第1図中のプロセススケジューラの処理を示す
流れ図である。 図において、 !・・・プロセス、 2・・・PCB。 3・・・実行待ちキュー先頭PCBポインタ列、4・・
・待機キュー先頭PCBポインタ・セマフォカウンタ列
、 5・・・命令実行部、 6・・・プロセススケジューラ、 21・・プロセス名、 22・・制御情報格納域、 23・・実行状態表示部、 24・・実行待ちキュー次ポインタ、 25・・待機キュー次ポインタ、 26・・待機キュー前ポインタ、 27・・実行優先度表示部、 3 l ・ ・実行待ちキュー先頭PCBポインタ、41 ・ ・待機キュー先頭PCBポインタ、 42 ・ ・セマフォカウンタである。

Claims (1)

  1. 【特許請求の範囲】 情報処理装置で実行される各プロセスの制御を主記憶上
    の管理表としてプロセスコントロールブロックにより行
    うオペレーティングシステムにおいて、 待機キュー次ポインタおよび待機キュー前ポインタが設
    けられたプロセスコントロールブロックと、 前記オペレーティングシステムで使用される全セマフォ
    にそれぞれ対応する待機キューの先頭を示す待機キュー
    先頭プロセスコントロールブロックポインタ・セマフォ
    カウンタ列と、 前記待機キュー次ポインタにより各セマフォで待機中と
    なっているプロセスの待機キューを表現するプロセス制
    御に対する命令として、P命令については唯一のセマフ
    ォ番号を引数としこの引数で指定されたセマフォが閉塞
    しなければP命令を発行したプロセスに復帰し前記セマ
    フォが閉塞したときにはP命令を発行したプロセスのプ
    ロセスコントロールブロックを前記引数で指定されたセ
    マフォの待機キューにつないでプロセスを待機中とし、
    V命令については少なくとも1つ以上のセマフォ番号を
    引数としこの引数で指定された全セマフォが閉塞状態で
    なければV命令を発行したプロセスに復帰し前記セマフ
    ォの中に閉塞状態のものがあればこれらのセマフォの待
    機キューからプロセスコントロールブロックを1つずつ
    選択してはずして実行待ち状態にする命令実行部と を有することを特徴とするオペレーティングシステムの
    プロセス制御方式。
JP24873689A 1989-09-25 1989-09-25 オペレーティングシステムのプロセス制御方式 Pending JPH03110635A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24873689A JPH03110635A (ja) 1989-09-25 1989-09-25 オペレーティングシステムのプロセス制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24873689A JPH03110635A (ja) 1989-09-25 1989-09-25 オペレーティングシステムのプロセス制御方式

Publications (1)

Publication Number Publication Date
JPH03110635A true JPH03110635A (ja) 1991-05-10

Family

ID=17182598

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24873689A Pending JPH03110635A (ja) 1989-09-25 1989-09-25 オペレーティングシステムのプロセス制御方式

Country Status (1)

Country Link
JP (1) JPH03110635A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100349149C (zh) * 2003-01-24 2007-11-14 中兴通讯股份有限公司 嵌入式实时操作系统的进程调度方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100349149C (zh) * 2003-01-24 2007-11-14 中兴通讯股份有限公司 嵌入式实时操作系统的进程调度方法

Similar Documents

Publication Publication Date Title
US5613114A (en) System and method for custom context switching
US4394725A (en) Apparatus and method for transferring information units between processes in a multiprocessing system
US5257372A (en) Methods for efficient distribution of parallel tasks to slave 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
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
JP2610821B2 (ja) マルチプロセツサシステム
US7032099B1 (en) Parallel processor, parallel processing method, and storing medium
JP2000066904A (ja) マルチタスク制御方法及び記憶媒体
US8601488B2 (en) Controlling the task switch timing of a multitask system
EP0335990B1 (en) Processor-processor synchronization
JPH0916409A (ja) マイクロコンピュータ
JPH03110635A (ja) オペレーティングシステムのプロセス制御方式
JPS59106075A (ja) デ−タ処理システム
JPH0668725B2 (ja) データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法
JPH0754467B2 (ja) データ処理装置
JPS62150416A (ja) 低消費電力状態への移行方式
JPH0895803A (ja) タスクスケジュール方法
JPH04253228A (ja) 対称型マルチプロセッサのタスクスケジューリング方式
JPH07134656A (ja) 割り込み制御方法及びそれを実現するマルチタスクシステム
JP2000122882A (ja) マルチスレッドプロセッサおよびデバッグ装置
JPH0279122A (ja) 浮動小数点演算機構
JP2581327B2 (ja) 仮想計算機の入出力割込み処理方式
JPH0731527B2 (ja) プログラマブルコントロ−ラ
JPH03263265A (ja) ベクトル処理装置