JPH05233328A - プロセス間通信処理を行う情報処理システム - Google Patents
プロセス間通信処理を行う情報処理システムInfo
- Publication number
- JPH05233328A JPH05233328A JP3798392A JP3798392A JPH05233328A JP H05233328 A JPH05233328 A JP H05233328A JP 3798392 A JP3798392 A JP 3798392A JP 3798392 A JP3798392 A JP 3798392A JP H05233328 A JPH05233328 A JP H05233328A
- Authority
- JP
- Japan
- Prior art keywords
- page
- data
- reception
- transmission
- address
- 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
- 238000000034 method Methods 0.000 title claims abstract description 92
- 230000006854 communication Effects 0.000 title claims abstract description 49
- 238000004891 communication Methods 0.000 title claims abstract description 47
- 238000012545 processing Methods 0.000 title claims abstract description 25
- 230000005540 biological transmission Effects 0.000 claims abstract description 54
- 230000010365 information processing Effects 0.000 claims abstract description 18
- 230000007334 memory performance Effects 0.000 abstract description 3
- 238000013523 data management Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 244000309464 bull Species 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Abstract
(57)【要約】
【目的】メモリ性能の高速化による通信速度の向上とは
異なる方法によって通信速度を向上させたプロセス間通
信処理を行う情報処理システムを提供することにある。 【構成】21、22は各々プロセス間通信を行なう送信
プロセス、受信プロセスの仮想空間であり、送信プロセ
ス用ペ−ジテ−ブル23、受信プロセス用ペ−ジテ−ブ
ル24を介して、メモリ2の物理ペ−ジにマッピングさ
れる。ここで、送信デ−タエリア29はペ−ジテ−ブル
23のエントリnにより、受信デ−タエリア30はペ−
ジテ−ブル24のエントリmにより、物理メモリに対応
づけられており、ペ−ジテ−ブル23のエントリnと、
ペ−ジテ−ブルのエントリmの内容を入れ替えることに
より、メモリ上のデ−タコピ−を伴わない見かけ上のメ
モリコピ−を実現できる。 【効果】本発明により、メモリ上でのデ−タコピ−を伴
わない、プロセス間通信を実現できる。
異なる方法によって通信速度を向上させたプロセス間通
信処理を行う情報処理システムを提供することにある。 【構成】21、22は各々プロセス間通信を行なう送信
プロセス、受信プロセスの仮想空間であり、送信プロセ
ス用ペ−ジテ−ブル23、受信プロセス用ペ−ジテ−ブ
ル24を介して、メモリ2の物理ペ−ジにマッピングさ
れる。ここで、送信デ−タエリア29はペ−ジテ−ブル
23のエントリnにより、受信デ−タエリア30はペ−
ジテ−ブル24のエントリmにより、物理メモリに対応
づけられており、ペ−ジテ−ブル23のエントリnと、
ペ−ジテ−ブルのエントリmの内容を入れ替えることに
より、メモリ上のデ−タコピ−を伴わない見かけ上のメ
モリコピ−を実現できる。 【効果】本発明により、メモリ上でのデ−タコピ−を伴
わない、プロセス間通信を実現できる。
Description
【0001】
【産業上の利用分野】本発明は、オペレ−ティングシス
テム上で動作する複数のプロセス(タスクとも呼ばれ
る)間のプロセス間通信処理を行う情報処理システムに
係り、特に、高速なプロセス間通信処理を行う情報処理
システムに関する。
テム上で動作する複数のプロセス(タスクとも呼ばれ
る)間のプロセス間通信処理を行う情報処理システムに
係り、特に、高速なプロセス間通信処理を行う情報処理
システムに関する。
【0002】
【従来の技術】従来の、オペレ−ティングシステム上で
動作する複数のプロセス間のプロセス間通信処理を行う
情報処理システムとしては、Addison-Wesley Publishin
g Company社出版 ”The Design and Implementation of
the 4.3BSD UNIX Operating System ”(ISBN 0-201-06
196-1)のP279からP310に記載されているよう
に、送信プロセスから受信プロセスにデ−タを送信する
場合に、送信プロセスと受信プロセスが同一CPU上で
動作する場合にも、送信プロセスからオペレ−ティング
システムへのデ−タコピ−、および、オペレ−ティング
システムから受信プロセスへのデ−タコピ−と、最低2
回の送受信デ−タのメモリ上のコピ−を行なっていた。
動作する複数のプロセス間のプロセス間通信処理を行う
情報処理システムとしては、Addison-Wesley Publishin
g Company社出版 ”The Design and Implementation of
the 4.3BSD UNIX Operating System ”(ISBN 0-201-06
196-1)のP279からP310に記載されているよう
に、送信プロセスから受信プロセスにデ−タを送信する
場合に、送信プロセスと受信プロセスが同一CPU上で
動作する場合にも、送信プロセスからオペレ−ティング
システムへのデ−タコピ−、および、オペレ−ティング
システムから受信プロセスへのデ−タコピ−と、最低2
回の送受信デ−タのメモリ上のコピ−を行なっていた。
【0003】この内容を図2を用い簡単に説明する。図
2において、CPU 1上では、送信プロセス3、受信
プロセス4、および、オペレ−ティングシステム(O
S)5が動作する。また、メモリ2上には、送信プロセ
スの送信デ−タ8、及び、受信プロセスの受信デ−タエ
リア9、および、OS 5が管理する受信デ−タキュ−
10が配置されている。受信デ−タキュ−10は、送信
プロセスと受信プロセスが非同期に動作可能とするため
に設けられており、受信キュ−リストヘッダ11にたい
して、デ−タが送られた順に、受信デ−タ12、13が
接続される。この構成で、送信プロセス3が OSのsen
dル−チン6をコ−ルした場合には、送信デ−タ8は、
矢印15のように受信デ−タキュ−10にコピ−され、
さらに、受信プロセス4が receiveル−チンをコ−ルし
た場合には、矢印16のように受信デ−タキュ−10か
ら、受信デ−タエリア9にコピ−されるというように、
同一CPU上で送信プロセス、受信プロセスが動作する
場合にも合計2回のメモリコピ−が必要であった。
2において、CPU 1上では、送信プロセス3、受信
プロセス4、および、オペレ−ティングシステム(O
S)5が動作する。また、メモリ2上には、送信プロセ
スの送信デ−タ8、及び、受信プロセスの受信デ−タエ
リア9、および、OS 5が管理する受信デ−タキュ−
10が配置されている。受信デ−タキュ−10は、送信
プロセスと受信プロセスが非同期に動作可能とするため
に設けられており、受信キュ−リストヘッダ11にたい
して、デ−タが送られた順に、受信デ−タ12、13が
接続される。この構成で、送信プロセス3が OSのsen
dル−チン6をコ−ルした場合には、送信デ−タ8は、
矢印15のように受信デ−タキュ−10にコピ−され、
さらに、受信プロセス4が receiveル−チンをコ−ルし
た場合には、矢印16のように受信デ−タキュ−10か
ら、受信デ−タエリア9にコピ−されるというように、
同一CPU上で送信プロセス、受信プロセスが動作する
場合にも合計2回のメモリコピ−が必要であった。
【0004】他の従来技術として、特開平2−2910
35号公報に記載されたものが有るが、これは、画像デ
ータを処理する装置において、仮想記憶方式が使われて
いなったので仮想記憶方式を採用したというものであ
り、仮想記憶方式としては、従来技術をそのまま用いて
おり、新しい適用対象を発明したというものである。従
って、本発明のような、仮想記憶方式の使用は従来技術
であるとして、これに対する新たな改良を提示するもの
とは異なる。
35号公報に記載されたものが有るが、これは、画像デ
ータを処理する装置において、仮想記憶方式が使われて
いなったので仮想記憶方式を採用したというものであ
り、仮想記憶方式としては、従来技術をそのまま用いて
おり、新しい適用対象を発明したというものである。従
って、本発明のような、仮想記憶方式の使用は従来技術
であるとして、これに対する新たな改良を提示するもの
とは異なる。
【0005】
【発明が解決しようとする課題】従来のプロセス間通信
処理を行う情報処理システムでは、同一CPU上で動作
する送信プロセスから受信プロセスへの通信に2回のメ
モリ上のコピ−を必要とし、CPU性能が向上しても、
メモリ上のコピ−に要する時間がネックとなり、同一C
PU内におけるプロセス間通信の性能が向上しないとい
う問題点があった。
処理を行う情報処理システムでは、同一CPU上で動作
する送信プロセスから受信プロセスへの通信に2回のメ
モリ上のコピ−を必要とし、CPU性能が向上しても、
メモリ上のコピ−に要する時間がネックとなり、同一C
PU内におけるプロセス間通信の性能が向上しないとい
う問題点があった。
【0006】本発明の目的は、メモリ性能の高速化によ
る通信速度の向上とは異なる方法によって通信速度を向
上させたプロセス間通信処理を行う情報処理システムを
提供することにある。
る通信速度の向上とは異なる方法によって通信速度を向
上させたプロセス間通信処理を行う情報処理システムを
提供することにある。
【0007】
【課題を解決するための手段】本発明では、オペレ−テ
ィングシステムにより管理され、データのアドレスのう
ちのページ番号とページ番号に対応したページアドレス
とを格納するエントリを有するペ−ジテ−ブルを用いた
仮想記憶を有し、複数のプロセス間のプロセス間通信処
理を行う情報処理システムにおいて、仮想空間上に、送
信側のプロセスが送信する送信データを格納するページ
と、受信側のプロセスが受信した受信データを格納する
ページと、送信データのページアドレスを、受信データ
を格納するページのページ番号に対応したエントリへ直
接または間接に設定することによりプロセス間通信を行
なう管理手段とを有することとしたものである。
ィングシステムにより管理され、データのアドレスのう
ちのページ番号とページ番号に対応したページアドレス
とを格納するエントリを有するペ−ジテ−ブルを用いた
仮想記憶を有し、複数のプロセス間のプロセス間通信処
理を行う情報処理システムにおいて、仮想空間上に、送
信側のプロセスが送信する送信データを格納するページ
と、受信側のプロセスが受信した受信データを格納する
ページと、送信データのページアドレスを、受信データ
を格納するページのページ番号に対応したエントリへ直
接または間接に設定することによりプロセス間通信を行
なう管理手段とを有することとしたものである。
【0008】
【作用】オペレ−ティングシステムにより管理され、デ
ータのアドレスのうちのページ番号とページ番号に対応
したページアドレスとを格納するエントリを有するペ−
ジテ−ブルを用いた仮想記憶を有し、複数のプロセス間
のプロセス間通信処理を行う情報処理システムにおい
て、仮想空間上に、送信側のプロセスが送信する送信デ
ータを格納するページと、受信側のプロセスが受信した
受信データを格納するページとを有し、管理手段は、送
信データのページアドレスを、受信データを格納するペ
ージのページ番号に対応したエントリへ直接または間接
に設定する。こうして送信データを送信データエリアか
ら受信データエリアへ実際に移すことが不要となる。
ータのアドレスのうちのページ番号とページ番号に対応
したページアドレスとを格納するエントリを有するペ−
ジテ−ブルを用いた仮想記憶を有し、複数のプロセス間
のプロセス間通信処理を行う情報処理システムにおい
て、仮想空間上に、送信側のプロセスが送信する送信デ
ータを格納するページと、受信側のプロセスが受信した
受信データを格納するページとを有し、管理手段は、送
信データのページアドレスを、受信データを格納するペ
ージのページ番号に対応したエントリへ直接または間接
に設定する。こうして送信データを送信データエリアか
ら受信データエリアへ実際に移すことが不要となる。
【0009】
【実施例】本発明の実施例を図1により示す。
【0010】これは、現在の計算機システムで広く用い
られている仮想記憶の利用に着眼し、特に、仮想記憶制
御において仮想アドレスと物理アドレスの対応を記憶す
るペ−ジテ−ブルの内容を変更することにより、メモリ
上のコピ−を不要とする、プロセス間通信処理を行う情
報処理システムを考えたものである。図1でその内容を
説明する図1において、仮想アドレス空間21、22は
各々送信プロセス、受信プロセスに割り当てられた仮想
アドレス空間である。各々の仮想アドレス空間は、例え
ば4KBというように、固定サイズの仮想ペ−ジ1、
2、3等に分割されている。ここで、送信プロセスの仮
想アドレス空間21には、ペ−ジの境界(4KBの境
界)に送信デ−タエリア29を、受信プロセス用の仮想
アドレス空間22には、同じくペ−ジの境界に受信デ−
タエリア30を配置する(この様な配置をページ境界と
呼ぶ)。
られている仮想記憶の利用に着眼し、特に、仮想記憶制
御において仮想アドレスと物理アドレスの対応を記憶す
るペ−ジテ−ブルの内容を変更することにより、メモリ
上のコピ−を不要とする、プロセス間通信処理を行う情
報処理システムを考えたものである。図1でその内容を
説明する図1において、仮想アドレス空間21、22は
各々送信プロセス、受信プロセスに割り当てられた仮想
アドレス空間である。各々の仮想アドレス空間は、例え
ば4KBというように、固定サイズの仮想ペ−ジ1、
2、3等に分割されている。ここで、送信プロセスの仮
想アドレス空間21には、ペ−ジの境界(4KBの境
界)に送信デ−タエリア29を、受信プロセス用の仮想
アドレス空間22には、同じくペ−ジの境界に受信デ−
タエリア30を配置する(この様な配置をページ境界と
呼ぶ)。
【0011】また、仮想空間と同様にメモリ2は、固定
長のペ−ジサイズの物理ペ−ジ1、2、3等に分割さ
れ、送信デ−タエリア、受信デ−タエリアは、ペ−ジテ
−ブル23、24を介して、各々物理ペ−ジ31、32
に対応づけられている。
長のペ−ジサイズの物理ペ−ジ1、2、3等に分割さ
れ、送信デ−タエリア、受信デ−タエリアは、ペ−ジテ
−ブル23、24を介して、各々物理ペ−ジ31、32
に対応づけられている。
【0012】また、ここで、ペ−ジテ−ブル23、24
は、各々送信プロセス、受信プロセスの仮想アドレスと
物理アドレスを対応づける変換テ−ブルであり、仮想ア
ドレス21、22のペ−ジ1、2、3等の物理ペ−ジア
ドレスが、各々、ペ−ジテ−ブル23、24のエントリ
1、2、3等に格納され、仮想アドレスの各仮想ペ−ジ
が、メモリ上のどこに対応しているかを管理している。
は、各々送信プロセス、受信プロセスの仮想アドレスと
物理アドレスを対応づける変換テ−ブルであり、仮想ア
ドレス21、22のペ−ジ1、2、3等の物理ペ−ジア
ドレスが、各々、ペ−ジテ−ブル23、24のエントリ
1、2、3等に格納され、仮想アドレスの各仮想ペ−ジ
が、メモリ上のどこに対応しているかを管理している。
【0013】本構成においてプロセス間通信を行なう場
合に、送信デ−タ29を送信する前の時点で、送信デ−
タエリア、受信デ−タエリアの仮想アドレス、物理アド
レスの対応が25、26であったのを、ペ−ジテ−ブル
23の送信デ−タエリアの物理アドレスを記憶するエン
トリnの内容と、ペ−ジテ−ブル24の受信デ−タエリ
アの物理アドレスを記憶するエントリmの内容とを入れ
替えることにより、送信デ−タエリア、受信デ−タエリ
アの仮想アドレス、物理アドレスの対応を、27、28
のように変更することができ、その結果として、メモリ
2上でのデ−タコピ−を伴わない、見かけ上のデ−タ転
送を実現することができる。
合に、送信デ−タ29を送信する前の時点で、送信デ−
タエリア、受信デ−タエリアの仮想アドレス、物理アド
レスの対応が25、26であったのを、ペ−ジテ−ブル
23の送信デ−タエリアの物理アドレスを記憶するエン
トリnの内容と、ペ−ジテ−ブル24の受信デ−タエリ
アの物理アドレスを記憶するエントリmの内容とを入れ
替えることにより、送信デ−タエリア、受信デ−タエリ
アの仮想アドレス、物理アドレスの対応を、27、28
のように変更することができ、その結果として、メモリ
2上でのデ−タコピ−を伴わない、見かけ上のデ−タ転
送を実現することができる。
【0014】以上のように受信デ−タエリアと、送信デ
−タエリアのペ−ジテ−ブルのエントリを入れ替えるこ
とにより、メモリ上でのデ−タコピ−を伴わないプロセ
ス間通信を実現することができ、メモリのコピ−オ−バ
ヘッドに依存しないプロセス間通信処理を行う情報処理
システムを実現することができる。
−タエリアのペ−ジテ−ブルのエントリを入れ替えるこ
とにより、メモリ上でのデ−タコピ−を伴わないプロセ
ス間通信を実現することができ、メモリのコピ−オ−バ
ヘッドに依存しないプロセス間通信処理を行う情報処理
システムを実現することができる。
【0015】本発明の実施例の詳細を図3以降に示す。
【0016】図3は、実施例の構成図である。システム
バス43を介して、CPU1,メモリ2、仮想記憶制御
においてメモリが足りなくなったときに、メモリ上の物
理ペ−ジを退避するディスク装置44が接続される。メ
モリ2上には、送信プロセス3、受信プロセス4、OS
(管理手段)5が配置され、送信プロセス3内には、送
信デ−タエリア8が、受信プロセス内には、受信デ−タ
エリア9が、各々配置される。OS5内には、sendル−
チン6、receiveル−チン7等を含む通信ドライバ42、
及び、通信ドライバ42が管理し、受信デ−タを格納す
る受信デ−タキュ−10が配置される。また、メモリ2
の物理ペ−ジのサイズは4KByteであり、メモリ2
上には、プロセス3、4のペ−ジテ−ブル23、24が
配置され、CPU1内のアドレス変換機構41がペ−ジ
テ−ブル23、24を参照し、4KByte単位に仮想
アドレスから物理アドレスへの変換を行なう。
バス43を介して、CPU1,メモリ2、仮想記憶制御
においてメモリが足りなくなったときに、メモリ上の物
理ペ−ジを退避するディスク装置44が接続される。メ
モリ2上には、送信プロセス3、受信プロセス4、OS
(管理手段)5が配置され、送信プロセス3内には、送
信デ−タエリア8が、受信プロセス内には、受信デ−タ
エリア9が、各々配置される。OS5内には、sendル−
チン6、receiveル−チン7等を含む通信ドライバ42、
及び、通信ドライバ42が管理し、受信デ−タを格納す
る受信デ−タキュ−10が配置される。また、メモリ2
の物理ペ−ジのサイズは4KByteであり、メモリ2
上には、プロセス3、4のペ−ジテ−ブル23、24が
配置され、CPU1内のアドレス変換機構41がペ−ジ
テ−ブル23、24を参照し、4KByte単位に仮想
アドレスから物理アドレスへの変換を行なう。
【0017】図4に、受信デ−タキュ−10の詳細を示
す。受信デ−タキュ−10は、受信デ−タ格納エリア5
6、受信デ−タの到着順序を管理する受信デ−タキュ−
ヘッダ51、受信デ−タ管理テ−ブル53、54、5
5、及び、受信デ−タ格納エリア56の空き状態を管理
する空きペ−ジリストヘッダ57、空きペ−ジ管理テ−
ブル58,59から構成される。受信デ−タ格納エリア
56は4KByteのペ−ジ60〜64より構成され、
各ペ−ジは全てペ−ジ境界に配置する。また、本図の状
態では、受信デ−タ1、2、3は、それぞれ、ペ−ジ6
0、62、64に格納され、ペ−ジ61、63は、空き
ペ−ジとなっている。受信デ−タ管理テ−ブル53、5
4、55は各々、受信デ−タ60、62、64を管理す
る管理テ−ブルであり、各管理テ−ブルには、各受信デ
−タの格納アドレスと、受信デ−タのサイズ(Byte
数)が記憶される。また、受信デ−タ管理テ−ブル53
〜55は、デ−タ到着順にリストで接続され、受信デ−
タキュ−ヘッダ51内の、topフィ−ルド52で最初に到
着した受信デ−タに対応する受信デ−タ管理テ−ブル5
3を,lastフィ−ルド51で最後に到着した受信デ−タ
に対応する受信デ−タ管理テ−ブル55を管理する。空
きリスト管理テ−ブル58、59は空きペ−ジ61、6
3のアドレスを管理し、空きペ−ジリストヘッダ57の
empフィ−ルドから、リストにより接続される。
す。受信デ−タキュ−10は、受信デ−タ格納エリア5
6、受信デ−タの到着順序を管理する受信デ−タキュ−
ヘッダ51、受信デ−タ管理テ−ブル53、54、5
5、及び、受信デ−タ格納エリア56の空き状態を管理
する空きペ−ジリストヘッダ57、空きペ−ジ管理テ−
ブル58,59から構成される。受信デ−タ格納エリア
56は4KByteのペ−ジ60〜64より構成され、
各ペ−ジは全てペ−ジ境界に配置する。また、本図の状
態では、受信デ−タ1、2、3は、それぞれ、ペ−ジ6
0、62、64に格納され、ペ−ジ61、63は、空き
ペ−ジとなっている。受信デ−タ管理テ−ブル53、5
4、55は各々、受信デ−タ60、62、64を管理す
る管理テ−ブルであり、各管理テ−ブルには、各受信デ
−タの格納アドレスと、受信デ−タのサイズ(Byte
数)が記憶される。また、受信デ−タ管理テ−ブル53
〜55は、デ−タ到着順にリストで接続され、受信デ−
タキュ−ヘッダ51内の、topフィ−ルド52で最初に到
着した受信デ−タに対応する受信デ−タ管理テ−ブル5
3を,lastフィ−ルド51で最後に到着した受信デ−タ
に対応する受信デ−タ管理テ−ブル55を管理する。空
きリスト管理テ−ブル58、59は空きペ−ジ61、6
3のアドレスを管理し、空きペ−ジリストヘッダ57の
empフィ−ルドから、リストにより接続される。
【0018】図5に、以上で説明した構成において、ペ
−ジテ−ブルの変更によりプロセス間通信を行なった場
合に、仮想アドレスと物理アドレスの対応関係が、どの
ように変更されるかの、流れを示す。
−ジテ−ブルの変更によりプロセス間通信を行なった場
合に、仮想アドレスと物理アドレスの対応関係が、どの
ように変更されるかの、流れを示す。
【0019】図5(a)は送信プロセスが送信デ−タC
を送信するためにsendル−チンをコ−ルする直前の、仮
想アドレスと物理アドレスの対応関係を表し、3は送信
プロセスの仮想アドレス空間、4は受信プロセスの仮想
アドレス空間、42は通信ドライバの仮想アドレス空
間、2はメモリの物理アドレス空間を示す。また、対応
75〜81はペ−ジテ−ブルで管理されている仮想空間
上のペ−ジと物理ペ−ジとの対応関係を示し、送信プロ
セス3の送信デ−タC91は対応75により物理ペ−ジ
101に対応づけられ、受信プロセス4の、受信デ−タ
エリア92は対応76により、物理ペ−ジ102に対応
づけられている。また、通信ドライバ42の受信デ−タ
エリア56の各仮想ペ−ジ93〜97は、77〜81の
対応で物理ペ−ジ103〜107に対応づけられてい
る。さらに、本図は、既にデ−タA、Bが送信プロセス
により送られている状態を示し、かつ、受信デ−タキュ
−ヘッダのtopフィ−ルド52から始まる受信キュ−リ
スト110から送信順に接続されている。
を送信するためにsendル−チンをコ−ルする直前の、仮
想アドレスと物理アドレスの対応関係を表し、3は送信
プロセスの仮想アドレス空間、4は受信プロセスの仮想
アドレス空間、42は通信ドライバの仮想アドレス空
間、2はメモリの物理アドレス空間を示す。また、対応
75〜81はペ−ジテ−ブルで管理されている仮想空間
上のペ−ジと物理ペ−ジとの対応関係を示し、送信プロ
セス3の送信デ−タC91は対応75により物理ペ−ジ
101に対応づけられ、受信プロセス4の、受信デ−タ
エリア92は対応76により、物理ペ−ジ102に対応
づけられている。また、通信ドライバ42の受信デ−タ
エリア56の各仮想ペ−ジ93〜97は、77〜81の
対応で物理ペ−ジ103〜107に対応づけられてい
る。さらに、本図は、既にデ−タA、Bが送信プロセス
により送られている状態を示し、かつ、受信デ−タキュ
−ヘッダのtopフィ−ルド52から始まる受信キュ−リ
スト110から送信順に接続されている。
【0020】次に、図5(a)の状態において、送信プ
ロセスがデ−タCを送信するためにsendル−チンをコ−
ルした直後の、仮想アドレスと物理アドレスの対応を図
5(b)に示す。まず、通信ドライバのsendル−チンの
処理において、受信デ−タエリア56のなかから、空き
ペ−ジを捜し、空きペ−ジ94を確保する。次に、send
ル−チンをコ−ルする直前では、ペ−ジテ−ブルが図
(a)75、78の対応であったのを、ペ−ジテ−ブル
の内容を入れ替えることにより、図(b)の71、72
の対応に変更する。最後に、受信キュ−リスト110を
111のように変更し、送信デ−タC94を受信キュ−
リスト110に接続する。以上の処理により、送信デ−
タCを、実際のメモリ上でのデ−タコピ−を行なわず
に、受信キュ−エリア56に格納することができる。
ロセスがデ−タCを送信するためにsendル−チンをコ−
ルした直後の、仮想アドレスと物理アドレスの対応を図
5(b)に示す。まず、通信ドライバのsendル−チンの
処理において、受信デ−タエリア56のなかから、空き
ペ−ジを捜し、空きペ−ジ94を確保する。次に、send
ル−チンをコ−ルする直前では、ペ−ジテ−ブルが図
(a)75、78の対応であったのを、ペ−ジテ−ブル
の内容を入れ替えることにより、図(b)の71、72
の対応に変更する。最後に、受信キュ−リスト110を
111のように変更し、送信デ−タC94を受信キュ−
リスト110に接続する。以上の処理により、送信デ−
タCを、実際のメモリ上でのデ−タコピ−を行なわず
に、受信キュ−エリア56に格納することができる。
【0021】図5(c)は、図5(b)の状態で、受信
プロセスがデ−タAを受信するためにreceiveル−チン
をコ−ルした直後の、仮想アドレスと物理アドレスの対
応を示した図である。通信ドライバのreceiveル−チン
の処理において、まず、図5(b)の受信デ−タリスト
111を参照し、送信プロセスにより最初に送信された
デ−タA93を見つける。次に、receiveル−チンをコ
−ルする直前では、図(b)において、ペ−ジテ−ブル
が76、77の対応であったのを、ペ−ジテ−ブルの内
容を入れ替えることにより、図5(c)の73、74の
対応に変更する。最後に、受信キュ−リスト111を1
12のように変更し、デ−タC94を受信キュ−リスト
110に接続し、デ−タA94を受信キュ−リスト11
0から、削除する。以上の処理により、デ−タAを、実
際のメモリ上のコピ−を行なわずに、受信エリア92に
格納することができる。
プロセスがデ−タAを受信するためにreceiveル−チン
をコ−ルした直後の、仮想アドレスと物理アドレスの対
応を示した図である。通信ドライバのreceiveル−チン
の処理において、まず、図5(b)の受信デ−タリスト
111を参照し、送信プロセスにより最初に送信された
デ−タA93を見つける。次に、receiveル−チンをコ
−ルする直前では、図(b)において、ペ−ジテ−ブル
が76、77の対応であったのを、ペ−ジテ−ブルの内
容を入れ替えることにより、図5(c)の73、74の
対応に変更する。最後に、受信キュ−リスト111を1
12のように変更し、デ−タC94を受信キュ−リスト
110に接続し、デ−タA94を受信キュ−リスト11
0から、削除する。以上の処理により、デ−タAを、実
際のメモリ上のコピ−を行なわずに、受信エリア92に
格納することができる。
【0022】図6にsendル−チンのフロ−チャ−ト
を示す。601で受信デ−タエリアに空きペ−ジがある
かを判定し、空きがない場合には、602で空きペ−ジ
ができるのを待つ。空きペ−ジがある場合には、603
で空きペ−ジリストより、先頭アドレスが addrEの空き
ぺ−ジEを1ペ−ジ確保し、604で、受信デ−タ管理
テ−ブルを1個作成、受信デ−タ管理テ−ブルのアドレ
スフィ−ルドに addrEを、サイズフィ−ルドに送信デ−
タ長を設定する。605で、作成した受信デ−タ管理テ
−ブルを、受信キュ−リストの最後に挿入し、606
で、送信デ−タのペ−ジSと、603で確保した空きペ
−ジEの仮想アドレスと物理アドレスの対応関係をペ−
ジテ−ブルの内容の変更により入れ替える。最後に、6
07で受信デ−タを待っている受信プロセスに対し、受
信デ−タの到着を知らせる。
を示す。601で受信デ−タエリアに空きペ−ジがある
かを判定し、空きがない場合には、602で空きペ−ジ
ができるのを待つ。空きペ−ジがある場合には、603
で空きペ−ジリストより、先頭アドレスが addrEの空き
ぺ−ジEを1ペ−ジ確保し、604で、受信デ−タ管理
テ−ブルを1個作成、受信デ−タ管理テ−ブルのアドレ
スフィ−ルドに addrEを、サイズフィ−ルドに送信デ−
タ長を設定する。605で、作成した受信デ−タ管理テ
−ブルを、受信キュ−リストの最後に挿入し、606
で、送信デ−タのペ−ジSと、603で確保した空きペ
−ジEの仮想アドレスと物理アドレスの対応関係をペ−
ジテ−ブルの内容の変更により入れ替える。最後に、6
07で受信デ−タを待っている受信プロセスに対し、受
信デ−タの到着を知らせる。
【0023】図7に receiveル−チンのフロ−チャ−ト
を示す。701で受信デ−タがあるかを判定し、受信デ
−タがない場合には、702で受信デ−タができるのを
待つ。受信デ−タがある場合には、703で受信キュ−
の先頭から、先頭アドレスがaddrAのデ−タAを取りだ
し、704で、受信プロセスの受信デ−タエリアのペ−
ジRと、703で取りだしたデ−タAの、仮想アドレス
と物理アドレスの対応関係をペ−ジテ−ブルの内容の変
更により入れ替える。705で addrAのペ−ジを受信キ
ュ−よりはずし、空きペ−ジリストに挿入する。最後
に、空きペ−ジを待っている送信プロセスに対し、空き
ペ−ジができたことを知らせる。
を示す。701で受信デ−タがあるかを判定し、受信デ
−タがない場合には、702で受信デ−タができるのを
待つ。受信デ−タがある場合には、703で受信キュ−
の先頭から、先頭アドレスがaddrAのデ−タAを取りだ
し、704で、受信プロセスの受信デ−タエリアのペ−
ジRと、703で取りだしたデ−タAの、仮想アドレス
と物理アドレスの対応関係をペ−ジテ−ブルの内容の変
更により入れ替える。705で addrAのペ−ジを受信キ
ュ−よりはずし、空きペ−ジリストに挿入する。最後
に、空きペ−ジを待っている送信プロセスに対し、空き
ペ−ジができたことを知らせる。
【0024】以上で実施例の説明を終わる。本実施例で
は、説明を簡略化するために、図4において、受信デ−
タが受信デ−タエリア56の4KByteのペ−ジ境界
をまたがない場合についてのみ説明したが、受信デ−タ
が4kByte以上で複数ペ−ジにまたがる場合も、基
本的には、ペ−ジテ−ブルの変更を複数ペ−ジに対して
行なえばよく、処理は容易に類推可能である。
は、説明を簡略化するために、図4において、受信デ−
タが受信デ−タエリア56の4KByteのペ−ジ境界
をまたがない場合についてのみ説明したが、受信デ−タ
が4kByte以上で複数ペ−ジにまたがる場合も、基
本的には、ペ−ジテ−ブルの変更を複数ペ−ジに対して
行なえばよく、処理は容易に類推可能である。
【0025】また、本実施例では、送信プロセスの送信
デ−タエリア、及び、受信プロセスの受信デ−タエリア
は、ペ−ジ境界に配置されているという前提で説明を行
なったが、一般のプロセス間通信では、アプリケ−ショ
ンサイドの都合で必ずしも、送受信エリアをペ−ジ境界
に配置できるとは限らない。このような環境では、図
6、図7のフロ−チャ−トにおいて、送信デ−タエリ
ア、および、受信デ−タエリアの先頭アドレスがペ−ジ
境界で、かつ、送信デ−タ長、及び、受信デ−タエリア
の長さが、ペ−ジサイズの整数倍の場合のみ、本実施例
で説明したペ−ジテ−ブルの変更によるプロセス間通信
処理をおこない、他の条件では、従来通り、メモリ上で
のコピ−を行なう処理も、容易に作成可能である。
デ−タエリア、及び、受信プロセスの受信デ−タエリア
は、ペ−ジ境界に配置されているという前提で説明を行
なったが、一般のプロセス間通信では、アプリケ−ショ
ンサイドの都合で必ずしも、送受信エリアをペ−ジ境界
に配置できるとは限らない。このような環境では、図
6、図7のフロ−チャ−トにおいて、送信デ−タエリ
ア、および、受信デ−タエリアの先頭アドレスがペ−ジ
境界で、かつ、送信デ−タ長、及び、受信デ−タエリア
の長さが、ペ−ジサイズの整数倍の場合のみ、本実施例
で説明したペ−ジテ−ブルの変更によるプロセス間通信
処理をおこない、他の条件では、従来通り、メモリ上で
のコピ−を行なう処理も、容易に作成可能である。
【0026】さらに、CPUに接続されるディスプレイ
に図形を表示する図形表示処理において、図形表示を行
なうプロセスと、アプリケ−ションプロセスとを分離
し、アプリケ−ションプロセスから、図形表示プロセス
に対し、図形表示デ−タをプロセス間通信を用いて送信
する形態が、最近増加してきているが、この、アプリケ
−ションプロセス、図形表示プロセス間のプロセス間通
信処理にも、本発明は容易に適用可能である。
に図形を表示する図形表示処理において、図形表示を行
なうプロセスと、アプリケ−ションプロセスとを分離
し、アプリケ−ションプロセスから、図形表示プロセス
に対し、図形表示デ−タをプロセス間通信を用いて送信
する形態が、最近増加してきているが、この、アプリケ
−ションプロセス、図形表示プロセス間のプロセス間通
信処理にも、本発明は容易に適用可能である。
【0027】本発明により、同一CPU上でのメモリ上
でのプロセス間通信において、デ−タコピ−を伴わず、
かつ、メモリの性能に依存しないプロセス間通信を可能
とすることができる。
でのプロセス間通信において、デ−タコピ−を伴わず、
かつ、メモリの性能に依存しないプロセス間通信を可能
とすることができる。
【0028】
【発明の効果】以上のように、本発明によれば、メモリ
性能の高速化による通信速度の向上とは異なる方法によ
って通信速度を向上させたプロセス間通信処理を行う情
報処理システムを提供できる。
性能の高速化による通信速度の向上とは異なる方法によ
って通信速度を向上させたプロセス間通信処理を行う情
報処理システムを提供できる。
【図1】ペ−ジテ−ブル変更によるプロセス間通信の方
法を示す説明図。
法を示す説明図。
【図2】従来技術によるプロセス間通信の方法を示す説
明図。
明図。
【図3】情報処理システムの実施例の構成図。
【図4】実施例の受信デ−タキュ−エリアの構成図。
【図5】実施例のプロセス間通信における、仮想アドレ
ス、物理アドレスの対応関係の流れの説明図。
ス、物理アドレスの対応関係の流れの説明図。
【図6】sendル−チンのフロ−チャ−ト。
【図7】receiveル−チンのフロ−チャ−ト。
1…CPU,2…メモリ,3…送信プロセス,4…受信
プロセス,5…OS,6…sendル−チン,7…re
ceiveル−チン,8…送信デ−タエリア,9…受信
デ−タエリア,10…受信デ−タキュ−エリア,51…
受信デ−タキュ−ヘッダ,53〜55…受信デ−タ管理
テ−ブル,56…受信デ−タ格納エリア,58〜59…
空きペ−ジ管理テ−ブル,57…空きペ−ジリストヘッ
ダ,71〜81…仮想アドレスと物理ペ−ジとの対応関
係,91…送信デ−タエリアの仮想アドレス,92…受
信デ−タエリアの仮想アドレス,93〜97…受信デ−
タ格納エリアの仮想アドレス,101〜107…物理ペ
−ジ。
プロセス,5…OS,6…sendル−チン,7…re
ceiveル−チン,8…送信デ−タエリア,9…受信
デ−タエリア,10…受信デ−タキュ−エリア,51…
受信デ−タキュ−ヘッダ,53〜55…受信デ−タ管理
テ−ブル,56…受信デ−タ格納エリア,58〜59…
空きペ−ジ管理テ−ブル,57…空きペ−ジリストヘッ
ダ,71〜81…仮想アドレスと物理ペ−ジとの対応関
係,91…送信デ−タエリアの仮想アドレス,92…受
信デ−タエリアの仮想アドレス,93〜97…受信デ−
タ格納エリアの仮想アドレス,101〜107…物理ペ
−ジ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 小林 朗 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内
Claims (4)
- 【請求項1】オペレ−ティングシステムにより管理さ
れ、データのアドレスのうちのページ番号とページ番号
に対応したページアドレスとを格納するエントリを有す
るペ−ジテ−ブルを用いた仮想記憶を有し、複数のプロ
セス間のプロセス間通信処理を行う情報処理システムに
おいて、 仮想空間上に、送信側のプロセスが送信する送信データ
を格納するページと、 受信側のプロセスが受信した受信データを格納するペー
ジと、 送信データのページアドレスを、受信データを格納する
ページのページ番号に対応したエントリへ直接または間
接に設定することによりプロセス間通信を行なう管理手
段とを有することを特徴とするプロセス間通信処理を行
う情報処理システム - 【請求項2】オペレ−ティングシステムにより管理さ
れ、データのアドレスのうちのページ番号とページ番号
に対応したページアドレスとを格納するエントリを有す
るペ−ジテ−ブルを用いた仮想記憶を有し、複数のプロ
セス間のプロセス間通信処理を行う情報処理システムに
おいて、 仮想空間上に、送信側のプロセスが送信する送信データ
を格納するページと、 受信側のプロセスが受信した受信データを格納するペー
ジと、 送信データおよび受信データのそれぞれが、他のデータ
と同一ペ−ジに混在していない時に、 送信データのページアドレスを、受信データを格納する
ページのページ番号に対応したエントリへ直接または間
接に設定することによりプロセス間通信を行ない、 他の場合には、送信データを格納するページ内のデータ
を、受信データを格納するページ内にデータ転送を行な
う管理手段とを有することを特徴とするプロセス間通信
処理を行う情報処理システム。 - 【請求項3】オペレ−ティングシステムにより管理さ
れ、データのアドレスのうちのページ番号とページ番号
に対応したページアドレスとを格納するエントリを有す
るペ−ジテ−ブルを用いた仮想記憶を有し、複数のプロ
セス間のプロセス間通信処理を行う情報処理システムに
おいて、 仮想空間上に、送信側のプロセスが送信する送信データ
を格納するページと、 受信側のプロセスが受信した受信データを格納するペー
ジと、 送信データが格納されたエリアおよび受信データが格納
されたエリアがペ−ジ境界であり、かつ、送信デ−タ長
がペ−ジ長の整数倍の時に、 送信データのページアドレスを、受信データを格納する
ページのページ番号に対応したエントリへ直接または間
接に設定することによりプロセス間通信を行ない、 他の場合には、送信データを格納するページ内のデータ
を、受信データを格納するページ内にデータ転送を行な
う管理手段とを有することを特徴とするプロセス間通信
処理を行う情報処理システム。 - 【請求項4】請求項1、2または3記載のプロセスは、
アプリケ−ションプロセスと、ディスプレイに図形を表
示する表示プロセスであり、 上記送信データは、アプリケ−ションプロセスと表示プ
ロセス間の表示コマンドデ−タであることを特徴とする
図形表示処理を行う情報処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3798392A JPH05233328A (ja) | 1992-02-25 | 1992-02-25 | プロセス間通信処理を行う情報処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3798392A JPH05233328A (ja) | 1992-02-25 | 1992-02-25 | プロセス間通信処理を行う情報処理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05233328A true JPH05233328A (ja) | 1993-09-10 |
Family
ID=12512806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3798392A Pending JPH05233328A (ja) | 1992-02-25 | 1992-02-25 | プロセス間通信処理を行う情報処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05233328A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007018195A (ja) * | 2005-07-06 | 2007-01-25 | Sony Computer Entertainment Inc | 情報処理方法および情報処理装置 |
JP2012212348A (ja) * | 2011-03-31 | 2012-11-01 | Brother Ind Ltd | 画像処理プログラム、情報処理端末装置および情報処理端末装置の制御方法 |
-
1992
- 1992-02-25 JP JP3798392A patent/JPH05233328A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007018195A (ja) * | 2005-07-06 | 2007-01-25 | Sony Computer Entertainment Inc | 情報処理方法および情報処理装置 |
JP2012212348A (ja) * | 2011-03-31 | 2012-11-01 | Brother Ind Ltd | 画像処理プログラム、情報処理端末装置および情報処理端末装置の制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100326864B1 (ko) | 네트워크통신방법및네트워크시스템 | |
JP3512910B2 (ja) | 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法 | |
US5826041A (en) | Method and system for buffering network packets that are transferred between a V86 mode network driver and a protected mode computer program | |
EP0840202B1 (en) | Dynamic peripheral control of I/O buffers in peripherals with modular I/O | |
TW508522B (en) | System input/output interface design for scaling | |
US5781741A (en) | Message communications system in a parallel computer | |
JPH08288941A (ja) | コンピュータ・システム及びメッセージ転送方法 | |
EP0597575A1 (en) | Clipboard facility for computer network | |
US5802307A (en) | Network communications subsystem and method for digital computer system employing protocol stack having diverse lower-level network driver components optimized for each of base and enhance operating systems | |
JPH11149443A (ja) | パーソナル・コンピュータとコンピュータ・ワークステーションとを相互接続するシステム | |
JPH02146618A (ja) | 印刷制御方法および装置 | |
JPH05233328A (ja) | プロセス間通信処理を行う情報処理システム | |
US6766358B1 (en) | Exchanging messages between computer systems communicatively coupled in a computer system network | |
JPH11149387A (ja) | 共有装置制御方法及びその実施装置 | |
JP3189269B2 (ja) | ネットワークプリンタ | |
JPH1031616A (ja) | プロセス間通信システム | |
JPH11149455A (ja) | メモリディスク共有方法及びその実施装置 | |
JP6885635B1 (ja) | 情報処理装置、情報処理方法及び情報処理装置用プログラム | |
JPH06282515A (ja) | データ処理装置 | |
JPS60191357A (ja) | 共用デ−タの同時更新方式 | |
JP2664827B2 (ja) | 実時間情報転送制御方法 | |
JP2000244585A (ja) | バスインタフェース回路 | |
JP2853607B2 (ja) | ジョブ間通信システム | |
JPS59146347A (ja) | プロセス間通信方式 | |
JP3457084B2 (ja) | パケットバス制御装置 |