JP2851739B2 - Data exchange control method between applications - Google Patents

Data exchange control method between applications

Info

Publication number
JP2851739B2
JP2851739B2 JP2378192A JP2378192A JP2851739B2 JP 2851739 B2 JP2851739 B2 JP 2851739B2 JP 2378192 A JP2378192 A JP 2378192A JP 2378192 A JP2378192 A JP 2378192A JP 2851739 B2 JP2851739 B2 JP 2851739B2
Authority
JP
Japan
Prior art keywords
buffer
area
cut
data exchange
capacity
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 - Fee Related
Application number
JP2378192A
Other languages
Japanese (ja)
Other versions
JPH07175718A (en
Inventor
敏視 清原
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.)
Consejo Superior de Investigaciones Cientificas CSIC
Original Assignee
Consejo Superior de Investigaciones Cientificas CSIC
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 Consejo Superior de Investigaciones Cientificas CSIC filed Critical Consejo Superior de Investigaciones Cientificas CSIC
Priority to JP2378192A priority Critical patent/JP2851739B2/en
Priority to US08/015,866 priority patent/US5548740A/en
Publication of JPH07175718A publication Critical patent/JPH07175718A/en
Application granted granted Critical
Publication of JP2851739B2 publication Critical patent/JP2851739B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】この発明は画像端末、ワードプロ
セッサ、ワークステーションなどコンピュータを利用し
た装置上で動作するアプリケーション間においてデータ
交換をする際のデータ交換制御方法に関し、特に、デー
タ交換エリアの確保の方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data exchange control method for exchanging data between applications operating on an apparatus using a computer such as an image terminal, a word processor, and a workstation, and more particularly, to securing a data exchange area. About the method.

【0002】[0002]

【従来の技術】画像端末、ワードプロセッサ、ワークス
テーションなどコンピュータを利用した機器上で動作す
るアプリケーション間で、データを交換することが従来
から行なわれている。この交換は次のように行なわれ
る。図13を参照して、操作画面上に設けられた第1の
ウィンドウ78上でアプリケーション1が、第2のウィ
ンドウ80上でアプリケーション2が動作するものとす
る。図13に示されるように、この例の場合には2つの
アプリケーション1、2としてともに文書処理プログラ
ムが動作しているものとする。
2. Description of the Related Art Conventionally, data has been exchanged between applications operating on devices utilizing a computer such as an image terminal, a word processor, and a workstation. This exchange is performed as follows. Referring to FIG. 13, it is assumed that application 1 operates on first window 78 provided on the operation screen and application 2 operates on second window 80. As shown in FIG. 13, in this example, it is assumed that the document processing program is operating as both applications 1 and 2.

【0003】アプリケーション2において、作成中の文
書にアプリケーション1に表示されている文書の一部領
域82を複写する必要が生ずる場合がある。この場合に
は、いわゆる「切貼り」機能と呼ばれるものが利用され
る。「切貼り」は以下のようにして行なわれる。
In some cases, the application 2 needs to copy a partial area 82 of the document displayed on the application 1 into the document being created. In this case, a so-called “cut and paste” function is used. "Cut and paste" is performed as follows.

【0004】まず、ウィンドウ78のアプリケーション
1に表示された文書上で、切貼り領域82が指定され
る。続いて図14に示されるように、ウィンドウ78上
に表示された保存キー84を指定して保存機能を動作さ
せることにより、たとえばこの端末として利用されてい
るコンピュータの記憶領域中に準備された共有メモリ9
0内の、カットバッファ92と呼ばれるバッファ内に、
指定された文字列が一時保存される。続いて図15に示
されるように、ウィンドウ80上で動作するアプリケー
ション2において、切貼り位置を特定し、切貼りキー8
8を機能させることにより、カットバッファ92内に保
存されていた文字列がアプリケーション2上に表示され
た文書の、指定位置に切貼り文86として挿入される。
First, a cut-and-paste area 82 is designated on a document displayed on the application 1 in a window 78. Subsequently, as shown in FIG. 14, by operating the save function by designating the save key 84 displayed on the window 78, for example, the shared key prepared in the storage area of the computer used as this terminal is displayed. Memory 9
In a buffer called cut buffer 92 in 0,
The specified character string is temporarily saved. Subsequently, as shown in FIG. 15, in the application 2 operating on the window 80, the cut / paste position is specified, and the cut / paste key 8
By causing the function 8 to function, the character string stored in the cut buffer 92 is inserted as a cut-and-paste sentence 86 at a designated position in the document displayed on the application 2.

【0005】最近のサーバー・クライアントモデルで
は、たとえばある種のマルチウィンドウシステムに関す
るICCCM(Inter-client Communication Conventio
n Manual : MIT X Consortium Standard)の規定にした
がってこのカットバッファを共有メモリに取ったり、X
サーバーのカットバッファを利用したりする。
In a recent server-client model, for example, an ICCCM (Inter-client Communication Conventio) for a certain multi-window system is used.
n Manual: According to the provisions of the MIT X Consortium Standard), this cut buffer can be
Or use the server's cut buffer.

【0006】一般的にこれらアプリケーション間で行な
われるデータ交換においては、交換するデータの容量が
アプリケーションに大きく依存し、必要とされるカット
バッファの容量を的確に予測できない場合がある。そこ
で、図16に示されるように、必要とされるカットバッ
ファ92の大きさが、メインメモリ94で予め用意され
る標準サイズを超える場合には、大型の計算機やワーク
ステーションなどで一般的に利用されている仮想記憶方
式と同様に、拡張エリアをハードディスクなどの二次記
憶装置96に設けることが多い。このように二次記憶装
置96を用いてカットバッファの拡張を行なうのは、た
とえばマルチプロセッサ構成をとるシステムや、前述の
サーバー・クライアントモデルにおいてXサーバーのカ
ットバッファを利用する場合も同様である。
Generally, in data exchange performed between these applications, the capacity of data to be exchanged greatly depends on the application, and the required cut buffer capacity may not be accurately predicted. Therefore, as shown in FIG. 16, when the required size of the cut buffer 92 exceeds the standard size prepared in advance in the main memory 94, it is generally used in a large computer or a workstation. As in the case of the virtual storage system, the extended area is often provided in the secondary storage device 96 such as a hard disk. The extension of the cut buffer using the secondary storage device 96 in this manner is the same as in the case of a system having a multiprocessor configuration or the use of the X server cut buffer in the server / client model.

【0007】[0007]

【発明が解決しようとする課題】仮想記憶方式と同様に
二次記憶装置をカットバッファの拡張エリアとして利用
する場合には、利用され得る領域が非常に大きくなるた
め、事実上いかなる大きさのデータでもこの拡張エリア
を用いることによって交換することができる。しかし、
二次記憶装置として利用されるハードディスクやフロッ
ピーディスクが、一時記憶装置(メインメモリ)として
利用されているDRAM(Dynamic RandomAccess Memor
y)、SRAM(Static Random Access Memory )など
と比較して、読出速度、書込速度ともに大変遅い。
When a secondary storage device is used as an extended area of a cut buffer as in the case of the virtual storage system, the area that can be used is very large. However, it can be exchanged by using this extended area. But,
A hard disk or floppy disk used as a secondary storage device is replaced with a DRAM (Dynamic Random Access Memory) used as a temporary storage device (main memory).
y), the reading speed and the writing speed are very slow as compared with SRAM (Static Random Access Memory).

【0008】たとえば、現在の標準的なアクセススピー
ドの概算をSRAM、DRAM、ハードディスク、フロ
ッピーディスクにつき、4KBを単位として表にすると
表1のようになる。
For example, a rough estimate of the current standard access speed for SRAM, DRAM, hard disk, and floppy disk is shown in Table 1 in units of 4 KB.

【0009】[0009]

【表1】 [Table 1]

【0010】表1から明らかなように、二次記憶装置と
して用いられるハードディスクやフロッピーディスク
は、SRAM、DRAMなどに比べて、読出、書込に必
要とする時間が100倍以上と非常に大きい。そのた
め、カットバッファの拡張エリアとして二次記憶装置を
利用した場合、このアクセス速度の小ささがアプリケー
ション間データ交換の速度を向上させる際のボトルネッ
クとなっている。
As apparent from Table 1, a hard disk or a floppy disk used as a secondary storage device requires much more than 100 times the time required for reading and writing compared to an SRAM or a DRAM. Therefore, when a secondary storage device is used as an extended area of the cut buffer, the low access speed is a bottleneck in improving the speed of data exchange between applications.

【0011】この問題を回避する一方法として、ディス
クキャッシュを用いる方法がある。しかし、ディスクキ
ャッシュは二次記憶装置に特別なハードウェアを必要と
するため、装置のコストが上昇するという問題点があ
る。
One way to avoid this problem is to use a disk cache. However, since the disk cache requires special hardware for the secondary storage device, there is a problem that the cost of the device increases.

【0012】それゆえにこの発明の目的は、コンピュー
タを使用した機器上で動作するアプリケーション間にお
いてデータを交換する際に、装置のコストを上昇させず
に、データ交換速度を高めることができるデータ交換制
御方法を提供することである。
[0012] Therefore, an object of the present invention is to provide a data exchange control capable of increasing the data exchange speed without increasing the cost of the apparatus when exchanging data between applications operating on a device using a computer. Is to provide a way.

【0013】[0013]

