JPH0877024A - メッセージ転送方式 - Google Patents

メッセージ転送方式

Info

Publication number
JPH0877024A
JPH0877024A JP21262094A JP21262094A JPH0877024A JP H0877024 A JPH0877024 A JP H0877024A JP 21262094 A JP21262094 A JP 21262094A JP 21262094 A JP21262094 A JP 21262094A JP H0877024 A JPH0877024 A JP H0877024A
Authority
JP
Japan
Prior art keywords
message
system call
queue
procedure
time
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
JP21262094A
Other languages
English (en)
Inventor
Hiroshi Tawara
弘志 田原
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 JP21262094A priority Critical patent/JPH0877024A/ja
Publication of JPH0877024A publication Critical patent/JPH0877024A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 メッセージキューにメッセージが満杯になっ
ても、エラーが発生せず、システムの停止が回避出来る
メッセージ転送方式を提供することである。 【構成】 OSが、メッセージ受信用システムコールの
処理で格納メッセージの取出しを、指示(手順113)
した際、メッセージ送信用システムコールの処理を進め
るイベントフラグをセット(手順114)する。一方、
OSは、送信用システムコールの処理を開始してメッセ
ージキューに空きのない場合(手順103のNO)、イ
ベントフラグのセット(手順105のYES)まで待合
わせ、メッセージ受信用システムコールの処理の手順1
14でイベントがセットされたことにより、メッセージ
送信用システムコールの処理を再開してエラー発生の回
避、及びシステム停止の防止が可能となる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、リアルタイムOS(オ
ペレーティングシステム)の下で動作するタスク間で、
メッセージをメッセージキューに格納して交換するメッ
セージ転送方式に関し、特に、過負荷なメッセージ処理
要求に対してシステム停止を防止出来るメッセージ転送
方式に関する。
【0002】
【従来の技術】一般に、この種のメッセージ転送方式で
は、図2に示されるように、メッセージ送信タスク21
とメッセージ受信タスク22とがリアルタイムOS23
の管理下で走行している。この際、メッセージ送信タス
ク21から送出されたメッセージは、一時、メッセージ
キュー24に格納され、この格納されたメッセージは、
メッセージ受信タスク22により取出される。
【0003】ここで、メッセージ転送方式におけるリア
ルタイムOSの処理について、図3(A)及び図3
(B)を参照して説明する。
【0004】まず、メッセージ送信タスク21は、外部
装置からの処理要求の発生を待ち、処理要求が発生する
と、メッセージを生成し、メッセージ送信用システムコ
ールをリアルタイムOS23に発行する。この結果、メ
ッセージ送信タスク21は、リアルタイムOS23から
メッセージ格納指示を受けると、生成したメッセージを
メッセージキュー24に送出して格納する。
【0005】この場合のリアルタイムOS23の動作手
順を説明すると、リアルタイムOS23は、図3(A)
に示されるように、送信処理の開始でメッセージ送信タ
スク21からメッセージ送信用システムコールを受付け
る(手順201)と、メッセージキュー24の空きを調
査(手順202)する。メッセージキュー24に空きが
ある場合(手順203のYES)、リアルタイムOS2
3は、メッセージの格納をメッセージ送信タスク21に
指示(手順204)し、送信処理手順は終了する。他
方、手順203でメッセージキュー24に空きがない
“NO”の場合、所定のエラー処理が行われる。この結
果、メッセージ送信タスク21はメッセージ送信用シス
テムコールを再送することになる。
【0006】次に、メッセージ受信タスク22は、受信
処理開始可能になると、メッセージ受信用システムコー
ルをリアルタイムOS23に発行する。この結果、メッ
セージ受信タスク22は、リアルタイムOS23からメ
ッセージ取出し指示を受けてメッセージをメッセージキ
ュー24から取出し、このメッセージの内容に従った処
理を行なう。
【0007】この場合のリアルタイムOS23の動作を
より詳細に説明すると、リアルタイムOS23は、図3
(B)に示されるように、受信処理の開始でメッセージ
受信タスク22からメッセージ受信用システムコールを
受付ける(手順211)。次いで、リアルタイムOS2
3は、メッセージキュー24にメッセージの格納あり
(手順212のYES)を確認し、メッセージキュー2
4からのメッセージ取出しをメッセージ受信タスク22
に指示(手順213)して、手順を終了する。手順21
2でメッセージの格納がない“NO”の場合には、受信
処理は終了となり、次の受信処理の開始まで待機状態と
なる。
【0008】この例において、メッセージ受信タスク2
2の処理時間がメッセージ送信タスク21の処理時間よ
り長いものとする。この場合、メッセージ受信タスク2
2の処理中にメッセージ送信タスク21により、メッセ
ージがメッセージキュー24に次々と続いて格納され、
メッセージキュー24が満杯になる。例えば、メッセー
ジ受信タスク22の処理中に資源待ち等の理由によって
受信タスクの実行が停止された場合、メッセージ送信タ
スク21の走行する割合が高くなり、メッセージキュー
24が満杯になる。
【0009】この状態では、メッセージ受信タスク22
の処理終了までの間、メッセージキュー24に空きが生
じないので、メッセージ送信タスク21で、メッセージ
送信用システムコール毎にエラーに対する処理動作が行
われる。この結果、システムに、エラーが多発するのを
防ぐことが出来ない。
【0010】このエラーの多発を回避するために、メッ
セージ受信タスクの優先順位をメッセージ送信タスクの
優先順位より高くしてメッセージの受信処理を優先さ
せ、メッセージの送信要求が過負荷にならないように図
られている。
【0011】
【発明が解決しようとする課題】上述した従来のメッセ
ージ転送方式では、リアルタイムOSが、メッセージ送
信タスクからメッセージ送信用システムコールがあった
際、メッセージキューに空きがないことを検出した場
合、エラー処理をしている。この構成では、メッセージ
受信タスクの処理時間が資源待ち等の原因で長くなった
場合、メッセージ送信タスクの走行が多くなり、メッセ
ージキューの空きがなくなってしまう。
【0012】この結果、メッセージ送信タスク21の優
先順位が低いにも拘らず、システムに、エラーが多発
し、システムが停止するという問題点がある。
【0013】本発明の課題は、リアルタイムOSにおい
て、メッセージキューに空きが生じたと判断するまでメ
ッセージ送信タスクの処理が停止されることによって、
メッセージキューにメッセージが満杯になってもエラー
が発生せず、システムの停止が回避出来るメッセージ転
送方式を提供することである。
【0014】
【課題を解決するための手段】本発明によるメッセージ
転送方式は、リアルタイムOS(オペレーティングシス
テム)の下で動作するタスク間で、メッセージをメッセ
ージキューに格納して交換するメッセージ転送方式にお
いて、前記メッセージキューにおける空きの有無を表す
イベントフラグを設け、当該イベントフラグの状態を前
記OSによって参照して、前記タスク間でメッセージを
転送している。
【0015】また、別の手段として、前記OSは、メッ
セージ送信用システムコール処理及びメッセージ受信用
システムコール処理を行い、前記メッセージ受信用シス
テムコール処理の際、メッセージキューにおける空きの
有無を表すイベントの処理を行い、前記メッセージ送信
用システムコール処理は、前記イベントフラグによって
前記メッセージキューに空きがあることが指示されてい
ることを条件として行われる。
【0016】また、上記の方式に対して、前記メッセー
ジ送信用システムコール処理は、前記メッセージキュー
に空きのない場合、前記イベントフラグのセットによ
り、再開される。
【0017】
【実施例】次に、本発明について図面を参照して説明す
る。
【0018】まず、一般のメッセージ転送方式では、図
2を参照して既に説明したように、メッセージ送信タス
ク21とメッセージ受信タスク22とはリアルタイムO
S23の管理下で走行している。この際、メッセージ送
信タスク21から送出されたメッセージは、一時、メッ
セージキュー24に格納され、メッセージ受信タスク2
2により取出される。
【0019】ここで、図1に示された本発明の一実施例
に係わる動作手順を、図2をも併せ参照して説明する。
【0020】まず、メッセージ送信タスク21は、外部
装置からの処理要求の発生を待ち、処理要求が発生する
と、メッセージを生成して、メッセージ送信用システム
コールをリアルタイムOS23に発行する。メッセージ
送信タスク21は、メッセージ送信用システムコールを
発行して、リアルタイムOS23からメッセージ格納指
示を受けると、メッセージをメッセージキュー24に格
納する。
【0021】リアルタイムOS23は、図1(A)に示
されるように、送信処理の開始の際、メッセージ送信タ
スク21からメッセージ送信用システムコールを受付け
る(手順101)と、メッセージキュー24の空きを調
査(手順102)する。リアルタイムOS23は、メッ
セージキュー24に空きがある場合(手順103のYE
S)、メッセージの格納をメッセージ送信タスク21に
指示(手順104)し、手順を終了する。
【0022】他方、手順103でメッセージキュー24
に空きがない“NO”の場合、リアルタイムOS23
は、他のタスク、ここでは、メッセージ受信タスク22
により後述するイベントフラグをセットされるのを待つ
(手順105)。また、手順105でイベントフラグが
セットされた“YES”場合、リアルタイムOS23
は、手順102に戻ってメッセージキュー24の空きを
調査し、以下、この手順を繰返す。
【0023】次に、メッセージ受信タスク22は、受信
処理開始可能になると、メッセージ受信用システムコー
ルをリアルタイムOS23に発行する。この結果、メッ
セージ受信タスク22は、リアルタイムOS23からメ
ッセージ取出し指示を受けてメッセージをメッセージキ
ュー24から取出し、このメッセージの内容に従った処
理を行う。
【0024】この場合におけるリアルタイムOS23の
動作を更に詳細に説明すると、リアルタイムOS23
は、図1(B)に示されるように、受信処理の開始の
際、メッセージ受信タスク22からメッセージ受信用シ
ステムコールを受付ける(手順111)。リアルタイム
OS23は、メッセージキュー24にメッセージの格納
ありを確認した場合(手順112のYES)、メッセー
ジキュー24からのメッセージ取出しをメッセージ受信
タスク22に指示(手順113)する。手順113によ
りメッセージキュー24からメッセージが取出されてメ
ッセージキュー24に空きが生じるので、リアルタイム
OS23はイベントフラグをセット(手順114)し
て、手順を終了する。手順112でメッセージの格納が
ない“NO”の場合には、受信処理は終了になり、次の
開始を待つ。
【0025】上記説明では、リアルタイムOS23が、
メッセージ受信用システムコールの処理中、手順113
でメッセージ取出をメッセージ受信タスク22に指示
し、次の手順114でイベントフラグをセットしてい
る。このため、メッセージ受信タスク22のメッセージ
処理に長時間を必要とする場合、メッセージ送信用シス
テムコールの処理では、手順105の“YES”でイベ
ントフラグがセットされても、手順103の“YES”
でメッセージキュー24が空きになるまでに待合わせの
時間が掛かる。
【0026】この待合わせの時間をなくすために、リア
ルタイムOS23が、メッセージ受信用システムコール
の処理中、手順113でメッセージ取出をメッセージ受
信タスク22に指示すると共に、メッセージキュー24
の空き調査を行えばよい。このように、リアルタイムO
S23がメッセージ受信タスク22の処理中にメッセー
ジキュー24の空き調査を行えば、メッセージキュー2
4に空きを生じた場合、リアルタイムOS23は、動作
再開のトリガになるイベントフラグを、メッセージ受信
用システムコールの処理中に、メッセージ受信タスク2
2でメッセージを受信処理してメッセージキューに空き
が生じた直後にセット出来る。
【0027】この結果、メッセージ送信用システムコー
ルの処理では、メッセージ送信用システムコールの手順
の中で、イベントフラグのセット待ちになり動作が休止
中、イベントフラグのセットが検出された際には、メッ
セージキューの空き状態が、待合せなしで検出され、メ
ッセージの送信が処理出来る。
【0028】なお、メッセージキュー24に空きがない
状態を検出するためには、メッセージキュー24にオー
バーフローが発生したか否かを検出すればよい。
【0029】上記説明では、障害時の対策がされていな
いが、イベントフラグ待ちに対して、例えば、図1にお
いて、手順103の“NO”、及び、手順105の“N
O”に続いて周知の時間監視手順を設けることにより、
障害等の異常が検出出来る。
【0030】
【発明の効果】以上説明したように本発明によれば、メ
ッセージ受信用システムコールの処理においてメッセー
ジキューに空きが出来る際、イベントフラグがセットさ
れ、メッセージ送信用システムコールの処理では、この
イベントフラグがセットされたことを知って、メッセー
ジキューの空き状態を検出し、以後の手順を再開される
ことが出来る。
【0031】この構成によって、メッセージ送信用シス
テムコールの処理での、エラーの発生が回避出来、この
結果、システムの停止が防止出来るメッセージ転送方式
を得ることができる。
【図面の簡単な説明】
【図1】本発明の一実施例を示す流れ図である。
【図2】一般の機能構成ブロック図である。
【図3】従来の一例を示す流れ図である。
【符号の説明】
21 メッセージ送信タスク 22 メッセージ受信タスク 23 リアルタイムOS(オペレーティングシステ
ム) 24 メッセージキュー

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 リアルタイムOS(オペレーティングシ
    ステム)の下で動作するタスク間で、メッセージをメッ
    セージキューに格納して交換するメッセージ転送方式に
    おいて、前記メッセージキューにおける空きの有無を表
    すイベントフラグを設け、当該イベントフラグの状態を
    前記OSによって参照して、前記タスク間でメッセージ
    を転送することを特徴とするメッセージ転送方式。
  2. 【請求項2】 リアルタイムOS(オペレーティングシ
    ステム)の下で動作するタスク間で、メッセージをメッ
    セージキューに格納して交換するメッセージ転送方式に
    おいて、前記OSは、メッセージ送信用システムコール
    処理及びメッセージ受信用システムコール処理を行い、
    前記メッセージ受信用システムコール処理の際、メッセ
    ージキューにおける空きの有無を表すイベントの処理を
    行うことを特徴とするメッセージ転送方式。
  3. 【請求項3】 請求項2において、前記メッセージ送信
    用システムコール処理は、前記イベントフラグによって
    前記メッセージキューに空きがあることが指示されてい
    ることを条件として行われることを特徴とするメッセー
    ジ転送方式。
  4. 【請求項4】 請求項2または請求項3において、前記
    メッセージ送信用システムコール処理は、前記メッセー
    ジキューに空きのない場合、前記イベントフラグのセッ
    トにより、再開されることを特徴とするメッセージ転送
    方式。
  5. 【請求項5】 請求項2、3または請求項4において、
    前記メッセージ受信用システムコール処理は、前記メッ
    セージキューの空きの有無を監視する手順を含んでいる
    ことを特徴とするメッセージ転送方式。
