JPH0444291B2 - - Google Patents
Info
- Publication number
- JPH0444291B2 JPH0444291B2 JP60274562A JP27456285A JPH0444291B2 JP H0444291 B2 JPH0444291 B2 JP H0444291B2 JP 60274562 A JP60274562 A JP 60274562A JP 27456285 A JP27456285 A JP 27456285A JP H0444291 B2 JPH0444291 B2 JP H0444291B2
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- data
- program
- segment descriptor
- buffer area
- 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.)
- Expired - Lifetime
Links
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はデータ処理システムにおけるプログラ
ム間のデータ転送方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a data transfer method between programs in a data processing system.
プログラム間でデータ転送を行なう場合、従来
は、予め決められた方法で転送するデータの最大
サイズを決定し、データ受信プログラム側とデー
タ送信プログラム側の双方に最大サイズ以上のサ
イズのバツフアを準備した後、データ送信プログ
ラム側のバツフアのデータをデータ受信プログラ
ム側のバツフアに複写することにより行なわれて
いた。
Conventionally, when transferring data between programs, the maximum size of data to be transferred is determined using a predetermined method, and buffers of a size larger than the maximum size are prepared on both the data receiving program side and the data sending program side. This was then done by copying the data in the buffer on the data sending program side to the buffer on the data receiving program side.
しかし、上述した従来の方式では、データを複
写する必要があるため中央処理装置の負荷が増大
すると共にデータ転送に多くの時間を要するとい
う問題点と、データ受信プログラム側でもバツフ
アを準備する必要があるためにメモリ効率が悪く
且つデータ受信プログラム側でもバツフアの最大
サイズの決定手順が必要となるという問題点があ
つた。
However, with the above-mentioned conventional method, there are problems in that the need to copy data increases the load on the central processing unit and takes a lot of time to transfer data, and the data receiving program also needs to prepare a buffer. Therefore, there were problems in that memory efficiency was poor and a procedure for determining the maximum buffer size was required on the data receiving program side as well.
本発明はこのような従来の問題点を解決したも
ので、その目的は、データ送信プログラムとデー
タ受信プログラムとの間のデータ転送に際するデ
ータ処理システムの中央処理装置の負荷を軽減す
ると共に、転送のための所要時間が少なくて済み
且つメモリ効率の優れた方式を提供することにあ
る。 The present invention has solved these conventional problems, and its purpose is to reduce the load on the central processing unit of a data processing system when transferring data between a data sending program and a data receiving program, and to It is an object of the present invention to provide a method that requires less time for transfer and has excellent memory efficiency.
本発明のプログラム間データ転送方式は、
仮想メモリ空間をセグメント単位で参照するこ
とが可能なデータ処理システムにおけるデータ送
信プログラムとデータ受信プログラムとのプログ
ラム間データ転送方式において、
前記仮想メモリ空間内に予め用意されたバツフ
ア領域の割当て状況を管理すると共に割当てたバ
ツフアを表現するセグメント記述子を生成するバ
ツフア領域管理手段と、
データ送信プログラムから要求されたサイズの
バツフアを前記バツフア領域から割当てることを
前記バツフア領域管理手段に要求し、該要求に応
じて前記バツフア管理手段で生成されたセグメン
ト記述子を取得するバツフア割当て要求手段と、
該バツフア割合て要求手段で取得されたセグメ
ント記述子で表現されるバツフア上でデータ処理
を行なつたデータ送信プログラムから送信処理済
のバツフアのセグメント記述子を受取り、該受取
つたセグメント記述子をデータ受信プログラムに
転送する転送手段と、
該転送手段により転送されたセグメント記述子
で表現されるバツフア上でデータ処理を行なつた
データ受信プログラムから受信処理済のバツフア
のセグメント記述子を受取り、該セグメント記述
子で表現されるバツフアの解放を前記バツフア領
域管理手段に要求するバツフア解放要求手段とか
ら構成される。
A program-to-program data transfer method of the present invention is a program-to-program data transfer method between a data sending program and a data receiving program in a data processing system that can refer to a virtual memory space in segment units. buffer area management means that manages the allocation status of the prepared buffer area and generates a segment descriptor representing the allocated buffer area; buffer allocation requesting means for making a request to an area management means and acquiring a segment descriptor generated by the buffer management means in response to the request; a transfer means for receiving a segment descriptor of a buffer that has undergone transmission processing from the data transmission program that has performed the data processing above, and transferring the received segment descriptor to a data reception program; and a segment description transferred by the transfer means. Receives the segment descriptor of the received buffer from the data receiving program that has processed data on the buffer represented by the child, and requests the buffer area management means to release the buffer represented by the segment descriptor. and buffer release request means.
データ送信プログラムからデータ受信プログラ
ムへデータを転送する際、予め用意されたバツフ
ア領域からデータ送信プログラムのデータ転送に
必要なサイズのバツフアが割当てられ、この割当
てられたバツフアを表現するセグメント記述子が
バツフア領域管理手段で生成される。データ送信
プログラムはこの生成されたセグメント記述子で
表現されるバツフア上でデータを処理した後、そ
のセグメント記述子を転送手段によりデータ受信
プログラムに通知し、この通知を受けたデータ受
信プログラムは通知されたセグメント記述子で表
現されたバツフアのデータを処理した後、バツフ
ア解放要求手段によりそのセグメント記述子で表
現されたバツフアの解放をバツフア領域管理手段
に対し要求させる。
When transferring data from a data sending program to a data receiving program, a buffer of the size required for data transfer by the data sending program is allocated from a buffer area prepared in advance, and a segment descriptor representing this allocated buffer is written as a buffer area. Generated by area management means. After the data sending program processes data on the buffer represented by this generated segment descriptor, it notifies the data receiving program of the segment descriptor using the transfer means, and the data receiving program that receives this notification is not notified. After processing the buffer data expressed by the segment descriptor, the buffer release request means requests the buffer area management means to release the buffer expressed by the segment descriptor.
次に本発明の実施例について図面を参照して説
明する。
Next, embodiments of the present invention will be described with reference to the drawings.
第1図は本発明の一実施例のブロツク図であ
り、仮想メモリ空間をセグメント単位で参照する
ことが可能なデータ処理システムに本発明を適用
したものである。 FIG. 1 is a block diagram of an embodiment of the present invention, in which the present invention is applied to a data processing system capable of referencing virtual memory space in units of segments.
この実施例のプログラム間データ転送方式は、
同図に示すようにバツフア割当て要求手段1と、
バツフア解放要求手段2と、仮想メモリ空間の一
部に割当てられたバツフア領域3と、バツフア領
域管理手段4と、転送手段5と、データ送信プロ
グラム6と、データ受信プログラム7とから構成
される。 The inter-program data transfer method of this embodiment is as follows:
As shown in the figure, buffer allocation requesting means 1;
It is composed of a buffer release requesting means 2, a buffer area 3 allocated to a part of the virtual memory space, a buffer area management means 4, a transfer means 5, a data transmission program 6, and a data reception program 7.
バツフア領域管理手段4は、バツフア割当て要
求手段1から要求があると要求されたサイズに見
合つたサイズのバツフアをバツフア領域3から切
り出し、そのバツフアを表現するセグメント記述
子を生成する処理と、バツフアを割当てた場合、
内部の管理テーブル上でそのバツフア部分を例え
ば使用中に更新し、またバツフア解放要求手段2
から要求があると、要求されたセグメント記述子
のバツフアに対応する管理テーブルの内容を例え
ば未使用に更新する処理等のバツフア領域の管理
を行なう。なお、セグメント記述子としては、例
えばベースアドレスとサイズとから構成される記
述子を採用することができる。 Upon receiving a request from the buffer allocation requesting means 1, the buffer area management means 4 performs processing to cut out a buffer of a size commensurate with the requested size from the buffer area 3, generate a segment descriptor representing the buffer, and If assigned,
For example, the buffer part is updated on the internal management table while it is in use, and the buffer release request means 2
When a request is received from the buffer area, the buffer area is managed by updating the contents of the management table corresponding to the buffer of the requested segment descriptor to unused, for example. Note that as the segment descriptor, for example, a descriptor consisting of a base address and a size can be adopted.
バツフア割当て要求手段1は、データ送信プロ
グラム6から要求されたサイズのバツフアをバツ
フア領域3から切り出すことをバツフア領域管理
手段4に対し要求する処理と、バツフア領域管理
手段4で生成されたセグメント記述子を要求元の
データ送信プログラム6に通知する処理を行な
う。 The buffer allocation requesting means 1 performs a process of requesting the buffer area management means 4 to cut out a buffer of the size requested by the data transmission program 6 from the buffer area 3, and a segment descriptor generated by the buffer area management means 4. A process is performed to notify the data transmission program 6 of the request source.
転送手段5は、バツフア割当て要求手段1で取
得されたセグメント記述子で表現されるバツフア
上でデータ処理を行なつたデータ送信プログラム
6から要求があると、送信処理済のバツフアのセ
グメント記述子を受取り、これをデータ受信プロ
グラム7に転送する処理を行なう。 Upon receiving a request from a data transmission program 6 that has performed data processing on the buffer represented by the segment descriptor obtained by the buffer allocation requesting means 1, the transfer means 5 transmits the segment descriptor of the buffer that has been transmitted. It receives the data and transfers it to the data receiving program 7.
バツフア解放要求手段2は、転送手段5により
転送されたセグメント記述子で表現されるバツフ
ア上でデータ処理を行なつたデータ受信プログラ
ム7から要求があると、受信処理済のバツフアの
セグメント記述子をデータ受信プログラム7から
受取り、そのセグメント記述子で表現されるバツ
フアの解放をバツフア領域管理手段4に要求する
処理を行なう。 When receiving a request from the data receiving program 7 that has performed data processing on the buffer represented by the segment descriptor transferred by the transfer means 5, the buffer release requesting means 2 releases the segment descriptor of the buffer that has undergone reception processing. It receives the data from the data receiving program 7 and performs processing to request the buffer area management means 4 to release the buffer represented by the segment descriptor.
次にプログラム間でデータを転送する際の動作
を第1図に参照して説明する。 Next, the operation when transferring data between programs will be explained with reference to FIG.
データの送信は次のようにして行なわれる。即
ち、データ送信プログラム6は、データ転送すべ
きデータが発生すると、先ずデータ転送に必要な
バツフアのサイズを決定し、バツフア割当て要求
手段1に対し要求を発する。バツフア割当て要求
手段1はこの要求があると、バツフア領域管理手
段4に対し、データ送信プログラム6が要求する
サイズに見合つたサイズのバツフアをバツフア領
域3から切り出してそのセグメント記述子を通知
するよう要求する。これに応答して、バツフア領
域管理手段4は、先ず管理テーブルの内容を参照
し未使用の部分から要求されたサイズに見合つた
サイズのバツフア例えば第1図のバツフア31を
切り出し、バツフア31が使用中である旨を管理
テーブルに登録した後、バツフア31を表現する
セグメント記述子を生成してバツフア割当て要求
手段1に通知する。 Data transmission is performed as follows. That is, when data to be transferred is generated, the data transmission program 6 first determines the buffer size necessary for data transfer, and issues a request to the buffer allocation requesting means 1. When receiving this request, the buffer allocation requesting means 1 requests the buffer area management means 4 to cut out a buffer of a size commensurate with the size requested by the data transmission program 6 from the buffer area 3 and notify the segment descriptor thereof. do. In response to this, the buffer area management means 4 first refers to the contents of the management table, cuts out a buffer of a size commensurate with the requested size from the unused portion, for example, the buffer 31 in FIG. After registering the status in the management table, a segment descriptor representing the buffer 31 is generated and notified to the buffer allocation requesting means 1.
バツフア割当て要求手段1は、バツフア領域管
理手段4からセグメント記述子が通知されると、
これをデータ送信プログラム6に通知する。デー
タ送信プログラム6はこの通知があると、セグメ
ント記述子で表現されるバツフア31上でデータ
を処理し、この処理が終了すると、転送手段5へ
セグメント記述子を渡す。 When the buffer allocation requesting means 1 is notified of the segment descriptor from the buffer area management means 4,
This is notified to the data transmission program 6. When the data transmission program 6 receives this notification, it processes the data on the buffer 31 represented by the segment descriptor, and upon completion of this processing, passes the segment descriptor to the transfer means 5.
転送手段5はデータ送信プログラム6からセグ
メント記述子を受取ると、これをデータ受信プロ
グラム7へ通知する。 When the transfer means 5 receives the segment descriptor from the data transmission program 6, it notifies the data reception program 7 of this.
データ受信プログラム7は、転送手段5からセ
グメント記述子を受取ると、そのセグメント記述
子で表現されるバツフア31上でデータ処理を行
ない、処理が終了すると、バツフア解放要求手段
2にそのセグメント記述子を渡す。 When the data reception program 7 receives a segment descriptor from the transfer means 5, it processes the data on the buffer 31 represented by the segment descriptor, and when the processing is completed, it sends the segment descriptor to the buffer release request means 2. hand over.
バツフア解放要求手段2は、データ受信プログ
ラムからセグメント記述子を受取ると、バツフア
領域管理手段4に対し、そのセグメント記述子に
対応するバツフア31を解放するように要求す
る。 When the buffer release requesting means 2 receives a segment descriptor from the data receiving program, it requests the buffer area management means 4 to release the buffer 31 corresponding to the segment descriptor.
バツフア領域管理手段4は、バツフア解放要求
手段2から要求があると、管理テーブルの内容を
そのセグメント記述子で表現されるバツフア31
が未使用となるように更新してバツフア解放処理
を実行する。 When the buffer area management means 4 receives a request from the buffer release requesting means 2, the buffer area management means 4 stores the contents of the management table in the buffer area 31 expressed by the segment descriptor.
Update the buffer so that it is unused and execute buffer release processing.
以上の実施例は、一つのデータ送信プログラム
6と一つのデータ受信プログラム7とのデータ転
送を例にしたが、複数のデータ送信プログラムと
複数のデータ受信プログラム間のデータ転送に対
しても本発明は適用可能である。その場合には、
バツフア割当て要求手段1は複数のデータ送信プ
ログラムに接続されて、バツフア解放要求手段2
は複数のデータ受信プログラムに接続され、転送
手段5は複数のデータ送信プログラムおよびデー
タ受信プログラムに接続される。また、データ送
信プログラムはセグメント記述子と共にそのセグ
メント記述子が表現するバツフアの使用目的等を
転送手段に渡し、転送手段は各使用目的等毎にそ
のセグメント記述子を異なる待ち行列に入れ、デ
ータ受しプログラムから要求のあつた使用目的に
合致するセグメント記述子を待ち行列から取出し
てデータ受信プログラムに渡す等の構成が採用さ
れる。 In the above embodiments, data transfer between one data transmission program 6 and one data reception program 7 was taken as an example, but the present invention also applies to data transfer between a plurality of data transmission programs and a plurality of data reception programs. is applicable. In that case,
Buffer allocation requesting means 1 is connected to a plurality of data transmission programs, and buffer release requesting means 2
is connected to a plurality of data reception programs, and the transfer means 5 is connected to a plurality of data transmission programs and data reception programs. In addition, the data transmission program passes the segment descriptor and the purpose of use of the buffer expressed by the segment descriptor to the transfer means, and the transfer means places the segment descriptor in a different queue for each purpose of use and receives the data. A configuration is adopted in which a segment descriptor matching the purpose of use requested by the program is taken out from a queue and passed to the data receiving program.
以上説明したように、本発明によれば、バツフ
ア領域管理手段と、バツフア割当て要求手段と、
転送手段と、バツフア解放要求手段とを設けたの
で、次のような効果を得ることができる。
As explained above, according to the present invention, the buffer area management means, the buffer allocation request means,
Since the transfer means and the buffer release request means are provided, the following effects can be obtained.
従来のようにデータを複写する必要がないの
で、中央処理装置の負荷を軽減することができ
る。 Since there is no need to copy data as in the past, the load on the central processing unit can be reduced.
データを複写する必要がないので、データ転
送の所要時間を短縮することができる。 Since there is no need to copy data, the time required for data transfer can be shortened.
データ受信プログラム側でバツフアを準備す
る必要がないのでメモリの効率が向上する。 Since there is no need to prepare a buffer on the data receiving program side, memory efficiency is improved.
データ受信プログラム側でバツフアを準備す
る必要がないのでバツフアの最大サイズの決定
のための手続きを省略できる。 Since there is no need to prepare a buffer on the data receiving program side, the procedure for determining the maximum buffer size can be omitted.
データ送信プログラムとデータ受信プログラ
ムとの間のデータ転送に割当てられたバツフア
は、データ受信プログラムによるデータ処理が
終了すればバツフア解放要求手段による要求に
より解放され、その解放されたバツフアは他の
データ送信プログラム等によるデータ転送に使
用することができ、限られたバツフア領域を多
数のデータ送信プログラムやデータ受信プログ
ラムで共用使用することができ、バツフアの割
当てを可変サイズとしたことと相挨つて、メモ
リ効率が更に向上する。 The buffer allocated for data transfer between the data sending program and the data receiving program is released upon request by the buffer release request means when the data receiving program completes data processing, and the released buffer is used for other data sending. It can be used for data transfer by programs, etc., and the limited buffer area can be shared by many data sending programs and data receiving programs. Efficiency is further improved.
送信にかかるデータを特定するためにそのデ
ータを格納するバツフアを表現するセグメント
記述子を用いたことにより、データ受信プログ
ラムを受け取つたセグメント記述子により送信
にかかるデータの所在を直ちに認識でき、速や
かにアクセスできる。 By using a segment descriptor that expresses the buffer in which the data is stored in order to specify the data to be transmitted, the segment descriptor that receives the data receiving program can immediately recognize the location of the data to be transmitted. Can be accessed.
第1図は本発明の一実施例のブロツク図であ
る。
図において、1はバツフア割当て要求手段、2
はバツフア解放要求手段、3はバツフア領域、4
はバツフア領域管理手段、5は転送手段、6はデ
ータ送信プログラム、7はデータ受信プログラム
である。
FIG. 1 is a block diagram of one embodiment of the present invention. In the figure, 1 is a buffer allocation requesting means; 2 is a buffer allocation requesting means;
is a buffer release requesting means, 3 is a buffer area, and 4 is a buffer release request means.
5 is a buffer area management means, 5 is a transfer means, 6 is a data transmission program, and 7 is a data reception program.
Claims (1)
ことが可能なデータ処理システムにおけるデータ
送信プログラムとデータ受信プログラムとのプロ
グラム間データ転送方式において、 前記仮想メモリ空間内に予め用意されたバツフ
ア領域の割当て状況を管理すると共に割当てたバ
ツフアを表現するセグメント記述子を生成するバ
ツフア領域管理手段と、 データ送信プログラムから要求されたサイズの
バツフアを前記バツフア領域から割当てることを
前記バツフア領域管理手段に要求し、該要求に応
じて前記バツフア管理手段で生成されたセグメン
ト記述子を取得するバツフア割当て要求手段と、 該バツフア割合て要求手段で取得されたセグメ
ント記述子で表現されるバツフア上でデータ処理
を行たつたデータ送信プログラムから送信処理済
のバツフアのセグメント記述子を受取り、該受取
つたセグメント記述子をデータ受信プログラムに
転送する転送手段と、 該転送手段により転送されたセグメント記述子
で表現されるバツフア上でデータ処理を行なつた
データ受信プログラムから受信処理済のバツフア
のセグメント記述子を受取り、該セグメント記述
子で表現されるバツフアの解放を前記バツフア領
域管理手段に要求するバツフア解放要求手段とか
ら構成されたことを特徴とするプログラム間デー
タ転送方式。[Scope of Claims] 1. In an inter-program data transfer method between a data sending program and a data receiving program in a data processing system capable of referencing a virtual memory space in units of segments, there is provided the following: Buffer area management means for managing the allocation status of buffer areas and generating segment descriptors representing the allocated buffers; and buffer area management means for allocating from the buffer area a buffer of a size requested by the data transmission program. buffer allocation requesting means for requesting a segment descriptor generated by the buffer management means in response to the request; a transfer means that receives a segment descriptor of a buffer that has been sent from a data sending program that has processed the data, and transfers the received segment descriptor to a data receiving program; and a segment descriptor transferred by the transfer means. A buffer release request that receives a segment descriptor of a buffer that has undergone reception processing from a data receiving program that has processed data on a buffer that is being processed, and requests the buffer area management means to release the buffer represented by the segment descriptor. An inter-program data transfer method characterized by comprising: means.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP27456285A JPS62134728A (en) | 1985-12-06 | 1985-12-06 | Inter-program data transferring system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP27456285A JPS62134728A (en) | 1985-12-06 | 1985-12-06 | Inter-program data transferring system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62134728A JPS62134728A (en) | 1987-06-17 |
| JPH0444291B2 true JPH0444291B2 (en) | 1992-07-21 |
Family
ID=17543458
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP27456285A Granted JPS62134728A (en) | 1985-12-06 | 1985-12-06 | Inter-program data transferring system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS62134728A (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5371890A (en) * | 1991-10-30 | 1994-12-06 | International Business Machines Corporation | Problem state cross-memory communication using communication memory domains |
| JP2508959B2 (en) * | 1993-04-20 | 1996-06-19 | 日本電気株式会社 | Computer system |
| JP4527640B2 (en) * | 2005-09-15 | 2010-08-18 | 株式会社ソニー・コンピュータエンタテインメント | Data reading device |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58155459A (en) * | 1982-03-11 | 1983-09-16 | Hitachi Ltd | Interface system for inter-program input/output buffer |
| JPS59146346A (en) * | 1983-02-10 | 1984-08-22 | Fujitsu Ltd | Communication system between processes |
-
1985
- 1985-12-06 JP JP27456285A patent/JPS62134728A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS62134728A (en) | 1987-06-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0205946B1 (en) | Flexible data transmission for message based protocols | |
| EP0205945B1 (en) | Process transparent multi storage mode data transfer and buffer control | |
| US7284098B2 (en) | Message based inter-process for high volume data | |
| US5218713A (en) | Distributed data management mechanism for handling a data stream | |
| EP0205948B1 (en) | Distributed data management mechanism | |
| EP3629171A1 (en) | Lock manager for multi-core architectures | |
| JPH0444291B2 (en) | ||
| JP2664827B2 (en) | Real-time information transfer control method | |
| JPH02245864A (en) | multiprocessor system | |
| JPS62126457A (en) | Distributed data processing system | |
| JP2898985B2 (en) | Image processing method | |
| JPH04274524A (en) | System for controlling inter-process communication | |
| JPS61134844A (en) | Share space control system for storage device | |
| JPH0431416B2 (en) | ||
| CN118779126A (en) | Inter-process communication method, device, storage medium and electronic device | |
| JPH0378065A (en) | Reception control system for peripheral device | |
| JPH02191050A (en) | Discrete swapping area controlling and processing system | |
| JPH07168781A (en) | Server/client system | |
| JP2971119B2 (en) | High-speed data transfer method in multiple processor system | |
| JPS63143641A (en) | Temporary file transfer system between programs | |
| JP2576934B2 (en) | Memory-mapped interrupt method | |
| JPS61262955A (en) | Buffer control system for communication controlling equipment | |
| JPH02247748A (en) | Data base processing system based upon multiprocessor | |
| JPS60167058A (en) | System for communications between computers | |
| JPH01136263A (en) | System for managing communication control buffer |