【課題を解決するための手段】本発明に係るアプリケー
ション間データ交換制御方法は、それぞれ所定の平均ア
クセス速度でアクセス可能な第1および第2の記憶手段
と、各第1および第2の記憶手段のアクセス速度よりも
遅い平均アクセス速度でのみアクセス可能な第3の記憶
手段とを含むコンピュータ上において行なわれる方法で
あって、第1の記憶手段に、所定容量の第1のデータ交
換エリアを予め確保するステップと、交換されるデータ
が第1のデータ交換エリアの容量よりも大きな容量を必
要とするか否かを検知するステップと、第1のデータ交
換エリアの容量よりも大きな容量が必要とされることが
検知されたことに応答して、第2および第3の記憶手段
の使用可能な領域をこの順で調査し、最初に発見された
使用可能な領域を第1のデータ交換エリアの拡張領域と
して確保するステップとを含む。
According to the present invention, there is provided a method for controlling data exchange between applications, comprising: first and second storage means which can be accessed at a predetermined average access speed; and first and second storage means. And a third storage unit accessible only at an average access speed lower than the access speed of the first storage unit, wherein the first storage unit stores a first data exchange area of a predetermined capacity in advance. Securing the data, detecting whether the data to be exchanged requires a larger capacity than the capacity of the first data exchange area, and requiring a capacity larger than the capacity of the first data exchange area. In response to the detection that the available area has been detected, the available areas of the second and third storage means are searched in this order, and the first available area found is stored. And a step of securing the extended area of the first data exchange area.

【0014】[0014]

【作用】本発明に係るデータ交換制御方法においては、
予め確保されたデータ交換エリアでは不足すると検知さ
れた場合に、直ちにアクセス速度の遅い第3の記憶手段
に拡張領域を設けるのではなく、まず平均アクセス速度
の速い第2の記憶手段を、次に第3の記憶手段を調査
し、最初に発見された使用可能な領域を拡張領域として
確保する。第2の記憶手段は第3の記憶手段よりも高速
でアクセス可能なため、拡張領域にアクセスする際に必
要とされる時間は短縮される可能性が高くなる。
In the data exchange control method according to the present invention,
If it is detected that the data exchange area secured in advance is insufficient, instead of immediately providing an extended area in the third storage unit having a low access speed, the second storage unit having a high average access speed is first stored in the second storage unit. The third storage means is checked, and the first usable area found is secured as an extended area. Since the second storage means can be accessed at a higher speed than the third storage means, the time required for accessing the extended area is more likely to be reduced.

【0015】[0015]

【実施例】図1、図2を参照して、最初に本発明のアプ
リケーション間データ交換制御方法に用いられるカット
バッファの概念を説明する。図1を参照して、メインメ
モリ上で動作するアプリケーションA、B間でデータ交
換を行なう場合、いずれかのアプリケーションが、シス
テム側のツールキット層と呼ばれるソフトウェア群に対
し、カットバッファの割当を要求する。ツールキット層
には、ヒープ領域と呼ばれる、アプリケーションの実行
時に一時的に記憶領域を確保する際に用いられる領域が
予め準備されている。そしてそのヒープ領域内に、標準
カットバッファが予め確保されている。この場合、標準
カットバッファがデータ交換に十分な大きさを有してい
る場合には、一旦標準カットバッファに格納されたデー
タをアプリケーションBで読出すことによりデータ交換
を行なうことができる。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The concept of a cut buffer used in an inter-application data exchange control method of the present invention will be described first with reference to FIGS. Referring to FIG. 1, when data is exchanged between applications A and B operating on the main memory, one of the applications requests allocation of a cut buffer to a software group called a toolkit layer on the system side. I do. In the toolkit layer, an area called a heap area, which is used to temporarily secure a storage area when an application is executed, is prepared in advance. Then, a standard cut buffer is secured in the heap area in advance. In this case, if the standard cut buffer has a sufficient size for data exchange, data exchange can be performed by reading out the data once stored in the standard cut buffer by the application B.

【0016】しかし、一般的にはシステムのヒープ領域
はそれほど大きく確保できず、標準カットバッファの容
量も従って小さくなり、アプリケーションによっては標
準カットバッファを超える容量をカットバッファとして
要求することがある。この場合図2を参照して、従来と
異なり直ちに二次記憶装置に一時ファイルを作成するこ
とをせず、たとえばシステム内のサブプロセッサの支配
下にある遊休メモリ内を調査し、利用できる領域があれ
ばこのサブプロセッサの遊休メモリ内に一時バッファを
確保してカットバッファとして利用する。さらにこの一
時バッファでも容量が不足する場合に初めて二次記憶装
置に一時ファイルを用意し、標準カットバッファと、一
時バッファと、二次記憶装置内に確保された一時ファイ
ルとをカットバッファとして利用する。
However, in general, the heap area of the system cannot be so large, and the capacity of the standard cut buffer becomes small accordingly. Depending on the application, a capacity exceeding the standard cut buffer may be required as the cut buffer. In this case, referring to FIG. 2, a temporary file is not immediately created in the secondary storage device unlike the related art, and, for example, an idle memory under the control of a sub-processor in the system is searched to find an available area. If there is, a temporary buffer is secured in the idle memory of this subprocessor and used as a cut buffer. Further, when the capacity of this temporary buffer is also insufficient, a temporary file is prepared in the secondary storage device for the first time, and the standard cut buffer, the temporary buffer, and the temporary file secured in the secondary storage device are used as the cut buffer. .

【0017】このようにたとえばマルチプロセッサシス
テム内において、メインメモリ内に確保された標準カッ
トバッファでは容量が不足する場合に、サブプロセッサ
の遊休メモリをまず利用してカットバッファの拡張を行
なうことにより、ハードウェアそのものは現状のまま、
メモリを効率よく利用することによってカットバッファ
を用いたデータ交換の速度が向上できるという効果があ
る。特に、以下の実施例で示すようにグラフィックプロ
セッサに用意されたイメージ用バッファは、大きな容量
を持っているにもかかわらず、印字やイメージ入力がな
い場合には遊休している場合が多い。そのため、このよ
うなイメージ用バッファなどの遊休メモリを従来よりも
有効に利用することが期待でき、コストの上昇をもたら
さずにデータ交換の速度を高速化できる。
As described above, for example, in a multiprocessor system, when the capacity of the standard cut buffer secured in the main memory is insufficient, the cut buffer is expanded by first using the idle memory of the sub-processor. The hardware itself is as it is,
There is an effect that the speed of data exchange using the cut buffer can be improved by using the memory efficiently. In particular, as shown in the following embodiments, an image buffer prepared in a graphic processor has a large capacity but is often idle when there is no printing or image input. Therefore, it is expected that the idle memory such as the image buffer can be used more effectively than before, and the speed of data exchange can be increased without increasing the cost.

【0018】このようなデータ交換の際に、交換される
データのフォーマットを一般のファイルの形式と同一に
すると、メモリを利用したデータ交換とファイル読出と
を一元化することができる。そのため、ファイルによる
データの交換方法と、アプリケーション間のメモリを用
いたデータ交換とが同一の方法で実現できることにな
る。この場合、サブプロセッサの遊休メモリを、アプリ
ケーション間のデータ交換のためだけではなく、ファイ
ル交換のための一時バッファとしても利用することがで
きる。
In such data exchange, if the format of the data to be exchanged is made the same as that of a general file, data exchange using a memory and file reading can be unified. Therefore, the data exchange method using a file and the data exchange using a memory between applications can be realized by the same method. In this case, the idle memory of the sub-processor can be used not only for data exchange between applications but also as a temporary buffer for file exchange.

【0019】同様の考え方を、同一の装置上で動作する
2つのアプリケーション間のみではなく、ネットワーク
を利用して機器外のメモリ利用まで拡大することができ
る。すなわち、ネットワークに接続されたすべての機器
内に存在する遊休メモリを利用して、データ交換をネッ
トワークを利用して実現することができる。
The same concept can be extended not only between two applications operating on the same device but also to memory use outside the device by using a network. That is, data exchange can be realized using the network by using the idle memory existing in all devices connected to the network.

【0020】システム内に利用可能な遊休メモリが数多
くある場合には、二次記憶装置を一時ファイルとして利
用することは少なくなる。したがって、このようなデー
タ交換システムは、マルチプロセッサシステムや、多数
の機器が接続されるネットワークなどにおいて特に有効
に利用することができる。
If there are many idle memories available in the system, the use of secondary storage as temporary files is less likely. Therefore, such a data exchange system can be used particularly effectively in a multiprocessor system or a network to which a large number of devices are connected.

【0021】図3は、この発明に係るデータ交換制御方
法の概念を別の形で表現したものである。図3を参照し
て、図3カットバッファの確保要求があると(b)に示
される、メインメモリ内の標準カットバッファがまずカ
ットバッファとして利用される。このカットバッファに
対するアクセスは、カットバッファ1について用意され
た先頭ポインタに従って行なわれる。図3(a)に示さ
れるポインタはメインメモリのアドレス14Kを指して
おり、メインメモリのこのアドレスを参照することによ
り標準カットバッファの先頭にアクセスすることができ
る。図3(b)に示されるように、この標準カットバッ
ファは複数回拡張することができる。図3に図示されて
いるものは、拡張領域が可変長のものである。しかし、
この発明はこのように標準カットバッファを可変長で拡
張するもののみではなく、後述する実施例におけるよう
に固定長で確保するものに対しても適用することができ
る。
FIG. 3 shows another concept of the data exchange control method according to the present invention. Referring to FIG. 3, when there is a request to secure a cut buffer in FIG. 3, a standard cut buffer in the main memory shown in (b) is first used as a cut buffer. The access to the cut buffer is performed according to the head pointer prepared for the cut buffer 1. The pointer shown in FIG. 3A points to the address 14K of the main memory, and the head of the standard cut buffer can be accessed by referring to this address of the main memory. As shown in FIG. 3B, this standard cut buffer can be expanded a plurality of times. In FIG. 3, the extension area has a variable length. But,
The present invention can be applied not only to extending the standard cut buffer with a variable length as described above, but also to extending the standard cut buffer with a fixed length as in the embodiment described later.

