JPH0390937A - プログラム制御方式 - Google Patents

プログラム制御方式

Info

Publication number
JPH0390937A
JPH0390937A JP22674789A JP22674789A JPH0390937A JP H0390937 A JPH0390937 A JP H0390937A JP 22674789 A JP22674789 A JP 22674789A JP 22674789 A JP22674789 A JP 22674789A JP H0390937 A JPH0390937 A JP H0390937A
Authority
JP
Japan
Prior art keywords
task
message
control data
tasks
waiting
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
JP22674789A
Other languages
English (en)
Inventor
Fumio Kondo
文夫 近藤
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP22674789A priority Critical patent/JPH0390937A/ja
Publication of JPH0390937A publication Critical patent/JPH0390937A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、並行処理を行うプログラムシステムにおける
プログラム間同期処理に関するものである。
〔従来技術〕
従来、多くのプログラムシステムにおいては、1つの機
能単位は工つのプログラム(タスク)で実行され、ある
メツセージは、1つのプログラム(タスク)のみを受信
する。そのため、1つのメツセージを複数タスクに送信
する技術がなかった。
そこで、同一メツセージを複数タスクが受信する場合、
実際にメツセージを受信する複数タスクの前に仮に受信
するタスクを設け、そのタスクがメツセージを受信した
とき、実際に受信する複数タスクの間に設けた個々のメ
ツセージ制御データを用いてメツセージ送信していた。
ここで、タスクとは、プログラムシステムが動的に動作
するときの1つの仕事(タスク)を表すものである。そ
して、プログラムシステムにおいて、1つの要求(ジョ
ブ・ステップ: JOB)に対し、複数のタスクが動作
する。そのため、タスク間の同期が必要となる。
また、タスク間で情報のやりとりが必要となった時点で
、この情報を送信側のタスク(メツセージ送信タスク)
から受信側のタスク(メツセージ受信待ちタスク)へメ
ツセージとして転送する。
〔発明が解決しようとする課題〕
しかしながら、上記従来の技術では、同一メツセージを
複数タスクが受信する場合、実際にメツセージを受信す
る複数タスクの前に仮に受信するタスクを設け、そのタ
スクがメツセージを受信したとき、実際に受信する複数
タスクの間に設けた個々のメツセージ制御データを用い
てメツセージ送信しているため、効率を悪く、かつメツ
セージ送信タスクと実際にメツセージを受信する受信待
ちタスクがインタフェースを持っていないので理解しに
くいプログラムになるという問題があった。
本発明は、上記問題点を解決するためになされたもので
ある。
本発明の目的は、プログラムシステムにおいて、記述性
を向上し、効率的にタスク間同期通信を行うことができ
る技術を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本
明細書の記述及び添付図面によって明らかになるであろ
う。
〔課題を解決するための手段〕
上記目的を達成するため、並行処理を行うプログラムシ
ステムにおける並行動作する単位であるタスク間の同期
通信において、タスクを制御するためのタスク制御デー
タを個々のタスクが待ち、タスク間のメツセージ通信を
制御するメツセージ制御データをメツセージに対応させ
て待ち、メツセージを受信するタスクがメツセージ待ち
の時、上記メツセージ制御データとメツセージ待ちアド
レスを示した自分用のタスク制御データとリンクを組み
、同一メツセージを受信する他のタスクが同様にメツセ
ージを待つ時、メツセージ待ちアドレスを示した自分用
のタスク制御データと上記タスク制御データとのリンク
を組み、該当メツセージが発生したとき、メツセージ送
信するタスクが、上記メツセージ送信のためのメツセー
ジ名でメツセージ送信すれば、同一メッセージ待ちの複
数のタスクが起動することを最も主要な特徴とする。
また、上記メツセージ送信のためのメツセージ名でメツ
セージ送信すれば、同一メッセージ待ちの複数のタスク
を起動すると共に、起動番号を通知し、メツセージ送信
タスクには起動タスク数を通知することを特徴とする。
〔作 用〕
前述した手段によれば、同一メツセージを受信する複数
タスクがメツセージ待ちの時、メツセージタスクのアド
レスを設定したタスク制御データとリンクすることによ
り1.メツセージ発生時、送信タスクが受信タスク名を
知らずに直接、複数のタスクを同時に起動でき、かつ起
動タスク数を知ることができる。
また、メツセージ送信タスクが受信タスク名、タスク数
を知ることにより、タスク間同期処理が容易となる。
〔発明の実施例〕
以下、本発明の一実施例を図面を用いて具体的に説明す
る。
なお、実施例を説明するための全回において、同一機能
を有するものは同一符号を付け、その繰り返しの説明は
省略する。
第1図は、本発明のプログラム制御方式の一実施例のタ
スク制御部の概略構成を説明するためのブロック図であ
る。
本実施例のタスク制御部は、第1図に示すように、タス
ク生成部1.タスク間メツセージ送信部2、タスク間メ
ツセージ受信部3、タスク制御データ部4で構成される
上記タスク制御データ部4の詳細な構成を第2図に示す
。タスク制御データ部4は、各タスク毎に持つタスク制
御データ12 (i) 、 13 (j)−メツセージ
毎に設けたメツセージ待ちタスクの先頭を示すメツセー
ジ制御データ(タスク制御データアドレス)11.タス
ク制御データプール14で構成される。
次に、上記タスク制御部の概要を第1図を用いて説明す
る。
1つのJOBが実行されるときにまず実行開始時に1以
上のタスクが存在する。JOBの進行に従いタスクが新
たなタスクを発生しながらJOBを実行する。複数のタ
スクで1つのJOBを実行するために相互にメツセージ
をやりとりする必要がある。この実行管理を行うのがタ
スク制御部の役割である。タスク生成部1はタスクの生
成要求があった場合、タスク制御データを捕促し、タス
ク制御データにタスク状態、タスク実行レベル、待ち状
態時のアドレス等を設定し、タスクを管理する。タスク
間メツセージ受信部3はメツセージ受信待ちタスクがメ
ツセージ受信を要求した場合、該当メツセージ制御デー
タと受信要求したタスクのタスク制御データとをリンク
させる。タスク間メツセージ送信部2はメツセージ送信
タスクがメツセージ送信を要求した場合、該当メツセー
ジ制御データとリンクされたメツセージ受信待ちタスク
制御データより受信待ちアドレスから起動させる。
以下に、−例として、第3図(タスク生成に関するタス
ク制御部とのインタフェースを説明するためのブロック
図)に示すように、実行開始時に3つのタスク51.6
1.71があり、それぞれのタスクが新たに1つのタス
クを(タスク51がメツセージ送信タスク5を、タスク
61がメツセージ受信待ちタスク6を、タスク71がメ
ツセージ受信待ちタスク7を)生成して、メツセージ受
信待ちタスク6とメツセージ受信待ちタスク7がメツセ
ージ送信タスク5からのメツセージを受信する場合を上
げて説明する。
上記タスク51は、メツセージ送信タスク5の生成をタ
スク生成部1にメツセージ送信タスク6のタスク名、実
行レベル等をパラメータとして引渡し要求する。タスク
生成部1はタスク制御データをタスク制御データ部4の
タスク制御データプール14より捕促し、メツセージ送
信タスク5を起動させる。同様にタスク61はメツセー
ジ受信待ちタスク6の生成をタスク生成部1に要求し、
メツセージ受信待ちタスク6は起動される。
また、タスク71はメツセージ受信待ちタスク7の生成
をタスク生成部1に要求し、メツセージ受信待ちタスク
7は起動される、メッセージ送信タスク5.メツセージ
受信待ちタスク6.7の関係は、メツセージ受信待ちタ
スク6及び7がメツセージ送信タスク5からメツセージ
15を受信する(第4図のメツセージの送受に関係する
タスク間の関係図を参照)。
このメツセージ15の送受信のタスク制御部の詳細を次
に説明する。
第5図は、メツセージの送受に関するタスク制御とのイ
ンタフェースのブロック構成図、第6図は、メツセージ
送受のタスク制御部のタスク間メツセージ受信のフロー
図、第7図は、メツセージ送受のタスク制御部のタスク
間メツセージ送信のフロー図である、メッセージ受信待
ちタスク6は、第6図に示すように、タスク間メツセー
ジ受信部3にメツセージ名等をパラメータとして引渡し
、メツセージ待ちを要求する。タスク間メツセージ受信
部3は、該当メツセージIJ6Xlデータ11を参照し
、受信待ちタスクの有無をチエツクする(ステップ21
)。そのチエツクの結果が無しの場合、要求タスクのタ
スク制御データをメツセージjli!J #データに接
続する(ステップ22)。有りの場合はすでに接続され
ているタスク制御データの次に接続する(ステップ23
)。
同様に、メツセージ受信待ちタスク7は、第7図に示す
ように、受信待ちをタスク間メツセージ受信部3に要求
する。この状態で該当メツセージが発生し、メツセージ
送信タスク5がメツセージをメツセージ受信待ちタスク
6.7に送信する場合、メツセージ送信タスク5はタス
ク間メッセージ送信部2にメツセージ名及びメツセージ
をパラメータとして引渡し、メツセージ待ちタスクの起
動を要求する。タスク間メツセージ送信部2は、該当メ
ツセージ制御データ11を参照し、受信待ちタスクの有
無をチエツクする(ステップ31)。
このチエツクの結果が有りの場合、メツセージを全受信
待ちタスクのタスク制御データに入れ全受信待ちタスク
を起動する(ステップ32.33)。
起動されたメツセージ受信待ちタスク6.7はタスク制
御データ上にあるメツセージを受信することができる。
そして、起動したタスク名及びタスク数をメツセージ送
信タスク5に報告する(第8図のステップ41)。起動
されたメツセージ受信待ちタスク6.7はタスク制御デ
ータ上にあるメツセージを受信することができる。
以上、本発明を実施例にもとづき具体的に説明したが、
本発明は、前記実施例に限定されるものではなく、その
要旨を逸脱しない範囲において種々変更可能であること
は言うまでもない。
〔発明の効果〕
以上、説明したように、本発明によれば、同一メツセー
ジを待つ複数タスクを直接起動できることにより、同一
メツセージを待つタスク間同期通信のプログラムの記述
性を向上させ、プログラム開発の生産性を向上させると
ともに理解性を向上させる利点がある。さらに、メツセ
ージ送信タスクが受信タスク名、タスク数を知ることに
より、タスク間同期処理が容易となる。
【図面の簡単な説明】
第1図は、本発明のプログラム制御方式の一実施例のタ
スク制御部の概略構成を説明するためのブロック図、 第2図は、第1図に示すタスク制御データ部の詳細な構
成を示すブロック図、 第3図は、タスク生成に関するタスク制御部とのインタ
フェースを説明するためのブロック図、第4図は、メツ
セージの送受に関係するタスク間の関係を説明するため
のブロック図、第5図は、メツセージの送受に関するタ
スク制御部とのインタフェースを説明するためのブロッ
ク図、 第6図、第7図及び第8図は、メツセージ送受のタスク
制御部のフロー図である。 図中、1・・・タスク生成部、2・・・タスク間メツセ
ージ送信部、3・・・タスク間メツセージ受信部、4・
・・タスク制御データ部、5・・・メツセージ送信タス
ク、6・・・メツセージ受信待ちタスク、7・・・メツ
セージ受信待ちタスク。