JP21262094A 1994-09-06 1994-09-06 メッセージ転送方式 Pending JPH0877024A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21262094A JPH0877024A (ja) 1994-09-06 1994-09-06 メッセージ転送方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21262094A JPH0877024A (ja) 1994-09-06 1994-09-06 メッセージ転送方式

Publications (1)

Publication Number Publication Date
JPH0877024A true JPH0877024A (ja) 1996-03-22

Family

ID=16625700

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21262094A Pending JPH0877024A (ja) 1994-09-06 1994-09-06 メッセージ転送方式

Country Status (1)

Country Link
JP (1) JPH0877024A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009063536A1 (ja) * 2007-11-16 2009-05-22 Netcleus Systems Corporation タスク処理装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05342020A (ja) * 1992-06-11 1993-12-24 Nec Software Ltd タスク間通信方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05342020A (ja) * 1992-06-11 1993-12-24 Nec Software Ltd タスク間通信方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009063536A1 (ja) * 2007-11-16 2009-05-22 Netcleus Systems Corporation タスク処理装置

Similar Documents

Publication Publication Date Title
EP0319034A2 (en) Method of recovering failure of online control program
US8732694B2 (en) Method and system for performing services in server and client of client/server architecture
US8719479B2 (en) Network adaptor optimization and interrupt reduction
JPH0877024A (ja) メッセージ転送方式
JPH05250225A (ja) 装置間通信制御装置
JP2809209B2 (ja) プロセス間通信方式
JP2595697B2 (ja) メッセージ処理システム
JP3456551B2 (ja) リモートメモリロードにおけるデッドロック回避方式
JP2000148525A (ja) サービスプロセッサ二重化システムの現用系負荷軽減方法
JP3545772B2 (ja) 動作時間監視方法
JP2770797B2 (ja) マルチプロセッサシステムのページ記述子更新制御方式
JPS61181238A (ja) デ−タ伝送装置
JP3148099B2 (ja) 入出力制御方式及び入出力制御方法
JP3470454B2 (ja) マルチプロセッサシステムの通信制御方法
CN113515397A (zh) Ipmi命令处理方法、服务器和非暂时性计算机可读存储介质
JPH07253912A (ja) プロセス監視装置
JPH0235520A (ja) サービス提供プログラム宛先管理機構
CN117407117A (zh) 一种基于容器云平台的任务处理方法及服务器
CN111586250A (zh) 电子设备、电子设备的控制方法以及非临时性的计算机可读取的记录介质
JP2712389B2 (ja) 通信制御処理装置
JPS6220584B2 (ja)
JPH05183610A (ja) 通信処理装置試験実行システム
JPH11167474A (ja) 印刷装置
JPH04139556A (ja) リトライ制御方式
JPH04169939A (ja) システムコール再試行処理方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19981216