【0022】メインメモリにカットバッファを確保する
ことがこれ以上できなくなった場合に、図3(c)に示
されるように、システムに接続されたメインプロセッサ
以外のサブプロセッサ(たとえばグラフィックモジュー
ルのプロセッサ)の遊休メモリを利用した一時バッファ
を確保する。そしてこのグラフィックモジュールの一時
バッファを用いても容量が不足する場合に図3(d)に
示される二次記憶内に一時ファイルを確保する。図3に
示されるように、メインメモリの標準カットバッファ、
グラフィックモジュールの一時バッファ、二次記憶の一
時ファイルは、ポインタを用いて論理的に互いに連結し
て用いられる。
When it is no longer possible to secure a cut buffer in the main memory, as shown in FIG. 3C, a sub-processor other than the main processor connected to the system (for example, a processor of a graphic module) Allocate a temporary buffer using the idle memory of. Then, when the capacity is insufficient even by using the temporary buffer of the graphic module, a temporary file is secured in the secondary storage shown in FIG. As shown in FIG. 3, a standard cut buffer in the main memory,
The temporary buffer of the graphic module and the temporary file of the secondary storage are used by being logically connected to each other using a pointer.

【0023】上述の本発明の概念の説明および後述する
実施例においては、サブプロセッサに接続されたメモリ
を用いる場合を例として説明する。しかし本発明はこれ
には限定されず、たとえばプロセッサと他の装置との間
の共有メモリや、いわゆるICカード、RAMディスク
などと呼ばれる半導体メモリからなる高速ファイルにも
応用することができる。また、データ交換を例にとって
いるが、プロセッサ自体をデータとして交換する際にも
同様の取扱いで実現することができる。
In the above description of the concept of the present invention and embodiments described later, a case where a memory connected to a sub-processor is used will be described as an example. However, the present invention is not limited to this, and can be applied to, for example, a shared memory between a processor and another device, or a high-speed file composed of a semiconductor memory called a so-called IC card or RAM disk. In addition, although data exchange is taken as an example, the same treatment can be realized when exchanging the processor itself as data.

【0024】以下、図4〜図12を参照して、本発明の
一実施例を詳細に説明する。以下では、階層型のマルチ
プロセッサ構成をとっている文書処理専用ワークステー
ション(以下WS)について本発明を実施する場合の実
施例が説明される。しかし、本発明はこれには限定され
ず、たとえば上述のようにプロセッサと他の機器との間
で共有メモリを有するものや、メインメモリ以外に高速
ファイルが接続されているようなシステムに対しても適
用することができる。
An embodiment of the present invention will be described below in detail with reference to FIGS. In the following, an embodiment will be described in which the present invention is implemented for a document processing workstation (hereinafter, WS) having a hierarchical multiprocessor configuration. However, the present invention is not limited to this. For example, as described above, a system having a shared memory between a processor and another device, or a system in which a high-speed file is connected other than the main memory is used. Can also be applied.

【0025】図4を参照して、この文書処理専用WS1
0は、文書編集、ファイル処理、通信処理などを行なう
ためのメインモジュール12と、表示上のウィンドウシ
ステム、フォント管理、アウトラインフォント描画、表
示制御などの処理を行なうためのグラフィックモジュー
ル14と、キーボード、マウス、ハンドスキャナなどを
利用した使用者の入力処理を制御するための入力制御モ
ジュール16とを含む。
Referring to FIG. 4, this document processing dedicated WS1
Reference numeral 0 denotes a main module 12 for performing document editing, file processing, communication processing, and the like; a graphic module 14 for performing processing such as a window system on display, font management, outline font drawing, and display control; An input control module 16 for controlling user input processing using a mouse, a hand scanner, or the like.

【0026】メインモジュール12とグラフィックモジ
ュール14との間には、双方からアクセス可能な共有メ
モリ24が、グラフィックモジュール14と入力制御モ
ジュール16との間には、双方からアクセス可能な共有
メモリ54がそれぞれ設けられている。
A shared memory 24 accessible from both sides is provided between the main module 12 and the graphic module 14, and a shared memory 54 accessible from both sides is provided between the graphic module 14 and the input control module 16, respectively. Is provided.

【0027】メインモジュール12は、文書編集、ファ
イル処理、通信処理などを司るためのメインCPU(中
央処理装置)18と、メインCPU18に接続される内
部バス20と、内部バス20に接続されるメインモジュ
ールのローカルメモリ22と、システムの拡張性を確保
するために、一般のパーソナルコンピュータなどにおい
て用いられている規格に従ったバス28と、バス20と
バス28との間でバス変換を行なうためのバス変換回路
26とを含む。バス28には、ハードディスク30と、
AI辞書32と、I/Oインタフェース34とが接続さ
れる。I/Oインタフェース34には3.5インチディ
スクドライブ38と、SCSI(smallcomputer system
interface )36とが接続されている。SCSI36
には、外付ハードディスクが接続される。また、I/O
インタフェース34には、プリンタが接続され、さらに
RS232C入出力インタフェースが設けられている。
前述の共有メモリ24は、内部バス20に接続されてい
る。このメインモジュール12には、通信処理を容易に
するためのイベント駆動型の擬似マルチタスクモニタが
搭載されている。
The main module 12 includes a main CPU (Central Processing Unit) 18 for controlling document editing, file processing, communication processing, etc., an internal bus 20 connected to the main CPU 18, and a main CPU connected to the internal bus 20. A local memory 22 of the module, a bus 28 in accordance with a standard used in a general personal computer or the like for ensuring expandability of the system, and a bus conversion between the bus 20 and the bus 28 And a bus conversion circuit 26. A hard disk 30 and a bus 28
The AI dictionary 32 and the I / O interface 34 are connected. The I / O interface 34 includes a 3.5-inch disk drive 38 and a SCSI (small computer system).
interface) 36 is connected. SCSI36
Is connected to an external hard disk. Also, I / O
A printer is connected to the interface 34, and an RS232C input / output interface is further provided.
The aforementioned shared memory 24 is connected to the internal bus 20. The main module 12 includes an event-driven type pseudo multitask monitor for facilitating communication processing.

【0028】グラフィックモジュール14は、後述する
大画面高解像度のCRT(陰極線管)を制御し、かつ高
速にウィンドウシステムを動作させるためのグラフィッ
クCPU40と、グラフィックCPU40に接続された
内部バス42と、内部バス42に接続され、使用頻度の
高いフォントをアウトラインフォントも含め格納したC
GROM(Character Generator Read-Only Memory)4
4と、バス42に接続されたベクトル描画LSI(大規
模集積回路)46と、ローカルメモリ48と、フレーム
メモリ50とを含む。フレームメモリ50には、A4サ
イズの1頁の全体がWYSIWYG(What You See Is
What You Get:見たまま操作)で表示することができ
る、縦型17インチ高解像度のCRT(1400×19
00ドット)52が接続されている。前述の共有メモリ
24および54も、内部バス42に接続されている。こ
のようにグラフィックモジュール14にグラフィックC
PU40とベクトル描画LSI46とが設けられてお
り、そのためこのグラフィックモジュール14は大量の
データを高速で処理して表示することができ、ビットマ
ップデータの処理に適した構成となっている。
The graphic module 14 controls a large-screen high-resolution CRT (cathode ray tube), which will be described later, and operates a window system at high speed, an internal bus 42 connected to the graphic CPU 40, and an internal bus 42. C connected to the bus 42 and storing frequently used fonts including outline fonts
GROM (Character Generator Read-Only Memory) 4
4, a vector drawing LSI (large scale integrated circuit) 46 connected to the bus 42, a local memory 48, and a frame memory 50. In the frame memory 50, an entire page of A4 size is WYSIWYG (What You See Is
What You Get: 17 inch high resolution CRT (1400 × 19)
00 dots) 52 are connected. The aforementioned shared memories 24 and 54 are also connected to the internal bus 42. In this way, the graphic C is
Since the PU 40 and the vector drawing LSI 46 are provided, the graphic module 14 can process and display a large amount of data at high speed, and has a configuration suitable for processing bitmap data.

【0029】入力制御モジュール16は、入力制御を司
るための入力制御CPU56と、入力制御CPU56に
接続された内部バス58と、バス58に接続されたI/
Oインタフェース60とを含む。I/Oインタフェース
60には、前述のマウス、キーボード、ハンドスキャナ
などが接続されている。また、共有メモリ54も内部バ
ス58に接続されている。この入力制御モジュール16
は、従来の入力方法を継承するとともに、新しいデバイ
スにも対応が容易なように、ダウンロード方式をとって
いる。
The input control module 16 includes an input control CPU 56 for controlling input control, an internal bus 58 connected to the input control CPU 56, and an I / O connected to the bus 58.
O interface 60. The above-described mouse, keyboard, hand scanner, and the like are connected to the I / O interface 60. The shared memory 54 is also connected to the internal bus 58. This input control module 16
Adopts a download method so as to inherit the conventional input method and to easily support a new device.

【0030】このように入力に近い方から複数個のモジ
ュールを階層的に積上げ、それぞれの層間に共有メモリ
を配置するアーキテクチャは、次のような問題に対応し
たものである。
The architecture in which a plurality of modules are stacked hierarchically from the input side and a shared memory is arranged between the respective layers addresses the following problem.

【0031】従来から、シングルプロセッサ、単一バス
構造を採用したワークステーションが利用されている。
しかしこの構造では、レスポンスの要求の高い処理(た
とえばマウスによる入力処理)から、負荷が大きく重い
処理(たとえばエディタ編集処理)まで、同一のベース
の上に作成され動作する。そのため、アプリケーション
相互の処理内容と性能とによって、ワークステーション
の動作や応答性が予測しにくいという問題点がある。ま
た、いわゆるマルチメディアを取扱うためには、高速の
ウィンドウシステムが必須である。
Conventionally, a workstation employing a single processor and a single bus structure has been used.
However, in this structure, processes from requests requiring a high response (eg, input processing using a mouse) to processes requiring a large load (eg, editor editing processes) are created and operated on the same base. Therefore, there is a problem that it is difficult to predict the operation and responsiveness of the workstation depending on the processing content and performance between the applications. To handle so-called multimedia, a high-speed window system is essential.

