JPH0833833B2 - オペレーティングシステムにおけるプロセス消滅方式 - Google Patents
オペレーティングシステムにおけるプロセス消滅方式Info
- Publication number
- JPH0833833B2 JPH0833833B2 JP27741288A JP27741288A JPH0833833B2 JP H0833833 B2 JPH0833833 B2 JP H0833833B2 JP 27741288 A JP27741288 A JP 27741288A JP 27741288 A JP27741288 A JP 27741288A JP H0833833 B2 JPH0833833 B2 JP H0833833B2
- Authority
- JP
- Japan
- Prior art keywords
- processes
- pcb
- extinction
- state
- processing
- 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
Description
【発明の詳細な説明】 〔概要〕 オペレーティングシステムにおけるプロセス消滅方式
に関し、 プロセス消滅処理の途中でも他の処理をリアルタイム
で処理することを可能とすることを目的とし、 複数のプロセスの各々に固有の制御エリア、スタック
エリア及び該プロセスの優先順位を割り当て、並列処理
を実行させるマルチプロセス・オペレーティングシステ
ムに於いて、 前記オペレーティングシステム内に他のプロセスより
低い優先順位を持つプロセス消滅専用のプロセスキラー
と、消滅すべきプロセス群の数を計数するカウンター及
び消滅すべきプロセスが格納されている制御エリアの先
頭アドレスを管理するポインターを設け、 消滅すべきプロセスが前記プロセスキラーを起動した
後、前記カウンターを−1減算し、自プロセスを前記ポ
インターの最後に接続して停止状態とし、前記プロセス
キラーが他のプロセスの事象待ちとなる空時間を利用し
て、プロセス消滅処理を実行するように構成する。
に関し、 プロセス消滅処理の途中でも他の処理をリアルタイム
で処理することを可能とすることを目的とし、 複数のプロセスの各々に固有の制御エリア、スタック
エリア及び該プロセスの優先順位を割り当て、並列処理
を実行させるマルチプロセス・オペレーティングシステ
ムに於いて、 前記オペレーティングシステム内に他のプロセスより
低い優先順位を持つプロセス消滅専用のプロセスキラー
と、消滅すべきプロセス群の数を計数するカウンター及
び消滅すべきプロセスが格納されている制御エリアの先
頭アドレスを管理するポインターを設け、 消滅すべきプロセスが前記プロセスキラーを起動した
後、前記カウンターを−1減算し、自プロセスを前記ポ
インターの最後に接続して停止状態とし、前記プロセス
キラーが他のプロセスの事象待ちとなる空時間を利用し
て、プロセス消滅処理を実行するように構成する。
本発明はオペレーティングシステムにおけるプロセス
消滅方式に関し、より詳しくは、複数の回線を持つ汎用
マイクロプロセッサを用いた通信制御装置等に於いて、
プロセス消滅処理による処理能力の低下を解決する為、
プロセス消滅専用プロセス、プロセス消滅用のポインタ
ー(TRMPSEM)等を設けることにより、プロセス消滅処
理以外の処理をリアルタイムで行うことをねらいとした
オペレーティングシステム(以下、OSと称する)におけ
るリアルタイムプロセス消滅方式に関する。
消滅方式に関し、より詳しくは、複数の回線を持つ汎用
マイクロプロセッサを用いた通信制御装置等に於いて、
プロセス消滅処理による処理能力の低下を解決する為、
プロセス消滅専用プロセス、プロセス消滅用のポインタ
ー(TRMPSEM)等を設けることにより、プロセス消滅処
理以外の処理をリアルタイムで行うことをねらいとした
オペレーティングシステム(以下、OSと称する)におけ
るリアルタイムプロセス消滅方式に関する。
本発明は、汎用マイクロプロセッサ上で動作するリア
ルタイムOSを用いた通信制御装置に適用される。
ルタイムOSを用いた通信制御装置に適用される。
近年、通信回線を通るデータは、音声データ、情報端
末のデータ等、飛躍的に増加している。これに伴い通信
制御装置には、回線の多重化、情報の迅速化によるマル
チプロセス処理、リアルタイム処理が要求されている。
この場合、不要になったプロセスをOSの管理下から外す
というプロセス消滅処理を、他の処理のリアルタイム処
理を損なうことなく実現できることが要望されている。
末のデータ等、飛躍的に増加している。これに伴い通信
制御装置には、回線の多重化、情報の迅速化によるマル
チプロセス処理、リアルタイム処理が要求されている。
この場合、不要になったプロセスをOSの管理下から外す
というプロセス消滅処理を、他の処理のリアルタイム処
理を損なうことなく実現できることが要望されている。
例えば、本発明は、第17図に示すISDNシステムにおけ
るデータリンク制御装置において、ISDNインターフェー
スであるパケットリンクコントローラ(PLCA)、モデム
インターフェースであるパケットリンクコントローラ
(PLCB)、共通線信号装置(CSE)、ディジタル加入者
回路(DLC)、制御装置(DLCC)、ディジタルラインイ
ンターフェース(DLIF)等に含まれるOSに適用される。
るデータリンク制御装置において、ISDNインターフェー
スであるパケットリンクコントローラ(PLCA)、モデム
インターフェースであるパケットリンクコントローラ
(PLCB)、共通線信号装置(CSE)、ディジタル加入者
回路(DLC)、制御装置(DLCC)、ディジタルラインイ
ンターフェース(DLIF)等に含まれるOSに適用される。
第18図は、第17図に示したパケットリンクコントロー
ラ(PLCA)のファームウエアの構成を示すブロック図で
ある。同図において、パケットリンクコントローラ(PL
CA)181は、オペレーティングシステム(OS)182、回線
側に接続される送信処理プロセス(TXIOCS)及び受信処
理プロセス(RXIOCS)184、LAP-Dプロトコル処理プロセ
ス(LAPD)185、回線制御及びプロセスの生成消滅指示
を送出するプロセス(SIGC)186、及びパケット処理プ
ロセサ(PPR)側に接続される送信処理プロセス(TDC)
187と受信処理プロセス(RDC)188等を備えている。
ラ(PLCA)のファームウエアの構成を示すブロック図で
ある。同図において、パケットリンクコントローラ(PL
CA)181は、オペレーティングシステム(OS)182、回線
側に接続される送信処理プロセス(TXIOCS)及び受信処
理プロセス(RXIOCS)184、LAP-Dプロトコル処理プロセ
ス(LAPD)185、回線制御及びプロセスの生成消滅指示
を送出するプロセス(SIGC)186、及びパケット処理プ
ロセサ(PPR)側に接続される送信処理プロセス(TDC)
187と受信処理プロセス(RDC)188等を備えている。
第19図は従来のプロセス消滅処理例を説明するタイム
シーケンス図である。同図において、処理の優先順位
は、受信処理プロセスA,消滅指示プロセスB,消滅プロセ
スC,アイドルプロセスDの順となっている。消滅指示プ
ロセスBにより、時刻t1で消滅プロセスCに対してアイ
ドル化指示をし、アイドル化終了を待つ。消滅プロセス
Cでは、この指示を受けて時刻t2から、タイマの停止及
びトランザクションの解放を行い、その後アイドル化終
了を消滅指示プロセスBに通知する。即ち、プロセスB
からの消滅要求により、OSではプロセスBが使用してい
るトランザクションメモリをサーチしてそれを解放し、
使用しているタイマーがあるか否かを判定して、タイマ
ーの停止を行う。消滅指示プロセスBでは、アイドル化
終了を消滅プロセスCから受けた後、時刻t3で、消滅プ
ロセスCに対してプロセス消滅指示を与え、受信データ
を待つ。消滅プロセスCでは、消滅指示を受けた後、OS
に対しプロセス消滅指示を与える。OSは、プロセスBの
PCBとスタックの解放を行ってプロセスの消滅処理を行
う。その後、プロセスAに処理が移行する。OSにおける
消滅処理の期間は、他のプロセスの処理は中断されるか
割り込みが禁止される。したがって、優先順位の最も高
いプロセスAにおいてデータ受信があっても、この受信
データは処理されることなく捨てられる。OSにおけるプ
ロセス消滅処理が終了すると、その後に処理要求のあっ
た優先度の高いプロセスの処理に移行する。以下、例え
ばデータ受信があると受信処理プロセスAがデータを受
信し、消滅指示プロセスBに対し受信データを送り、消
滅指示プロセスBでは受信処理をして受信データ待ちに
なるとアイドルプロセスDに処理が移行する。
シーケンス図である。同図において、処理の優先順位
は、受信処理プロセスA,消滅指示プロセスB,消滅プロセ
スC,アイドルプロセスDの順となっている。消滅指示プ
ロセスBにより、時刻t1で消滅プロセスCに対してアイ
ドル化指示をし、アイドル化終了を待つ。消滅プロセス
Cでは、この指示を受けて時刻t2から、タイマの停止及
びトランザクションの解放を行い、その後アイドル化終
了を消滅指示プロセスBに通知する。即ち、プロセスB
からの消滅要求により、OSではプロセスBが使用してい
るトランザクションメモリをサーチしてそれを解放し、
使用しているタイマーがあるか否かを判定して、タイマ
ーの停止を行う。消滅指示プロセスBでは、アイドル化
終了を消滅プロセスCから受けた後、時刻t3で、消滅プ
ロセスCに対してプロセス消滅指示を与え、受信データ
を待つ。消滅プロセスCでは、消滅指示を受けた後、OS
に対しプロセス消滅指示を与える。OSは、プロセスBの
PCBとスタックの解放を行ってプロセスの消滅処理を行
う。その後、プロセスAに処理が移行する。OSにおける
消滅処理の期間は、他のプロセスの処理は中断されるか
割り込みが禁止される。したがって、優先順位の最も高
いプロセスAにおいてデータ受信があっても、この受信
データは処理されることなく捨てられる。OSにおけるプ
ロセス消滅処理が終了すると、その後に処理要求のあっ
た優先度の高いプロセスの処理に移行する。以下、例え
ばデータ受信があると受信処理プロセスAがデータを受
信し、消滅指示プロセスBに対し受信データを送り、消
滅指示プロセスBでは受信処理をして受信データ待ちに
なるとアイドルプロセスDに処理が移行する。
再びデータ受信があると、受信処理プロセスAにてデ
ータを受信し、上述と同様の動作をする。
ータを受信し、上述と同様の動作をする。
以上が従来のプロセス消滅処理である。
従来のプロセス消滅処理では、第19図のようにOS内マ
クロとして消滅処理を実行していた為に、一旦プロセス
消滅処理が走り出すと、その消滅処理が終わるまで、他
の処理が実行できない。
クロとして消滅処理を実行していた為に、一旦プロセス
消滅処理が走り出すと、その消滅処理が終わるまで、他
の処理が実行できない。
例えば、第19図においてプロセスBの消滅処理中に、
プロセスAに対する処理要求が起ったとしても、その処
理はOS内の消滅処理が終わるまで実行されない。つま
り、消滅処理動作時はリアルタイムでプロセスの処理を
行うことが不可能となる。
プロセスAに対する処理要求が起ったとしても、その処
理はOS内の消滅処理が終わるまで実行されない。つま
り、消滅処理動作時はリアルタイムでプロセスの処理を
行うことが不可能となる。
さらに、従来は、消滅プロセスが行っているタイマの
停止、トランザクションの解放は、OSの消滅処理の中で
行われていた。しかし、これでは消滅するプロセスが使
用しているタイマやトランザクションをOSのリソースエ
リアから検索していたので、多大な時間を費やしてい
た。
停止、トランザクションの解放は、OSの消滅処理の中で
行われていた。しかし、これでは消滅するプロセスが使
用しているタイマやトランザクションをOSのリソースエ
リアから検索していたので、多大な時間を費やしてい
た。
本発明の目的は、プロセス消滅処理の途中でも他の処
理をリアルタイムで処理することを可能とすることにあ
る。
理をリアルタイムで処理することを可能とすることにあ
る。
第1図は本発明の原理図である。同図において、1-1,
1-2,…,1-nは複数のプロセスであり、各プロセスの各々
に固有の制御エリア(PCB)、スタックエリア及び該プ
ロセスの優先順位が割り当てられている。2はこれらの
プロセスの並列処理を実行させるマルチプロセス・オペ
レーティングシステムである。
1-2,…,1-nは複数のプロセスであり、各プロセスの各々
に固有の制御エリア(PCB)、スタックエリア及び該プ
ロセスの優先順位が割り当てられている。2はこれらの
プロセスの並列処理を実行させるマルチプロセス・オペ
レーティングシステムである。
オペレーティングシステム内のプロセス1-nは、他の
プロセスより低い優先順位を持つプロセス消滅専用のプ
ロセスキラーである。オペレーティングシステム2は、
消滅すべきプロセスの数を計数するカウンター(3-1)
及び消滅すべきプロセスが格納されている制御エリアの
先頭アドレスを管理するポインター(3-2)から成るセ
マフォ(TRMPSEM)3を備えている。
プロセスより低い優先順位を持つプロセス消滅専用のプ
ロセスキラーである。オペレーティングシステム2は、
消滅すべきプロセスの数を計数するカウンター(3-1)
及び消滅すべきプロセスが格納されている制御エリアの
先頭アドレスを管理するポインター(3-2)から成るセ
マフォ(TRMPSEM)3を備えている。
消滅すべきプロセスがプロセスキラー1-nを起動した
後、セマフォ3のカウンターを−1減算し、自プロセス
をセマフォ3のポインター(3-2)の最後に接続して停
止状態(Wait)とし、プロセスキラー1−nが他のプロ
セスの事象待ちとなる空き時間を利用して、プロセス消
滅処理を実行するようになっている。
後、セマフォ3のカウンターを−1減算し、自プロセス
をセマフォ3のポインター(3-2)の最後に接続して停
止状態(Wait)とし、プロセスキラー1−nが他のプロ
セスの事象待ちとなる空き時間を利用して、プロセス消
滅処理を実行するようになっている。
セマフォ3のカウンタの値が1以上で、且つ、プロセ
スキラーの優先順位より高い順位のプロセスの処理要求
がない空き時間に、プロセスキラーを動作させることに
より、高い優先順位のプロセス処理要求がプロセス消滅
処理の途中で指示されたとき、プロセス消滅処理を中断
して高優先度の処理をリアルタイムに処理することが可
能となる。
スキラーの優先順位より高い順位のプロセスの処理要求
がない空き時間に、プロセスキラーを動作させることに
より、高い優先順位のプロセス処理要求がプロセス消滅
処理の途中で指示されたとき、プロセス消滅処理を中断
して高優先度の処理をリアルタイムに処理することが可
能となる。
第2図は本発明の実施例によるプロセス消滅処理を説
明するフローチャートである。同図において、処理の優
先順位は、受信処理プロセスA,消滅指示プロセスB,消滅
プロセスC,プロセスキラーD,アイドルプロセスEの順と
なっている。消滅指示プロセスBにより、時刻t1で消滅
プロセスCに対してアイドル化指示をし、アイドル化終
了を待つ。消滅プロセスCでは、この指示を受けて時刻
t2から、タイマの停止及びトランザクションの解放を行
い、その後アイドル化終了を消滅指示プロセスBに通知
する。消滅指示プロセスBでは、アイドル化終了を消滅
プロセスCから受けた後、時刻t3で、消滅プロセスCに
対してプロセス消滅指示を与え、受信データを待つ。消
滅プロセスCでは、消滅指示を受けた後、プロセスキラ
ーDに対しプロセス消滅指示を与え、セマフォ(TRMPSE
M)にて消滅待ちをする。プロセスキラーDでは消滅処
理を開始する。この消滅処理の途中で、プロセス消滅処
理よりも優先順位の高い、例えば受信処理プロセスAに
てプロセスで処理要求が発生すると、消滅処理は中断さ
れ、時刻t4にて受信処理プロセスAにてデータの受信を
し、受信データは消滅指示プロセスBに送られ、消滅指
示プロセスBにおいて受信データの処理をする。次いで
受信データの処理が終了すると、消滅指示プロセスBで
は受信データ待ちとなり、制御が再びプロセスキラーD
に移り、時刻t5で消滅処理が再開される。このように、
消滅処理よりも優先順位の高い処理の空き時間を利用し
てプロセス消滅処理を実行し、その消滅処理が終了する
と、他に動くプロセスがなければアイドルプロセスが動
き、受信処理プロセスAにて処理要求が発生すれば、ア
イドルプロセスの処理を中断し、受信処理プロセスAに
てデータの受信をし、受信データを消滅指示プロセスB
に引き渡すといった処理を続行する。
明するフローチャートである。同図において、処理の優
先順位は、受信処理プロセスA,消滅指示プロセスB,消滅
プロセスC,プロセスキラーD,アイドルプロセスEの順と
なっている。消滅指示プロセスBにより、時刻t1で消滅
プロセスCに対してアイドル化指示をし、アイドル化終
了を待つ。消滅プロセスCでは、この指示を受けて時刻
t2から、タイマの停止及びトランザクションの解放を行
い、その後アイドル化終了を消滅指示プロセスBに通知
する。消滅指示プロセスBでは、アイドル化終了を消滅
プロセスCから受けた後、時刻t3で、消滅プロセスCに
対してプロセス消滅指示を与え、受信データを待つ。消
滅プロセスCでは、消滅指示を受けた後、プロセスキラ
ーDに対しプロセス消滅指示を与え、セマフォ(TRMPSE
M)にて消滅待ちをする。プロセスキラーDでは消滅処
理を開始する。この消滅処理の途中で、プロセス消滅処
理よりも優先順位の高い、例えば受信処理プロセスAに
てプロセスで処理要求が発生すると、消滅処理は中断さ
れ、時刻t4にて受信処理プロセスAにてデータの受信を
し、受信データは消滅指示プロセスBに送られ、消滅指
示プロセスBにおいて受信データの処理をする。次いで
受信データの処理が終了すると、消滅指示プロセスBで
は受信データ待ちとなり、制御が再びプロセスキラーD
に移り、時刻t5で消滅処理が再開される。このように、
消滅処理よりも優先順位の高い処理の空き時間を利用し
てプロセス消滅処理を実行し、その消滅処理が終了する
と、他に動くプロセスがなければアイドルプロセスが動
き、受信処理プロセスAにて処理要求が発生すれば、ア
イドルプロセスの処理を中断し、受信処理プロセスAに
てデータの受信をし、受信データを消滅指示プロセスB
に引き渡すといった処理を続行する。
第3図は本発明の実施例におけるOSの構成を示すブロ
ック図である。同図において、31はカーネル、32は割り
込みハンドラー、33はトランザクションハンドラー、34
はメッセージハンドラー、35はタイマハンドラー、36は
プロセスマネジャー、37はシステムプロセスである。
ック図である。同図において、31はカーネル、32は割り
込みハンドラー、33はトランザクションハンドラー、34
はメッセージハンドラー、35はタイマハンドラー、36は
プロセスマネジャー、37はシステムプロセスである。
OSの各部の機能を以下に説明する。
(1)カーネル31…各ハンドラの動作を管理するもの。
(2)割り込みハンドラ32…プロセッサからの定周期割
り込み制御を行う。
り込み制御を行う。
(3)トランザクションハンドラ33…トランザクション
(メモリバッファ)の管理を行う。
(メモリバッファ)の管理を行う。
(4)メッセージハンドラ34…各プロセス間のメッセー
ジの送受信制御を行う。
ジの送受信制御を行う。
(5)タイマハンドラ35…タイマ関係のサービス(例え
ば、ある一定時間プロセスを待機するといったもの)を
提供する。
ば、ある一定時間プロセスを待機するといったもの)を
提供する。
(6)プロセスハンドラ36…プロセスの生成消滅を行
う。
う。
(7)システムプロセス37…OS内で生成されるプロセス
で、アイドルプロセスとプロセスキラーがある。
で、アイドルプロセスとプロセスキラーがある。
第4図は本発明の実施例におけるOSとプロセスの関係
の説明図である。図示のように、各プロセスは(アイド
ルプロセス,プロセスキラーも例外でない。)OSの配下
に置かれ、各々優先順位が付けられている。
の説明図である。図示のように、各プロセスは(アイド
ルプロセス,プロセスキラーも例外でない。)OSの配下
に置かれ、各々優先順位が付けられている。
OSはこの優先順位を元に各プロセスの実行/待ち状態
を制御する。
を制御する。
なお、アイドルプロセスとは、全てのユーザプロセス
(プロセスキラーを含む)が待ち状態に入った時に実行
されるプロセスであり、優先順位が一番低くなるように
設定されている。
(プロセスキラーを含む)が待ち状態に入った時に実行
されるプロセスであり、優先順位が一番低くなるように
設定されている。
プロセス状態には、次の4つの状態がある。
(1)ノンイクジステンス(Non Existence)状態 生成(Ceation)される前の状態である。生成される
とReady状態となる。
とReady状態となる。
(2)レディ(Ready)状態 プロセスが動作可能な状態である。自プロセスよりも
高い優先度(Priority)のプロセスの全てがレディでな
くなり、且つ、自プロセスと同一の優先度で自プロセス
より前にレディとなったプロセスがレディでなくなる
と、自プロセスはレディ状態となる。
高い優先度(Priority)のプロセスの全てがレディでな
くなり、且つ、自プロセスと同一の優先度で自プロセス
より前にレディとなったプロセスがレディでなくなる
と、自プロセスはレディ状態となる。
(3)ラン(Run)状態 プロセスが実行中の状態である。自プロセスより高い
優先度のプロセスがラン(Run)状態になると、自プロ
セスはレディ状態に移行する。
優先度のプロセスがラン(Run)状態になると、自プロ
セスはレディ状態に移行する。
(4)ウエイト(Wait)状態 プロセスがある事象(Event)を待っている状態であ
る。
る。
第5図は本発明の実施例における状態遷移図である。
同図において、ラン状態のプロセスがウエイト動作(Wa
it,Receive Message,Sleep,Putoff等)を発行し、セマ
フォカウンタが負になると、ウエイト状態に移行する。
同図において、ラン状態のプロセスがウエイト動作(Wa
it,Receive Message,Sleep,Putoff等)を発行し、セマ
フォカウンタが負になると、ウエイト状態に移行する。
ウエイト状態のプロセスは、他のプロセスが信号動作
(Signal Operation)を発行し、待ち状態が解除される
とレディ状態になる。
(Signal Operation)を発行し、待ち状態が解除される
とレディ状態になる。
また、ノンイクジステンス(No Existence)状態から
プロセスの生成によりレディ状態に移行し、ラン状態か
らプリエンプテッドによりレディ状態に移行し、レディ
状態からターミネーションによりノンイクジステンス状
態に移行し、レディ状態からプロセスの選択によりラン
状態に移行する等の状態の遷移がわかる。
プロセスの生成によりレディ状態に移行し、ラン状態か
らプリエンプテッドによりレディ状態に移行し、レディ
状態からターミネーションによりノンイクジステンス状
態に移行し、レディ状態からプロセスの選択によりラン
状態に移行する等の状態の遷移がわかる。
第6図及び第7図は本発明の実施例におけるプロセス
の状態と複数のプロセスコントロールブロック(以下、
PCBと称する。)との関係の説明図である。
の状態と複数のプロセスコントロールブロック(以下、
PCBと称する。)との関係の説明図である。
第6図において、レディ状態とラン状態との関係が示
されている。レディ状態とは、前述の説明から明らかな
如く、現在実行中のプロセスのPCBをポイントしている
状態をいう。
されている。レディ状態とは、前述の説明から明らかな
如く、現在実行中のプロセスのPCBをポイントしている
状態をいう。
また、このレディ状態にリンクする一連のPCB#1,#
2,#3,…,#nに対応するプロセスは、レディ状態にあ
るという。特にレディチェーンの先頭にあるPCBに対応
するプロセスをラン状態のプロセスと呼ぶ。また、レデ
ィチェーンの順番はプロセスの優先順位の高い順に並ん
でいる。
2,#3,…,#nに対応するプロセスは、レディ状態にあ
るという。特にレディチェーンの先頭にあるPCBに対応
するプロセスをラン状態のプロセスと呼ぶ。また、レデ
ィチェーンの順番はプロセスの優先順位の高い順に並ん
でいる。
アイドルプロセスは、優先順位が一番低いので、その
PCB#nは必ず一番最後に繋がっている。第7図によっ
て、ウエイト状態を説明する。
PCB#nは必ず一番最後に繋がっている。第7図によっ
て、ウエイト状態を説明する。
プロセスがあるイベント待ちの状態になると、ウエイ
ト状態となる。ウエイト状態となったプロセスのPCB#
1,#2,#3はセマフォ(第8図参照)に繋がる。これを
ウエイト動作という。そこで、イベントが発生すると、
セマフォカウンタを+1して、最初に繋がっているPCB
を切り離してレディチェーンに繋げる。これをシグナル
動作という。
ト状態となる。ウエイト状態となったプロセスのPCB#
1,#2,#3はセマフォ(第8図参照)に繋がる。これを
ウエイト動作という。そこで、イベントが発生すると、
セマフォカウンタを+1して、最初に繋がっているPCB
を切り離してレディチェーンに繋げる。これをシグナル
動作という。
ノンイクジステンス(Non Existence)状態では、PCB
は存在しない。
は存在しない。
第8図はセマフォの構成とPCBへのリンクを説明する
ブロック図である。同図において、計数型セマフォ80
は、セマフォカウンタ81とリンク部82からなっており、
セマフォカウンタ81は任意の整数値をとるセマフォであ
って、汎用型セマフォともいう。
ブロック図である。同図において、計数型セマフォ80
は、セマフォカウンタ81とリンク部82からなっており、
セマフォカウンタ81は任意の整数値をとるセマフォであ
って、汎用型セマフォともいう。
計数型セマフォに対しては、P命令とV命令がある。
P命令は、ウエイト動作を行う命令であり、セマフォ
に繋げる動作を行う。即ち、この命令が与えられると、
セマフォカウンタ81の値から1を減算し、セマフォカウ
ンタが0より小であれば、要求プロセスをセマフォ待ち
リストの最後尾に繋ぎ、実行可状態のプロセスのなかか
ら最も優先順位の高いものを選択して実行しする。
に繋げる動作を行う。即ち、この命令が与えられると、
セマフォカウンタ81の値から1を減算し、セマフォカウ
ンタが0より小であれば、要求プロセスをセマフォ待ち
リストの最後尾に繋ぎ、実行可状態のプロセスのなかか
ら最も優先順位の高いものを選択して実行しする。
V命令は、シグナル動作を行う命令であり、セマフォ
80から外れる。即ち、この命令が与えられると、セマフ
ォカウンタ81の値に1を加算し、セマフォカウンタの値
が0以上であれば、そのセマフォに関する待ちリストの
先頭のプロセスを実行可能状態にし、実行可能状態のプ
ロセスのなかから最も優先順位の高いものを選出して実
行する。
80から外れる。即ち、この命令が与えられると、セマフ
ォカウンタ81の値に1を加算し、セマフォカウンタの値
が0以上であれば、そのセマフォに関する待ちリストの
先頭のプロセスを実行可能状態にし、実行可能状態のプ
ロセスのなかから最も優先順位の高いものを選出して実
行する。
セマフォカウンタ81の値が正のときは、P命令を出し
ても通過できるプロセスの個数を示す。たとえば、この
ときは、最初のプロセスのP命令によって減らされ、つ
ぎのプロセスのP命令によってさらに1減らされ、0に
なる。さらにそのつぎのプロセスがP命令を出すと−1
となって負となり、待たされる。さらにそのつぎのプロ
セスがP命令を出すと図示の如く−2になり、待たされ
る。このようにして、セマフォカウンタの値が負の場
合、その絶対値は、そのセマフォで待っているプロセス
の個数を表していることがわかる。
ても通過できるプロセスの個数を示す。たとえば、この
ときは、最初のプロセスのP命令によって減らされ、つ
ぎのプロセスのP命令によってさらに1減らされ、0に
なる。さらにそのつぎのプロセスがP命令を出すと−1
となって負となり、待たされる。さらにそのつぎのプロ
セスがP命令を出すと図示の如く−2になり、待たされ
る。このようにして、セマフォカウンタの値が負の場
合、その絶対値は、そのセマフォで待っているプロセス
の個数を表していることがわかる。
セマフォカウンタの値が−2の場合に、V命令を出す
と、−1になり、正ではないのでそのセマフォを待って
いるプロセスがあることがわかり、そのプロセスを起こ
す。さらにV命令を出すと0になり、やはりつぎのプロ
セスを起こす。つぎの命令では1となり、待っているプ
ロセスはないことがわかる。
と、−1になり、正ではないのでそのセマフォを待って
いるプロセスがあることがわかり、そのプロセスを起こ
す。さらにV命令を出すと0になり、やはりつぎのプロ
セスを起こす。つぎの命令では1となり、待っているプ
ロセスはないことがわかる。
第9図は本発明の実施例におけるPCBテーブルの構成
を示す表図である。同図において、テーブル内の各ビッ
トが1つのプロセスに対応する。このテーブル内の対応
するビットに1が立っている時は、そのプロセスがPCRE
ATなるマクロ命令により生成されたことを表し、0の時
はP@TRMNなるマクロ命令によりプロセスが消滅された
かもしくは生成されていないことを表す。図示のテーブ
ルでは、横方向に0〜7ビット,縦方向に0〜7Fビット
なので、最大で1024個のプロセス分が表示される。
を示す表図である。同図において、テーブル内の各ビッ
トが1つのプロセスに対応する。このテーブル内の対応
するビットに1が立っている時は、そのプロセスがPCRE
ATなるマクロ命令により生成されたことを表し、0の時
はP@TRMNなるマクロ命令によりプロセスが消滅された
かもしくは生成されていないことを表す。図示のテーブ
ルでは、横方向に0〜7ビット,縦方向に0〜7Fビット
なので、最大で1024個のプロセス分が表示される。
第10図は、本発明の実施例におけるPCBエリアとPCBテ
ーブルとの関係の説明図である。同図において、PCBエ
リアのPCB#1は、PCBテーブル上の対応するビットが1
なのでそのプロセスが生成済または使用中であることを
表している。PCB#2は、対応するビットが0なのでそ
のプロセスは未生成であることを表しており、PCB#3
の対応するビットは1なのでそのプロセスは生成済また
は使用中であることを表している。
ーブルとの関係の説明図である。同図において、PCBエ
リアのPCB#1は、PCBテーブル上の対応するビットが1
なのでそのプロセスが生成済または使用中であることを
表している。PCB#2は、対応するビットが0なのでそ
のプロセスは未生成であることを表しており、PCB#3
の対応するビットは1なのでそのプロセスは生成済また
は使用中であることを表している。
第11図は、本発明の実施例におけるセマフォ(TRMPSE
M)とPCBテーブルとの関係の説明図である。同図におい
て、PCBテーブルの内容が111…であり、セマフォ(TRMP
SEM)が−3であり、消滅すべきプロセスのPCBが#1,#
2,#3の順位でリンクされている場合、プロセスキラー
によってPCB#1のプロセス消滅処理を行うと、図示の
如く、PCBテーブルの内容は011…となり、セマフォ(TR
MPSEM)の値は−2となり、PCB#2,#3が消滅待ちとな
る。
M)とPCBテーブルとの関係の説明図である。同図におい
て、PCBテーブルの内容が111…であり、セマフォ(TRMP
SEM)が−3であり、消滅すべきプロセスのPCBが#1,#
2,#3の順位でリンクされている場合、プロセスキラー
によってPCB#1のプロセス消滅処理を行うと、図示の
如く、PCBテーブルの内容は011…となり、セマフォ(TR
MPSEM)の値は−2となり、PCB#2,#3が消滅待ちとな
る。
第12図は本発明の実施例におけるPCBの構成を示すブ
ロック図である。図示の如く、PCBはPCBリンクフィール
ド(LINK)、プロセス優先順位(PRI)、プロセス識別
番号(ID)、プロセス名(NAMEF)、メッセージ受信セ
マフォ(MESRCV)、到着メッセージポインタ(MESPOIN
T)、SPセーブエリア(SPSAVE),SSセーブエリア(SSSA
VE)等からなっている。
ロック図である。図示の如く、PCBはPCBリンクフィール
ド(LINK)、プロセス優先順位(PRI)、プロセス識別
番号(ID)、プロセス名(NAMEF)、メッセージ受信セ
マフォ(MESRCV)、到着メッセージポインタ(MESPOIN
T)、SPセーブエリア(SPSAVE),SSセーブエリア(SSSA
VE)等からなっている。
PCBリンクフィールド(LINK)は、PCB#1,#2,#3,
…,#nがその順番に繋がっているときに、次に繋がっ
ているPCBの先頭アドレスを格納する部分である(第13
図参照)。
…,#nがその順番に繋がっているときに、次に繋がっ
ているPCBの先頭アドレスを格納する部分である(第13
図参照)。
プロセス優先順位(PRI)は、プロセスの優先順位を
表す数字を格納する部分である。
表す数字を格納する部分である。
プロセス識別番号(ID)は、プロセスの識別番号を格
納する部分である。
納する部分である。
プロセス名(NAMEF)は、プロセスの名前を格納する
部分である。
部分である。
メッセージ受信セマフォ(MESRCV)は、自プロセスが
メッセージ受信待ちで待機(Wait)する時に待つセマフ
ォである。
メッセージ受信待ちで待機(Wait)する時に待つセマフ
ォである。
到着メッセージポインタ(MESPOINT)は、受信したメ
ッセージが繋がるポインタである。
ッセージが繋がるポインタである。
SPセーブエリア(SPSAVE),SSセーブエリア(SSSAV
E)は、プロセスが使用するワークエリアであるスタッ
クを指し示すポインタである(第14図参照)。
E)は、プロセスが使用するワークエリアであるスタッ
クを指し示すポインタである(第14図参照)。
第15図はプロセスキラーの処理を説明するフローチャ
ートである。同図において、プロセスキラーが起動待ち
の状態にあるときに、ステップS1でプロセス消滅を行う
マクロ命令が与えられると、シグナル動作に入り、ステ
ップS2でPCBに繋がっているスタックをオペレーティン
グシステムの管理下に戻す。そして、ステップS3〜S5で
PCBの内容をクリアし、且つ、他のプロセスから書き込
みされないように排他制御を行う。次いでステップS6〜
S8でPCBテーブルの排他制御を行うとともに、PCBテーブ
ルにプロセスが1個消滅したことをセットする。そして
ステップS10でPCBSEMに対してシグナル動作をし、PCBが
1つオペレーティングシステムに解放されたことを示し
た後に起動待ちの状態に復帰する。
ートである。同図において、プロセスキラーが起動待ち
の状態にあるときに、ステップS1でプロセス消滅を行う
マクロ命令が与えられると、シグナル動作に入り、ステ
ップS2でPCBに繋がっているスタックをオペレーティン
グシステムの管理下に戻す。そして、ステップS3〜S5で
PCBの内容をクリアし、且つ、他のプロセスから書き込
みされないように排他制御を行う。次いでステップS6〜
S8でPCBテーブルの排他制御を行うとともに、PCBテーブ
ルにプロセスが1個消滅したことをセットする。そして
ステップS10でPCBSEMに対してシグナル動作をし、PCBが
1つオペレーティングシステムに解放されたことを示し
た後に起動待ちの状態に復帰する。
つぎに、優先順位の意味と本発明との関係について説
明する。
明する。
OSは、レディチェーンにプロセス優先順位(PRI)の
高い順で繋がっているPCBのプロセスの順に実行する。
そこで、通常の処理を妨けることなく消滅動作を行うた
めに、プロセスキラーの優先順位を他のユーザプロセス
よりも低く(アイドルプロセスよりは高く)する。従来
のように、消滅処理をオペレーティングシステムにやら
せていないので、通常処理を妨げない。全てのプロセス
がウエイト(Wait)状態となった空き時間を利用して、
プロセスの消滅処理を行う。
高い順で繋がっているPCBのプロセスの順に実行する。
そこで、通常の処理を妨けることなく消滅動作を行うた
めに、プロセスキラーの優先順位を他のユーザプロセス
よりも低く(アイドルプロセスよりは高く)する。従来
のように、消滅処理をオペレーティングシステムにやら
せていないので、通常処理を妨げない。全てのプロセス
がウエイト(Wait)状態となった空き時間を利用して、
プロセスの消滅処理を行う。
第16図は、本発明の実施例におけるアイドル化処理を
説明するフローチャートである。本発明の実施例におけ
るシーケンスにおいて、消滅プロセスが行っているタイ
マの停止、トランザクションの解放は、従来はOSの消滅
処理の中で行われていた。しかし、これでは消滅するプ
ロセスが使用しているタイマやトランザクションをOSの
リソースエリアから検索していたので、多大な時間を費
やしていた。
説明するフローチャートである。本発明の実施例におけ
るシーケンスにおいて、消滅プロセスが行っているタイ
マの停止、トランザクションの解放は、従来はOSの消滅
処理の中で行われていた。しかし、これでは消滅するプ
ロセスが使用しているタイマやトランザクションをOSの
リソースエリアから検索していたので、多大な時間を費
やしていた。
そこで、第16図に示すように、ステップS161で消滅す
るプロセスに使用中のタイマがあればステップS162でこ
れを停止させ、ステップS163で使用中のトランザクショ
ンがあれば、ステップS164でこれを0Sに解放するという
処理を追加させた(これをアイドル化処理という)。
るプロセスに使用中のタイマがあればステップS162でこ
れを停止させ、ステップS163で使用中のトランザクショ
ンがあれば、ステップS164でこれを0Sに解放するという
処理を追加させた(これをアイドル化処理という)。
以上の説明から明らかなように、本発明によれば、消
滅すべきプロセスのポインターをセマフォ(TRMPSEM)
につなげ、他のプロセスより優先順位の低いプロセスキ
ラーによって各プロセスの事象待ちの空時間を利用し
て、消滅動作を行うようにしたので、マルチプロセス処
理を有するOSのリアルタイム性を失うことなく、プロセ
スの消滅処理を行うことが可能となる。
滅すべきプロセスのポインターをセマフォ(TRMPSEM)
につなげ、他のプロセスより優先順位の低いプロセスキ
ラーによって各プロセスの事象待ちの空時間を利用し
て、消滅動作を行うようにしたので、マルチプロセス処
理を有するOSのリアルタイム性を失うことなく、プロセ
スの消滅処理を行うことが可能となる。
第1図は本発明の原理図、 第2図は本発明の実施例によるプロセス消滅処理を説明
するフローチャート、 第3図は本発明の実施例におけるOSの構成を示すブロッ
ク図、 第4図は本発明の実施例におけるOSとプロセスとの関係
を説明するブロック図、 第5図は本発明の実施例における状態遷移図、 第6図は本発明の実施例におけるレディ状態とラン状態
を説明するブロック図、 第7図は本発明の実施例におけるウエイト状態を説明す
るブロック図、 第8図は本発明の実施例におけるセマフォの構成とPCB
へのリンクを説明するブロック図、 第9図は本発明の実施例におけるPCBテーブルの表図、 第10図は本発明の実施例におけるPCBエリアとPCBテーブ
ルの関係の説明図、 第11図は本発明の実施例におけるセマフォとPCBテーブ
ルの関係の説明図、 第12図は本発明の実施例におけるPCBの構成を示すブロ
ック図、 第13図は本発明の実施例におけるリンクの内容の説明
図、 第14図は本発明の実施例におけるセーブの説明図、 第15図は本発明の実施例におけるプロセスキラーの制御
を説明するフローチャート、 第16図は本発明の実施例におけるアイドル化処理を説明
するフローチャート、 第17図は本発明の産業上の利用分野を説明するデータリ
ンク制御装置のブロック図、 第18図は第17図におけるパケットリンクコントローラ
(PLCA)のファームウエアの構成を示すブロック図、 第19図は従来のプロセス消滅処理を説明するフローチャ
ートである。 図において、 1-1,1-2,…,1-n……プロセス、2……オペレーティング
システム、3……セマフォである。
するフローチャート、 第3図は本発明の実施例におけるOSの構成を示すブロッ
ク図、 第4図は本発明の実施例におけるOSとプロセスとの関係
を説明するブロック図、 第5図は本発明の実施例における状態遷移図、 第6図は本発明の実施例におけるレディ状態とラン状態
を説明するブロック図、 第7図は本発明の実施例におけるウエイト状態を説明す
るブロック図、 第8図は本発明の実施例におけるセマフォの構成とPCB
へのリンクを説明するブロック図、 第9図は本発明の実施例におけるPCBテーブルの表図、 第10図は本発明の実施例におけるPCBエリアとPCBテーブ
ルの関係の説明図、 第11図は本発明の実施例におけるセマフォとPCBテーブ
ルの関係の説明図、 第12図は本発明の実施例におけるPCBの構成を示すブロ
ック図、 第13図は本発明の実施例におけるリンクの内容の説明
図、 第14図は本発明の実施例におけるセーブの説明図、 第15図は本発明の実施例におけるプロセスキラーの制御
を説明するフローチャート、 第16図は本発明の実施例におけるアイドル化処理を説明
するフローチャート、 第17図は本発明の産業上の利用分野を説明するデータリ
ンク制御装置のブロック図、 第18図は第17図におけるパケットリンクコントローラ
(PLCA)のファームウエアの構成を示すブロック図、 第19図は従来のプロセス消滅処理を説明するフローチャ
ートである。 図において、 1-1,1-2,…,1-n……プロセス、2……オペレーティング
システム、3……セマフォである。
フロントページの続き (72)発明者 杉野 孝司 神奈川県横浜市港北区新横浜3丁目9番18 号 富士通第一通信ソフトウェア株式会社 内 (72)発明者 柴田 恵 神奈川県横浜市港北区新横浜3丁目9番18 号 富士通第一通信ソフトウェア株式会社 内 (72)発明者 永瀬 靖 神奈川県横浜市港北区新横浜3丁目9番18 号 富士通第一通信ソフトウェア株式会社 内
Claims (1)
- 【請求項1】複数のプロセスの各々に固有の制御エリア
(PCB)、スタックエリア及び該プロセスの優先順位を
割り当て、並列処理を実行させるマルチプロセス・オペ
レーティングシステムに於いて、 前記オペレーティングシステム内に他のプロセスより低
い優先順位を持つプロセス消滅専用のプロセスキラー
と、消滅すべきプロセス群の数を計数するカウンター
(3-1)及び消滅すべきプロセスが格納されている制御
エリアの先頭アドレスを管理するポインター(3-2)を
設け、 消滅すべきプロセスが前記プロセスキラーを起動した
後、前記カウンターを−1減算し、自プロセスを前記ポ
インターの最後に接続して停止状態とし、前記プロセス
キラーが他のプロセスの事象待ちとなる空時間を利用し
て、プロセス消滅処理を実行するようにしたことを特徴
とする、リアルタイムオペレーティングシステムにおけ
るプロセス消滅方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27741288A JPH0833833B2 (ja) | 1988-11-04 | 1988-11-04 | オペレーティングシステムにおけるプロセス消滅方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27741288A JPH0833833B2 (ja) | 1988-11-04 | 1988-11-04 | オペレーティングシステムにおけるプロセス消滅方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02125339A JPH02125339A (ja) | 1990-05-14 |
JPH0833833B2 true JPH0833833B2 (ja) | 1996-03-29 |
Family
ID=17583188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27741288A Expired - Lifetime JPH0833833B2 (ja) | 1988-11-04 | 1988-11-04 | オペレーティングシステムにおけるプロセス消滅方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0833833B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7373558B2 (en) * | 2004-09-23 | 2008-05-13 | Intel Corporation | Vectoring process-kill errors to an application program |
JP2009199365A (ja) * | 2008-02-21 | 2009-09-03 | Funai Electric Co Ltd | マルチタスク処理システム |
WO2011148553A1 (ja) | 2010-05-24 | 2011-12-01 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および情報処理方法 |
JP5553685B2 (ja) * | 2010-05-24 | 2014-07-16 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および情報処理方法 |
-
1988
- 1988-11-04 JP JP27741288A patent/JPH0833833B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH02125339A (ja) | 1990-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0267464B1 (en) | Method for controlling processor access to input/output devices | |
JPH0689241A (ja) | データ処理システム | |
JPH0833833B2 (ja) | オペレーティングシステムにおけるプロセス消滅方式 | |
JP2001282558A (ja) | マルチオペレーティング計算機システム | |
US7748003B2 (en) | Hard real-time response | |
US5388261A (en) | Apparatus and method for handling frame overruns in a digital signal processing system | |
JP2856681B2 (ja) | 外部事象を処理する方法およびシステム | |
US20060150193A1 (en) | Signal management in operations with multiple waits | |
JPH0981526A (ja) | マルチプロセッサシステム | |
CA1292079C (en) | Handling of inter-process notification of asynchronous events in a multi-processor system | |
JP3112287B2 (ja) | メッセージ管理処理装置 | |
JP2581327B2 (ja) | 仮想計算機の入出力割込み処理方式 | |
JP2961542B2 (ja) | データ処理システム | |
JPH0219494B2 (ja) | ||
JPH0241782B2 (ja) | ||
JPH01246636A (ja) | 仮想計算機システムの中央処理装置管理方式 | |
CN116431280A (zh) | 一种中断信号处理方法以及中断信号处理装置 | |
JPS62226236A (ja) | トランザクシヨン処理システムにおける資源待ちの状態の中断と再開始処理方式 | |
Lister et al. | The System Nucleus | |
Collyer | Setting Interrupt Priorities in Software via Interrupt Queueing | |
JPH11167528A (ja) | データ処理システムのタイムアウト制御方法 | |
JPS61289433A (ja) | 情報処理装置 | |
JPS6121532A (ja) | スケジユ−リング方法 | |
JPS63826B2 (ja) | ||
JPH0236971B2 (ja) |