JPH1031616A - プロセス間通信システム - Google Patents

プロセス間通信システム

Info

Publication number
JPH1031616A
JPH1031616A JP20551996A JP20551996A JPH1031616A JP H1031616 A JPH1031616 A JP H1031616A JP 20551996 A JP20551996 A JP 20551996A JP 20551996 A JP20551996 A JP 20551996A JP H1031616 A JPH1031616 A JP H1031616A
Authority
JP
Japan
Prior art keywords
data
transmission
reception
shared memory
transmitting
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
JP20551996A
Other languages
English (en)
Inventor
Masashi Tanaka
雅士 田中
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 JP20551996A priority Critical patent/JPH1031616A/ja
Publication of JPH1031616A publication Critical patent/JPH1031616A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 メールボックス方式の送受信キューを使用し
て通信を行う際の送受信時間の短縮化を図ることのでき
るプロセス間通信システムを実現する。 【解決手段】 送信側プロセス51と受信側プロセス5
3の間には、共通してアクセスすることのできる共有メ
モリ58が配置されている。送信側プロセス51は通信
対象となるデータ59をこの共有メモリ58に構築し、
その開始アドレスとデータ量を情報56としてメモリ領
域52から送受信キュー57にコピーしてこれをメモリ
領域54にコピーする。フラグ61がこれによって
“1”に変化し、受信側プロセス53は共有メモリ58
の該当する領域からデータを読み出すことができる。デ
ータの主な部分が共通してアクセスできる共有メモリ5
8に構築されるので、コピーに要する時間を大幅に節約
することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は共有メモリを用いた
プロセス間通信システムに係わり、詳細には送受信キュ
ーを使用したメールボックス方式でデータの通信を行う
プロセス間通信システムに関する。
【0002】
【従来の技術】プロセス間で通信を行うプロセス間通信
システムには、送受信キューを使用してメールボックス
方式でデータの通信を行うものがある。このメールボッ
クス方式のシステムでは、送信側プロセスも受信側プロ
セスもそれぞれ初期化時にメモリ領域を独自に割り当て
られるようになっている。送信側プロセスでは、この送
信側に割り当てられたメモリ領域に送信データを構築す
る。構築されたデータは送受信キューにすべてコピーさ
れた後、メールボックスに投函される。メールボックス
は、投函された送受信キューが配送されるべき受信側プ
ロセスに対して、データが送信されたことを通知する。
この通知は、フラグを用いて行われる。受信側プロセス
では、このフラグによる通知を受けると、送受信キュー
に格納されたデータを、初期化時に割り当てられたメモ
リ領域にすべてコピーするようにしている。
【0003】図2は、このような従来のプロセス間通信
システムの構成の概要を表わしたものである。このシス
テムでは、送信側プロセス11側に、初期化時に割り当
てられた第1のメモリ領域12が配置されており、受信
側プロセス13側には同じく初期化時に割り当てられた
第2のメモリ領域14が配置されている。これら両プロ
セス11、13の間には、送受信されるデータ16を一
時的に格納するための送受信キュー17が配置されてい
る。受信側プロセス13は、送受信キュー17の送信の
有無を示すフラグ18を備えている。
【0004】このようなプロセス間通信システムで、送
信側プロセス11は送信すべきデータ21を第1のメモ
リ領域12に構築する。送信を行うとき、この構築され
たデータ21は送受信キュー17にデータ16としてす
べてコピーされ、メールボックスに投函される。送信側
プロセス11からメールボックス方式でデータを保持し
た送受信キュー17が送信されると、受信側プロセス1
3はこの事実をフラグによって通知される。そして、受
信側プロセス13は送受信キュー17に保持されたデー
タ16を第2のメモリ領域にコピーする。このような動
作によって、受信側プロセス13は送信側プロセス11
が構築したデータ21を第2のメモリ領域14にコピー
して、これをデータ19として読み出すことができる。
【0005】
【発明が解決しようとする課題】この図2に示したプロ
セス間通信システムでは、第1のメモリ領域12のデー
タ21を送受信キュー17に第1のコピー作業31でコ
ピーし、次いで、このコピーされたデータ16を第2の
メモリ領域14に第2のコピー作業32でコピーするこ
とにしている。ここで、第1のメモリ領域12に構築さ
れるデータ21の規模が大きい場合には、第1のコピー
作業31で送受信キュー17にコピーを行う際に、この
規模に伴ってある程度長い時間を必要とし、その後にメ
ールボックスへの投函が行われる。受信側プロセス13
においても、データ19を読み出す際には、送受信キュ
ー17内のデータ16を第2のメモリ領域14にコピー
する必要があり、データ16の規模が大きい場合には同
様にコピーにある程度長い時間を必要とすることにな
る。
【0006】音声や動画のようにリアルタイム通信を要
求されるデータが増大している。このようなデータをプ
ロセス間通信で送信する場合には、通信の即時性あるい
は高速化が重要である。しかしながら、プロセス間通信
ではシステムの初期化時に割り当てられる第1および第
2のメモリ領域12、14が各プロセス11、13で完
全に独立している。したがって、第1のメモリ領域12
に構築したデータ21を、送受信キュー17に一度コピ
ーしてメールボックスに投函することにしている。しか
しながら、これに伴う第1と第2の2回のコピー作業3
1、32はデータの通信の即時性を低下させ、特にコピ
ーされるデータの規模が大きい場合にはプロセス間通信
の送受信時間の性能を低下させてリアルタイム通信を困
難とさせるという問題があった。
【0007】なお、特開昭60−237566号公報で
は、各プロセッサに対応したエリアを割り付け、そのエ
リアを介して相手側のプロセッサに割込通知を行うこと
でそのエリアにデータが存在することを通知すると共
に、データを受信した側のプロセッサが自分のプロセッ
サに割り当てられたエリアに指定されたパターンを書き
込むことでデータが受信されたことを送信側のプロセッ
サに通知するようにしている。
【0008】図3は、この提案のプロセス間通信システ
ムを表わしたものである。この図で第1のプロセッサ4
1と第2のプロセッサ42は共有メモリ領域43を有し
ている。共有メモリ領域43は第1のプロセッサ41が
送信し第2のプロセッサ42が受信する第1の領域44
と、第1のプロセッサ41が受信し第2のプロセッサ4
2が送信する第2の領域45を有している。したがっ
て、第1のプロセッサ41から第2のプロセッサ42に
データを送信する場合には、送りたいそのデータを共有
メモリ領域43の第1の領域44に格納する。その後、
第1のプロセッサ41は第2のプロセッサ42にI/O
命令等を送出する。第2のプロセッサ42はこのI/O
命令を終了させるために応答信号を即時返送する。そし
て、その後、第1の領域44にアクセスしてそのデータ
の読取処理を行うようにしている。受信側の第2のプロ
セッサ42は受信したエリアをクリアしたり、その部分
に応答パターンを書き込むようにしている。
【0009】しかしながらこの提案された技術では、共
有メモリ領域43がそれぞれのプロセッサの送信と受信
の対ごとに割り振られているので、プロセッサの対の数
が多くなるとそれぞれの領域を確保する必要がある。し
たがって、比較的大きなサイズのデータを格納する領域
をそれぞれ確保しようとすると、共有メモリ領域の全体
のサイズが極めて大きくなり、プロセス間通信システム
のコストをアップさせるという問題がある。
【0010】そこで本発明の目的は、メールボックス方
式の送受信キューを使用して通信を行う際の送受信時間
の短縮化を図ることのできるプロセス間通信システムを
提供することにある。
【0011】本発明の他の目的は、メールボックス方式
の送受信キューを使用して通信を行う際に全体的なメモ
リ容量を節約することのできるプロセス間通信システム
を提供することにある。
【0012】
【課題を解決するための手段】請求項1記載の発明で
は、(イ)データの送信側としての送信側プロセスと、
(ロ)データの受信側としての受信側プロセスと、
(ハ)送信側プロセスからデータの書き込みが少なくと
も可能で受信側プロセスからデータの読み出しが少なく
とも可能な共有メモリと、(ニ)送信側プロセスと受信
側プロセスの間でデータの通信を行うとき送信側プロセ
スが共有メモリに書き込んだ通信対象となるデータの所
在を示す情報を格納して送信側プロセスから受信側プロ
セスに送信される送受信キューと、(ホ)この送受信キ
ューが受信側プロセスに送信されたときこれを通知する
受信完了通知手段と、(ヘ)受信側プロセスの側に配置
され、受信完了通知手段が送受信キューの送信が完了し
たことを通知したとき送受信キューから通信対象となる
データの所在を示す情報を取り出しこの取り出した情報
を基にして共有メモリから対応するデータを読み出すデ
ータ読出手段とをプロセス間通信システムに具備させ
る。
【0013】すなわち請求項1記載の発明では、送信側
プロセスと受信側プロセスの間に共有メモリを設け、送
信側プロセスが通信を行うデータをこの共有メモリに直
接書き込みできるようにすると共に、この共有メモリを
有効に活用するためにその領域を予め割り振らずに使用
するようにする。共有メモリのどの領域にデータが書き
込まれたかを示す情報は送受信キューによって受信側プ
ロセスに送られ、受信完了通知手段がこれを受信側プロ
セスに通知する。これにより、受信側プロセスは共有メ
モリの該当する領域のデータを読み出すことになる。こ
の結果、データのコピーによる処理時間の遅延を防止す
ることができると共に、共有メモリを共用できるように
してそのメモリサイズの増大を抑制しシステムのコスト
ダウンを図っている。
【0014】請求項2記載の発明では、(イ)データの
送信側としての送信側プロセスと、(ロ)データの受信
側としての受信側プロセスと、(ハ)システムの初期化
時に送信側プロセスに割り当てられた送信側メモリ領域
と、(ニ)送信側プロセスからデータの書き込みが少な
くとも可能で受信側プロセスからデータの読み出しが少
なくとも可能な共有メモリと、(ホ)送信側プロセスと
受信側プロセスの間でデータの通信を行うとき送信側プ
ロセスが共有メモリに書き込んだ通信対象となるデータ
の所在を示す情報を送信側メモリ領域からコピーされて
送信側プロセスから受信側プロセスに送信される送受信
キューと、(ヘ)この送受信キューが受信側プロセスに
送信されたときこれを通知する受信完了通知手段と、
(ト)受信側プロセスの側に配置され、受信完了通知手
段が送受信キューの送信が完了したことを通知したとき
送受信キューから通信対象となるデータの所在を示す情
報を取り出しこの取り出した情報を基にして共有メモリ
から対応するデータを読み出すデータ読出手段とをプロ
セス間通信システムに具備させる。
【0015】すなわち請求項2記載の発明では、送信側
プロセスと受信側プロセスの間に共有メモリを設け、送
信側プロセスが通信を行うデータをこの共有メモリに直
接書き込みできるようにすると共に、この共有メモリを
有効に活用するためにその領域を予め割り振らずに使用
するようにする。共有メモリのどの領域にデータが書き
込まれたかを示す情報は送信側メモリ領域から送受信キ
ューにコピーされ、受信側プロセスに送られる。受信完
了通知手段がこの送信完了を受信側プロセスに通知す
る。これにより、受信側プロセスは共有メモリの該当す
る領域のデータを読み出すことになる。この結果、デー
タのコピーによる処理時間の遅延を防止することができ
ると共に、共有メモリを共用できるようにしてそのメモ
リサイズの増大を抑制しシステムのコストダウンを図っ
ている。
【0016】請求項3記載の発明では、共有メモリに送
信側プロセスから書き込まれるデータは可変長であり、
通信対象となるデータの所在を示す情報は共有メモリに
格納されたそのデータの一端を示すアドレスとデータ量
からなることを特徴としている。すなわち請求項3で
は、可変長のデータの通信を扱っており、共有メモリに
格納されたデータを特定するためにそのデータの先端や
後端を示すアドレスとデータの量を使用することにして
いる。
【0017】請求項4記載の発明では、共有メモリに送
信側プロセスから書き込まれるデータは固定長であり、
通信対象となるデータの所在を示す情報は共有メモリに
格納されたそのデータの一端を示すアドレスからなるこ
とを特徴としている。すなわち請求項4記載の発明で
は、固定長のデータの通信を扱っている。固定長でデー
タ量が定まっているので、共有メモリに格納されたデー
タを特定するためにはデータの先端か後端を示すアドレ
スが存在すればよい。
【0018】請求項5記載の発明では、請求項1〜請求
項3記載のプロセス間通信システムで受信完了通知手段
は2値のいずれかの状態で送信の完了を示すフラグであ
ることを特徴としている。例えばラスタが“1”のとき
にデータが送信されたことを示すことになる。
【0019】
【発明の実施の形態】
【0020】
【実施例】以下実施例につき本発明を詳細に説明する。
【0021】図1は本発明の一実施例におけるプロセス
間通信システムの構成を表わしたものである。このシス
テムでは、送信側プロセス51側に、初期化時に割り当
てられた第1のメモリ領域52が配置されており、受信
側プロセス53側には同じく初期化時に割り当てられた
第2のメモリ領域54が配置されている。これら両プロ
セス51、53の間には、送受信されるデータの位置を
示すポインタとデータサイズを示す情報56とを格納す
る送受信キュー57と、両プロセス51、53が共にア
クセス可能な共有メモリ58が配置されている。この共
有メモリ58には、通信の対象となるデータ59が格納
されるようになっている。また、受信側プロセス53側
には送受信キュー57の送信の有無を表示するためのフ
ラグ61が配置されている。フラグ61は、送受信キュ
ー57が送信されていない場合には“0”を示すように
なっている。
【0022】このようなプロセス間通信システムで、送
信側プロセス51は送信すべきデータ59を共有メモリ
58上に書き込むようになっている。送信側プロセス5
1がこの書き込んだデータ59を受信側プロセス53に
渡す際に、その作業メモリとしての第1のメモリ領域5
2に、共有メモリ58に構築したデータ59の先頭アド
レスを示すポインタAとそのデータサイズaからなる前
記した情報56が保持されている。情報56は、データ
59を受信側プロセス53に渡すとき、第1のコピー作
業71として送受信キュー57にコピーされ、コピー作
業72によってメールボックスに投函される。これによ
り、フラグ61は未送信状態を示す“0”から送信状態
を示す“1”に変化する。
【0023】受信側プロセス53は、フラグ61の変化
によって、受信すべきデータ59が共有メモリ58に蓄
積されたことを通知される。そして、情報56を構成す
るポインタAとデータサイズaを、システムの初期化時
に割り当てられた作業メモリとしての第2のメモリ領域
54にコピーして保持する。受信側プロセス53は、送
信されてきたこのポインタAとデータサイズaを参照す
ることで、送信側プロセス51が共有メモリ58上に構
築した先頭アドレスAからデータサイズaだけ連続した
データ59を読み出すことができる。
【0024】以上説明した実施例では、通信の対象とな
るデータ59の先頭アドレスを示すポインタAとそのデ
ータサイズを送受信キュー57に情報56として格納す
ることにしたが、そのデータ59の先頭と末尾をそれぞ
れ示すポインタA、Bを代わりに格納するようにしても
共有メモリ58から読み出すべきデータの範囲を特定す
ることができる。また、共有メモリ58に格納されたそ
のデータ59の末尾を示すアドレスとそのデータサイズ
を格納しても、同様に受信側プロセス53側で送信側プ
ロセス51が共有メモリ58上に構築したデータを読み
出すことができる。
【0025】なお、これは通信の対象となるデータ59
が可変長であることを前提とするものである。通信の対
象となるデータ59が固定長である場合には送受信キュ
ーにデータの先頭あるいは末尾を示すポインタのみが送
受信キューにコピーされれば足りることは当然である。
【0026】
【発明の効果】以上説明したように請求項1および請求
項2記載の発明によれば、共有メモリを通信対象のデー
タの共通に使用することのできる領域としたので、領域
をプロセスごとに割り当てる場合と異なり、メモリの有
効活用を行うことができ、そのコストダウンを図ること
ができる。しかも送受信キューにアドレス等の少量のデ
ータを入れて送信を行うので、コピーするデータ量を減
少させ、タスク間通信の送受信時間の短縮に伴う通信性
能の向上を図ることができる。また、送受信用のパケッ
トのサイズの小型化を図ることも可能になる。
【図面の簡単な説明】
【図1】本発明の一実施例におけるプロセス間通信シス
テムの構成を表わした概略構成図である。
【図2】従来のプロセス間通信システムの構成を表わし
た概略構成図である。
【図3】従来提案された他の通信システムの構成を表わ
した概略構成図である。
【符号の説明】
51 送信側プロセス 52 メモリ領域 53 受信側プロセス 54 第2のメモリ領域 56 情報 57 送受信キュー 58 共有メモリ 59 データ 61 フラグ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 データの送信側としての送信側プロセス
    と、 データの受信側としての受信側プロセスと、 前記送信側プロセスからデータの書き込みが少なくとも
    可能で受信側プロセスからデータの読み出しが少なくと
    も可能な共有メモリと、 前記送信側プロセスと受信側プロセスの間でデータの通
    信を行うとき送信側プロセスが前記共有メモリに書き込
    んだ通信対象となるデータの所在を示す情報を格納して
    送信側プロセスから受信側プロセスに送信される送受信
    キューと、 この送受信キューが前記受信側プロセスに送信されたと
    きこれを通知する受信完了通知手段と、 前記受信側プロセスの側に配置され、送信完了通知手段
    が前記送受信キューの送信が完了したことを通知したと
    き送受信キューから前記通信対象となるデータの所在を
    示す情報を取り出しこの取り出した情報を基にして前記
    共有メモリから対応するデータを読み出すデータ読出手
    段とを具備することを特徴とするプロセス間通信システ
    ム。
  2. 【請求項2】 データの送信側としての送信側プロセス
    と、 データの受信側としての受信側プロセスと、 システムの初期化時に送信側プロセスに割り当てられこ
    の送信側プロセスが保持する送信側メモリ領域と、 前記送信側プロセスからデータの書き込みが少なくとも
    可能で受信側プロセスからデータの読み出しが少なくと
    も可能な共有メモリと、 前記送信側プロセスと受信側プロセスの間でデータの通
    信を行うとき送信側プロセスが前記共有メモリに書き込
    んだ通信対象となるデータの所在を示す情報を前記送信
    側メモリ領域からコピーされて送信側プロセスから受信
    側プロセスに送信される送受信キューと、 この送受信キューが前記受信側プロセスに送信されたと
    きこれを通知する受信完了通知手段と、 前記受信側プロセスの側に配置され、受信完了通知手段
    が前記送受信キューの送信が完了したことを通知したと
    き送受信キューから前記通信対象となるデータの所在を
    示す情報を取り出しこの取り出した情報を基にして前記
    共有メモリから対応するデータを読み出すデータ読出手
    段とを具備することを特徴とするプロセス間通信システ
    ム。
  3. 【請求項3】 前記共有メモリに送信側プロセスから書
    き込まれるデータは可変長であり、前記通信対象となる
    データの所在を示す情報は前記共有メモリに格納された
    そのデータの一端を示すアドレスとデータ量からなるこ
    とを特徴とする請求項1または請求項2記載のプロセス
    間通信システム。
  4. 【請求項4】 前記共有メモリに送信側プロセスから書
    き込まれるデータは固定長であり、前記通信対象となる
    データの所在を示す情報は前記共有メモリに格納された
    そのデータの一端を示すアドレスからなることを特徴と
    する請求項1または請求項2記載のプロセス間通信シス
    テム。
  5. 【請求項5】 前記受信完了通知手段は2値のいずれか
    の状態で送信の完了を示すフラグであることを特徴とす
    る請求項1〜請求項3記載のプロセス間通信システム。