【0032】図4に示されるマルチモジュール構成はこ
のような問題を解決するために開発されたものである。
すなわち、階層構造によってそれぞれの処理を分離し、
各処理モジュールにバスを配置するバスの多重化によっ
て、画像のような大容量のデータ処理から、マウス制御
のようなレスポンスの高い処理まで対応することができ
る。
The multi-module configuration shown in FIG. 4 has been developed to solve such a problem.
In other words, each process is separated by a hierarchical structure,
By multiplexing buses in which a bus is arranged in each processing module, it is possible to handle from processing of large-capacity data such as images to processing of high response such as mouse control.

【0033】以下の説明では、メインモジュール12の
メインCPU18で実行されるアプリケーション間でカ
ットバッファを利用してデータ交換をする際の、本発明
に係る方法を、図5〜図12を参照して説明する。
In the following description, a method according to the present invention when data is exchanged between applications executed by the main CPU 18 of the main module 12 using a cut buffer will be described with reference to FIGS. explain.

【0034】なお、以下の説明においては、説明を単純
化するために、アプリケーションによって要求されたカ
ットバッファ容量をそのまま確保する際の方法について
説明する。しかし、本発明はこのような方法に限定され
るわけではなく、仮想記憶方式で行なわれているような
頁やセグメント単位での拡張エリアの確保や、ディスク
キャッシュで行なわれているようなトラックバッファリ
ング(トラック内の一部のデータに対するアクセスが発
生した場合に、そのデータのみならずそのデータを含む
1トラック全部のデータをバッファに一旦記憶するこ
と)の機構に対しても、適用することができる。
In the following description, a method for securing the cut buffer capacity requested by the application as it is will be described to simplify the description. However, the present invention is not limited to such a method. For example, it is possible to secure an extended area in units of pages or segments as in the virtual memory system, or to use a track buffer as in the disk cache. The present invention can be applied to a ring (when data is accessed for a part of data in a track, the data of the entire track including the data is temporarily stored in a buffer once). it can.

【0035】初めに図5を参照して、以下で利用される
記憶媒体について説明する。標準カットバッファ62
は、メインモジュール12のローカルメモリ22内に確
保される。標準カットバッファ62には、カットバッフ
ァ管理テーブル64と、固定長(各々3KB)のカット
バッファ1、2、3とが設けられている。
First, referring to FIG. 5, a storage medium used below will be described. Standard cut buffer 62
Are secured in the local memory 22 of the main module 12. The standard cut buffer 62 is provided with a cut buffer management table 64 and cut buffers 1, 2, and 3 of fixed length (each 3 KB).

【0036】標準バッファ62の第一次の拡張エリア
は、グラフィックモジュール14内に準備された、印字
のためのバッファ領域が用いられる。図4に示される文
書処理専用WSにおいては、印字バッファは共有メモリ
24内に配置されている。この印字のためのバッファ
は、1インチあたり400ドットのA3判の印刷を行な
うことに対応して、4MB以上という大きな領域であ
る。しかもこの印字用バッファは、印字時以外には用い
られず、通常は遊休している場合が多い。そのため、こ
のように印字用バッファとして用いられる共有メモリ2
4を標準カットバッファの第1の拡張領域として用いれ
ば、本発明の効果が非常によく発揮される。
As the primary extension area of the standard buffer 62, a buffer area for printing prepared in the graphic module 14 is used. In the document processing dedicated WS shown in FIG. 4, the print buffer is arranged in the shared memory 24. The buffer for this printing is a large area of 4 MB or more in order to perform A3 size printing of 400 dots per inch. In addition, the printing buffer is not used except during printing, and is usually idle. Therefore, the shared memory 2 used as a print buffer in this way
If 4 is used as the first extended area of the standard cut buffer, the effect of the present invention is very well exhibited.

【0037】共有メモリ24内に確保された拡張領域で
は不足な場合、あるいは共有メモリ24内に拡張領域を
確保することができない場合に初めてハードディスク3
0(図4参照)内に一時ファイルが確保され、拡張領域
として用いられることになる。
When the extended area secured in the shared memory 24 is insufficient, or when the extended area cannot be secured in the shared memory 24, the
0 (see FIG. 4), a temporary file is secured and used as an extension area.

【0038】図6を参照して、カットバッファ管理テー
ブル64は、使用されるカットバッファに関する情報を
格納しておくためのカットバッファ情報テーブル66
と、カットバッファのうち、標準カットバッファとして
用意されているカットバッファ1、2、3に関する情報
を格納しておくための標準カットバッファテーブル68
と、グラフィックモジュールに確保された一時バッファ
に関する情報を格納しておくためのグラフィックモジュ
ール一時バッファテーブル70と、ハードディスクなど
の二次記憶装置に確保された一時ファイルに関する情報
を格納するための二次記憶一時ファイルテーブル72と
を含む。
Referring to FIG. 6, cut buffer management table 64 has a cut buffer information table 66 for storing information on cut buffers to be used.
And a standard cut buffer table 68 for storing information on the cut buffers 1, 2, and 3 prepared as standard cut buffers among the cut buffers.
And a graphic module temporary buffer table 70 for storing information about a temporary buffer secured in the graphic module, and a secondary storage for storing information about a temporary file secured in a secondary storage device such as a hard disk. And a temporary file table 72.

【0039】カットバッファ情報テーブル66には、確
保されているカットバッファを特定するためのカットバ
ッファID(識別子)と、各カットバッファの名称と、
各カットバッファのタイプと、各カットバッファが所定
時間内にアプリケーションから参照されたか否かを示す
ための参照フラグと、各カットバッファに割当てられた
標準カットバッファのうちの先頭カットバッファのID
と、標準カットバッファ1、2、3、二次記憶一時ファ
イル、グラフィックモジュール一時バッファのいずれを
カットバッファとして利用しているかを表わすための利
用フラグとを格納する。たとえば先頭IDとして、
“1”が格納されていれば、対応するカットバッファの
先頭は標準カットバッファ1から始まっていることを示
す。
The cut buffer information table 66 includes a cut buffer ID (identifier) for specifying a secured cut buffer, a name of each cut buffer,
The type of each cut buffer, a reference flag for indicating whether or not each cut buffer was referenced from the application within a predetermined time, and the ID of the first cut buffer among the standard cut buffers assigned to each cut buffer
And a use flag for indicating which of the standard cut buffers 1, 2, 3, the secondary storage temporary file, and the graphic module temporary buffer are used as the cut buffer. For example, as the top ID,
If "1" is stored, it indicates that the head of the corresponding cut buffer starts from the standard cut buffer 1.

【0040】標準カットバッファテーブル68は、各標
準カットバッファのID(識別子)と、その標準カット
バッファを利用しているファイルの識別子(利用ファイ
ルID)と、各標準カットバッファの容量と、各標準カ
ットバッファでは容量が不足している場合に、次の拡張
領域(標準カットバッファ、グラフィックモジュール一
時バッファ、または二次記憶一時ファイル)を示すため
のチェインリストとが格納される。各チェインリストに
は、各拡張領域を特定するIDが格納されている。たと
えばチェインリストのフィールドに“G”が格納されて
いれば、この標準カットバッファから、さらにグラフィ
ックモジュールの一時バッファに領域が拡張されている
ことを示す。
The standard cut buffer table 68 includes an ID (identifier) of each standard cut buffer, an identifier of a file using the standard cut buffer (used file ID), a capacity of each standard cut buffer, When the capacity of the cut buffer is insufficient, a chain list for indicating the next extended area (standard cut buffer, graphic module temporary buffer, or secondary storage temporary file) is stored. Each chain list stores an ID for specifying each extended area. For example, if "G" is stored in the field of the chain list, it indicates that the area has been expanded from the standard cut buffer to the temporary buffer of the graphic module.

【0041】グラフィックモジュール一時バッファテー
ブル70には、この一時バッファを特定するためのID
(識別子)と、この一時バッファを利用しているファイ
ルのID(利用ファイルID)と、確保された一時バッ
ファの容量と、この一時バッファでは容量が不足した場
合にさらに拡張した場合の拡張先のIDを示すチェイン
リスト情報と、この一時バッファの、共有メモリ24
(図4参照)内の先頭アドレスと、この一時バッファが
確保された時刻と、この一時バッファに先立って利用さ
れた拡張エリアを示す後ろ向ポインタ74とが格納され
ている。たとえばチェインリスト情報として“F”が格
納されていれば、拡張領域がさらに二次記憶の一時ファ
イルに拡張されていることを示す。
The graphic module temporary buffer table 70 has an ID for specifying the temporary buffer.
(Identifier), the ID of the file using the temporary buffer (used file ID), the capacity of the secured temporary buffer, and the extension destination when the temporary buffer is further expanded if the capacity is insufficient. Chain list information indicating the ID and the shared memory 24 of the temporary buffer.
(See FIG. 4), the start address, the time at which this temporary buffer was secured, and the backward pointer 74 indicating the extended area used prior to this temporary buffer are stored. For example, if “F” is stored as the chain list information, it indicates that the extended area is further extended to a temporary file in the secondary storage.

【0042】二次記憶一時ファイルテーブル72には、
グラフィックモジュール一時バッファテーブル70と同
様にIDと、利用ファイルIDと、容量と、チェインリ
ストと、この一時ファイル名と、この一時ファイルが確
保された時刻と、後ろ向ポインタ76とが格納される。
チェインリスト情報として“0”が格納されている場
合、この領域からさらに拡張された領域は存在しないこ
とを示す。
In the secondary storage temporary file table 72,
Similarly to the graphic module temporary buffer table 70, the ID, the used file ID, the capacity, the chain list, the temporary file name, the time at which the temporary file was secured, and the backward pointer 76 are stored.
When “0” is stored as the chain list information, it indicates that there is no area further extended from this area.

【0043】以下、図7〜図12を参照して、図4〜図
6に示される文書処理専用WSにおいて本発明に係るア
プリケーション間データ交換制御方法を実施する場合
の、文書処理専用WS10の動作を、フローチャートを
参照しながら説明する。
Referring now to FIGS. 7 to 12, the operation of document processing dedicated WS 10 when the method of controlling data exchange between applications according to the present invention is implemented in the document processing dedicated WS shown in FIGS. Will be described with reference to a flowchart.