Claims (2)

    【特許請求の範囲】
  1. (1)並行処理を行うプログラムシステムにおける並行
    動作する単位であるタスク間の同期通信において、タス
    クを制御するためのタスク制御データを個々のタスクが
    待ち、タスク間のメッセージ通信を制御するメッセージ
    制御データをメッセージに対応させて待ち、メッセージ
    を受信するタスクがメッセージ待ちの時、上記メッセー
    ジ制御データとメッセージ待ちアドレスを示した自分用
    のタスク制御データとのリンクを組み、同一メッセージ
    を受信する他のタスクが同様にメッセージを待つ時、メ
    ッセージ待ちアドレスを示した自分用のタスク制御デー
    タと上記タスク制御データとのリンクを組み、該当メッ
    セージが発生したとき、メッセージ送信するタスクが、
    上記メッセージ送信のためのメッセージ名でメッセージ
    送信すれば、同一メッセージ待ちの複数のタスクが起動
    することを特徴とするプログラム制御方式。
  2. (2)請求項1のプログラム制御方式において、上記メ
    ッセージ送信のためのメッセージ名でメッセージ送信す
    れば、同一メッセージ待ちの複数のタスクを起動すると
    共に、起動番号を通知し、メッセージ送信タスクには起
    動タスク数を通知することを特徴とするプログラム制御
    方式。
