JPH0784804A - プロセス間通信方式 - Google Patents

プロセス間通信方式

Info

Publication number
JPH0784804A
JPH0784804A JP5232687A JP23268793A JPH0784804A JP H0784804 A JPH0784804 A JP H0784804A JP 5232687 A JP5232687 A JP 5232687A JP 23268793 A JP23268793 A JP 23268793A JP H0784804 A JPH0784804 A JP H0784804A
Authority
JP
Japan
Prior art keywords
data
message
buffer
area
priority
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.)
Withdrawn
Application number
JP5232687A
Other languages
English (en)
Inventor
Kiyouko Kamikura
鏡子 神倉
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5232687A priority Critical patent/JPH0784804A/ja
Publication of JPH0784804A publication Critical patent/JPH0784804A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 本発明は、プロセス間で通信を行なうプロセ
ス間通信方式に関し、プロセスから他のプロセスに通信
が行われている中で発生した優先処理の必要なデータを
優先的に通信することを目的とする。 【構成】 メッセージバッファ2から領域を獲得するメ
ッセージ領域獲得部3と、獲得した領域にデータを書き
込むデータ書き込み部4と、優先順位を設定したメッセ
ージをメッセージキュー21に登録するメッセージキュ
ー登録部5とを設けた送信プロセスと、シグナルを受信
したことに対応して、メッセージキュー21に登録され
ているメッセージ中から優先度の高いメッセージを見つ
けるメッセージ優先度解析部10と、見つけた優先度の
高いメッセージに対応するデータをメッセージバッファ
2の領域から読み出すデータ読み出し部12とを設けた
受信プロセスを備えるように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プロセス間で通信を行
なうプロセス間通信方式であって、計算機におけるマル
チプロセスOS上のプロセス間通信機能を利用したプロ
セス間通信方式に関するものである。
【0002】
【従来の技術】マルチプロセッサOSの環境下で、並行
して実行する複数のプロセス間でデータのやりとりを行
なう方法として、プロセス間通信が用意されている。プ
ロセス間通信機能として、シグナル、メッセージ、共有
メモリ、セマフォなどがある。複数のプロセス間で自由
に不特定サイズの多数のデータを送受信するには、通
常、図10の(a)に示すメッセージを用いてデータの
やり取りを行なう。簡単に説明すると、 (1) プロセスAがメッセージバッファ41から獲得
した領域にデータを書き込むと共にメッセージをメッセ
ージキュー42に登録した後、シグナルを受信先のプロ
セスBに送る。
【0003】(2) シグナルを受信したプロセスB
は、メッセージキュー42からメッセージを取り出して
これをもとにメッセージバッファ41からデータを読み
出す。これにより、プロセスAからプロセスBにデータ
が渡されたこととなる。
【0004】図10の(b)は、全てのプロセスからア
クセス可能な1つのメッセージバッファを用意した例を
示す。動作を説明する。 (1) アプリケーションに関係する全てのプロセスか
らアクセス可能なメッセージバッファ41を1つ用意す
る。通信を行なう場合、メッセージバッファ41から必
要なサイズ分の空領域を獲得し、送信側のプロセスがこ
の空領域にデータを書き込むと共にメッセージをメッセ
ージキュー42に登録した後、シグナルを受信側のプロ
セスに送信する。
【0005】(2) シグナルを受信した受信側のプロ
セスは、メッセージキュー42からメッセージを取り出
してこれをもとにメッセージバッファ41からデータを
読み出す。
【0006】図10の(c)は、プロセスとプロセスが
1対1に対応するメッセージバッファ41を用意した例
を示す。動作を説明する。 (1) アプリケーションに関係する全てのプロセス
が、プロセスと1対1に対応するメッセージバッファ4
1をそれぞれ用意する。通信を行なう場合、送信側のプ
ロセスが受信側のプロセスのメッセージバッファ41の
空領域を獲得し、これにデータを書き込むと共にメッセ
ージをメッセージキュー42に登録した後、シグナルを
受信側のプロセスに送信する。
【0007】(2) シグナルを受信した受信側のプロ
セスは、メッセージキュー42からメッセージを順次取
り出してこれの順にメッセージバッファ41からデータ
を読み出す。
【0008】
【発明が解決しようとする課題】上述した従来のプロセ
ス間通信によれば、優先的に処理したい通信が発生して
も優先的に通信処理を行なうことができないという問題
があった。例えばペンコンピュータで、電子ペンを用い
てディスプレイ上に描画するような場合、ペンの座標デ
ータを最優先で処理しなければならない。もし少しでも
通信に遅延が発生すると、ペンの数ミリ後を描画するよ
うな事態が起こる。これでは、ペンのヒューマンインタ
フェース上、使い難く大きな問題となる。
【0009】本発明は、これらの問題を解決するため、
プロセスから他のプロセスに通信が行われている中で発
生した優先処理の必要なデータを優先的に通信すること
を目的としている。
【0010】
【課題を解決するための手段】図1、図3および図5を
参照して課題を解決するための手段を説明する。図1、
図3および図5において、メッセージバッファ2は、デ
ータを書き込むものである。メッセージキュー21は、
優先順位を高く設定などしたメッセージを登録するもの
である。
【0011】メッセージ領域獲得部3は、メッセージバ
ッファ2からデータを格納する領域を獲得するものであ
る。データ書き込み部4は、メッセージバッファ2中か
ら獲得した領域にデータを書き込むものである。
【0012】メッセージキュー登録部5は、優先順位を
高く設定などしたメッセージをメッセージキュー21に
登録するものである。メッセージ優先度解析部10は、
メッセージキュー21に登録されているメッセージ中か
ら優先度の高いメッセージ(あるいは複数の優先度の高
いメッセージがあったときは最も早く登録されたメッセ
ージ)を見つけるものである。
【0013】データ読み出し部12は、メッセージバッ
ファ2の領域からデータを読み出すものである。データ
書き込み部15は、専用バッファ19に、送信しようと
するデータを書き込みおよび制御フラグを書き込み済に
セットするものである。
【0014】データ読み出し部17は、専用バッファ1
9中の制御フラグが書き込み済かを所定時間毎に判別
し、書き込み済の場合にデータを読み出すおよび制御フ
ラグをクリアするものである。
【0015】専用バッファ19は、データおよび書き込
み済を表す制御フラグなどを書き込まれるものである。
データ書き込み部25は、専用バッファ19に、送信し
ようとするデータを書き込むものである。
【0016】データ読み出し部32は、専用バッファ1
9からデータを読み出すものである。
【0017】
【作用】本発明は、図1に示すように、送信プロセスを
構成するメッセージ領域獲得部3がメッセージバッファ
2から領域を獲得し、データ書き込み部4が獲得した領
域に送信しようとするデータを書き込み、メッセージキ
ュー登録部5がデータに関する優先順位、データのアド
レスなどを設定したメッセージをメッセージキュー21
に登録した後、シグナルを受信プロセスに送信し、この
シグナルを受信した受信プロセスを構成するメッセージ
優先度解析部10がメッセージキュー21に登録されて
いるメッセージ中から優先度の高いメッセージ(あるい
は複数の優先度の高いメッセージがあったときは最も早
く登録されたメッセージ)を見つけ、メッセージデータ
属性解析部11がメッセージを解析し、データのアドレ
スをデータ読み出し部12に渡し、メッセージバッファ
2の領域から読み出し、プロセス間通信を行なうように
している。
【0018】また、図3に示すように、送信プロセスを
構成するデータ書き込み部15が専用バッファ19に送
信しようとするデータを書き込みおよび制御フラグを書
き込み済にセットし、受信プロセスを構成するデータ読
み出し部17が専用バッファ19中の制御フラグが書き
込み済かを所定時間毎に判別し、書き込み済の場合にデ
ータを読み出すおよび制御フラグをクリアし、プロセス
間通信を行なうようにしている。
【0019】また、図5に示すように、送信プロセスを
構成するデータ書き込み部25が専用バッファ19に送
信しようとするデータを書き込んだ後、特別シグナルを
受信プロセスに送信し、この特別シグナルを受信した受
信プロセスを構成するデータ読み出し部32が専用バッ
ファ19からデータを読み出し、プロセス間通信を行な
うようにしている。
【0020】従って、送信プロセスから受信プロセスに
通信が行われている中で発生した優先処理に必要なデー
タを優先的に通信することが可能となる。
【0021】
【実施例】次に、図1から図9を用いて本発明の実施例
の構成および動作を順次詳細に説明する。
【0022】図1は、本発明の1実施例構成図を示す。
図1において、送信プロセスは、データを受信プロセス
に送信するものであって、ここでは、メッセージ送信部
1から構成されるものである。
【0023】メッセージ送信部1は、メッセージをメッ
セージ受信部8に送信するものであって、ここでは、メ
ッセージ領域獲得部3、データ書き込み部4、およびメ
ッセージキュー登録部5などから構成されるものであ
る。
【0024】メッセージ領域獲得部3は、メッセージバ
ッファ2からデータを書き込む領域を獲得するものであ
る。データ書き込み部4は、メッセージ領域獲得部3に
よってメッセージバッファ2から獲得した領域にデータ
を書き込むものである。
【0025】メッセージキュー登録部5は、メッセージ
バッファ2中の領域に書き込んだデータの情報(メッセ
ージの優先度、メッセージ長、データのアドレスなど)
を設定したメッセージを、メッセージキュー21に登録
するものである。
【0026】メッセージバッファ2は、メッセージ領域
獲得部3が送信しようとするデータを格納する領域を獲
得するためのバッファである。メッセージキュー21
は、メッセージを登録する領域である。
【0027】カーネル6は、送信プロセスおよび受信プ
ロセスなどを統括制御するものであって、ここでは、メ
ッセージ送信部1がデータをメッセージバッファ2の領
域に書き込むおよびメッセージをメッセージキュー21
に登録した後、シグナルをシグナルハンドラー7を経由
してメッセージ受信部8を含む受信プロセスに通知する
ための各種制御を行なうものである。
【0028】シグナルハンドラー7は、カーネル6から
のシグナルを受信プロセスに通知するものである。シグ
ナルが受信されたことは、メッセージ受信部に通知され
る。メッセージ受信部8は、メッセージ送信部1から送
信されてきたシグナルを受信し、メッセージキュー21
から最も優先度の高いメッセージを取り出し、このメッ
セージをもとにメッセージバッファ2からデータを読み
出すものであって、メッセージ解析部9およびデータ読
み出し部12などから構成されるものである。
【0029】メッセージ解析部9は、メッセージキュー
21に登録されているメッセージの優先度およびデータ
属性、データのアドレスなどを解析するものであって、
メッセージ優先度解析部10およびメッセージデータ属
性解析部11などから構成されるものである。
【0030】メッセージ優先度解析部10は、メッセー
ジキュー21に登録されているメッセージのうちの優先
度の最も高いメッセージを見つけたり、優先度の高いメ
ッセージが複数あるあった場合には最も速く登録された
メッセージを見つけたりするものである。
【0031】メッセージデータ属性解析部11は、メッ
セージ優先度解析部10によって、見つけた最も優先度
の高いメッセージのデータ属性、データのアドレスを解
析するものである。
【0032】データ読み出し部12は、最も優先度の高
いメッセージをもとに、対応するデータをメッセージバ
ッファ2中の該当する領域から読み出すものである。次
に、図2のフローチャートに示す順序に従い、図1の構
成の動作を詳細に説明する。
【0033】図2において、S1は、バッファ(メッセ
ージバッファ2)の中からデータ(メッセージデータ)
を書き込むための領域を獲得する。S2は、データを書
き込む。
【0034】S3は、データの優先度を高く設定する。
これは、プロセス間で通信するデータの優先度を高くメ
ッセージに設定する。S4は、メッセージキュー21に
登録する。これは、S3で優先度を高く設定したメッセ
ージを、メッセージキュー21に登録する。
【0035】S5は、受信プロセスにシグナルを送る。
このシグナルを受信すると、受信プロセスがS11から
S17の処理を実行する。以上によって、送信側の送信
プロセスがメッセージバッファ2からデータを書き込む
領域を獲得してこれにデータを書き込むと共に、優先度
を高く設定したメッセージをメッセージキュー21に登
録した後、シグナルを受信プロセスに送信する。これに
より、送信プロセスは優先度を高く設定してメッセージ
を受信プロセスに送信したこととなる。
【0036】S11は、メッセージが1つしかないか判
別する。これは、S5で送られたシグナルを受信した受
信プロセスが、メッセージキュー21を参照して自身の
受信プロセス宛のメッセージが1つしかないか判別す
る。YESの場合には、S12でメッセージをメッセー
ジキュー21から取り出し、S16でこのメッセージに
従いメッセージバッファ2中のデータ領域からデータを
読み出して処理し、S17でデータ領域を開放する。一
方、S11でNOの場合には、S13に進む。
【0037】S13は、優先度の一番高いメッセージを
探す。これは、S11のNOでメッセージキュー21に
複数のメッセージが登録されていると判明したので、そ
のうちの優先度の一番高いメッセージを探す。
【0038】S14は、S13で探した結果、2つ以上
あるか判別する。YESの場合には、優先度の一番高い
メッセージが2つ以上あると判明したので、S15で早
く来た方のメッセージをメッセージキュー21から取り
出し、S16でこのメッセージに従いメッセージバッフ
ァ2中のデータ領域からデータを読み出して処理し、S
17でデータ領域を開放する。一方、S14でNOの場
合には、一番高い優先度のメッセージが1つと判明した
ので、S16でこのメッセージに従いメッセージバッフ
ァ2中のデータ領域からデータを読み出して処理し、S
17でデータ領域を開放する。
【0039】以上によって、シグナルを受信した受信プ
ロセスがメッセージキュー21を参照して1つしかメッ
セージがないときはそのメッセージを取り出し、2つ以
上のメッセージがあってかつ優先度の一番高いメッセー
ジが2つ以上あったときはそのうちの最も早く来たメッ
セージを取り出し、優先度の一番高いメッセージが1つ
のときにはこのメッセージを取り出し、優先度の高いメ
ッセージがないときは最も早く来たメッセージを取り出
し、これら取り出したメッセージをもとにメッセージバ
ッファ2のデータ領域からデータを読み出し、当該デー
タ領域を開放する。これにより、受信プロセス側で優先
度が高く設定されたメッセージを優先的にメッセージキ
ュー21から取り出してそのデータを読み出すことが可
能となり、プロセス間で通信中に優先的にデータを送信
プロセスから受信プロセスに渡すことが可能となる。
【0040】図3は、本発明の他の実施例構成図を示
す。これは、専用バッファ19を設けてこれに優先度の
高いデータを書き込んで受信プロセスに渡す構成であっ
て、通常(優先度が高くない)データの場合の書き込む
領域の獲得、開放という処理が不要となり、処理の高速
化を更に図ることができる。
【0041】図3において、メッセージ送信部14は、
送信プロセス側にあり、データを専用バッファ19に書
き込むデータ書き込み部15などから構成されるもので
ある。
【0042】専用バッファ19は、データ書き込み部1
5が、受信プロセスに送信しようとするデータを書き込
む、専用のバッファである。この専用バッファ19に
は、下段に示すように、 ・制御フラグ ・データ(メッセージデータ) を対にして書き込む。ここで、制御フラグは、データの
書き込み済を表すものである。データ書き込み部15が
データを専用バッファ19に書き込んだときに当該書き
込んだ旨を表すために、制御フラグを1にセットする。
【0043】メッセージ受信部16は、専用バッファ1
9からデータを読み出したりなどするものであって、デ
ータ読み込み部17およびタイマ18などから構成され
るものである。
【0044】データ読み込み部17は、専用バッファ1
9の制御フラグが“1”か否かを判別し、“1”のとき
にデータを読み出した後、“0”にクリアするものであ
る。制御フラグが“1”のデータを全て読み出した後、
タイマ18で所定時間経過後に再度、制御フラグが
“1”か否かをチェックすることを繰り返す。
【0045】タイマ18は、所定時間毎にデータ読み込
み部17に割り込みで通知し、専用バッファ13からデ
ータの読み込みを実行させるものである。次に、図4の
フローチャートに示す順序に従い、図3の構成の動作を
詳細に説明する。
【0046】図4の(a)は、フローチャートを示す。
図4の(a)において、S21は、送信プロセスがデー
タを得る。S22は、データにフラグをつけ(制御フラ
グを“1”にセット)、バッファ(専用バッファ19)
に書き込む。
【0047】S23は、次のデータのフラグをクリア
(制御フラグを“0”にクリア)し、一連のデータの終
わりの記号を付与する(EOFを付与する)。そして、
S21に戻り、繰り返す。
【0048】以上によって、送信プロセスが送信依頼を
受けたデータの制御フラグを“1”にして専用バッファ
19に書き込み、受信プロセスに送信する。S31は、
受信プロセスがデータが用意されているか判別する。こ
れは、受信プロセスが専用バッファ19を参照してデー
タの制御フラグが“1”のものがあるか判別する。YE
Sの場合には、S32で制御フラグが“1”のデータを
読み込み、S33でデータを処理し、S34でその制御
フラグを“0”にクリアし、S31に戻る。一方、S3
1のNOの場合には、S35で少し待ち、S36に進
む。
【0049】S36は、一定時間以上経過したか判別す
る。YESの場合には、受信処理が終了したと判断し、
終わる(END)。NOの場合には、S31に戻り、繰
り返す。
【0050】以上によって、受信プロセスが専用バッフ
ァ19を参照して制御フラグが“1”のデータについて
順次読み出して“0”クリアすることを繰り返し、送信
されてきたデータを読み出す。これにより、送信プロセ
スから送られてきたデータを専用バッファ19を介して
受信プロセスが迅速に受け取る、即ちメッセージバッフ
ァからデータ領域を獲得したり、開放したりする処理が
不要となり、優先度の高いデータを当該専用バッファ1
9に書き込んで受信プロセスに渡すことにより、高速に
プロセス間通信を行なうことが可能となる。
【0051】図4の(b)は、専用バッファの例を示
す。ここでは、専用バッファ19には、制御フラグ+デ
ータを1対にして書き込むようにし、制御フラグが
“1”のときにデータの書き込み済を表し、制御フラグ
が“0”のときはデータの読み出し済を表す。尚、一連
のデータの最終の位置の制御フラグに“0”を書き込
み、データの終わりである旨をセットしておく。
【0052】図5は、本発明の他の実施例構成図を示
す。これは、従来のメッセージバッファ2および専用バ
ッファ19を設け、優先度の高い特別データは専用バッ
ファ19に書き込んだ後に特別シグナルを受信プロセス
に送信し、当該専用バッファ19からデータを読み出
し、一方、優先度の高くない通常のデータはメッセージ
バッファ2に書き込みおよびメッセージをメッセージキ
ュー21に登録した後にシグナルを受信プロセスに送信
し、メッセージキュー21からメッセージを取り出して
これをもとにメッセージバッファ2からデータを読み出
すときの構成図である。
【0053】図5において、メッセージ送信部23は、
送信プロセス側にあり、メッセージ領域獲得部24、デ
ータ書き込み部25、およびメッセージキュー登録部2
6などから構成されるものである。
【0054】メッセージ領域獲得部24は、メッセージ
バッファ2からデータを書き込むデータ領域を獲得する
ものである。データ書き込み部25は、メッセージバッ
ファ2内の獲得したデータ領域にデータを書き込んだ
り、専用バッファ19にデータを書き込んだりするもの
である。
【0055】メッセージキュー登録部26は、メッセー
ジをメッセージキュー21に登録して送信依頼したりす
るものである。専用バッファ19は、優先度の高い特別
データを書き込むものである。
【0056】カーネル34は、送信プロセスおよび受信
プロセスなどを統括制御するものであって、送信プロセ
スからのシグナルを受信プロセスに送るものである。シ
グナルハンドラー35は、送信プロセスから送られたシ
グナルを受信するためのものである。
【0057】メッセージ受信部28は、受信プロセス側
にあり、メッセージ解析部29、データ読み出し部3
2、およびタイマ33などから構成されるものである。
メッセージ解析部29は、メッセージキュー21に登録
されているメッセージを解析するものであって、メッセ
ージ優先度解析部30およびメッセージデータ属性解析
部31から構成されるものである。
【0058】メッセージ優先度解析部30は、メッセー
ジキュー21に登録されているメッセージの優先度を解
析し、最も優先度の高いメッセージを取り出したり、最
も優先度の高いメッセージが複数あったときは最も早く
登録したメッセージを取り出したりなどするものであ
る。
【0059】メッセージデータ属性解析部31は、メッ
セージデータの属性を解析するものである。データ読み
出し部32は、メッセージバッファ2のデータ領域ある
いは専用バッファ19からデータを読み出すものであ
る。
【0060】タイマ33は、所定時間経過した旨を計測
するものである。まず、図6を用いて図5の構成の専用
バッファを用いた概念を説明する。 (1) 特別データの場合: (1−1) 送信プロセスが特別データを専用バッファ
19に書き込むおよび制御フラグを“1”にセットした
後、特別シグナルを受信プロセスに送信する。
【0061】(1−2) 特別シグナルを受信した受信
プロセスが、専用バッファ19から制御フラグが“1”
のデータを順次読み出すと共に制御フラグを“0”クリ
アする。
【0062】以上によって、特別データについて、専用
バッファ19を経由して受信プロセスに高速に送信する
ことが可能となる。 (2) 通常のデータの場合: (2−1) 送信プロセスが通常のデータを、メッセー
ジバッファ2中の獲得したデータ領域に書き込むと共に
メッセージをメッセージキュー21に登録した後、シグ
ナルを受信プロセスに送信する。
【0063】(2−2) シグナルを受信した受信プロ
セスがメッセージキュー21から取り出したメッセージ
をもとにメッセージバッファ2中のデータ領域からデー
タを読み出す。
【0064】以上によって、通常のデータについて、メ
ッセージバッファ2を経由して受信プロセスに送信する
ことが可能となる。次に、図7のフローチャートに示す
順序に従い、図5の構成の動作を詳細に説明する。
【0065】図7の(a)は、初期設定フローチャート
を示す。図7の(a)において、S41は、専用のバッ
ファ(専用バッファ19)を獲得する。これは、図5の
専用バッファ19を予め獲得し、送信の都度、獲得・開
放を繰り返すときの処理を省略し、高速化を図るためで
ある。
【0066】図7の(b)は、データの送受信フローチ
ャートを示す。図7の(b)において、S51は、送信
プロセスが特別なデータか判別する。YESの場合に
は、S52で専用のバッファ(専用バッファ19)に書
き込み、S53で受信プロセスに特別なシグナルを送
る。一方、NOの場合には、通常のデータであるので、
S54でメッセージバッファ2からデータ領域を獲得し
てデータを書き込み、S55でメッセージをメッセージ
キュー21に登録し、S56で受信プロセスにシグナル
を送る。
【0067】以上によって、特別データの場合に専用バ
ッファ19に書き込んだ後に特別シグナルを受信プロセ
スに送り、一方、通常のデータの場合にメッセージバッ
ファ2から獲得したデータ領域に書き込みおよびメッセ
ージをメッセージキュー21に登録した後にシグナルを
受信プロセスに送る。これらにより、特別データあるい
は通常のデータを分けてそれぞれのデータの書き込みお
よび受信プロセスに通知することが可能となる。
【0068】S61は、受信プロセスが特別なシグナル
を受信したか判別する。YESの場合には、S62で専
用バッファ19からデータを読み出し、S63でデータ
を処理する。一方、NOの場合には、通常のデータと判
明したので、S64でメッセージをメッセージキュー2
1から取り出し、S65でこのメッセージをもとにメッ
セージバッファ2中のデータ領域からデータを読み出
し、S66でデータを処理し、S67でデータ領域を開
放する。
【0069】以上によって、受信したシグナルが特別シ
グナルの場合に専用バッファ19からデータを読み出し
て優先度の高いデータを高速にプロセス間通信できる。
一方、通常のシグナルの場合にメッセージバッファ2の
データ領域からデータを読み出し、通常のプロセス間通
信できる。これらにより、優先的にプロセス間通信する
必要のあるデータは、特別データとして専用バッファ1
9経由で高速にデータ通信を行い、一方、通常のデータ
はメッセージバッファ2を経由してデータ通信すること
が可能となる。
【0070】図8は、本発明の他の動作説明図を示す。
これは、特別シグナルの代わりに、通信すべき第1番目
のデータを優先度を高くして送り、第2番目以降のデー
タを専用バッファを使って送信する他の動作説明であ
る。
【0071】図8の(a)は、初期設定のフローチャー
トを示す。図8の(a)において、専用のバッファ(専
用バッファ19)を獲得する。これにより、図5の専用
バッファ19が獲得できたこととなる。
【0072】図8の(b)は、送信プロセスの動作フロ
ーチャートを示す。図8の(b)において、S81は、
特別なデータか判別する。YESの場合には、S82で
第1番目か判別し、YESのときにS83に進み、NO
のときにS87でフラグ(制御フラグ)を1にし、フラ
グ共々専用バッファに書き込み、終了する(END)。
一方、NOの場合には、S83に進む。
【0073】S83は、領域を獲得し、データを書き込
む(メッセージバッファ2中の獲得したデータ領域にデ
ータを書き込む)。S84は、メッセージの優先度を高
く設定する。
【0074】S85は、S84で優先度を高く設定した
メッセージをメッセージキュー21に登録する。S86
は、受信プロセスにシグナルを送る。
【0075】以上によって、特別データかつ第1番目の
場合にメッセージバッファ2から獲得したデータ領域に
データを書き込むおよび優先度を高く設定したメッセー
ジをメッセージキュー21に登録し、一方、特別データ
かつ第2番目以降の場合にデータを専用バッファ19に
書き込む。これにより、特別データの第1番目はメッセ
ージバッファ2に書き込んで受信プロセスに送信し、特
別データの第2番目以降は専用バッファ19に書き込ん
で受信プロセスに送信する。尚、特別データでない通常
のデータは、常にメッセージバッファ2に書き込んで受
信プロセスに送信する。
【0076】図8の(c)は、受信プロセスの動作フロ
ーチャートを示す。図8の(c)において、S91は、
S86で送られたシグナルを受信した受信プロセスがメ
ッセージキュー21からメッセージを参照して優先度、
順番に従いメッセージを取り出す。これは、シグナルを
受信した受信プロセスがメッセージキュー21を参照し
て優先度の高いメッセージが1つの場合にはこのメッセ
ージを取り出し、複数の優先度の高いメッセージがある
場合には最も早く登録されたメッセージを取り出し、あ
るいは優先度の高いメッセージがない場合には早く登録
したメッセージを取り出す。
【0077】S92は、データを読み出す。これは、S
91で取り出したメッセージをもとにメッセージバッフ
ァ2中から該当するデータ領域からデータを読み出す。
S93は、特別なデータか判別する。YESの場合に
は、S94でデータを処理し、S95に進む。一方、N
Oの場合には、通常のデータであったのでS99でデー
タを処理する。
【0078】S95は、専用バッファにデータが用意さ
れているか判別する。これは、S87で制御フラグが
“1”にセットされたデータが専用バッファ19に書き
込まれているか判別する。YESの場合には、S96で
専用バッファ19から制御フラグ“1”のデータを読み
込み、S97でデータを処理し、S98で制御フラグを
“0”にクリアし、S95に戻る。一方、NOの場合に
は、S100で少しまち、S101で一定時間以上経過
したか判別し、YESのときに一連のデータ受信処理を
終了し、NOのときにS95に戻る。
【0079】以上によって、受信プロセッサが優先度の
高いメッセージをメッセージキュー21から優先的に取
り出し、この取り出したメッセージをもとにメッセージ
バッファ2からデータを読み出し、特別なデータの場合
に専用バッファ19からこれに続く第2番目以降のデー
タを順次終わりまで読み出す。これらにより、特別なデ
ータの第1番目をメッセージバッファ2を介して受信プ
ロセスに送り、特別データの第2番目以降を専用バッフ
ァ19を介して受信プロセスに送ることが可能となる。
これらにより、特別なシグナルを送ることなく、専用バ
ッファを使用して高速にプロセス間通信を行なうことが
可能となる。
【0080】図9は、本発明のペンの座標データ例を示
す。図9の(a)は、専用バッファ19の例を示す。こ
の専用バッファ19には、図示の下記のように、 ・制御フラグ(1:書き込み済のデータ有り、0:読み
出し済/終了 ・X座標、Y座標(座標データ) ・ペンの状態(属性) を1レコードとして書き込む。これらのデータを書き込
んだときに制御フラグを“1”にセットする。
【0081】図9の(b)は、1座標点データの例を示
す。この1座標点データは、図示の下記のようである。
この例は、ペン入力に適用した例でる。電子ペンがタブ
レットの感応領域に入ると、50〜200ポイント/秒
の割合で、1座標点毎にCPUに割り込みが発生するも
のとする(即ち、1秒間に50〜200回の割り込みが
発生するものとする)。ここで、ペン座標を読み取るプ
ロセスを送信プロセスとし、この読み取った座標を受信
プロセスに送信する。
【0082】(1) ユーザがペンをタブレットの感応
領域に入れると、割り込みが発生し、送信プロセスが第
1点目の1座標分のペン情報2を得る。座標データを得
た送信プロセスは、メッセージバッファ2からデータ領
域を獲得して座標データを書き込むおよび優先度を高く
設定したメッセージをメッセージキュー21に登録した
後、シグナルを受信プロセスに送る。次の第2点目から
ユーザがペンをタブレットの感応領域から離すまでの間
に得られた座標データを制御フラグ“1”と一緒に専用
バッファ19に順次書き込む。この際、1点分の制御フ
ラグ“1”と座標データを書き込むと、次の制御フラグ
に“0”クリアして終わりの記号を書き込む。
【0083】(2) (1)からのシグナルを受信した
受信プロセスは、メッセージキュー21にたまっている
メッセージの中から一番優先度の高いメッセージを取り
出す。このメッセージをもとにメッセージバッファ2の
該当データ領域からデータ(座標データ)を読み出し、
座標データの処理を行った後、専用バッファ19から制
御フラグ“1”の第2点目以降のデータ(座標データ)
を順次読み出す。この際、制御フラグが“1”でなくて
未だ書き込まれていない場合には、少し待つ(例えばペ
ンのレートを50ポイント/秒とすると、約0.02秒
で1座標分のデータが得られることとなるので、0.0
2秒待つ)。再び専用バッファ19からデータを読み出
す。連続して一定時間(例えば0.5秒以上)待っても
制御フラグ“1”とならない場合には、ペンがタブレッ
トの感応領域から離れたものと判断し、終了する。
【0084】以上によって、ペンを用いてタブレットか
ら座標データを入力する場合、最初の第1点目の座標デ
ータはメッセージバッファ2経由して優先度を高くして
受信プロセスに送信し、第2点間から専用バッファ19
を経由して高速に座標データを受信プロセスに送信す
る。これらにより、特別なシグナルなしに高速に座標デ
ータを送信プロセスから受信プロセスに送信することが
可能となる。
【0085】
【発明の効果】以上説明したように、本発明によれば、
データをメッセージバッファ2のデータ領域に書き込む
と共にメッセージに優先度を高く設定してメッセージキ
ュー21に登録した後にシグナルを受信プロセスに送
り、シグナルを受け取った受信プロセスがメッセージキ
ュー21から優先度の高いメッセージを取り出し、これ
をもとにメッセージバッファ2中のデータ領域からデー
タを読み出したり、専用バッファを設けてこれにデータ
を書き込んで特別シグナルを受信プロセスに送り、特別
シグナルを受け取って受信プロセスが専用バッファから
データを読み出したり、両者を組み合わせたりし、優先
的にデータを送信プロセスから受信プロセスに送信する
構成を採用しているため、送信プロセスから受信プロセ
スに通信が行われている中で発生した優先処理に必要な
データを優先的に渡すことができる。特に、メッセージ
(データ)に優先度を設けたり、専用バッファを設けた
り、両者を併用することにより、優先的に処理したい通
信を高速に処理できると共に、非常に高い頻度で発生す
るデータの通信を処理することができる。
【図面の簡単な説明】
【図1】本発明の1実施例構成図である。
【図2】本発明の動作説明フローチャートである。
【図3】本発明の他の実施例構成図である。
【図4】本発明の他の実施例動作説明図である。
【図5】本発明の他の実施例構成図である。
【図6】本発明の専用バッファを用いた概念説明図であ
る。
【図7】本発明の他の動作説明図である。
【図8】本発明の他の動作説明図である。
【図9】本発明のペンの座標データ例である。
【図10】従来技術の説明図である。
【符号の説明】
1、14、23:メッセージ送信部 2:メッセージバッファ 21:メッセージキュー 3、24:メッセージ領域獲得部 4、15、25:データ書き込み部 5、26:メッセージキュー登録部 6:カーネル 8、16、28:メッセージ受信部 9、29:メッセージ解析部 10、30:メッセージ優先度解析部 11、31:メッセージデータ属性解析部 12、17、32:データ読み出し部 19:専用バッファ 18、33:タイマ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】プロセス間で通信を行なうプロセス間通信
    方式において、 メッセージバッファ(2)から領域を獲得するメッセー
    ジ領域獲得部(3)と、 この獲得した領域に、送信しようとするデータを書き込
    むデータ書き込み部(4)と、 データに関する優先順位を設定したメッセージをメッセ
    ージキュー(21)に登録するメッセージキュー登録部
    (5)とを設けた送信プロセスと、 この送信プロセスが送信したシグナルを受信したことに
    対応して、メッセージキュー(21)に登録されている
    メッセージ中から優先度の高いメッセージ(あるいは複
    数の優先度の高いメッセージがあったときは最も早く登
    録されたメッセージ)を見つけるメッセージ優先度解析
    部(10)と、 この見つけた優先度の高いメッセージに対応するデータ
    を上記メッセージバッファ(2)の領域から読み出すデ
    ータ読み出し部(12)とを設けた受信プロセスを備え
    たことを特徴とするプロセス間通信方式。
  2. 【請求項2】プロセス間で通信を行なうプロセス間通信
    方式において、 データおよび書き込み済を表す制御フラグを書き込む専
    用バッファ(19)と、 この専用バッファ(19)に、送信しようとするデータ
    を書き込みおよび上記制御フラグを書き込み済にセット
    するデータ書き込み部(15)とを設けた送信プロセス
    と、 上記専用バッファ(19)中の制御フラグが書き込み済
    かを所定時間毎に判別し、書き込み済の場合にデータを
    読み出すおよび制御フラグをリセットするデータ読み出
    し部(17)とを設けた受信プロセスを備えたことを特
    徴とするプロセス間通信方式。
  3. 【請求項3】プロセス間で通信を行なうプロセス間通信
    方式において、 データを書き込む専用バッファ(19)と、 この専用バッファ(19)に、送信しようとするデータ
    を書き込むデータ書き込み部(25)とを設けた送信プ
    ロセスと、 この送信プロセスが送信した特別シグナルを受信したこ
    とに対応して、上記専用バッファ(19)からデータを
    読み出すデータ読み出し部(32)とを設けた受信プロ
    セスを備えたことを特徴とするプロセス間通信方式。
  4. 【請求項4】請求項1および請求項3の両者を備えたこ
    とを特徴とするプロセス間通信方式。
JP5232687A 1993-09-20 1993-09-20 プロセス間通信方式 Withdrawn JPH0784804A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5232687A JPH0784804A (ja) 1993-09-20 1993-09-20 プロセス間通信方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5232687A JPH0784804A (ja) 1993-09-20 1993-09-20 プロセス間通信方式

Publications (1)

Publication Number Publication Date
JPH0784804A true JPH0784804A (ja) 1995-03-31

Family

ID=16943218

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5232687A Withdrawn JPH0784804A (ja) 1993-09-20 1993-09-20 プロセス間通信方式

Country Status (1)

Country Link
JP (1) JPH0784804A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7140018B1 (en) 2000-06-20 2006-11-21 International Business Machines Corporation Method of using a distinct flow of computational control as a reusable abstract data object
US7823158B2 (en) 2005-08-18 2010-10-26 International Business Machines Corporation Adaptive scheduling and management of work processing in a target context in resource contention
WO2011096319A1 (ja) * 2010-02-04 2011-08-11 株式会社トライテック 分散コンピューティングシステム、分散コンピューティング方法及び分散コンピューティング用プログラム
US8443377B2 (en) 2004-03-17 2013-05-14 Nec Corporation Parallel processing system running an OS for single processors and method thereof
CN115357410A (zh) * 2022-08-24 2022-11-18 北京科云时代信息技术有限公司 一种基于大数据的数据跨进程压缩存储方法及系统
JP2022177965A (ja) * 2021-05-19 2022-12-02 株式会社ユニバーサルエンターテインメント 遊技機
JP2022177964A (ja) * 2021-05-19 2022-12-02 株式会社ユニバーサルエンターテインメント 遊技機

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7140018B1 (en) 2000-06-20 2006-11-21 International Business Machines Corporation Method of using a distinct flow of computational control as a reusable abstract data object
US8443377B2 (en) 2004-03-17 2013-05-14 Nec Corporation Parallel processing system running an OS for single processors and method thereof
US7823158B2 (en) 2005-08-18 2010-10-26 International Business Machines Corporation Adaptive scheduling and management of work processing in a target context in resource contention
WO2011096319A1 (ja) * 2010-02-04 2011-08-11 株式会社トライテック 分散コンピューティングシステム、分散コンピューティング方法及び分散コンピューティング用プログラム
JP2022177965A (ja) * 2021-05-19 2022-12-02 株式会社ユニバーサルエンターテインメント 遊技機
JP2022177964A (ja) * 2021-05-19 2022-12-02 株式会社ユニバーサルエンターテインメント 遊技機
CN115357410A (zh) * 2022-08-24 2022-11-18 北京科云时代信息技术有限公司 一种基于大数据的数据跨进程压缩存储方法及系统
CN115357410B (zh) * 2022-08-24 2024-03-29 锐仕方达人才科技集团有限公司 一种基于大数据的数据跨进程压缩存储方法及系统

Similar Documents

Publication Publication Date Title
RU2140667C1 (ru) Компьютерная система, имеющая шинный интерфейс
EP0194462B1 (en) System bus means for inter-processor communication
US20030110336A1 (en) Method and apparatus for interrupt redirection for arm processors
EP0317466B1 (en) Reverse flow control mechanism and method
KR100267130B1 (ko) Pci 버스 시스템
GB1511281A (en) Trap semaphore in computer
CN101154202B (zh) 管理多处理器计算机系统中的系统管理中断的系统和方法
US9088537B2 (en) Apparatus and method for executing agent
KR101056153B1 (ko) 배리어 동작들의 조건부 브로드캐스트를 위한 방법 및 장치
JPH0816540A (ja) 並列計算機におけるメッセージ通信方式
EP0317481B1 (en) Remote storage management mechanism and method
US5204954A (en) Remote storage management mechanism and method
JPH0784804A (ja) プロセス間通信方式
EP1814040A2 (en) Storage system, and storage control method
US6625679B1 (en) Apparatus and method for converting interrupt transactions to interrupt signals to distribute interrupts to IA-32 processors
US20080104614A1 (en) Method and apparatus for multiple slaves to receive data from multiple masters in a data processing system
US5542057A (en) Method for controlling vector data execution
JP2004334840A (ja) システムバスの制御方法及び関連装置
JP7087419B2 (ja) データ受信装置、データ送受信システム、及びデータ送受信システムの制御方法
JP3236459B2 (ja) 共通バスのデータ転送における異常処理装置
JPH02190956A (ja) メツセージ・バツフア・システム
JPH11191084A (ja) 通信エラーデータ記録方法および装置、記録媒体
JPH1013601A (ja) 画像処理装置
US7552260B2 (en) Method for dynamically arranging interrupt pins
JPH05134997A (ja) コマンド処理方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20001128