JP20551996A 1996-07-17 1996-07-17 プロセス間通信システム Pending JPH1031616A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20551996A JPH1031616A (ja) 1996-07-17 1996-07-17 プロセス間通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20551996A JPH1031616A (ja) 1996-07-17 1996-07-17 プロセス間通信システム

Publications (1)

Publication Number Publication Date
JPH1031616A true JPH1031616A (ja) 1998-02-03

Family

ID=16508229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20551996A Pending JPH1031616A (ja) 1996-07-17 1996-07-17 プロセス間通信システム

Country Status (1)

Country Link
JP (1) JPH1031616A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189607A (ja) * 2000-12-22 2002-07-05 Nec Corp メモリ管理方法及び情報処理装置
KR100356919B1 (ko) * 1999-07-19 2002-10-19 한국전자통신연구원 메시지큐와 공유메모리를 결합 이용한 프로세스 간의 통신 방법
JP2006285576A (ja) * 2005-03-31 2006-10-19 Nec Corp 分散処理システム及び分散処理方法
JP2011193297A (ja) * 2010-03-15 2011-09-29 Kyocera Mita Corp データ処理装置およびデータ処理プログラム
CN114528124A (zh) * 2022-02-17 2022-05-24 福建天晴在线互动科技有限公司 一种基于协议的进程大数据内存共享方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100356919B1 (ko) * 1999-07-19 2002-10-19 한국전자통신연구원 메시지큐와 공유메모리를 결합 이용한 프로세스 간의 통신 방법
JP2002189607A (ja) * 2000-12-22 2002-07-05 Nec Corp メモリ管理方法及び情報処理装置
JP2006285576A (ja) * 2005-03-31 2006-10-19 Nec Corp 分散処理システム及び分散処理方法
JP2011193297A (ja) * 2010-03-15 2011-09-29 Kyocera Mita Corp データ処理装置およびデータ処理プログラム
CN114528124A (zh) * 2022-02-17 2022-05-24 福建天晴在线互动科技有限公司 一种基于协议的进程大数据内存共享方法及系统

