JPH06202883A - プロセス間通信装置及び通信方法 - Google Patents
プロセス間通信装置及び通信方法Info
- Publication number
- JPH06202883A JPH06202883A JP5256271A JP25627193A JPH06202883A JP H06202883 A JPH06202883 A JP H06202883A JP 5256271 A JP5256271 A JP 5256271A JP 25627193 A JP25627193 A JP 25627193A JP H06202883 A JPH06202883 A JP H06202883A
- Authority
- JP
- Japan
- Prior art keywords
- message
- semaphore
- communication
- buffer
- asynchronous
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【目的】 時分割単一プロセッサオペレーティングシス
テムにおけるリアルタイム及びマルチプロセッサアプリ
ケーションに対するサポートの欠如を克服するために、
既存のオペレーティングシステムに対して、非同期プロ
セス間通信機能を提供する。 【構成】 通信プロセス100、103は、データグラ
ムメッセージによって、各々同期セグメント101及び
非同期セグメント102を有する論理的非同期プロセス
間通信回線を介して通信する。この回線は、メッセージ
送信プロセス100とバッファ302及びセマフォー3
00に基づいて同期通信を行ない、メッセージ受信プロ
セス103とキュー602及び信号600に基づいて非
同期通信を行なうメッセージ配信ハブプロセス11を有
している。このハブプロセスはオペレーティングシステ
ムのどのようなプロセスレベルにおいてもインプリメン
トされうる。
テムにおけるリアルタイム及びマルチプロセッサアプリ
ケーションに対するサポートの欠如を克服するために、
既存のオペレーティングシステムに対して、非同期プロ
セス間通信機能を提供する。 【構成】 通信プロセス100、103は、データグラ
ムメッセージによって、各々同期セグメント101及び
非同期セグメント102を有する論理的非同期プロセス
間通信回線を介して通信する。この回線は、メッセージ
送信プロセス100とバッファ302及びセマフォー3
00に基づいて同期通信を行ない、メッセージ受信プロ
セス103とキュー602及び信号600に基づいて非
同期通信を行なうメッセージ配信ハブプロセス11を有
している。このハブプロセスはオペレーティングシステ
ムのどのようなプロセスレベルにおいてもインプリメン
トされうる。
Description
【0001】
【産業上の利用分野】本発明はコンピュータオペレーテ
ィングシステムに関し、特にオペレーティングシステム
のプロセス間通信装置に関する。
ィングシステムに関し、特にオペレーティングシステム
のプロセス間通信装置に関する。
【0002】
【従来の技術】コンピュータオペレーティングシステム
のプロセス間通信装置は、同期及び非同期という基本的
な2つのカテゴリーに分類されうる。同期プロセス間通
信は、複数のプロセスが通信を行なうために、共通のタ
イミング、所定の関係、あるいは逐次オペレーション等
共通に発生することを要求するものである。その反対
に、非同期プロセス間通信は、通信するプロセス間に規
則正しいすなわち予測可能な時間関係を有さずに発生す
るものである。同期及び非同期プロセス間通信のその他
の差異は、同期プロセス間通信が送信側プロセスに対し
て受信側プロセスの受信とその送信とを時間的に調整す
ることを要求するのに対して、非同期通信は送信側及び
受信側プロセスが互いに他方のオペレーションとは時間
的に独立に送信及び受信することを許可しているという
点である。
のプロセス間通信装置は、同期及び非同期という基本的
な2つのカテゴリーに分類されうる。同期プロセス間通
信は、複数のプロセスが通信を行なうために、共通のタ
イミング、所定の関係、あるいは逐次オペレーション等
共通に発生することを要求するものである。その反対
に、非同期プロセス間通信は、通信するプロセス間に規
則正しいすなわち予測可能な時間関係を有さずに発生す
るものである。同期及び非同期プロセス間通信のその他
の差異は、同期プロセス間通信が送信側プロセスに対し
て受信側プロセスの受信とその送信とを時間的に調整す
ることを要求するのに対して、非同期通信は送信側及び
受信側プロセスが互いに他方のオペレーションとは時間
的に独立に送信及び受信することを許可しているという
点である。
【0003】UNIX(R)オペレーティングシステム等
の単一プロセッサ時分割オペレーションをサポートする
ように設計されたオペレーティングシステムは、一般に
同期プロセス間通信を実現している。他方、マルチプロ
セッサ及びリアルタイムオペレーションは通常非同期プ
ロセス間通信をサポートしている。同期プロセス間通信
は輻輳したプロセス間においては一般に用いられにく
く、マルチプロセッサによるリアルタイムオペレーショ
ンを効果的にサポートするには余りにも行き詰まり易
い。
の単一プロセッサ時分割オペレーションをサポートする
ように設計されたオペレーティングシステムは、一般に
同期プロセス間通信を実現している。他方、マルチプロ
セッサ及びリアルタイムオペレーションは通常非同期プ
ロセス間通信をサポートしている。同期プロセス間通信
は輻輳したプロセス間においては一般に用いられにく
く、マルチプロセッサによるリアルタイムオペレーショ
ンを効果的にサポートするには余りにも行き詰まり易
い。
【0004】残念ながら、この要求のために、UNIX
システム等の効果的な非同期プロセス間通信機能を実現
できないポピュラーなオペレーティングシステムの使用
が制限されてしまっている。この種のポピュラーなオペ
レーティングシステムの利点は、その利用法に習熟した
数多くのデザイナーがいることであり、彼らは新たなプ
ロジェクトに対して即座に配置することが出来、さらに
実質的に初期開始・学習曲線に従うもの以上のやりよう
でそれらのプロジェクトに取り組むことが可能である。
前記利点には、さらに、ライブラリとして利用可能で新
たに設計する必要なく新たなプロジェクトにおいて再利
用されうる数多くのプログラムが既に存在しているとい
う点も含まれる。
システム等の効果的な非同期プロセス間通信機能を実現
できないポピュラーなオペレーティングシステムの使用
が制限されてしまっている。この種のポピュラーなオペ
レーティングシステムの利点は、その利用法に習熟した
数多くのデザイナーがいることであり、彼らは新たなプ
ロジェクトに対して即座に配置することが出来、さらに
実質的に初期開始・学習曲線に従うもの以上のやりよう
でそれらのプロジェクトに取り組むことが可能である。
前記利点には、さらに、ライブラリとして利用可能で新
たに設計する必要なく新たなプロジェクトにおいて再利
用されうる数多くのプログラムが既に存在しているとい
う点も含まれる。
【0005】もちろん、従来技術に係るオペレーティン
グシステムは、リアルタイムあるいはマルチプロセッサ
オペレーションをサポートするように、さらに非同期プ
ロセス間通信機構を含むように再設計されることもしば
しばある。しかしながら、このような再設計により、そ
れが依拠するオペレーティングシステムに関する前述さ
れたような利点を無くしてしまうような新たなオペレー
ティングシステムが生成されてしまうこともしばしばで
ある。この種の再設計されたオペレーティングシステム
の例は、UNIX−RTRオペレーティングシステムで
ある。これは、電話交換などのリアルタイムアプリケー
ションをサポートする、UNIXに基づくシステムであ
る。
グシステムは、リアルタイムあるいはマルチプロセッサ
オペレーションをサポートするように、さらに非同期プ
ロセス間通信機構を含むように再設計されることもしば
しばある。しかしながら、このような再設計により、そ
れが依拠するオペレーティングシステムに関する前述さ
れたような利点を無くしてしまうような新たなオペレー
ティングシステムが生成されてしまうこともしばしばで
ある。この種の再設計されたオペレーティングシステム
の例は、UNIX−RTRオペレーティングシステムで
ある。これは、電話交換などのリアルタイムアプリケー
ションをサポートする、UNIXに基づくシステムであ
る。
【0006】
【発明が解決しようとする課題】結果として、必要とさ
れているのは、UNIXシステムなどのオペレーティン
グシステムに対して、その本来有するインターフェース
及び動作特性を害することなく合体させられうる非同期
プロセス間通信メカニズムである。しかしながら、UN
IXオペレーティングシステム及びそのクローン及びそ
こから派生したものによって提供されている標準的なオ
ペレーティングシステム機能は、その実現を困難にして
いる。オペレーティングシステムのプロセス間関連シス
テムコール(例えば、シェアードメモリ、セマフォー、
プロセス間メッセージ及び信号)は本質的に同期してな
されるものであり、非同期通信スキームによってサポー
トされるものではない。加えて、UNIXタイプのオペ
レーティングシステムは、通常、プロセススイッチを禁
止するような機能を提供しない。このため、複数個のプ
ロセスが同時にシェアードメモリをアクセスしてしまう
可能性が生じ、シェアードメモリの利点を非常に制限し
てしまうことになる。
れているのは、UNIXシステムなどのオペレーティン
グシステムに対して、その本来有するインターフェース
及び動作特性を害することなく合体させられうる非同期
プロセス間通信メカニズムである。しかしながら、UN
IXオペレーティングシステム及びそのクローン及びそ
こから派生したものによって提供されている標準的なオ
ペレーティングシステム機能は、その実現を困難にして
いる。オペレーティングシステムのプロセス間関連シス
テムコール(例えば、シェアードメモリ、セマフォー、
プロセス間メッセージ及び信号)は本質的に同期してな
されるものであり、非同期通信スキームによってサポー
トされるものではない。加えて、UNIXタイプのオペ
レーティングシステムは、通常、プロセススイッチを禁
止するような機能を提供しない。このため、複数個のプ
ロセスが同時にシェアードメモリをアクセスしてしまう
可能性が生じ、シェアードメモリの利点を非常に制限し
てしまうことになる。
【0007】
【課題を解決するための手段】本発明は、従来技術に係
る問題点を解決し、従来技術における要求を充足させる
ことを目的とするものである。本発明に従って、リアル
タイム及びマルチプロセッサアプリケーションに関する
限定されたサポートを克服する目的の、(UNIXオペ
レーティングシステム等の)オペレーティングシステム
に対して合体させられうる非同期プロセス間通信配置が
実現される。この非同期プロセス間通信配置は、単一の
プロセッサ内で通信する一対のプロセスのうちの、メッ
セージ送出側プロセスなどの第一のプロセスと通信する
同期通信パスセグメント、前記対のうちの第二のプロセ
スと通信する非同期通信パスセグメント、及び同期及び
非同期通信パスセグメントを相互に接続して前記一対の
プロセス間の通信経路を構成する、プロシージャなどの
配置とを有している。
る問題点を解決し、従来技術における要求を充足させる
ことを目的とするものである。本発明に従って、リアル
タイム及びマルチプロセッサアプリケーションに関する
限定されたサポートを克服する目的の、(UNIXオペ
レーティングシステム等の)オペレーティングシステム
に対して合体させられうる非同期プロセス間通信配置が
実現される。この非同期プロセス間通信配置は、単一の
プロセッサ内で通信する一対のプロセスのうちの、メッ
セージ送出側プロセスなどの第一のプロセスと通信する
同期通信パスセグメント、前記対のうちの第二のプロセ
スと通信する非同期通信パスセグメント、及び同期及び
非同期通信パスセグメントを相互に接続して前記一対の
プロセス間の通信経路を構成する、プロシージャなどの
配置とを有している。
【0008】具体的には、前記同期セグメントはセマフ
ォーに基づくものである。これはシェアードメモリ内に
実現され、複数個のメッセージ送出側プロセスによって
共有されたバッファを用いる。送出側プロセス及び前記
相互接続プロシージャによるバッファへのアクセスは、
3つの状態を取るセマフォーによってシリアル化されて
いる。さらに具体的には、前記非同期セグメントはバッ
ファに基づくものである。これは、シェアードメモリ内
に、各々のメッセージ受信プロセスに対して各々実現さ
れた環状バッファを用いる。各々のバッファに対する書
き込みポインタは前記相互接続プロシージャによって制
御され、各々のバッファに対する読み出しポインタは対
応するメッセージ受信プロセスによって制御される。前
記プロシージャは、信号機能によってメッセージ受信プ
ロセスにメッセージの存在を通知する。
ォーに基づくものである。これはシェアードメモリ内に
実現され、複数個のメッセージ送出側プロセスによって
共有されたバッファを用いる。送出側プロセス及び前記
相互接続プロシージャによるバッファへのアクセスは、
3つの状態を取るセマフォーによってシリアル化されて
いる。さらに具体的には、前記非同期セグメントはバッ
ファに基づくものである。これは、シェアードメモリ内
に、各々のメッセージ受信プロセスに対して各々実現さ
れた環状バッファを用いる。各々のバッファに対する書
き込みポインタは前記相互接続プロシージャによって制
御され、各々のバッファに対する読み出しポインタは対
応するメッセージ受信プロセスによって制御される。前
記プロシージャは、信号機能によってメッセージ受信プ
ロセスにメッセージの存在を通知する。
【0009】本発明は、オペレーティングシステムに対
してその本来有するインターフェース及び動作特性を害
することなく合体させられうる非同期プロセス間通信メ
カニズムを提供する。よって、本発明は、既存のオペレ
ーティングシステムの既存の性質、機能あるいは利点を
害することなく、リアルタイム及びマルチプロセッサア
プリケーションをサポートする。本発明をインプリメン
トすることは容易である;具体的には、他のプロセスと
同じくインプリメントすることが可能である。さらに、
オペレーティングシステムのあらゆるプロセスレベルに
対して組み込むことが可能である。
してその本来有するインターフェース及び動作特性を害
することなく合体させられうる非同期プロセス間通信メ
カニズムを提供する。よって、本発明は、既存のオペレ
ーティングシステムの既存の性質、機能あるいは利点を
害することなく、リアルタイム及びマルチプロセッサア
プリケーションをサポートする。本発明をインプリメン
トすることは容易である;具体的には、他のプロセスと
同じくインプリメントすることが可能である。さらに、
オペレーティングシステムのあらゆるプロセスレベルに
対して組み込むことが可能である。
【0010】
【実施例】図1は、コンピュータ10の論理図である。
コンピュータ10は、一つあるいは複数個のパーティシ
ョン1−Nを有している。コンピュータ10は各々のパ
ーティション1−Nが個別のプロセッサを表すようなマ
ルチプロセッサシステムでありうる。あるいは、コンピ
ュータ10は、パーティション1−Nがシステム内の関
数あるいはプロセスの論理的なグループ分けであるよう
な単一プロセッサシステムである場合もある。単一プロ
セッサシステム10は分割されている必要が無い、すな
わちそれは単一のパーティションより構成されている。
コンピュータ10は、一つあるいは複数個のパーティシ
ョン1−Nを有している。コンピュータ10は各々のパ
ーティション1−Nが個別のプロセッサを表すようなマ
ルチプロセッサシステムでありうる。あるいは、コンピ
ュータ10は、パーティション1−Nがシステム内の関
数あるいはプロセスの論理的なグループ分けであるよう
な単一プロセッサシステムである場合もある。単一プロ
セッサシステム10は分割されている必要が無い、すな
わちそれは単一のパーティションより構成されている。
【0011】各々のパーティション1−Nは複数個の通
常のプロセス0−Kを有している。ここで、Kの値はパ
ーティション毎に異なるものとする。単一のパーティシ
ョン1−N内のプロセス0−Kは、個別のパーティショ
ン1−Nのオペレーティングシステムによって提供され
た従来技術に係るプロセス間通信装置によって、互い
に、及び他のパーティション1−N内のプロセスと、通
信する。よって、既存の機能は保持されている。具体的
には、パーティション1−Nの各々がUNIXオペレー
ティングシステムを実行しているか、あるいは全てのパ
ーティション1−Nが共通のオペレーティングシステム
を実行しているかのいずれかである。
常のプロセス0−Kを有している。ここで、Kの値はパ
ーティション毎に異なるものとする。単一のパーティシ
ョン1−N内のプロセス0−Kは、個別のパーティショ
ン1−Nのオペレーティングシステムによって提供され
た従来技術に係るプロセス間通信装置によって、互い
に、及び他のパーティション1−N内のプロセスと、通
信する。よって、既存の機能は保持されている。具体的
には、パーティション1−Nの各々がUNIXオペレー
ティングシステムを実行しているか、あるいは全てのパ
ーティション1−Nが共通のオペレーティングシステム
を実行しているかのいずれかである。
【0012】本発明に従って、各々のパーティション1
−Nは、そのパーティション1−N内のプロセス間の非
同期プロセス間通信機能を実現するハブ関数11を有し
ており、そのパーティション内のプロセス0−Kと他の
パーティション1−N内のプロセス0−Kとの間の非同
期プロセス間通信機能を関連する単一あるいは複数個の
インターフェースノード12を介して実現する。インタ
ーフェースノード12は通信経路15によって直接相互
に接続されている。具体的には、各々の経路15は、イ
ーサネット(R)LAN上のTCP/IPプロトコルリン
ク、あるいは直列ポイントツーポイントモデム接続など
の従来技術に係る通信メカニズムである。各々のインタ
ーフェースノード12は、対応するパーティション1−
Nにおけるプロセスとしてインプリメントされている。
インターフェースノード12をプロセスとしてインプリ
メントすることにより、ハブ関数11が、パーティショ
ン間通信、すなわちインターフェースノード12を介し
た通信をプロセス0−K間のパーティション内通信と同
一に取り扱うことが可能になる。
−Nは、そのパーティション1−N内のプロセス間の非
同期プロセス間通信機能を実現するハブ関数11を有し
ており、そのパーティション内のプロセス0−Kと他の
パーティション1−N内のプロセス0−Kとの間の非同
期プロセス間通信機能を関連する単一あるいは複数個の
インターフェースノード12を介して実現する。インタ
ーフェースノード12は通信経路15によって直接相互
に接続されている。具体的には、各々の経路15は、イ
ーサネット(R)LAN上のTCP/IPプロトコルリン
ク、あるいは直列ポイントツーポイントモデム接続など
の従来技術に係る通信メカニズムである。各々のインタ
ーフェースノード12は、対応するパーティション1−
Nにおけるプロセスとしてインプリメントされている。
インターフェースノード12をプロセスとしてインプリ
メントすることにより、ハブ関数11が、パーティショ
ン間通信、すなわちインターフェースノード12を介し
た通信をプロセス0−K間のパーティション内通信と同
一に取り扱うことが可能になる。
【0013】各々のパーティション1−Nにおいては、
ハブ関数11そのものも、そのパーティションのオペレ
ーティングシステムによって提供されるあらゆるプロセ
スレベル内のプロセスとしてインプリメントされてい
る。例えば、UNIXオペレーティングシステムにおい
ては、ハブ関数11は、ユーザレベル(アプリケーショ
ン)プロセスか、あるいはオペレーティングシステム内
部のカーネルレベルプロセスかのいずれかとしてインプ
リメントされる。中間あるいはインタプリタ(シェル)
レベルとしてのインプリメンテーションも想定されてい
る。
ハブ関数11そのものも、そのパーティションのオペレ
ーティングシステムによって提供されるあらゆるプロセ
スレベル内のプロセスとしてインプリメントされてい
る。例えば、UNIXオペレーティングシステムにおい
ては、ハブ関数11は、ユーザレベル(アプリケーショ
ン)プロセスか、あるいはオペレーティングシステム内
部のカーネルレベルプロセスかのいずれかとしてインプ
リメントされる。中間あるいはインタプリタ(シェル)
レベルとしてのインプリメンテーションも想定されてい
る。
【0014】図2に示されているように、ハブ関数11
は、送信側プロセス100と受信側プロセス103との
間の論理的非同期プロセス間通信経路を実現している。
プロセス100及び103は、プロセス0−Kとインタ
ーフェースノード12とからなる組に属している。各々
のプロセス間通信回線110は、2つの部分すなわちセ
グメントから成り立っている:送信プロセス100とハ
ブ関数11との間の同期プロセス間通信セグメント10
1及びハブ関数11と受信プロセス103との間の非同
期プロセス間通信セグメント102である。単一の同期
セグメント101は、送信プロセス100が複数個の受
信プロセス103に対して”放送”する場合などには、
複数個のプロセス間通信回線110の一部を形成する。
は、送信側プロセス100と受信側プロセス103との
間の論理的非同期プロセス間通信経路を実現している。
プロセス100及び103は、プロセス0−Kとインタ
ーフェースノード12とからなる組に属している。各々
のプロセス間通信回線110は、2つの部分すなわちセ
グメントから成り立っている:送信プロセス100とハ
ブ関数11との間の同期プロセス間通信セグメント10
1及びハブ関数11と受信プロセス103との間の非同
期プロセス間通信セグメント102である。単一の同期
セグメント101は、送信プロセス100が複数個の受
信プロセス103に対して”放送”する場合などには、
複数個のプロセス間通信回線110の一部を形成する。
【0015】ハブ関数11は、送信プロセス100と受
信プロセス103との間のメッセージサーバとして機能
する。ハブ関数11は、各々図3及び図6に示されてい
るデータストラクチャ/ファシリティ200及び20
2、及び図5及び図7の流れ図によって示されたプロシ
ージャ201を有している。同期セグメント101は、
データストラクチャ/ファシリティ200とプロシージ
ャ201の図5に示された部分、及び図4に示された送
信プロセス100のプロシージャによってインプリメン
トされている。非同期セグメント102は、プロシージ
ャ201の図7に示された部分、データストラクチャ/
ファシリティ202、及び図8に示された受信プロセス
103のプロシージャとによってインプリメントされて
いる。よって、プロシージャ201はセグメント101
及び102とを結び付けて回線110を構成しているイ
ンターフェースとして機能する。
信プロセス103との間のメッセージサーバとして機能
する。ハブ関数11は、各々図3及び図6に示されてい
るデータストラクチャ/ファシリティ200及び20
2、及び図5及び図7の流れ図によって示されたプロシ
ージャ201を有している。同期セグメント101は、
データストラクチャ/ファシリティ200とプロシージ
ャ201の図5に示された部分、及び図4に示された送
信プロセス100のプロシージャによってインプリメン
トされている。非同期セグメント102は、プロシージ
ャ201の図7に示された部分、データストラクチャ/
ファシリティ202、及び図8に示された受信プロセス
103のプロシージャとによってインプリメントされて
いる。よって、プロシージャ201はセグメント101
及び102とを結び付けて回線110を構成しているイ
ンターフェースとして機能する。
【0016】図3に示されているように、データストラ
クチャ/ファシリティ200は、シェアードメモリ30
1にインプリメントされたメッセージバッファ302及
び関連するセマフォー300とから成り立っている。シ
ェアードメモリ301は標準的なUNIXオペレーティ
ングシステムによってサポートされたメカニズムであ
り、複数個のプロセス0−K、インターフェースノード
12、及びハブ関数11が、それら自体のアドレス空間
の一部を物理的なメモリにおける同一の部分302に対
してマッピングすることを許可するものである。セマフ
ォーファシリティ304もUNIXオペレーティングシ
ステムによってサポートされたメカニズムであり、リー
ド・モディファイ・ライト(RMW)オペレーションシ
ーケンスがメモリロケーションに対するアトミックオペ
レーションとして実行されることを許可するものであ
る。セマフォーファシリティ304はセマフォー300
及び関連するセマフォーキュー303を有している。セ
マフォー300は、”0”、”1”、及び”3”という
3つの状態すなわち値を取る。セマフォー300は、”
3”という値を有するように初期化されている。UNI
Xオペレーティングシステムにおいては一般的なことで
あるが、セマフォーの値を負の値に変更しようとするセ
マフォー300に係るRMWシーケンスを実行しようと
試みるあらゆるプロセスはセマフォーキュー303に係
るUNIXオペレーティングシステムによって自動的に
スリープ状態にさせられ、(a)それがキュー303の
先頭に到達した場合、及び(b)直前に試みられたRM
Wシーケンスの実行の結果、セマフォーの値が負の値に
変更されない場合の双方の場合にのみオペレーティング
システムによって呼び起こされる。セマフォー300
は、メッセージバッファ302に関する”クリティカル
領域”と従来呼称されてきたものをインプリメントす
る:このことにより、メッセージバッファ302に対し
てアクセスするプロセスが常時必ず一つであることが保
証される。
クチャ/ファシリティ200は、シェアードメモリ30
1にインプリメントされたメッセージバッファ302及
び関連するセマフォー300とから成り立っている。シ
ェアードメモリ301は標準的なUNIXオペレーティ
ングシステムによってサポートされたメカニズムであ
り、複数個のプロセス0−K、インターフェースノード
12、及びハブ関数11が、それら自体のアドレス空間
の一部を物理的なメモリにおける同一の部分302に対
してマッピングすることを許可するものである。セマフ
ォーファシリティ304もUNIXオペレーティングシ
ステムによってサポートされたメカニズムであり、リー
ド・モディファイ・ライト(RMW)オペレーションシ
ーケンスがメモリロケーションに対するアトミックオペ
レーションとして実行されることを許可するものであ
る。セマフォーファシリティ304はセマフォー300
及び関連するセマフォーキュー303を有している。セ
マフォー300は、”0”、”1”、及び”3”という
3つの状態すなわち値を取る。セマフォー300は、”
3”という値を有するように初期化されている。UNI
Xオペレーティングシステムにおいては一般的なことで
あるが、セマフォーの値を負の値に変更しようとするセ
マフォー300に係るRMWシーケンスを実行しようと
試みるあらゆるプロセスはセマフォーキュー303に係
るUNIXオペレーティングシステムによって自動的に
スリープ状態にさせられ、(a)それがキュー303の
先頭に到達した場合、及び(b)直前に試みられたRM
Wシーケンスの実行の結果、セマフォーの値が負の値に
変更されない場合の双方の場合にのみオペレーティング
システムによって呼び起こされる。セマフォー300
は、メッセージバッファ302に関する”クリティカル
領域”と従来呼称されてきたものをインプリメントす
る:このことにより、メッセージバッファ302に対し
てアクセスするプロセスが常時必ず一つであることが保
証される。
【0017】プロセス0−Kあるいはインターフェース
ノード12が、プロセス間通信回線110による、他の
プロセス0−Kあるいはインターフェースノード12と
の通信を希望する場合には、図4に示されたプロシージ
ャを実行して送信プロセス100となる。ステップ40
0において起動されると、このプロシージャは、ステッ
プ401においてセマフォー300の値を2だけ減ずる
RWMシーケンスの実行を試みる。このRWMシーケン
スによる試行が成功する唯一の場合がセマフォー300
が”3”という値を持っていた場合であり、このことは
メッセージバッファ302が空で利用可能であることを
示している。セマフォー300の値が”1”あるいは”
0”であった場合には、このRWMシーケンスは停止す
る。なぜなら、セマフォー300の値が負になってしま
い、送信プロセス100がキュー303上に並べられて
スリープ状態にさせられてしまうからである(ステップ
402)。送信プロセス100がキュー303の先頭に
到達してセマフォー300が”3”という値を再び獲得
した場合に送信プロセス100は呼び起こされて(ステ
ップ403)、再びステップ401に戻って直前にフェ
ールしたRWMシーケンスを再び繰り返す。
ノード12が、プロセス間通信回線110による、他の
プロセス0−Kあるいはインターフェースノード12と
の通信を希望する場合には、図4に示されたプロシージ
ャを実行して送信プロセス100となる。ステップ40
0において起動されると、このプロシージャは、ステッ
プ401においてセマフォー300の値を2だけ減ずる
RWMシーケンスの実行を試みる。このRWMシーケン
スによる試行が成功する唯一の場合がセマフォー300
が”3”という値を持っていた場合であり、このことは
メッセージバッファ302が空で利用可能であることを
示している。セマフォー300の値が”1”あるいは”
0”であった場合には、このRWMシーケンスは停止す
る。なぜなら、セマフォー300の値が負になってしま
い、送信プロセス100がキュー303上に並べられて
スリープ状態にさせられてしまうからである(ステップ
402)。送信プロセス100がキュー303の先頭に
到達してセマフォー300が”3”という値を再び獲得
した場合に送信プロセス100は呼び起こされて(ステ
ップ403)、再びステップ401に戻って直前にフェ
ールしたRWMシーケンスを再び繰り返す。
【0018】ステップ401におけるRWMシーケンス
が成功した場合は、セマフォー300の値が”1”とな
る。これは、メッセージバッファ302が使用中であ
り、充填されつつあることを示している。ステップ40
1に引き続いて、図4のプロシージャは、ステップ40
4において、送信プロセス100が送信したいと思って
いるメッセージをメッセージバッファ302に転送す
る。具体的には、このメッセージはデータグラムの形態
を有している。このメッセージには、このメッセージを
受信することが企図されている一つあるいは複数個の受
信プロセス103の識別子が含まれている。その後、こ
のプロシージャは、ステップ405において、セマフォ
ー300の値を1だけ減ずるRWMシーケンスの実行を
試みる。ステップ401及び405は必ず同じ順序で実
行されるため、この試行はエラーの場合を除いてはフェ
ールすることがない。よって、セマフォー300の値は
ステップ405において”0”となり、メッセージバッ
ファ302が使用中でメッセージによって充填されてい
ることが示される。以上でこのタスクは完了し、ステッ
プ406において起動されたポイントに戻る。
が成功した場合は、セマフォー300の値が”1”とな
る。これは、メッセージバッファ302が使用中であ
り、充填されつつあることを示している。ステップ40
1に引き続いて、図4のプロシージャは、ステップ40
4において、送信プロセス100が送信したいと思って
いるメッセージをメッセージバッファ302に転送す
る。具体的には、このメッセージはデータグラムの形態
を有している。このメッセージには、このメッセージを
受信することが企図されている一つあるいは複数個の受
信プロセス103の識別子が含まれている。その後、こ
のプロシージャは、ステップ405において、セマフォ
ー300の値を1だけ減ずるRWMシーケンスの実行を
試みる。ステップ401及び405は必ず同じ順序で実
行されるため、この試行はエラーの場合を除いてはフェ
ールすることがない。よって、セマフォー300の値は
ステップ405において”0”となり、メッセージバッ
ファ302が使用中でメッセージによって充填されてい
ることが示される。以上でこのタスクは完了し、ステッ
プ406において起動されたポイントに戻る。
【0019】ハブ関数11のプロシージャ201は、そ
の対応するパーティション1−Nの初期化によって実行
を開始する。図5のステップ500において起動される
と、プロシージャ201は、ステップ501においてセ
マフォー300を読み出し、ステップ502においてそ
の値が”0”であるか否かを決定する。”0”ではない
場合には、メッセージバッファ302にはメッセージが
ストアされていないことになり、プロシージャ201は
ステップ501に戻ってメッセージの到着を待機する。
あるいは、CPUリソースの消費を避けるために、プロ
シージャ201はセマフォー300に関してスリープ状
態となり、セマフォー300の値が”0”となった場合
に呼び起こされることになる。セマフォーの値が”0”
である場合は、メッセージバッファ302にメッセージ
がストアされていることを意味しており、プロシージャ
201はステップ503においてストアされたメッセー
ジを回復する。このことによって、メッセージバッファ
302は別の送信プロセス100によって用いられうる
ようになる。プロシージャ201は、セマフォー300
に関するRWMシーケンスを実行してセマフォー300
の値を3だけ増加させる、すなわち”3”という値に戻
すことによりこのことを通知する。その後、プロシージ
ャ201は図7のステップ700に移行する。
の対応するパーティション1−Nの初期化によって実行
を開始する。図5のステップ500において起動される
と、プロシージャ201は、ステップ501においてセ
マフォー300を読み出し、ステップ502においてそ
の値が”0”であるか否かを決定する。”0”ではない
場合には、メッセージバッファ302にはメッセージが
ストアされていないことになり、プロシージャ201は
ステップ501に戻ってメッセージの到着を待機する。
あるいは、CPUリソースの消費を避けるために、プロ
シージャ201はセマフォー300に関してスリープ状
態となり、セマフォー300の値が”0”となった場合
に呼び起こされることになる。セマフォーの値が”0”
である場合は、メッセージバッファ302にメッセージ
がストアされていることを意味しており、プロシージャ
201はステップ503においてストアされたメッセー
ジを回復する。このことによって、メッセージバッファ
302は別の送信プロセス100によって用いられうる
ようになる。プロシージャ201は、セマフォー300
に関するRWMシーケンスを実行してセマフォー300
の値を3だけ増加させる、すなわち”3”という値に戻
すことによりこのことを通知する。その後、プロシージ
ャ201は図7のステップ700に移行する。
【0020】図6において、データストラクチャ/ファ
シリティ202は、シェアードメモリ301にインプリ
メントされた複数個の環状データキュー602を有して
いる。一つのデータキュー602はプロセス0−K及び
インターフェースノード12の各々に、すなわち受信プ
ロセス103となりうる各々のものに対応している。
シリティ202は、シェアードメモリ301にインプリ
メントされた複数個の環状データキュー602を有して
いる。一つのデータキュー602はプロセス0−K及び
インターフェースノード12の各々に、すなわち受信プ
ロセス103となりうる各々のものに対応している。
【0021】キュー602のインプリメンテーション
は、UNIXオペレーティングシステムがプロセススイ
ッチングを妨げるあらゆるメカニズムをサポートしない
という事実に敏感でなければならない。結果として、プ
ロセス201と103との間のスイッチングはあらゆる
タイミングで、すなわち実行中のプロセスがキュー60
2に関して操作中である場合にも起こりうる。このよう
な状況を取り扱うための一つの方法は、キュー602に
関して2つの参照ストラクチャ−読み出しインデックス
及び書き込みインデックス−のみを許可し、各々の参照
ストラクチャがプロセス201及び103のうちの一つ
のみによって排他的に操作されることを許可することで
ある。さらに、読み出し及び書き込みインデックスへの
全ての読み出し及び書き込み操作がアトミック操作であ
ることを保証しなければならない。例えば、あるマシン
においては、読み出し及び書き込みインデックスは各々
その長さが1バイトに制限されていなければならない。
従って、各々のキュー602は複数個のエントリ605
から構成されており、ハブ関数11の制御下にある関連
する書き込み(W)ポインタ603及び対応する受信プ
ロセス103の制御下にある読み出し(R)ポインタ6
04を有している。プロシージャ201はメッセージを
キュー602に書き込む。受信プロセス103は、各々
対応するキュー602からメッセージを回復する。さら
に、データストラクチャ/ファシリティ202に含まれ
ているのは、従来技術に係るUNIXシステム信号ファ
シリティ600である。これは、プロセスに対して、ト
ラップやインタラプトなどの非同期イベントの発生を通
知するメカニズムである。
は、UNIXオペレーティングシステムがプロセススイ
ッチングを妨げるあらゆるメカニズムをサポートしない
という事実に敏感でなければならない。結果として、プ
ロセス201と103との間のスイッチングはあらゆる
タイミングで、すなわち実行中のプロセスがキュー60
2に関して操作中である場合にも起こりうる。このよう
な状況を取り扱うための一つの方法は、キュー602に
関して2つの参照ストラクチャ−読み出しインデックス
及び書き込みインデックス−のみを許可し、各々の参照
ストラクチャがプロセス201及び103のうちの一つ
のみによって排他的に操作されることを許可することで
ある。さらに、読み出し及び書き込みインデックスへの
全ての読み出し及び書き込み操作がアトミック操作であ
ることを保証しなければならない。例えば、あるマシン
においては、読み出し及び書き込みインデックスは各々
その長さが1バイトに制限されていなければならない。
従って、各々のキュー602は複数個のエントリ605
から構成されており、ハブ関数11の制御下にある関連
する書き込み(W)ポインタ603及び対応する受信プ
ロセス103の制御下にある読み出し(R)ポインタ6
04を有している。プロシージャ201はメッセージを
キュー602に書き込む。受信プロセス103は、各々
対応するキュー602からメッセージを回復する。さら
に、データストラクチャ/ファシリティ202に含まれ
ているのは、従来技術に係るUNIXシステム信号ファ
シリティ600である。これは、プロセスに対して、ト
ラップやインタラプトなどの非同期イベントの発生を通
知するメカニズムである。
【0022】図5においてメッセージバッファ302か
らメッセージを回復した後、プロシージャ201は、ス
テップ700において、そのメッセージの内容からその
メッセージの宛先である受信プロセス103の識別を決
定する。その後、プロシージャ201は、ステップ70
1において、受信プロセスの対応するキュー602がフ
ルであるか否かをチェックする。キュー602がフルで
ある場合には、プロシージャ201はメッセージを放棄
し、図5のステップ501に戻る。送信プロセス100
に対してメッセージの伝達に失敗したことを通知する必
要はない。なぜなら、メッセージ伝達を保証しないデー
タグラムプロトコルが用いられているからである。デー
タグラムプロトコルを用いる場合は、メッセージの再送
信はアプリケーションの責任である。
らメッセージを回復した後、プロシージャ201は、ス
テップ700において、そのメッセージの内容からその
メッセージの宛先である受信プロセス103の識別を決
定する。その後、プロシージャ201は、ステップ70
1において、受信プロセスの対応するキュー602がフ
ルであるか否かをチェックする。キュー602がフルで
ある場合には、プロシージャ201はメッセージを放棄
し、図5のステップ501に戻る。送信プロセス100
に対してメッセージの伝達に失敗したことを通知する必
要はない。なぜなら、メッセージ伝達を保証しないデー
タグラムプロトコルが用いられているからである。デー
タグラムプロトコルを用いる場合は、メッセージの再送
信はアプリケーションの責任である。
【0023】プロシージャ201が、ステップ701に
おいて、受信プロセス103のキュー602がフルでは
ないと決定した場合には、プロシージャ201は、ステ
ップ705において、そのキューに関連しているWポイ
ンタ603によって指し示されているそのキューのエン
トリ605に回復されたメッセージを書き込み、ステッ
プ706においてWポインタ603をインクリメントす
る。その後、プロシージャ201は、ステップ707に
おいて、書き込まれたメッセージのみがそのキュー60
2に存在しているのか否か、すなわち、キュー602が
その以前には空であったのか否かを再び従来技術に係る
方法によりチェックする。キュー602がそれ以前には
空であった場合には、プロシージャ201は、ステップ
708において、信号ファシリティ600に、受信プロ
セス103に対してその関連しているキュー602にメ
ッセージが存在していることを通知するメッセージを送
出させる。その後、プロシージャ201は図5のステッ
プ501に戻る。
おいて、受信プロセス103のキュー602がフルでは
ないと決定した場合には、プロシージャ201は、ステ
ップ705において、そのキューに関連しているWポイ
ンタ603によって指し示されているそのキューのエン
トリ605に回復されたメッセージを書き込み、ステッ
プ706においてWポインタ603をインクリメントす
る。その後、プロシージャ201は、ステップ707に
おいて、書き込まれたメッセージのみがそのキュー60
2に存在しているのか否か、すなわち、キュー602が
その以前には空であったのか否かを再び従来技術に係る
方法によりチェックする。キュー602がそれ以前には
空であった場合には、プロシージャ201は、ステップ
708において、信号ファシリティ600に、受信プロ
セス103に対してその関連しているキュー602にメ
ッセージが存在していることを通知するメッセージを送
出させる。その後、プロシージャ201は図5のステッ
プ501に戻る。
【0024】プロシージャ201によってステップ70
8で送出させられた信号の受信に応答して、受信プロセ
ス103は図8のプロシージャを実行する。このプロシ
ージャは、ステップ800において起動されると、ステ
ップ801において、受信プロセスの対応するキュー6
02をアクセスしてそのキューのRポインタ604に指
し示されたエントリ605からメッセージを回復する。
その後、ステップ802において、Rポインタ604が
インクリメントされる。このプロシージャは、その後、
ステップ803において、キュー602が空であるか否
かを従来技術に係る方法でチェックする。空ではなかっ
た場合には、プロシージャはステップ801に戻ってキ
ュー602から別のメッセージを回復する。キュー60
2がもはや空である場合には、このプロシージャは、ス
テップ804において、このプロシージャを起動した信
号をクリアし、ステップ805において、起動されたポ
イントへ戻る。送信及び受信プロセスの間のプロセス間
通信はこのようにして完了する。
8で送出させられた信号の受信に応答して、受信プロセ
ス103は図8のプロシージャを実行する。このプロシ
ージャは、ステップ800において起動されると、ステ
ップ801において、受信プロセスの対応するキュー6
02をアクセスしてそのキューのRポインタ604に指
し示されたエントリ605からメッセージを回復する。
その後、ステップ802において、Rポインタ604が
インクリメントされる。このプロシージャは、その後、
ステップ803において、キュー602が空であるか否
かを従来技術に係る方法でチェックする。空ではなかっ
た場合には、プロシージャはステップ801に戻ってキ
ュー602から別のメッセージを回復する。キュー60
2がもはや空である場合には、このプロシージャは、ス
テップ804において、このプロシージャを起動した信
号をクリアし、ステップ805において、起動されたポ
イントへ戻る。送信及び受信プロセスの間のプロセス間
通信はこのようにして完了する。
【0025】以上の説明は、本発明の一実施例に関する
もので,この技術分野の当業者であれば、本発明の種々
の変形例が考え得るが、それらはいずれも本発明の技術
的範囲に包含される。例えば、広範囲のプロセッサ間通
信スキームが用いられうる。本明細書に記載された技法
はプロセッサ間通信メカニズムに依存しない。また、マ
ルチプロセッサが共通のキャビネット内の単一のマシン
としてインプリメントされる場合もあり、個別のマシン
のネットワークである場合もある。さらに、環状バッフ
ァ以外のデータキューストラクチャも用いられる。加え
て、UNIXプロセス間メッセージファシリティがセマ
フォーあるいはシェアードメモリに置換される場合も有
り得る。
もので,この技術分野の当業者であれば、本発明の種々
の変形例が考え得るが、それらはいずれも本発明の技術
的範囲に包含される。例えば、広範囲のプロセッサ間通
信スキームが用いられうる。本明細書に記載された技法
はプロセッサ間通信メカニズムに依存しない。また、マ
ルチプロセッサが共通のキャビネット内の単一のマシン
としてインプリメントされる場合もあり、個別のマシン
のネットワークである場合もある。さらに、環状バッフ
ァ以外のデータキューストラクチャも用いられる。加え
て、UNIXプロセス間メッセージファシリティがセマ
フォーあるいはシェアードメモリに置換される場合も有
り得る。
【0026】
【発明の効果】以上述べたごとく、本発明によれば、既
存のオペレーティングシステムに対してその利点を損な
うことなく合体させられうる非同期プロセス間通信配置
及びその方法が提供される。
存のオペレーティングシステムに対してその利点を損な
うことなく合体させられうる非同期プロセス間通信配置
及びその方法が提供される。
【図1】本発明に係る実施例を組み込んだコンピュータ
の論理図。
の論理図。
【図2】図1のコンピュータにおけるプロセス間通信リ
ンクを示すブロック図。
ンクを示すブロック図。
【図3】図2のリンクにおけるハブ関数の同期データス
トラクチャ関数ブロックを示すブロック図。
トラクチャ関数ブロックを示すブロック図。
【図4】図2のリンクにおける送信プロセスの同期プロ
シージャを示す流れ図。
シージャを示す流れ図。
【図5】図2のリンクにおけるハブ関数のプロシージャ
の同期部分を示す流れ図。
の同期部分を示す流れ図。
【図6】図2のリンクにおけるハブ関数の非同期データ
ストラクチャ関数ブロックを示すブロック図。
ストラクチャ関数ブロックを示すブロック図。
【図7】図2のリンクにおけるハブ関数のプロシージャ
の非同期部分を示す流れ図。
の非同期部分を示す流れ図。
【図8】図2のリンクにおける受信プロセスの非同期プ
ロシージャを示す流れ図。
ロシージャを示す流れ図。
10 コンピュータ 11 ハブ関数 12 インターフェースノード 15 通信経路 100 送信プロセス 101 同期セグメント 102 非同期セグメント 103 受信プロセス 110 プロセス間通信回線 200、202 データストラクチャ/ファシリティ 201 プロシージャ 300 セマフォー 301 シェアードメモリ 302 メッセージバッファ 303 セマフォーキュー 304 セマフォーファシリティ 600 信号ファシリティ 602 キュー 603 書き込みポインタ 604 読み出しポインタ
Claims (10)
- 【請求項1】 プロセス間通信装置において、 単一のプロセッサ内の一対の通信プロセスの内の第一の
プロセスと通信する同期通信経路セグメント(101)
と、 前記通信プロセス対の内の第二のプロセスと通信する非
同期通信経路セグメント(102)と、 前記通信プロセス対の双方のプロセス間に延在する通信
経路を形成するために、前記同期通信経路セグメントと
非同期通信経路セグメントとを相互接続する手段(20
1)とを有することを特徴とする通信装置。 - 【請求項2】 前記相互接続手段が、 前記第一のプロセスから前記第二のプロセス宛の通信を
受信するために前記同期通信経路セグメントを介して前
記第一のプロセスと同期通信を行なう第一の手段と、 前記第二のプロセスへ前記受信された通信を伝達するた
めに前非記同期通信経路セグメントを介して前記第二の
プロセスと非同期通信を行なう第二の手段と を有する
ことを特徴とする請求項1の通信装置。 - 【請求項3】 前記同期通信経路セグメントが、シェア
ードメモリメッセージバッファと、前記メモリバッファ
の周囲にクリティカル領域を生成するセマフォー手段と
を有し、 前記非同期通信経路セグメントが、読み出しポインタ及
び書き込みポインタを有するシェアードメモリメッセー
ジキューと、前記キュー内のメッセージの存在を通知す
る信号手段とを有することを特徴とする請求項1の通信
装置。 - 【請求項4】 前記装置が、UNIXシステムが動作す
る環境においてUNIXシステムファシリティを用いて
インプリメントされていることを特徴とする請求項1の
通信装置。 - 【請求項5】 前記同期通信経路が、 複数個のメッセージ送信プロセスによって用いられるメ
ッセージバッファと、 前記メッセージバッファへのアクセスを制御するため
の、3つの値を取りうる、前記バッファに関連したセマ
フォーと、 前記第一のプロセスに関連し、前記セマフォーが、前記
バッファが前記メッセージ送信プロセスによって利用可
能であることを示す第一の状態にある場合に前記セマフ
ォーを第二の状態にして前記メッセージバッファの前記
第一のプロセスによる排他的利用を予約するための前記
セマフォーに対する第一の操作を実行し、さらに、前記
予約に応答して、前記メッセージバッファにメッセージ
をストアしかつ前記メッセージバッファを前記相互接続
手段が用いることを許可する第三の状態に前記セマフォ
ーをするために前記セマフォーに対して第二の操作を実
行する第一の操作手段とを有しており、前記相互接続手
段が、前記セマフォーが前記第三の状態にあることに応
答して前記メッセージバッファから前記ストアされたメ
ッセージを回復し、前記セマフォーを前記第一の状態に
するために前記セマフォーに対して第三の操作を実行す
る第二の操作手段とを有することを特徴とする請求項1
の通信装置。 - 【請求項6】 前記非同期通信経路が、 各々相異なったメッセージ受信プロセスに関連した複数
個のメッセージバッファと、 信号を選択されたメッセージ受信プロセスに送出する手
段と、 前記第二のプロセスに関連しており、前記信号送出手段
からの信号の受信に応答して前記第二のプロセスに関連
する前記メッセージバッファの内の一つからストアされ
たメッセージを回復する第一の操作手段とを有してお
り、前記相互接続手段が、 前記第二のプロセスに関連する前記メッセージバッファ
の内の一つに回復されたメッセージをストアしかつ前記
信号送出手段に前記第二のプロセス宛に信号を送出させ
る前記第二の操作手段を有することを特徴とする請求項
1の通信装置。 - 【請求項7】 前記同期通信経路が、 複数個のメッセージ送信プロセスによって用いられるメ
ッセージバッファと、 前記メッセージバッファと関連しており前記メッセージ
バッファへのアクセスを制御し3つの可能な状態を取り
うるセマフォーと、 前記第一のプロセスに関連し、前記セマフォーが、前記
バッファが前記メッセージ送信プロセスによって利用可
能であることを示す第一の状態にある場合に前記セマフ
ォーを第二の状態にして前記メッセージバッファの前記
第一のプロセスによる排他的利用を予約するための前記
セマフォーに対する第一の操作を実行し、さらに、前記
予約に応答して、前記メッセージバッファにメッセージ
をストアしかつ前記メッセージバッファを前記相互接続
手段が用いることを許可する第三の状態に前記セマフォ
ーをするために前記セマフォーに対して第二の操作を実
行する第一の操作手段とを有し、前記相互接続手段が、 前記セマフォーが前記第三の状態にあることに応答して
前記メッセージバッファから前記ストアされたメッセー
ジを回復し、前記セマフォーを前記第一の状態にするた
めに前記セマフォーに対して第三の操作を実行する第二
の操作手段を有し、 前記非同期通信経路が、 各々相異なったメッセージ受信プロセスに関連した複数
個のメッセージバッファと、 信号を選択されたメッセージ受信プロセスに送出する手
段と、 前記第二のプロセスに関連しており、前記信号送出手段
からの信号の受信に応答して前記第二のプロセスに関連
する前記メッセージバッファの内の一つからストアされ
たメッセージを回復する第三の操作手段とを有し、前記
相互接続手段が、 前記第二の操作手段による前記メッセージの回復に応答
して前記第二のプロセスに関連する前記メッセージバッ
ファの内の一つに前記回復されたメッセージをストアし
かつ前記信号送出手段に前記第二のプロセス宛に信号を
送出させる前記第四の操作手段を有することを特徴とす
る請求項1の通信装置。 - 【請求項8】 プロセス間通信方法において、 単一のプロセッサ内の一対の通信しているプロセスの内
の第一のプロセスと、前記第一のプロセスから前記第二
のプロセス宛の通信を受信するために同期通信を行なう
ステップと、 前記通信の受信に応答して前記対の内の第二のプロセス
と、前記第二のプロセス宛に前記受信された通信を伝達
するために非同期通信するステップとを有することを特
徴とするプロセス間通信方法。 - 【請求項9】 前記同期通信を行なうステップが、シェ
アードメモリメッセージバッファを介して前記第一のプ
ロセスと、前記メッセージバッファの周囲にクリティカ
ル領域を生成するためにセマフォーファシリティを用い
て通信するステップを有し、 前記非同期通信を行なうステップが、読み出しポインタ
及び書き込みポインタを有するシェアードメモリキュー
を介して前記第二のプロセスと、前記第二のプロセスに
前記キュー内のメッセージの存在を通知するために信号
ファシリティを用いて通信するステップを有しているこ
とを特徴とする請求項8の通信方法。 - 【請求項10】 前記方法が、UNIXシステムの動作
する環境でUNIXシステムファシリティを用いてイン
プリメントされていることを特徴とする請求項8の通信
方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US951488 | 1992-09-24 | ||
US07/951,488 US5434975A (en) | 1992-09-24 | 1992-09-24 | System for interconnecting a synchronous path having semaphores and an asynchronous path having message queuing for interprocess communications |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06202883A true JPH06202883A (ja) | 1994-07-22 |
Family
ID=25491734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5256271A Pending JPH06202883A (ja) | 1992-09-24 | 1993-09-21 | プロセス間通信装置及び通信方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5434975A (ja) |
EP (1) | EP0592117A3 (ja) |
JP (1) | JPH06202883A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017504887A (ja) * | 2013-12-18 | 2017-02-09 | オラクル・インターナショナル・コーポレイション | コンピューティング環境においてアダプティブビジーウェイトをサポートするためのシステムおよび方法 |
Families Citing this family (111)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU4219693A (en) * | 1992-09-30 | 1994-04-14 | Apple Computer, Inc. | Inter-task buffer and connections |
JP2931490B2 (ja) * | 1992-12-18 | 1999-08-09 | 富士通株式会社 | 並列処理方式 |
JPH07244644A (ja) * | 1994-03-04 | 1995-09-19 | Mitsubishi Electric Corp | エージェント管理システム |
US5548780A (en) * | 1994-07-21 | 1996-08-20 | Apple Computer, Inc. | Method for semaphore communication between incompatible bus locking architectures |
US5758184A (en) * | 1995-04-24 | 1998-05-26 | Microsoft Corporation | System for performing asynchronous file operations requested by runnable threads by processing completion messages with different queue thread and checking for completion by runnable threads |
US6587889B1 (en) * | 1995-10-17 | 2003-07-01 | International Business Machines Corporation | Junction manager program object interconnection and method |
US6532487B1 (en) | 1995-12-04 | 2003-03-11 | International Business Machines Corporation | Method and system for managing semaphores in an object-oriented multi-tasking computer system |
US5848272A (en) * | 1996-06-04 | 1998-12-08 | Lucent Technologies Inc. | Object-oriented intra-process messaging arrangement for windows environments |
US6460058B2 (en) * | 1996-12-06 | 2002-10-01 | Microsoft Corporation | Object-oriented framework for hyperlink navigation |
US6477584B1 (en) * | 1997-03-21 | 2002-11-05 | Lsi Logic Corporation | Message FIFO empty early warning method |
US5999969A (en) * | 1997-03-26 | 1999-12-07 | Unisys Corporation | Interrupt handling system for message transfers in network having mixed hardware and software emulated modules |
US5983266A (en) * | 1997-03-26 | 1999-11-09 | Unisys Corporation | Control method for message communication in network supporting software emulated modules and hardware implemented modules |
US5944788A (en) * | 1997-03-26 | 1999-08-31 | Unisys Corporation | Message transfer system and control method for multiple sending and receiving modules in a network supporting hardware and software emulated modules |
US6167423A (en) * | 1997-04-03 | 2000-12-26 | Microsoft Corporation | Concurrency control of state machines in a computer system using cliques |
US6134594A (en) | 1997-10-28 | 2000-10-17 | Microsoft Corporation | Multi-user, multiple tier distributed application architecture with single-user access control of middle tier objects |
US7076784B1 (en) | 1997-10-28 | 2006-07-11 | Microsoft Corporation | Software component execution management using context objects for tracking externally-defined intrinsic properties of executing software components within an execution environment |
US6131094A (en) * | 1998-04-24 | 2000-10-10 | Unisys Corp. | Method for performing asynchronous writes to database logs using multiple insertion points |
US6122713A (en) * | 1998-06-01 | 2000-09-19 | National Instruments Corporation | Dual port shared memory system including semaphores for high priority and low priority requestors |
US6629152B2 (en) * | 1998-06-29 | 2003-09-30 | International Business Machines Corporation | Message passing using shared memory of a computer |
GB2340265B (en) * | 1998-07-31 | 2003-04-23 | Sony Uk Ltd | Data processing |
US7013305B2 (en) | 2001-10-01 | 2006-03-14 | International Business Machines Corporation | Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange |
US6487665B1 (en) | 1998-11-30 | 2002-11-26 | Microsoft Corporation | Object security boundaries |
US6574736B1 (en) | 1998-11-30 | 2003-06-03 | Microsoft Corporation | Composable roles |
US6385724B1 (en) | 1998-11-30 | 2002-05-07 | Microsoft Corporation | Automatic object caller chain with declarative impersonation and transitive trust |
US6324600B1 (en) * | 1999-02-19 | 2001-11-27 | International Business Machines Corporation | System for controlling movement of data in virtual environment using queued direct input/output device and utilizing finite state machine in main memory with two disjoint sets of states representing host and adapter states |
EP1033654A1 (en) * | 1999-03-01 | 2000-09-06 | Sony International (Europe) GmbH | Buffered communication between entities operating at different data rates |
US6671742B1 (en) * | 1999-06-15 | 2003-12-30 | At&T Corp. | Method and apparatus for unifield control and data event exchange in a software system |
US7634453B1 (en) | 1999-08-13 | 2009-12-15 | Storage Technology Corporation | Distributed file data location |
US7013465B1 (en) * | 1999-08-17 | 2006-03-14 | Emc Corporation | System, device and method for interprocessor communication in a computer system |
WO2001016740A2 (en) * | 1999-08-31 | 2001-03-08 | Times N Systems, Inc. | Efficient event waiting |
US6631431B1 (en) * | 1999-09-15 | 2003-10-07 | Koninklijke Philips Electronics N.V. | Semaphore coding method to ensure data integrity in a can microcontroller and a can microcontroller that implements this method |
US7152231B1 (en) * | 1999-11-01 | 2006-12-19 | Harris-Exigent, Inc. | High speed interprocess communication |
CN1211737C (zh) | 1999-12-30 | 2005-07-20 | 皇家菲利浦电子有限公司 | 多任务处理软件体系结构 |
US7155667B1 (en) | 2000-06-21 | 2006-12-26 | Microsoft Corporation | User interface for integrated spreadsheets and word processing tables |
US7000230B1 (en) | 2000-06-21 | 2006-02-14 | Microsoft Corporation | Network-based software extensions |
US6874143B1 (en) | 2000-06-21 | 2005-03-29 | Microsoft Corporation | Architectures for and methods of providing network-based software extensions |
US7117435B1 (en) | 2000-06-21 | 2006-10-03 | Microsoft Corporation | Spreadsheet fields in text |
US7624356B1 (en) | 2000-06-21 | 2009-11-24 | Microsoft Corporation | Task-sensitive methods and systems for displaying command sets |
US7346848B1 (en) | 2000-06-21 | 2008-03-18 | Microsoft Corporation | Single window navigation methods and systems |
EP1325427A2 (en) | 2000-06-21 | 2003-07-09 | Microsoft Corporation | System and method for integrating spreadsheets and word processing tables |
US6883168B1 (en) | 2000-06-21 | 2005-04-19 | Microsoft Corporation | Methods, systems, architectures and data structures for delivering software via a network |
US7191394B1 (en) | 2000-06-21 | 2007-03-13 | Microsoft Corporation | Authoring arbitrary XML documents using DHTML and XSLT |
US6948135B1 (en) | 2000-06-21 | 2005-09-20 | Microsoft Corporation | Method and systems of providing information to computer users |
US6799317B1 (en) | 2000-06-27 | 2004-09-28 | International Business Machines Corporation | Interrupt mechanism for shared memory message passing |
US6792604B1 (en) * | 2000-09-29 | 2004-09-14 | International Business Machines Corporation | Interprocess communication mechanism |
US6954933B2 (en) * | 2000-10-30 | 2005-10-11 | Microsoft Corporation | Method and apparatus for providing and integrating high-performance message queues in a user interface environment |
US6985951B2 (en) * | 2001-03-08 | 2006-01-10 | International Business Machines Corporation | Inter-partition message passing method, system and program product for managing workload in a partitioned processing environment |
US7089558B2 (en) | 2001-03-08 | 2006-08-08 | International Business Machines Corporation | Inter-partition message passing method, system and program product for throughput measurement in a partitioned processing environment |
US20020129172A1 (en) * | 2001-03-08 | 2002-09-12 | International Business Machines Corporation | Inter-partition message passing method, system and program product for a shared I/O driver |
US6971001B1 (en) * | 2001-05-17 | 2005-11-29 | Accenture Global Services Gmbh | General and reusable components for defining net-centric application program architectures |
US7152232B2 (en) * | 2001-07-16 | 2006-12-19 | Sun Microsystems, Inc. | Hardware message buffer for supporting inter-processor communication |
US6859866B2 (en) * | 2001-10-01 | 2005-02-22 | International Business Machines Corporation | Synchronizing processing of commands invoked against duplexed coupling facility structures |
US6954817B2 (en) * | 2001-10-01 | 2005-10-11 | International Business Machines Corporation | Providing at least one peer connection between a plurality of coupling facilities to couple the plurality of coupling facilities |
US6944787B2 (en) * | 2001-10-01 | 2005-09-13 | International Business Machines Corporation | System-managed duplexing of coupling facility structures |
US6910158B2 (en) * | 2001-10-01 | 2005-06-21 | International Business Machines Corporation | Test tool and methods for facilitating testing of duplexed computer functions |
US6813726B2 (en) | 2001-10-01 | 2004-11-02 | International Business Machines Corporation | Restarting a coupling facility command using a token from another coupling facility command |
US7099935B2 (en) * | 2001-10-01 | 2006-08-29 | International Business Machines Corporation | Dynamically determining whether to process requests synchronously or asynchronously |
US20030101291A1 (en) * | 2001-11-23 | 2003-05-29 | Mussack Christopher Joseph | Application programming interface for provision of DICOM services |
TW573254B (en) * | 2002-01-07 | 2004-01-21 | Via Tech Inc | Message transmission queue and operation method thereof |
US7703077B2 (en) * | 2002-04-30 | 2010-04-20 | Microsoft Corporation | Programming model to detect deadlocks in concurrent programs |
DE60304468T2 (de) * | 2002-06-07 | 2007-03-15 | Koninklijke Philips Electronics N.V. | Spacecake coprozessor kommunikation |
US7370066B1 (en) | 2003-03-24 | 2008-05-06 | Microsoft Corporation | System and method for offline editing of data files |
US7275216B2 (en) | 2003-03-24 | 2007-09-25 | Microsoft Corporation | System and method for designing electronic forms and hierarchical schemas |
US7415672B1 (en) | 2003-03-24 | 2008-08-19 | Microsoft Corporation | System and method for designing electronic forms |
US7296017B2 (en) | 2003-03-28 | 2007-11-13 | Microsoft Corporation | Validation of XML data files |
US7913159B2 (en) | 2003-03-28 | 2011-03-22 | Microsoft Corporation | System and method for real-time validation of structured data files |
US7516145B2 (en) | 2003-03-31 | 2009-04-07 | Microsoft Corporation | System and method for incrementally transforming and rendering hierarchical data files |
US7168035B1 (en) | 2003-06-11 | 2007-01-23 | Microsoft Corporation | Building a view on markup language data through a set of components |
US7451392B1 (en) | 2003-06-30 | 2008-11-11 | Microsoft Corporation | Rendering an HTML electronic form by applying XSLT to XML using a solution |
US7197515B2 (en) | 2003-06-30 | 2007-03-27 | Microsoft Corporation | Declarative solution definition |
US7406660B1 (en) | 2003-08-01 | 2008-07-29 | Microsoft Corporation | Mapping between structured data and a visual surface |
US7581177B1 (en) | 2003-08-01 | 2009-08-25 | Microsoft Corporation | Conversion of structured documents |
US7334187B1 (en) | 2003-08-06 | 2008-02-19 | Microsoft Corporation | Electronic form aggregation |
US8819072B1 (en) | 2004-02-02 | 2014-08-26 | Microsoft Corporation | Promoting data from structured data files |
US7797669B1 (en) | 2004-02-13 | 2010-09-14 | Microsoft Corporation | Analysis of distributed software systems via specification substitution |
US7430711B2 (en) | 2004-02-17 | 2008-09-30 | Microsoft Corporation | Systems and methods for editing XML documents |
US7318063B2 (en) | 2004-02-19 | 2008-01-08 | Microsoft Corporation | Managing XML documents containing hierarchical database information |
US7496837B1 (en) | 2004-04-29 | 2009-02-24 | Microsoft Corporation | Structural editing with schema awareness |
US7568101B1 (en) | 2004-05-13 | 2009-07-28 | Microsoft Corporation | Digital signatures with an embedded view |
US7281018B1 (en) | 2004-05-26 | 2007-10-09 | Microsoft Corporation | Form template data source change |
US7774620B1 (en) | 2004-05-27 | 2010-08-10 | Microsoft Corporation | Executing applications at appropriate trust levels |
US7692636B2 (en) | 2004-09-30 | 2010-04-06 | Microsoft Corporation | Systems and methods for handwriting to a screen |
US7516399B2 (en) | 2004-09-30 | 2009-04-07 | Microsoft Corporation | Structured-document path-language expression methods and systems |
US8487879B2 (en) | 2004-10-29 | 2013-07-16 | Microsoft Corporation | Systems and methods for interacting with a computer through handwriting to a screen |
US7712022B2 (en) | 2004-11-15 | 2010-05-04 | Microsoft Corporation | Mutually exclusive options in electronic forms |
US7584417B2 (en) | 2004-11-15 | 2009-09-01 | Microsoft Corporation | Role-dependent action for an electronic form |
US7509353B2 (en) | 2004-11-16 | 2009-03-24 | Microsoft Corporation | Methods and systems for exchanging and rendering forms |
US7721190B2 (en) | 2004-11-16 | 2010-05-18 | Microsoft Corporation | Methods and systems for server side form processing |
US7904801B2 (en) | 2004-12-15 | 2011-03-08 | Microsoft Corporation | Recursive sections in electronic forms |
US7437376B2 (en) | 2004-12-20 | 2008-10-14 | Microsoft Corporation | Scalable object model |
US7937651B2 (en) | 2005-01-14 | 2011-05-03 | Microsoft Corporation | Structural editing operations for network forms |
US7725834B2 (en) | 2005-03-04 | 2010-05-25 | Microsoft Corporation | Designer-created aspect for an electronic form template |
US8010515B2 (en) | 2005-04-15 | 2011-08-30 | Microsoft Corporation | Query to an electronic form |
US7543228B2 (en) | 2005-06-27 | 2009-06-02 | Microsoft Corporation | Template for rendering an electronic form |
US8200975B2 (en) | 2005-06-29 | 2012-06-12 | Microsoft Corporation | Digital signatures for network forms |
US7613996B2 (en) | 2005-08-15 | 2009-11-03 | Microsoft Corporation | Enabling selection of an inferred schema part |
CN100351799C (zh) * | 2005-09-12 | 2007-11-28 | 浙江大学 | 嵌入式实时操作系统中基于消息对象的任务间通信方法 |
US8001459B2 (en) | 2005-12-05 | 2011-08-16 | Microsoft Corporation | Enabling electronic documents for limited-capability computing devices |
US7779343B2 (en) | 2006-01-30 | 2010-08-17 | Microsoft Corporation | Opening network-enabled electronic documents |
US7949815B2 (en) | 2006-09-27 | 2011-05-24 | Intel Corporation | Virtual heterogeneous channel for message passing |
EP2304567A2 (en) * | 2008-05-20 | 2011-04-06 | Raytheon Company | Method and apparatus for providing a synchronous interface for an asynchronous service |
WO2009143106A1 (en) * | 2008-05-20 | 2009-11-26 | Raytheon Company | System and method for dynamic contact lists |
US8271996B1 (en) * | 2008-09-29 | 2012-09-18 | Emc Corporation | Event queues |
US8726287B2 (en) * | 2010-11-24 | 2014-05-13 | Thomson Licensing | Method for reducing inter-process communication latency |
US10216553B2 (en) * | 2011-06-30 | 2019-02-26 | International Business Machines Corporation | Message oriented middleware with integrated rules engine |
RU2568292C2 (ru) * | 2013-12-27 | 2015-11-20 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ выбора синхронного или асинхронного межпроцессного взаимодействия |
US9925492B2 (en) * | 2014-03-24 | 2018-03-27 | Mellanox Technologies, Ltd. | Remote transactional memory |
US10642780B2 (en) | 2016-03-07 | 2020-05-05 | Mellanox Technologies, Ltd. | Atomic access to object pool over RDMA transport network |
US10552367B2 (en) | 2017-07-26 | 2020-02-04 | Mellanox Technologies, Ltd. | Network data transactions using posted and non-posted operations |
TWI712894B (zh) * | 2019-09-09 | 2020-12-11 | 瑞昱半導體股份有限公司 | 訊息請求方法及其裝置 |
CN112114983B (zh) * | 2020-09-14 | 2022-04-19 | 深圳花儿数据技术有限公司 | 一种基于共享内存的通信方法、装置和设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57152066A (en) * | 1981-03-16 | 1982-09-20 | Tokyo Electric Co Ltd | Opu communication system in multi-opu system |
JPS6254354A (ja) * | 1985-09-03 | 1987-03-10 | Fujitsu Ltd | 計算機間の送受信方式 |
JPH0334051A (ja) * | 1989-06-30 | 1991-02-14 | Tamura Electric Works Ltd | インターフエース制御方式 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4402046A (en) * | 1978-12-21 | 1983-08-30 | Intel Corporation | Interprocessor communication system |
US4325120A (en) * | 1978-12-21 | 1982-04-13 | Intel Corporation | Data processing system |
US4390969A (en) * | 1980-04-21 | 1983-06-28 | Burroughs Corporation | Asynchronous data transmission system with state variable memory and handshaking protocol circuits |
US4379327A (en) * | 1980-07-21 | 1983-04-05 | Motorola, Inc. | Universal interface circuit for synchronous and asynchronous buses |
US4694396A (en) * | 1985-05-06 | 1987-09-15 | Computer X, Inc. | Method of inter-process communication in a distributed data processing system |
EP0260392A3 (en) * | 1986-09-19 | 1992-03-11 | International Business Machines Corporation | An input output interface controller connecting a synchronous bus to an asynchronous bus and methods for performing operations on the buses |
US5086498A (en) * | 1987-01-23 | 1992-02-04 | Hitachi, Ltd. | Parallel computer with asynchronous communication facility |
US5179705A (en) * | 1988-03-23 | 1993-01-12 | Dupont Pixel Systems, Ltd. | Asynchronous arbiter state machine for arbitrating between operating devices requesting access to a shared resource |
US4897779A (en) * | 1988-07-20 | 1990-01-30 | Digital Equipment Corporation | Method and apparatus for optimizing inter-processor instruction transfers |
US5040109A (en) * | 1988-07-20 | 1991-08-13 | Digital Equipment Corporation | Efficient protocol for communicating between asychronous devices |
US5191657A (en) * | 1989-11-09 | 1993-03-02 | Ast Research, Inc. | Microcomputer architecture utilizing an asynchronous bus between microprocessor and industry standard synchronous bus |
US5263150A (en) * | 1990-04-20 | 1993-11-16 | Chai I Fan | Computer system employing asynchronous computer network through common memory |
-
1992
- 1992-09-24 US US07/951,488 patent/US5434975A/en not_active Expired - Fee Related
-
1993
- 1993-09-16 EP EP19930307297 patent/EP0592117A3/en not_active Withdrawn
- 1993-09-21 JP JP5256271A patent/JPH06202883A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57152066A (en) * | 1981-03-16 | 1982-09-20 | Tokyo Electric Co Ltd | Opu communication system in multi-opu system |
JPS6254354A (ja) * | 1985-09-03 | 1987-03-10 | Fujitsu Ltd | 計算機間の送受信方式 |
JPH0334051A (ja) * | 1989-06-30 | 1991-02-14 | Tamura Electric Works Ltd | インターフエース制御方式 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017504887A (ja) * | 2013-12-18 | 2017-02-09 | オラクル・インターナショナル・コーポレイション | コンピューティング環境においてアダプティブビジーウェイトをサポートするためのシステムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
EP0592117A2 (en) | 1994-04-13 |
US5434975A (en) | 1995-07-18 |
EP0592117A3 (en) | 1994-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH06202883A (ja) | プロセス間通信装置及び通信方法 | |
US5282272A (en) | Interrupt distribution scheme for a computer bus | |
US5261109A (en) | Distributed arbitration method and apparatus for a computer bus using arbitration groups | |
KR100268565B1 (ko) | 다중 처리 시스템에서 타스크를 큐잉하기 위한 시스템 및 방법 | |
US6868442B1 (en) | Methods and apparatus for processing administrative requests of a distributed network application executing in a clustered computing environment | |
US5638517A (en) | Method and apparatus for transmitting a message from a computer system over a network adapter to the network by performing format conversion and memory verification | |
JPH06309252A (ja) | 相互接続インタフェース | |
JPH03126158A (ja) | スケジユーリング方法及び装置 | |
US5271020A (en) | Bus stretching protocol for handling invalid data | |
KR19990082226A (ko) | 버스 구조 위에서의 데이터 전달 및 버스 관리를 위한 응용 프로그래밍 인터페이스 | |
JPH0944424A (ja) | 遠隔情報処理システム間のメッセージ伝送方法 | |
US7140015B1 (en) | Microkernel for real time applications | |
EP1302853A2 (en) | Data transfer, synchronising applications, and low latency networks | |
US6052729A (en) | Event-reaction communication protocol in an object oriented processor array | |
JP2501727B2 (ja) | 問題プログラム状態におけるメモリ間通信機能を提供するための方法 | |
JPH10307732A (ja) | メッセージ伝送方法 | |
JP2002518765A (ja) | 通信コントローラメッセージングシステム | |
JP2736237B2 (ja) | 遠隔メモリアクセス制御装置 | |
JPH04291660A (ja) | プロセッサ間通信方法およびそのための並列プロセッサ | |
US20010025324A1 (en) | Data communication method and apparatus, and storage medium storing program for implementing the method and apparatus | |
JP2924783B2 (ja) | リモートリード処理方法およびその装置 | |
Giacomini et al. | Low-level SCI software functional specification | |
JP3176472B2 (ja) | データ転送方式 | |
KR960006472B1 (ko) | TICOM IOP 환경에서 FDDI펌웨어(firmware) 구동방법 | |
Menzilcioglu et al. | Nectar CAB: A high-speed network processor |