【0044】このフローチャートのうち、図7、図8
は、所定容量(xKB)のカットバッファを取得する際
のフローチャートを示す。図9、図10は、一旦取得し
たカットバッファを解放する際のフローチャートを示
す。図11、図12は、メインモジュール12によっ
て、共有メモリ24内にカットバッファの拡張領域が確
保されている際にグラフィックモジュール14側から共
有メモリ24内にyKBの領域を確保する際のフローチ
ャートを示す。
FIG. 7 and FIG.
5 shows a flowchart for acquiring a cut buffer having a predetermined capacity (xKB). FIGS. 9 and 10 show flowcharts when releasing the cut buffer once obtained. FIG. 11 and FIG. 12 are flowcharts when the main module 12 secures the yKB area in the shared memory 24 from the graphic module 14 when the extended area of the cut buffer is secured in the shared memory 24. .

【0045】最初に図7を参照して、xKBのカットバ
ッファの割付要求が発生すると、ステップS(以下単に
Sと呼ぶ)001において、標準カットバッファ管理に
対し、xKBの領域の割付要求が行なわれる。
First, referring to FIG. 7, when a request for allocating an xKB cut buffer occurs, in step S (hereinafter simply referred to as S) 001, a request for allocating an xKB area is made to the standard cut buffer management. It is.

【0046】続いてS002において、S001におけ
る処理の結果、xKBの領域のすべてが標準カットバッ
ファによって割付可能であったかどうかの判断が行なわ
れる。割付可能であれば処理は直接S009に進むが、
全部が割付可能ではなかった場合には処理はS003に
進む。
Subsequently, in S002, it is determined whether or not all of the xKB area can be allocated by the standard cut buffer as a result of the processing in S001. If the assignment is possible, the process proceeds directly to S009,
If not all can be assigned, the process proceeds to S003.

【0047】S003においては、次の式によりグラフ
ィックモジュールに対して割付要求をする容量yKBの
計算が行なわれる。
In step S003, a capacity yKB for requesting allocation to the graphic module is calculated by the following equation.

【0048】y=x−標準カットバッファ割付容量 続いてS004において、サブルーチンにより、グラフ
ィックモジュールのメモリ管理に対し、S003で決定
された容量yKBの区画の割付要求が行なわれる。
Y = x-Standard Cut Buffer Allocated Capacity Subsequently, in S004, a subroutine requests the memory management of the graphic module to allocate a partition of the capacity yKB determined in S003.

【0049】S005において、S004の処理の結
果、割付要求があったxKBのうちの残りyKBの領域
のすべてがグラフィックモジュール内のメモリによって
割付可能であったかどうかの判断が行なわれる。割付可
能であれば処理は直接S009に進むが、残り全部が割
付可能というわけではなかった場合には処理はS006
に進む。
In S005, as a result of the processing in S004, it is determined whether or not all of the remaining yKB area of the xKB requested to be allocated can be allocated by the memory in the graphic module. If the assignment is possible, the process proceeds directly to S009, but if not all of the rest is assignable, the process proceeds to S006.
Proceed to.

【0050】S006では、次の式により、二次記憶管
理に対して一時ファイル作成を要求する際の一時ファイ
ルの容量zKBが計算される。
In S006, the following formula is used to calculate the temporary file capacity zKB when requesting the secondary storage management to create a temporary file.

【0051】z=y−グラフィックモジュール割付容量 S007では、二次記憶(ハードディスク30)に、容
量zKBの一時ファイルを作成する処理が行なわれる。
Z = y-Graphic Module Allocation Capacity In S007, a process of creating a temporary file of capacity zKB in the secondary storage (hard disk 30) is performed.

【0052】続いてS008で、S007の処理の結
果、二次記憶にzKBの容量の一時ファイルの作成が可
能であったかどうかの判断が行なわれる。割付可能であ
れば処理はS009に進むが、それ以外の場合には結局
xKBの領域を確保することができなかったということ
であるから、この処理はエラー復帰する。
Subsequently, in S008, it is determined whether a temporary file having a capacity of zKB can be created in the secondary storage as a result of the processing in S007. If allocation is possible, the process proceeds to S009. In other cases, however, it means that the xKB area could not be secured after all, and this process returns to an error.

【0053】S009では、それぞれ標準カットバッフ
ァ、グラフィックモジュール一時バッファ、二次記憶の
一時ファイルについてそれぞれの管理テーブル(図6参
照)を更新する処理が行なわれる。S009の管理テー
ブル更新の後、カットバッファ番号をPとして処理はメ
インルーチンに復帰する。
In S009, processing is performed to update the management tables (see FIG. 6) for the standard cut buffer, the graphic module temporary buffer, and the temporary file in the secondary storage, respectively. After updating the management table in S009, the process returns to the main routine with the cut buffer number set to P.

【0054】図8は、たとえば図7のS004で行なわ
れるサブルーチンのフローチャートである。S001の
処理も同様に行える。図8を参照して、グラフィックモ
ジュールのメモリ管理に対してyKBの区画の割付要求
が発生すると、ステーションS101で変数fに初期値
1が代入される。変数fは、グラフィックモジュールの
メモリ管理に用意された空き領域表内の位置を示す変数
である。
FIG. 8 is a flowchart of a subroutine performed in S004 of FIG. 7, for example. The processing of S001 can be performed in the same manner. Referring to FIG. 8, when a request for allocating a yKB partition is issued to the memory management of the graphic module, an initial value 1 is assigned to a variable f in station S101. The variable f is a variable indicating a position in the free area table prepared for the memory management of the graphic module.

【0055】ステーションS102において、変数fで
表わされる空き領域表中の位置が、空き領域表の終りで
あるか否かについての判断が行なわれる。空き領域表の
終りに達していればこの処理までに必要な領域が確保で
きなかったということであるからこのサブルーチンはエ
ラー復帰する。
In the station S102, it is determined whether or not the position in the free space table represented by the variable f is the end of the free space table. If the end of the free area table has been reached, it means that a necessary area could not be secured by this processing, and this subroutine returns an error.

【0056】空き領域表の終りでない場合には処理はS
103に進み、f番目の空き領域が現在空いているかど
うかについての判断が行なわれる。空いていない場合に
は処理はS106に進むが、当ている場合には処理はS
104に進む。
If it is not the end of the free area table, the processing is S
Proceeding to 103, a determination is made as to whether the fth free area is currently free. If it is not empty, the process proceeds to S106.
Proceed to 104.

【0057】S104では、新たに割付ける区画の番地
をf番目の空き領域の番地とする処理が行なわれる。
At S104, a process is performed in which the address of the section to be newly assigned is set to the address of the f-th free area.

【0058】続いてS105では、f番目の空き領域の
容量と割付要求があったyKBとの間で、どちらが大き
いかについての判断が行なわれる。yKBの方が大きい
場合には処理はS106に、両者が等しい場合には処理
はS108に、f番目の空き領域の容量がyKBよりも
大きいときは処理はS107に、それぞれ進む。
Subsequently, in S105, a determination is made as to which is larger, between the capacity of the f-th free area and the yKB requested to be allocated. If yKB is larger, the process proceeds to S106; if they are equal, the process proceeds to S108; if the capacity of the f-th free area is larger than yKB, the process proceeds to S107.

【0059】S106では、f番目の空き領域まで調査
したところでyKBをすべて割付けることは未だ完了し
ていないことから、変数fを1インクリメントし、もう
一度S102に戻って以下の処理が繰り返し行なわれ
る。
In S106, since the allocation of all the yKB has not been completed yet when the f-th free area has been checked, the variable f is incremented by 1, and the flow returns to S102 again to repeat the following processing.

【0060】f番目の空き領域の容量と割付要求があっ
yKBとが等しい場合には、処理はS108に進む。S
108においては、空き領域表のf番目の空き領域の状
態を空欄とする処理が行なわれ、S109に進む。
If the capacity of the f-th free area is equal to the allocation request yKB, the process proceeds to S108. S
At 108, a process of setting the state of the f-th free area in the free area table to blank is performed, and the process proceeds to S109.

【0061】S105における判断の結果処理がS10
7に進んだ場合、f番目の空き領域の容量からyKBを
減じて新たにf番目の空き領域の容量とする処理と、f
番目の空き領域の番地を、yKBだけ増加させる処理と
が行なわれる。これにより、f番目の空き領域のうち前
半のyKBがカットバッファの拡張領域として使用され
る状態となり、空き領域はその残りの領域に縮小され
る。S107の後処理はS109に進む。
The processing result of the judgment in S105 is S10
7, when yKB is subtracted from the capacity of the f-th free area to obtain a new capacity of the f-th free area;
The process of increasing the address of the third free area by yKB is performed. As a result, the first half of the fKB free area is used as the extended area of the cut buffer, and the free area is reduced to the remaining area. The post-processing of S107 proceeds to S109.

【0062】S109では、グラフィックモジュールの
一時バッファテーブルのうち、その状態が空欄となって
いる区画Pが求められる。続いてS110で、求められ
た区画の欄に、その容量と開始番地などを設定する処理
が行なわれる。さらに続いてS111において、区画P
の状態を「割付済」とする処理が行なわれ、このサブル
ーチンはメインルーチンに復帰する。
In S109, a section P in the temporary buffer table of the graphic module in which the state is blank is obtained. Subsequently, in S110, a process of setting the capacity, the starting address, and the like in the obtained section column is performed. Subsequently, in S111, the section P
Is performed, and the subroutine returns to the main routine.

【0063】以上図8の処理を、S004の処理を例と
して説明したが、同様の処理はS001においても行な
われる。
Although the processing of FIG. 8 has been described using the processing of S004 as an example, the same processing is performed in S001.

【0064】図9は、確保済のカットバッファの領域を
解放する処理のフローチャートである。解放要求がある
と、まずS401でカットバッファ管理テーブル64
(図6参照)をチェックする処理が行なわれる。
FIG. 9 is a flowchart of a process for releasing the secured cut buffer area. When there is a release request, first in S401, the cut buffer management table 64
(See FIG. 6).