Similar Documents

Publication Publication Date Title
US6115803A (en) Parallel computer which verifies direct data transmission between local memories with a send complete flag
JPH114279A (ja) 先進的システム間送信方法および機構
JPH01277928A (ja) 印刷装置
JPS5897944A (ja) 複数マイクロプロセツサ間デ−タ転送方式
JP2000181891A (ja) 共有メモリアクセス順序保証方式
JPH0196750A (ja) データ処理システム
JP3189269B2 (ja) ネットワークプリンタ
JPH087738B2 (ja) エンディアン変換方式
JP3016788B2 (ja) 装置間通信・キャッシュ一致処理方式
JPH0546565A (ja) データ処理装置
JPH07306946A (ja) トランザクション合成による並行読み取り処理
JPH05314061A (ja) バス・インタフェース制御方式
JP3056169B2 (ja) データ送受信方式とその方法
KR20000060337A (ko) 디지털 이동통신 시스템의 프로세서간 패킷 통신에서 패킷 수신 처리 방법
JPH06149703A (ja) メッセージ転送制御装置
JPH05233440A (ja) バッファ機能を備えたデータ転送方式
JPH05233328A (ja) プロセス間通信処理を行う情報処理システム
KR100272027B1 (ko) 이동통신교환기용운영체계에서의입/출력드라이버제어방법
CN119576849A (zh) 一种soc系统中门铃机制的信息交互方法及系统
JPH103463A (ja) プロセッサ間通信方法
JPH0115100B2 (ja)
JPH0685841A (ja) 通信制御装置
JPH10154115A (ja) キャッシュ付きlanコントローラを備えた情報処理装置
JPH0817401B2 (ja) Lan接続システム
JP2752834B2 (ja) データ転送装置