JPH113231A - ソフトウェア処理方法 - Google Patents

ソフトウェア処理方法

Info

Publication number
JPH113231A
JPH113231A JP9152638A JP15263897A JPH113231A JP H113231 A JPH113231 A JP H113231A JP 9152638 A JP9152638 A JP 9152638A JP 15263897 A JP15263897 A JP 15263897A JP H113231 A JPH113231 A JP H113231A
Authority
JP
Japan
Prior art keywords
child
parent
event
processes
processing method
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
JP9152638A
Other languages
English (en)
Inventor
Ken Tsukahara
研 塚原
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP9152638A priority Critical patent/JPH113231A/ja
Publication of JPH113231A publication Critical patent/JPH113231A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 高速な処理を実行すると共に常駐プロセス数
を最小限に抑える。 【解決手段】 関連する処理内容のモジュール#1と#
2とを統合した統合モジュールを生成し、この統合モジ
ュールを親プロセスとしてメモリに常駐させる常駐プロ
セスとし、イベントの入力があると、親プロセスは自己
の複製を子プロセスとしてメモリ上に生成し、親プロセ
スはモジュール#1の処理を子プロセスはモジュール#
2の処理を実行する。その処理結果を補助記憶装置に格
納し、子プロセスの処理動作を終了して、子プロセスを
メモリ上から削除する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ソフトウェアの
処理を効率的に行うソフトウェア処理方法に関するもの
である。
【0002】
【従来の技術】ソフトウェアシステムは、通常、そのソ
フトウェアの機能を提供する一つないし複数のパッケー
ジを有し、このパッケージは機能単位の複数の実行モジ
ュールで構成されている。
【0003】従来のソフトウェアシステムでは、パッケ
ージが提供する機能を複数の実行モジュールの協調処理
として設計し、実行モジュール間の起動関係および呼出
し関係を個々の実行モジュールのコード領域に埋め込む
ことにより、パッケージ全体の機能を実現している。
【0004】図9はプロセスの実行処理を示すもので、
関連する実行モジュールは、親プロセス(#1)および
子プロセス(#2)としてメモリ上に配置され、図の番
号の順に実行される。
【0005】その処理動作は、 イベント(処理要求)が入力され、 そのイベントに応じて親プロセスはデータを子プロセ
スに転送し、 子プロセスは処理を実行して、その処理結果を親プロ
セスに転送する。 子プロセスは終了して、メモリ上から削除され、 親プロセスは、補助記憶装置に処理結果を格納する。
【0006】ここで、処理速度を向上するためには、親
プロセス、子プロセス共、メモリ上に常駐する常駐プロ
セスとし、イベント着信時点から実際にイベント処理を
開始するまでに発生するオーバヘッドを小さくする必要
があった。
【0007】図10はこの関係を示すもので、(a)は
プロセス#1を常駐プロセスとし、プロセス#2は非常
駐プロセスで、プロセス#1からの起動によりプログラ
ムをメモリ上に書き込んでから処理を実行するためにオ
ーバーヘッドが大きくなる。
【0008】図10(b)は、プロセス#1,#2共、
常駐プロセスとしたもので、プロセス#2は、プロセス
#1からのイベントにより直ちに処理を実行する。従っ
て、オーバーヘッドを小さくすることができる。
【0009】
【発明が解決しようとする課題】従来のソフトウェアシ
ステムのプロセス構成では、高速な応答を要求されるプ
ロセスは、イベント着信時点から実際にイベント処理を
開始するまでに発生するオーバヘッドを最小にするため
に、あらかじめメモリ上に常駐させる常駐プロセスとし
て起動することで対処していた。
【0010】しかし、この方法では、例えば監視制御シ
ステムのような大規模システムを構築する際には常駐プ
ロセス数が非常に多くなり、システム資源(メモリ)の
利用効率が悪くなるという問題点があった。また、管理
しなければならない実行モジュールの数が多いと、バー
ジョン管理やライブラリ管理に要する手間が非常に大き
いことが問題であった。
【0011】この発明は、高速な応答性能を確保しつつ
常駐プロセス数を最小限に抑えることにより、システム
資源を効率よく利用するソフトウェア処理方法を提供す
ることを目的とする。
【0012】
【課題を解決するための手段】
(1)この発明に係るソフトウェア処理方法は、複数の
モジュールで構成されたソフトウェアの内、関連するモ
ジュールを統合して統合モジュールとし、その統合モジ
ュールは、親プロセスとしてメモリに常駐する常駐プロ
セスとし、この親プロセスは自己の複製プロセスを子プ
ロセスとして上記メモリ上に生成し、上記子プロセス、
または、上記親プロセスと子プロセスとの両者によりイ
ベント(処理要求)に対応する処理を実行するようにし
たものである。
【0013】(2)また、上記(1)において、親プロ
セスが複数の子プロセスを生成し、上記複数の子プロセ
スにより、または、上記親プロセスと上記複数の子プロ
セスにより複数のイベントに対応する処理を実行するよ
うにしたものである。
【0014】(3)また、上記(1)または(2)にお
いて、複数の親プロセスをそれぞれ常駐プロセスとする
場合、各親プロセスが各々子プロセスを生成してイベン
トに対応した処理を実行した際に、異なる親プロセスに
属する子プロセス間でデータの授受を行うときは、上記
各々の親プロセスを介してデータの授受を行うようにし
たものである。
【0015】(4)また、上記(1)〜(3)のいずれ
か1項において、親プロセスが複数の子プロセスを生成
する際、子プロセスの生成数をメモリに常駐しうる範囲
内に限定するようにしたものである。
【0016】(5)また、上記(1)〜(4)のいずれ
か1項において、子プロセスが処理を実行する際、親プ
ロセスは子プロセスの処理時間を監視し、その処理時間
が所定の時間を超えると上記子プロセスの処理を中止す
るようにしたものである。
【0017】(6)また、上記(1)〜(5)のいずれ
か1項において、計算機に使用・待機・試験等の運転モ
ードを有し、各運転モードに対応するデータを有する場
合、イベント内に運転モードに対応したモード情報を付
加しておき、親プロセスおよび/または子プロセスは上
記イベントを受けると、このイベントのモード情報に対
応する上記データにアクセスして処理を実行するように
したものである。
【0018】
【発明の実施の形態】
実施の形態1.以下、この発明の実施の形態1を図に基
づいて説明する。図1はモジュールの統合とその処理と
を説明するものである。図2は処理動作のフローチャー
トである。
【0019】図1(a)において、関連あるモジュール
#1と#2とを統合して統合モジュールとする。この統
合モジュールを図1(b)のように親プロセスとして常
駐プロセスとすると共に、その複製をメモリ上に子プロ
セスとして生成する。この生成に伴って、入力されたデ
ータも同時に子プロセスに複製される。そして入力され
たイベントに対し、例えば、親プロセスは#1の処理を
実行し、子プロセスは#2の処理を実行する。また、子
プロセスの#1と#2のみで処理可能の場合は子プロセ
スのみで処理を実行する。この処理結果は補助記憶装置
に格納され、子プロセスは終了してメモリ上から消去さ
れる。
【0020】このような処理を行うと、図9の従来の処
理によるデータの転送、処理結果の転送等が必要でな
く、処理速度が速くなる。
【0021】次にプロセス処理動作を図2のフローチャ
ートで説明する。ステップS1〜S10の処理はすべて
単一の実行モジュール(統合モジュール)内に組み込ま
れている。 (1)イニシャライズ処理をして(S1)、(2)イベ
ントキューをチェックし(S2)、(3)イベントキュ
ーにイベントがなければ、ステップS2を循環する。
【0022】(4)イベントキューにイベントがあれ
ば、イベントをデキュー(イベントを受け付け、イベン
トキューから抜く)して(S3)、(5)統合モジュー
ルのインスタンスである親プロセスは、自己の複製プロ
セスを子プロセスとして生成する(S4)。
【0023】(6)自分が親プロセスであれば(S
5)、(7)子プロセス管理テーブルに記録し(S
6)、この記録は子プロセスの処理が終了すれば、子プ
ロセスをメモリ上から削除する等の管理に用いられる。
(8)親プロセスの処理は、イベントキューにイベント
があり、子プロセスの生成を必要とする場合は、ステッ
プS2〜S5の処理を繰り返し実行する。
【0024】(9)ステップS5で親プロセスの複製プ
ロセスとして生成された子プロセスは、イベント内容を
解釈し(S6)、(10)イベントに対応する処理を実
行し(S7〜S9)、(11)終了処理を行い(S1
0)、子プロセスがメモリ上から削除される。
【0025】上記のように、親プロセスと子プロセスの
実行モジュールを統合することにより、イベントを受信
してから実際のイベント処理を開始するまでのオーバヘ
ッドをステップS4〜S5のみとすることができる。
【0026】なお、上記実施の形態では複製プロセス
(子プロセス)生成という言葉を使用して説明したが、
マルチスレッド処理(同一プロセスで異なる処理を複数
起動させる)を実装する処理系の場合には同一プロセス
内のスレッド生成であってもよく、上記実施の形態と同
様の効果を奏する。
【0027】以上のように、この実施の形態は、親プロ
セスと子プロセスの実行モジュールを統合することによ
り、イベントを受信してから実際のイベント処理を開始
するまでのオーバヘッドを少なくすることができ、常駐
プロセスの数も少なくすることができる。また、親プロ
セスがパッケージ内で生成するすべての子プロセスの起
動管理/制御を行うため、システム全体の構成制御の記
述が簡潔になる。また、パッケージ外からの処理要求
(イベント)の窓口を親プロセスのみとすることによ
り、パッケージ間で発生する通信量を最小限に抑えるこ
とができる。
【0028】実施の形態2.上記実施の形態1におい
て、親プロセスが同時に複数の子プロセスを起動可能と
することにより、複数のイベントに対応する処理を並列
に実行することが可能となる。
【0029】図3(a)は、その事例を示すものでパッ
ケージ1の親プロセスAは自己の複製である子プロセス
Bと子プロセスCとを生成し、複数のイベントに対応し
て処理を実行する。なお、この場合、図3(b)のよう
に、親プロセスAを複製した子プロセスBは親プロセス
Aとは別のプロセスとして取り扱われる。
【0030】更に、図3(a)のようにパッケージ2も
起動する場合は、パッケージ2の親プロセスDから自己
の複製である子プロセスEと子プロセスFとを生成し、
複数のイベントに対応して処理を実行する。
【0031】また、親プロセスAと親プロセスDが起動
している場合に、子プロセスC,E間でデータを転送す
るとき、また、子プロセスB,F間でデータ転送すると
きは、親プロセスA,B間でデータの転送を行うように
する。このようにするとデータの転送が一元化されデー
タ管理が単純となり処理が速くなる。
【0032】実施の形態3.実施の形態2のように親プ
ロセスが複数個の子プロセスを生成する場合は、現実の
システムではソフトウェアが使用するシステム資源(メ
モリ)の利用可能量には制約がある。この実施の形態は
このような問題に対処するもので、利用可能量はパラメ
ータとして柔軟に調整可能とする。
【0033】即ち、親プロセスは実行中の子プロセスの
情報を記録する管理テーブルと子プロセスの最大多重起
動数の定義(全体のプロセス数およびイベント種別毎に
定義可能なプロセス数)をもとに子プロセスの追加生成
可否を判定する処理を追加し、システム全体のスループ
ットが向上するように調節可能とする。
【0034】図4は子プロセスの生成が起動可能か否か
を判定する処理を示すフローチャートである。図におい
て、実施の形態1の図2にステップS12,S13,S
14を追加している。
【0035】(1)ステップS12で、イベントの種別
を取得して(S12)、 (2)当該イベントを処理する子プロセスの起動が可能
か否かを、ステップS11の子プロセスの情報を記録す
る管理テーブルと定義した子プロセスの最大多重起動数
をもとに、親プロセスがチェックする(S13)。
【0036】(3)起動可能であれば、ステップS4で
自己の複製プロセス(子プロセス)を生成する。 (4)生成された子プロセスは、図2に示すステップS
6以降の子プロセスの処理を実行する。
【0037】(5)ステップS13で、起動可能でなけ
ればイベントをキューに戻し(S14)、 (6)現在起動している他の子プロセスの処理が終了し
て、当該子プロセスが起動可能となるまで、ステップS
2〜S13,S14の処理を繰り返す。
【0038】実施の形態4.上記実施の形態1〜2で
は、子プロセスは親プロセスから引き継いだイベントの
処理が完了した後、実行を終了する場合について述べた
が、図5に示すように、ステップS15で、親プロセス
が子プロセスを生成した時刻(プロセス管理テーブルに
記録された子プロセス起動時刻を用いる)を記録し、イ
ベントループ中で実行中の子プロセスの実行時間を監視
し、実行時間が上限を超えた場合に子プロセスを終了さ
せる処理を追加する。
【0039】このようにすると、何らかの原因により無
限ループ状態に陥った子プロセスが存在し続ける(メモ
リ上に子プロセスが存在し続ける)ことを防止できる。
なお、従来はこの処理時間の監視を子プロセス自身が行
っていたが、子プロセス自身が無限ループ状態から脱出
するまで、監視機能が動作しないという問題があった。
【0040】実施の形態5.上記実施の形態1〜3で
は、計算機に監視制御分野で用いる運転モードの概念が
存在しない場合について述べたが、監視制御分野向け計
算機のように運転モード(使用・待機・試験・訓練等)
を持ち、プロセスが所属するモードにより取り扱うデー
タの面(種類)が異なるような場合がある。
【0041】上記例の運転モードの「使用」は、計算機
が主体的に運転されるモードで、例えばプラントを制御
するモードである。「待機」は、スタンバイしていてい
つでも使用モードに移行できる状態で、主要なプロセス
は既に動作していて、外部からのデータは処理している
状態のモードである。「試験」は試験時のモードで、
「訓練」はオペレータを訓練するときのモードである。
【0042】このようなモード運転する場合、図6に示
すようにイベントデータ1内にモード情報として、例え
ば、000は使用モード、001は待機モード、010
は試験モード、011は訓練モードとする。
【0043】このようにモード情報を持たせ、親プロセ
スは運転モードを意識せずに子プロセスを生成する。子
プロセスは親プロセスから引き継いだイベント内のモー
ド情報をもとに自プロセスが参照するべきデータの面の
情報を取得する。
【0044】図7はこの動作を説明するもので、例え
ば、待機モードのモード情報を簡単にして「0」とし、
試験モードのモード情報を「1」として説明する。 (1)親プロセスAにイベント(0)がくると、親プロ
セスAはモード情報=0を有する子プロセスA0
成する。 (2)モード情報=0を有する子プロセスA0 は、待機
モードのデータにアクセスして処理を実行する。
【0045】(3)また、親プロセスAにイベント
(1)がくると、親プロセスAはモード情報=1を有す
る子プロセスA1 を生成する。 (4)モード情報=1を有する子プロセスA1 は、試験
モードのデータにアクセスして処理を実行する。
【0046】(5)親プロセスBについても同様で、イ
ベント(0)がくれば、モード情報=0を有する子プロ
セスB0 を生成し、イベント(1)がくれば、モード情
報=1を有する子プロセスB1 を生成し、それぞれ対応
する待機/試験のデータにアクセスして処理を実行す
る。
【0047】図8は、上記の動作をフローチャートで示
したもので、ステップS1からステップS5までは実施
の形態4、図5と同一である。 (1)ステップS5で、子プロセスの場合、図6に示し
たような、モード情報をチェックする(S16)。
【0048】(2)チェック結果でそのモード情報=0
であれば、使用するデータを「0」に設定し(S1
7)、 (3)チェック結果でそのモード情報=1であれば、使
用するデータを「1」に設定する(S18)。
【0049】(4)イベント内容を解釈し(S6)、イ
ベントに対応する処理を実行する(S7〜S9)。 この場合、使用するデータは図7に示すように、モード
情報に基づいてアクセスする。
【0050】以上のように、異なるモードに属するプロ
セスが混在する場合でも、子プロセスは適切なデータに
アクセスすることができる。
【0051】
【発明の効果】以上のように、この発明によれば、親プ
ロセスは自己の複製プロセスを子プロセスとして生成
し、親プロセスと子プロセスとの両者、または、子プロ
セスのみで処理を実行するようにしたので、処理速度が
向上すると共に、常駐プロセスを少なくすることができ
る。
【図面の簡単な説明】
【図1】 この発明の実施の形態1によるソフトウェア
処理方法を説明する図である。
【図2】 この発明の実施の形態1によるソフトウェア
処理方法のフローチャートである。
【図3】 この発明の実施の形態2による複数子プロセ
スを生成する説明図である。
【図4】 この発明の実施の形態3によるソフトウェア
処理方法のフローチャートである。
【図5】 この発明の実施の形態4によるソフトウェア
処理方法のフローチャートである。
【図6】 この発明の実施の形態5によるイベントデー
タの構成を示す図である。
【図7】 この発明の実施の形態5によるモード情報を
用いた処理を説明する図である。
【図8】 この発明の実施の形態5によるソフトウェア
処理方法のフローチャートである。
【図9】 従来のソフトウェア処理方法を説明する図で
ある。
【図10】 従来のソフトウェア処理方法を説明する図
である。
【符号の説明】
1 イベントデータ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 複数のモジュールで構成されたソフトウ
    ェアの内、関連するモジュールを統合して統合モジュー
    ルとし、その統合モジュールは、親プロセスとしてメモ
    リに常駐する常駐プロセスとし、この親プロセスは自己
    の複製プロセスを子プロセスとしてメモリ上に生成し、
    上記子プロセス、または、上記親プロセスと子プロセス
    との両者によりイベント(処理要求)に対応する処理を
    実行するようにしたことを特徴とするソフトウェア処理
    方法。
  2. 【請求項2】 請求項1のソフトウェア処理方法におい
    て、親プロセスが複数の子プロセスを生成し、上記複数
    の子プロセスにより、または、上記親プロセスと上記複
    数の子プロセスにより複数のイベントに対応する処理を
    実行するようにしたことを特徴とするソフトウェア処理
    方法。
  3. 【請求項3】 請求項1または請求項2のソフトウェア
    処理方法において、複数の親プロセスをそれぞれ常駐プ
    ロセスとする場合、各親プロセスが各々子プロセスを生
    成してイベントに対応した処理を実行した際に、異なる
    親プロセスに属する子プロセス間でデータの授受を行う
    ときは、上記各々の親プロセスを介してデータの授受を
    行うようにしたことを特徴とするソフトウェア処理方
    法。
  4. 【請求項4】 請求項1〜3のいずれか1項のソフトウ
    ェア処理方法において、親プロセスが複数の子プロセス
    を生成する際、子プロセスの生成数をメモリに常駐しう
    る範囲内に限定するようにしたことを特徴とするソフト
    ウェア処理方法。
  5. 【請求項5】 請求項1〜4のいずれか1項のソフトウ
    ェア処理方法において、子プロセスが処理を実行する
    際、親プロセスは子プロセスの処理時間を監視し、その
    処理時間が所定の時間を超えると上記子プロセスの処理
    を中止するようにしたことを特徴とするソフトウェア処
    理方法。
  6. 【請求項6】 請求項1〜5のいずれか1項のソフトウ
    ェア処理方法において、計算機に使用・待機・試験等の
    運転モードを有し、各運転モードに対応するデータを有
    する場合、イベント内に運転モードに対応したモード情
    報を付加しておき、親プロセスおよび/または子プロセ
    スは上記イベントを受けると、このイベントのモード情
    報に対応する上記データにアクセスして処理を実行する
    ようにしたことを特徴とするソフトウェア処理方法。
JP9152638A 1997-06-10 1997-06-10 ソフトウェア処理方法 Pending JPH113231A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9152638A JPH113231A (ja) 1997-06-10 1997-06-10 ソフトウェア処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9152638A JPH113231A (ja) 1997-06-10 1997-06-10 ソフトウェア処理方法

Publications (1)

Publication Number Publication Date
JPH113231A true JPH113231A (ja) 1999-01-06

Family

ID=15544782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9152638A Pending JPH113231A (ja) 1997-06-10 1997-06-10 ソフトウェア処理方法

Country Status (1)

Country Link
JP (1) JPH113231A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886297B2 (en) 2004-11-22 2011-02-08 Hitachi, Ltd. Program control process for an information processing apparatus
CN112363675A (zh) * 2020-11-18 2021-02-12 苏州元核云技术有限公司 基于分布式存储系统的控制方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886297B2 (en) 2004-11-22 2011-02-08 Hitachi, Ltd. Program control process for an information processing apparatus
CN112363675A (zh) * 2020-11-18 2021-02-12 苏州元核云技术有限公司 基于分布式存储系统的控制方法及系统

Similar Documents

Publication Publication Date Title
US6715016B1 (en) Multiple operating system control method
JPH064322A (ja) プロセスレベルプログラミングのための割込み処理の直列化方法
EP1162536A1 (en) Multiple operating system control method
JPH0754471B2 (ja) デ−タ処理装置
JP2821345B2 (ja) 非同期i/o制御方式
KR20040087898A (ko) 프로그램 처리 시스템 및 프로그램 처리 방법, 및컴퓨터·프로그램
JPH113231A (ja) ソフトウェア処理方法
JPH07225694A (ja) 仮想計算機システム
JP2866588B2 (ja) 処理プロセス間で制御の移転を行うシステムおよび方法
JPS635780B2 (ja)
US6842900B2 (en) Information processing apparatus executing processing corresponding to new thread by reusing arrangement for previous thread
JPH09114673A (ja) プログラムロード装置と方法
JP2697817B2 (ja) ジョブ処理システム
JPH07319833A (ja) リモートコマンドシステム
JP2003076562A (ja) メモリ量的制御方法、装置、コンピュータプログラム及び記録媒体
JPH05241861A (ja) オペレーティングシステムの空きメモリ管理方式
JP3087477B2 (ja) コンピュータシステム
JP4535663B2 (ja) ステートマシン制御方式およびステートマシン
JP2941809B2 (ja) 画像処理方法及びその装置
JP2785855B2 (ja) 情報処理装置
JP2001014177A (ja) 非同期データ入出力処理方法およびそのプログラム記録媒体
JPH0535505A (ja) 入出力タスクの制御方法
JPH02129724A (ja) プログラム実行方式
JPH06348665A (ja) 複数オペレーティングシステム間のプロセス制御方式
JPH0376497B2 (ja)

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20040126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040609

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040706