【0065】続いてS402においては、標準カットバ
ッファ管理に対し、カットバッファに割付けられている
領域を解放することを依頼する処理が行なわれる。これ
により、カットバッファとして使用されていた標準カッ
トバッファのうち不要なものは解放される。
Subsequently, in S402, a process for requesting the standard cut buffer management to release the area allocated to the cut buffer is performed. As a result, unnecessary ones of the standard cut buffers used as the cut buffers are released.

【0066】続いてS403において、標準カットバッ
ファ以外に他のチェインがあるかどうかについての判断
が行なわれる。他のチェインが存在しない場合には処理
は直接S408に進むが、他のチェインが存在する場合
にはそれらの領域を解放する必要があるため処理はS4
04に進む。
Subsequently, in S403, it is determined whether or not there is another chain other than the standard cut buffer. If there is no other chain, the process proceeds directly to step S408, but if there is another chain, it is necessary to release those areas, so the process proceeds to step S4.
Go to 04.

【0067】S404では、グラフィックモジュールに
対して割付けられた一時バッファがあるかどうかについ
ての判断が行なわれる。割付がなかった場合には処理は
直接S406に進むが、割付がある場合には処理はS4
05に進む。S405においては、グラフィックモジュ
ールメモリ管理に対し、一時バッファの割付の解放を依
頼する処理が行なわれる。この依頼の結果、後述するサ
ブルーチンに従った処理によってグラフィックモジュー
ルに確保されていた一時バッファが解放される。S40
5の後処理はS406に進む。
At S404, a determination is made as to whether there is a temporary buffer allocated to the graphics module. If no assignment has been made, the process proceeds directly to S406, but if there is an assignment, the process proceeds to S4.
Go to 05. In S405, a process of requesting the graphic module memory management to release the temporary buffer allocation is performed. As a result of this request, the temporary buffer secured in the graphic module is released by processing according to a subroutine described later. S40
The post-processing of 5 proceeds to S406.

【0068】S406においては、二次記憶に一時ファ
イルとして割付けられた領域があるかどうかについての
判断が行なわれる。割付がない場合には処理は直接S4
08に進むが、割付があった場合には処理はS407に
進む。S407ではこの一時ファイルが解放される。S
407の後処理はS408に進む。
In S406, it is determined whether or not there is an area allocated as a temporary file in the secondary storage. If there is no assignment, the processing is directly S4
The process proceeds to 08, but if there is an assignment, the process proceeds to S407. In S407, the temporary file is released. S
The post-processing of 407 proceeds to S408.

【0069】S408では、以上行なわれた処理に従っ
て、管理テーブルを更新する処理が行なわれ、制御はこ
の処理を呼出したプログラムに復帰する。
In S408, processing for updating the management table is performed according to the processing performed above, and control returns to the program that called this processing.

【0070】図10は、たとえば図9のS405で行な
われる一時バッファの解放要求に応答して一時バッファ
を解放する処理のフローチャートである。以下の説明で
は、区画Qを解放することが依頼されたものとする。ま
ずS501において、容量として区画Qの容量が、番地
として区画Qの番地がそれぞれ記憶される。
FIG. 10 is a flowchart of a process for releasing the temporary buffer in response to the temporary buffer release request performed in step S405 of FIG. 9, for example. In the following description, it is assumed that a request to release the section Q has been made. First, in S501, the capacity of the section Q is stored as the capacity, and the address of the section Q is stored as the address.

【0071】続いてS502において、区画Qの状態を
空欄とする処理が行なわれる。続いてS503におい
て、区画Qが何ヵ所で空き領域と隣接しているかについ
ての判断が行なわれる。区画Qが空き領域と隣接してい
ない場合にはS504に、区画Qがその先頭または最後
のどちらか一方でのみ空き領域と隣接している場合には
S507に、区画Qがその先頭および最後の両方で空き
領域と隣接している場合にはS508に、それぞれ処理
が進む。
Subsequently, in S502, a process of setting the state of the section Q to blank is performed. Subsequently, in S503, it is determined how many places the partition Q is adjacent to the empty area. If the section Q is not adjacent to the free area, the process proceeds to step S504. If the section Q is adjacent to the free area only at one of the top and the last, the process proceeds to step S507. If both are adjacent to the free area, the process proceeds to S508.

【0072】S504では、グラフィックモジュールの
メモリ管理に用意された空き領域表で、空欄となってい
る欄(f番目とする)を求める処理が行なわれる。
In step S504, a process is performed to find a blank column (fth) in the free area table prepared for the memory management of the graphic module.

【0073】続いてS505において、空き領域表のf
番目の欄に、新しい空き領域の容量とその番地とを設定
する処理が行なわれる。
Subsequently, in S505, f of the free area table
A process for setting the capacity of the new free area and its address is performed in the second column.

【0074】続いてS506では、この新しい空き領域
の状態として「空いている」という状態を設定する処理
が行なわれ、このサブルーチンは終了する。
Subsequently, in S506, a process of setting the state of "free" as the state of the new free area is performed, and this subroutine ends.

【0075】S503からS507に処理が進んだ場
合、S507では、新しい空き領域とこの空き領域に隣
接する空き領域f1 とを合併する処理が行なわれる。す
なわち、新しい空き領域に隣接した空き領域f1 の容量
に、新しい空き領域(区画Q)の容量を加算する処理が
行なわれ、このサブルーチンは終了する。
[0075] When the process advances from S503 to S507, in S507, processing for merging the free space f 1 the new free area and adjacent to the free space is performed. That is, the amount of free space f 1 adjacent to the new free area, the process of adding the capacity of the new free space (compartment Q) is performed, the process is terminated.

【0076】S503からS508に処理が進んだ場
合、S508においては、これらの空き領域を、区画9
に隣接する2つの空き領域f1 、f2 のうちの一方、た
とえばf1 に合併する処理が行なわれる。すなわち、f
1 の容量に、f2 の容量と新たに発生したf番目の区画
Qの容量とを加算する処理が行なわれる。
If the processing has proceeded from S503 to S508, in S508 these empty areas are
A process for merging with one of the two free areas f 1 and f 2 , for example, f 1 , is performed. That is, f
A first capacitor, the process for adding the capacity of the newly generated f th compartment Q and the capacitance of f 2 is carried out.

【0077】続いてS509において、もう一方の空き
領域f2 の状態を空欄に設定する処理が行なわれる。S
509の後このサブルーチンは終了する。S508、S
509の処理により、区画Qを挟んで存在していた2つ
の空き領域f1 、f2 が区画Qとともに1つの空き領域
1 に統合されることになる。同様の処理はS402で
も行なわれる。
Subsequently, in S509, a process of setting the state of the other free area f 2 to blank is performed. S
After 509, this subroutine ends. S508, S
By the processing of 509, the two free areas f 1 and f 2 that existed across the section Q are integrated into one free area f 1 together with the section Q. Similar processing is performed in S402.

【0078】図7〜図10に示される処理により、メイ
ンモジュール側から、アプリケーション間のデータ交換
のためのカットバッファをローカルメモリ22、共有メ
モリ24、ハードディスク303の順で確保する処理お
よび不要となった時点で解放する処理がそれぞれ行なわ
れる。
The process shown in FIGS. 7 to 10 eliminates the need for the process of securing a cut buffer for data exchange between applications in the order of the local memory 22, the shared memory 24, and the hard disk 303 from the main module side. Release processing is performed at the point in time.

【0079】一方、グラフィックモジュール14が、新
たに共有メモリ24内に所定領域の割付を要求する場合
があり得る。この場合の処理は次のように行なわれる。
On the other hand, the graphic module 14 may newly request the allocation of a predetermined area in the shared memory 24. The processing in this case is performed as follows.

【0080】図11を参照して、グラフィックモジュー
ルからのyKBの記憶領域の割付要求が発生すると、S
201において、グラフィックモジュールのメモリ管理
に対し、yKBの区画の割付要求が行なわれる。
Referring to FIG. 11, when a yKB storage area allocation request is issued from the graphic module, S
At 201, a request for allocation of a yKB partition is made to the memory management of the graphic module.

【0081】S202において、グラフィックモジュー
ルでyKBの区画が割付可能であったかどうかの判断が
行なわれる。割付可能であればこの区画を区画番号Rと
して復帰する。グラフィックモジュールが、たとえばメ
インモジュールによるカットバッファの利用などによっ
て一部使用されており、yKBの区画が割付不可能であ
った場合には処理はS203に進む。
In S202, it is determined whether or not the yKB section can be allocated by the graphic module. If the assignment is possible, the section is returned as the section number R. If the graphic module is partially used, for example, by using the cut buffer by the main module, and the yKB partition cannot be allocated, the process proceeds to S203.

【0082】S203においては、共有メモリ24がカ
ットバッファとして利用されているかどうかについての
判断が行なわれる。判断の結果カットバッファの利用が
ない場合には、新たに使用可能な領域を作り出すことは
不可能であるから処理はS210に進み、ステータスレ
ジスタにエラーステータスをセットしてエラー復帰する
ことになる。一方カットバッファの利用がある場合に
は、利用されているカットバッファのうちいずれかを二
次記憶などにロールアウトすることにより、yKBの領
域を作り出すことが可能である。S204以下ではその
処理が行なわれる。
At S203, it is determined whether or not shared memory 24 is used as a cut buffer. If the cut buffer is not used as a result of the determination, it is impossible to create a new usable area, so the process proceeds to S210, where an error status is set in the status register and error recovery is performed. On the other hand, when the cut buffer is used, it is possible to create a yKB area by rolling out one of the used cut buffers to a secondary storage or the like. The process is performed in S204 and subsequent steps.

【0083】S204においては、共有メモリ内に取ら
れているカットバッファのうち、利用頻度の低いカット
バッファを選択する処理が行なわれる。この場合選択さ
れたカットバッファの合計容量zKBが、割付要求のあ
ったyKBよりも大きくなるということが条件である。
S204では、図12を参照して後述するアルゴリズム
によるカットバッファの選択が行なわれる。
In S204, a process of selecting a less frequently used cut buffer from among the cut buffers stored in the shared memory is performed. In this case, the condition is that the total capacity zKB of the selected cut buffer is larger than yKB for which allocation has been requested.
In S204, a cut buffer is selected by an algorithm described later with reference to FIG.