JP22674789A 1989-09-01 1989-09-01 プログラム制御方式 Pending JPH0390937A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22674789A JPH0390937A (ja) 1989-09-01 1989-09-01 プログラム制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22674789A JPH0390937A (ja) 1989-09-01 1989-09-01 プログラム制御方式

Publications (1)

Publication Number Publication Date
JPH0390937A true JPH0390937A (ja) 1991-04-16

Family

ID=16849976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22674789A Pending JPH0390937A (ja) 1989-09-01 1989-09-01 プログラム制御方式

Country Status (1)

Country Link
JP (1) JPH0390937A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204673A (ja) * 1991-09-30 1993-08-13 Internatl Business Mach Corp <Ibm> 名前付きパイプを用いるプロセス間通信の方法及びプロセス
CN108139931A (zh) * 2015-10-16 2018-06-08 高通股份有限公司 通过重映射同步来加速任务子图

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204673A (ja) * 1991-09-30 1993-08-13 Internatl Business Mach Corp <Ibm> 名前付きパイプを用いるプロセス間通信の方法及びプロセス
CN108139931A (zh) * 2015-10-16 2018-06-08 高通股份有限公司 通过重映射同步来加速任务子图

Similar Documents

Publication Publication Date Title
JPH0895821A (ja) マルチタスクのプログラムデバッグ方法とその装置
JP3490473B2 (ja) プロセッサ間通信システム
JPH0390937A (ja) プログラム制御方式
KR20100048843A (ko) 로봇용 소프트웨어 컴포넌트 장치 및 이를 이용한 쓰레드 처리 방법
JPH07168704A (ja) ジョブ実行制御方式
JPS62126457A (ja) 分散デ−タ処理方式
JP2000029850A (ja) オペレーティングシステムのプロセッサ間通信を使用したタスク制御方法
JP2003058515A (ja) プロセッサ間コマンド処理装置、疎結合マルチプロセッサ装置およびコマンド処理方法
JPH11249909A (ja) マルチタスクos上でのプロセス再起動方法
JP2001273128A (ja) ソフトウェアオンライン更新方式
JPH06214914A (ja) 複数のシステム間での連携業務の処理方法
JP3112287B2 (ja) メッセージ管理処理装置
KR0143742B1 (ko) 다중처리 시스템을 위한 데이타 통신방법
JP3455603B2 (ja) 通信システム及び非同期通信のイベント制御方法
JPH03266064A (ja) プログラム構成方法およびそのための装置
JPH01253041A (ja) 仮想計算機システムにおける自動運転方式
CN118034946A (zh) 系统间数据交互的同步装置、方法以及激光切割控制系统
JP2002358204A (ja) タスクリソース管理プログラム
JPH1074149A (ja) ソフトウェア間のデータ通信方法
JPH0834615B2 (ja) 交換機システムにおける回線状態管理制御方法
JPH0612305A (ja) トランザクション処理系間トランザクション処理方式
JPH1153204A (ja) 通信制御方法
CN118069390A (zh) 虚拟机与宿主机之间的数据传输方法及系统
JPH11167528A (ja) データ処理システムのタイムアウト制御方法
JPH1091465A (ja) ジョブ起動制御装置及びその使用方法