【0084】続いてS205において、S204の処理
の結果ロールアウトすべきカットバッファを選択するこ
とが可能であったかどうかについての判断が行なわれ
る。選択が可能でなかった場合にはカットバッファをロ
ールアウトして新たな区画を作り出すことができないわ
けであるから処理はS210に進み、ステータスレジス
タにエラーステータスをセットしてエラー復帰する。一
方、条件を満たすカットバッファを選択することが可能
であった場合には処理はS206に進む。
Subsequently, in S205, it is determined whether or not the cut buffer to be rolled out can be selected as a result of the processing in S204. If the selection is not possible, the cut buffer cannot be rolled out to create a new section, so the process proceeds to S210, where an error status is set in the status register and the error is returned. On the other hand, if it is possible to select a cut buffer satisfying the condition, the process proceeds to S206.

【0085】S206においては、ハードディスクなど
の二次記憶に一時ファイルを作成し、この一時ファイル
に、S204の処理の結果選択されたカットバッファを
ロールアウトする処理が行なわれる。処理はS207に
進む。
In S206, a temporary file is created in a secondary storage such as a hard disk, and a process of rolling out the cut buffer selected as a result of the processing in S204 to this temporary file is performed. The process proceeds to S207.

【0086】S207においては、S206において行
なわれる処理の結果、選択されたカットバッファをロー
ルアウトすることが可能であったかどうかの判断が行な
われる。たとえば二次記憶に既に十分な空き領域がな
く、一時ファイルを作成することが不可能であった場合
にはロールアウトを行なうことはできないため、共有メ
モリ内に使用可能な新たな区画を作り出すことはでき
ず、処理はS210に進んでステータスレジスタにエラ
ーステータスをセットしてエラー復帰する。ロールアウ
トが可能であれば処理はS208に進む。
In S207, it is determined whether or not the selected cut buffer can be rolled out as a result of the processing performed in S206. For example, if there is not enough free space in the secondary storage and it is not possible to create a temporary file, rollout cannot be performed, so creating a new usable partition in shared memory No, the process proceeds to S210, and sets an error status in the status register and returns to the error. If rollout is possible, the process proceeds to S208.

【0087】S208においては、管理テーブル内の、
ロールアウトされたカットバッファに関する情報を更新
する処理が行なわれる。
At S208, the management table
A process for updating information about the rolled-out cut buffer is performed.

【0088】さらにS209において、グラフィックモ
ジュールのメモリ管理に対し、S206でロールアウト
されたカットバッファの領域を解放するよう要求する処
理が行なわれる。この処理自体は図9、図11を参照し
て説明した処理と同様の処理で行なうことができる。S
209による処理の結果、選択されたカットバッファが
共有メモリ内で空き領域として解放される。S209の
後処理は再びS201に戻り、S201以下の処理が行
なわれる。
Further, in S209, processing is performed to request the memory management of the graphic module to release the cut buffer area rolled out in S206. This processing itself can be performed by the same processing as the processing described with reference to FIGS. S
As a result of the processing in 209, the selected cut buffer is released as a free area in the shared memory. The post-processing of S209 returns to S201 again, and the processing after S201 is performed.

【0089】新たに行なわれるS201以下の処理で
は、既に共有メモリ内に十分な空き領域が作成されてい
るため、yKBの領域をグラフィックモジュールのため
に割付可能となる。
In the newly executed processing after S201, since a sufficient free area has already been created in the shared memory, the yKB area can be allocated for the graphic module.

【0090】図12は、図11のS204で行なわれる
カットバッファ選択処理のフローチャートである。図1
2に示されるアルゴリズムは、簡易なLRU(Least Re
cently-Used )法に従ったものであり、このアルゴリズ
ムにより、最も長期間使用されていなかったカットバッ
ファが選択されることになる。
FIG. 12 is a flowchart of the cut buffer selection process performed in S204 of FIG. FIG.
The algorithm shown in FIG. 2 is a simple LRU (Least Re
According to the cently-used method, the cut buffer which has been used for the longest time is selected by this algorithm.

【0091】図12を参照してまずS301において、
検索容量として、割付要求があったyKBをセットする
処理が行なわれる。
Referring to FIG. 12, first in S301,
A process of setting yKB for which the allocation request has been made as the search capacity is performed.

【0092】続いてS302において、管理テーブル内
の各カットバッファを順に参照するためのポインタk
を、現在の値から次のカットバッファに進める処理が行
なわれる。この場合管理テーブル内の最終のカットバッ
ファまで進んだ場合には、ポインタkは先頭のカットバ
ッファに進められる。
Subsequently, in S302, a pointer k for sequentially referring to each cut buffer in the management table.
Is advanced from the current value to the next cut buffer. In this case, when the pointer has advanced to the last cut buffer in the management table, the pointer k is advanced to the first cut buffer.

【0093】S303において、現在のポインタkで指
し示されるカットバッファの参照フラグ(図6のカット
バッファ情報テーブルを参照)が“1”であるかどうか
の判断が行なわれる。この参照フラグは、前回カットバ
ッファ選択処理を行なった際にゼロにクリアされてい
る。そしてアプリケーションプログラムからこのカット
バッファに対して参照があった場合に“1”がセットさ
れる。したがって、S303における判断の結果がYE
Sであれば対応するk番目のカットバッファは少なくと
も前回のカットバッファ選択処理以後利用されていると
いうことであるからロールアウトの対象とはならない。
この場合には処理はS306に進む。S306において
は、ポインタkが、管理テーブルのカットバッファ情報
テーブルを一巡したかどうかについての判断が行なわれ
る。既に一巡した場合には、前回のカットバッファ選択
処理以後今回のカットバッファ選択処理までの間に、す
べてのカットバッファが利用されていたということであ
るからロールアウトの対象となるカットバッファは見つ
けられなかったということになり、エラー復帰する。ポ
インタが一巡していない場合には処理はS307に進
む。
In S303, it is determined whether or not the reference flag (refer to the cut buffer information table in FIG. 6) of the cut buffer indicated by the current pointer k is "1". This reference flag has been cleared to zero when the cut buffer selection processing was performed last time. Then, “1” is set when there is a reference to this cut buffer from the application program. Therefore, the result of the determination in S303 is YE
If it is S, it means that the corresponding k-th cut buffer has been used since at least the previous cut buffer selection processing, and is not a rollout target.
In this case, the process proceeds to S306. In S306, a determination is made as to whether the pointer k has made a round in the cut buffer information table of the management table. If the round has already been completed, it means that all the cut buffers have been used between the previous cut buffer selection processing and the current cut buffer selection processing. That is, there is no error, and an error is returned. If the pointer has not completed one cycle, the process proceeds to S307.

【0094】S307においは、k番目のカットバッフ
ァの参照フラグのフィールドをゼロクリアする処理が行
なわれる。処理は再びS302に進む。
In S307, a process for clearing the reference flag field of the k-th cut buffer to zero is performed. The process proceeds to S302 again.

【0095】一方、S303における判断の結果ポイン
タkで指し示されるカットバッファの参照フラグがゼロ
である場合には処理はS304に進む。S304では、
ロールアウト可能なカットバッファの容量zKBに、ポ
インタkで示されるカットバッファの容量を加算する処
理が行なわれる。なおこの容量zKBは、カットバッフ
ァ選択処理の際にゼロクリアされている。
On the other hand, if the result of the determination in S303 is that the reference flag of the cut buffer indicated by the pointer k is zero, the process proceeds to S304. In S304,
A process of adding the cut buffer capacity indicated by the pointer k to the roll buffer cut buffer capacity zKB is performed. Note that this capacity zKB has been cleared to zero during the cut buffer selection processing.

【0096】続いてS305では、S304における計
算の結果得られたzKBと、割付要求のあったyKBと
の比較が行なわれる。比較の結果zKBの方が未だyK
Bよりも小さい場合には割付要求のあった容量をすべて
確保することがまだできていないということであるから
処理はS302に戻り、S302から処理が繰り返し行
なわれる。一方zKBが割付要求のあったyKBよりも
大きいか等しい場合には、選択されたカットバッファを
すべてロールアウトして解放すれば、割付要求のあった
yKBの領域が解放可能であるということであるから処
理は元のルーチンに復帰する。
Subsequently, in S305, a comparison is made between the zKB obtained as a result of the calculation in S304 and the yKB requested to be allocated. As a result of comparison, zKB is still yK
If it is smaller than B, it means that all of the requested capacity has not been secured yet, so the process returns to S302, and the process is repeated from S302. On the other hand, if zKB is greater than or equal to yKB for which allocation has been requested, the area of yKB for which allocation has been requested can be released by rolling out and releasing all the selected cut buffers. Then, the process returns to the original routine.

【0097】このようにすることにより、共有メモリを
用いてカットバッファのための一時バッファを確保する
処理と、グラフィックモジュール側で必要なときに必要
な領域を共有メモリに確保する処理とが矛盾なく行なわ
れることになるる。
By doing so, there is no contradiction between the processing for securing a temporary buffer for the cut buffer using the shared memory and the processing for securing a necessary area in the shared memory when necessary on the graphic module side. Will be done.

【0098】以上、本発明に係る方法が一実施例に基づ
いて詳細に説明された。しかし、この発明は上述の実施
例には限定されない。たとえば、上述の実施例では二次
記憶(ハードディスク)に一時ファイルを確保する前
に、グラフィックモジュールとの共有メモリに一時バッ
ファが作成された。しかし、たとえばシステムに接続さ
れているメモリなどの記憶媒体であって、ハードディス
クよりも高速にアクセス可能なものであればすべて、こ
の一時バッファ確保のための領域とすることができる。
また、システムがネットワークに接続されている場合に
は、この方式を用いて、ネットワーク上で動作するアプ
リケーション間のデータ交換を行なうことも可能であ
る。
The method according to the present invention has been described in detail based on one embodiment. However, the present invention is not limited to the above embodiment. For example, in the above embodiment, a temporary buffer was created in a shared memory with the graphic module before a temporary file was secured in the secondary storage (hard disk). However, any storage medium such as a memory connected to the system that can be accessed at a higher speed than a hard disk can be used as an area for securing the temporary buffer.
When the system is connected to a network, data exchange between applications operating on the network can be performed using this method.

【0099】[0099]

【発明の効果】以上のように本発明によれば、データ交
換エリアの拡張領域を確保する際に、アクセス速度の遅
いたとえば二次記憶媒体のような第3の記憶手段より前
に、高速でアクセス可能な第2の記憶手段上に確保する
ようにし、それで不十分な場合に初めて第3の記憶手段
に拡張領域を確保する。大きなデータを交換する際に
も、アクセス時間の長い第3の記憶手段にアクセスする
必要が減少し、データ交換の速度を高めることができ
る。また、従来のハードウェアをそのまま用いて実現す
ることができるという利点もあり、装置のコストを不必
要に上昇させることもない。
As described above, according to the present invention, when securing the extended area of the data exchange area, the access speed is reduced before the third storage means such as a secondary storage medium having a low access speed. The extension area is secured on the accessible second storage means, and if that is not sufficient, the extension area is secured on the third storage means. When exchanging large data, the necessity of accessing the third storage means having a long access time is reduced, and the speed of data exchange can be increased. Further, there is an advantage that it can be realized by using the conventional hardware as it is, and the cost of the apparatus is not unnecessarily increased.

【0100】その結果、装置のコストを上昇させずに、
データ交換の速度を高めることが可能なアプリケーショ
ン間データ交換制御方法を提供することができる。
As a result, without increasing the cost of the device,
It is possible to provide a method for controlling data exchange between applications that can increase the speed of data exchange.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明を説明するためのソフトウェア構造の模
式図である。
FIG. 1 is a schematic diagram of a software structure for explaining the present invention.

【図2】本発明を説明するためのソフトウェア構造の模
式図である。
FIG. 2 is a schematic diagram of a software structure for explaining the present invention.

【図3】本発明に従ってカットバッファを拡張する際の
拡張領域のリンクの状態を示す模式図である。
FIG. 3 is a schematic diagram showing a state of a link in an extended area when a cut buffer is extended according to the present invention.

【図4】本発明を実施するための文書処理専用WSのブ
ロック図である。
FIG. 4 is a block diagram of a WS dedicated to document processing for implementing the present invention.

【図5】本発明に従ったカットバッファの拡張領域の確
保の状態を示す模式図である。
FIG. 5 is a schematic diagram showing a state of securing an extended area of a cut buffer according to the present invention.

【図6】カットバッファの管理テーブルの模式図であ
る。
FIG. 6 is a schematic diagram of a cut buffer management table.

【図7】本発明に従ってカットバッファを割付ける際の
フローチャートである。
FIG. 7 is a flowchart when a cut buffer is allocated according to the present invention.

【図8】本発明に従って共有メモリに所定の容量の領域
を拡張する際のフローチャートである。
FIG. 8 is a flowchart for expanding a region of a predetermined capacity in a shared memory according to the present invention.

【図9】本発明に従って確保されたカットバッファを解
放する際のフローチャートである。
FIG. 9 is a flowchart for releasing a cut buffer secured according to the present invention.

【図10】グラフィックモジュールにおいて所定の区画
Qを解放する際のフローチャートである。
FIG. 10 is a flowchart when a predetermined section Q is released in the graphic module.

【図11】グラフィックモジュールから所定容量の区画
の割付要求があった場合のメモリ割付方法を示すフロー
チャートである。
FIG. 11 is a flowchart illustrating a memory allocating method when a graphic module requests allocation of a partition having a predetermined capacity.

【図12】グラフィックモジュールからの割付要求に対
し、カットバッファのうちのロールアウトの対象となる
ものを選択するための処理のフローチャートである。
FIG. 12 is a flowchart of a process for selecting a cut buffer to be rolled out in response to an allocation request from a graphic module.

【図13】アプリケーション間のデータ交換の状態を示
す模式図である。
FIG. 13 is a schematic diagram showing a state of data exchange between applications.

【図14】アプリケーション間のデータ交換の方法を示
す模式図である。
FIG. 14 is a schematic diagram showing a method of exchanging data between applications.

【図15】アプリケーション間のデータ交換の方法を示
す模式図である。
FIG. 15 is a schematic diagram showing a method of exchanging data between applications.

【図16】従来のカットバッファの拡張の際の方法を示
す模式図である。
FIG. 16 is a schematic diagram showing a conventional method for expanding a cut buffer.

【符号の説明】[Explanation of symbols]

10 文書処理ワークステーション 12 メインモジュール 14 グラフィックモジュール 16 入力制御モジュール 18 メインCPU 22 ローカルメモリ 24 共有メモリ 30 ハードディスク 40 グラフィックCPU 48 ローカルメモリ 54 共有メモリ 56 入力制御CPU 62 標準カットバッファ 64 カットバッファ管理テーブル 66 カットバッファ情報テーブル 68 標準カットバッファテーブル 70 グラフィックモジュール一時バッファテーブル 72 二次記憶一時ファイルテーブル Reference Signs List 10 document processing workstation 12 main module 14 graphic module 16 input control module 18 main CPU 22 local memory 24 shared memory 30 hard disk 40 graphic CPU 48 local memory 54 shared memory 56 input control CPU 62 standard cut buffer 64 cut buffer management table 66 cut Buffer information table 68 Standard cut buffer table 70 Graphic module temporary buffer table 72 Secondary storage temporary file table

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 コンピュータ上で動作する複数のアプリ
ケーション間でデータ交換を行なう際に、交換されるデ
ータを一時格納するデータ交換エリアを確保するための
アプリケーション間データ交換制御方法であって、 前記コンピュータは、それぞれ所定の平均アクセス速度
でアクセス可能な第1および第2の記憶手段と、各前記
第1および第2の記憶手段のアクセス速度より遅い平均
アクセス速度でのみアクセス可能な第3の記憶手段とを
含み、 前記アプリケーション間データ交換制御方法は、 前記第1の記憶手段に、所定容量の第1のデータ交換エ
リアを予め確保するステップと、 交換されるデータが前記第1のデータ交換エリアの容量
よりも大きな容量を必要とするか否かを検知するステッ
プと、 前記第1のデータ交換エリアの容量よりも大きな容量が
必要とされることが検知されたことに応答して、前記第
2および第3の記憶手段の使用可能な領域をこの順で調
査し、最初に発見された使用可能な領域を前記第1のデ
ータ交換エリアの拡張領域として確保するステップとを
含む、アプリケーション間データ交換制御方法。
1. A data exchange control method between applications for securing a data exchange area for temporarily storing exchanged data when data exchange is performed between a plurality of applications running on a computer, the computer comprising: Are first and second storage means each accessible at a predetermined average access speed, and third storage means accessible only at an average access speed lower than the access speed of each of the first and second storage means. The method of controlling data exchange between applications, comprising: securing a first data exchange area of a predetermined capacity in the first storage means in advance; and storing data to be exchanged in the first data exchange area. Detecting whether a capacity larger than the capacity is required; and a capacity of the first data exchange area. In response to the detection that a larger capacity is required, the available areas of the second and third storage means are searched in this order, and the first available area is found. As an extension area of the first data exchange area.
JP2378192A 1992-02-10 1992-02-10 Data exchange control method between applications Expired - Fee Related JP2851739B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2378192A JP2851739B2 (en) 1992-02-10 1992-02-10 Data exchange control method between applications
US08/015,866 US5548740A (en) 1992-02-10 1993-02-09 Information processor efficiently using a plurality of storage devices having different access speeds and a method of operation thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2378192A JP2851739B2 (en) 1992-02-10 1992-02-10 Data exchange control method between applications

Publications (2)

Publication Number Publication Date
JPH07175718A JPH07175718A (en) 1995-07-14
JP2851739B2 true JP2851739B2 (en) 1999-01-27

Family

ID=12119874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2378192A Expired - Fee Related JP2851739B2 (en) 1992-02-10 1992-02-10 Data exchange control method between applications

Country Status (1)

Country Link
JP (1) JP2851739B2 (en)

Also Published As

Publication number Publication date
JPH07175718A (en) 1995-07-14

Similar Documents

Publication Publication Date Title
US5548740A (en) Information processor efficiently using a plurality of storage devices having different access speeds and a method of operation thereof
US6505283B1 (en) Efficient memory allocator utilizing a dual free-list structure
JP2858795B2 (en) Real memory allocation method
JP4156033B2 (en) How to get contiguous memory buffer and build page table
JP3706740B2 (en) Apparatus and method for image display and data reading
JP2851739B2 (en) Data exchange control method between applications
US5592594A (en) Method and apparatus for allocating cache memory space for font data
JP2866153B2 (en) Character processing apparatus and method
JPH1191211A (en) Plotting processor, processing method of plotting and memory medium
JPH09319658A (en) Memory managing system for variable page size
US20230236961A1 (en) Priority-Based Cache-Line Fitting in Compressed Memory Systems of Processor-Based Systems
JPH06274145A (en) Character processor
AU740041B2 (en) Efficient memory allocator utilising a dual free-list structure
JPH08339324A (en) Information processor
JPH0869399A (en) File management device
JPH04278374A (en) Character font generator
JPH03152659A (en) Word processor
CN116795739A (en) Memory access method and device
JPH03174588A (en) Document processor
JPH04225467A (en) Font processor
JPH06274144A (en) Character processor
JPH09131932A (en) Printer controller
JPH05314120A (en) Cache memory
JPH06110773A (en) Memory controller
JPH10230638A (en) Image memory control circuit

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19981027

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081113

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091113

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091113

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101113

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees