JPH02245958A - Buffer control system - Google Patents

Buffer control system

Info

Publication number
JPH02245958A
JPH02245958A JP6810689A JP6810689A JPH02245958A JP H02245958 A JPH02245958 A JP H02245958A JP 6810689 A JP6810689 A JP 6810689A JP 6810689 A JP6810689 A JP 6810689A JP H02245958 A JPH02245958 A JP H02245958A
Authority
JP
Japan
Prior art keywords
buffer
module
buffer management
buffers
identifier
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
Application number
JP6810689A
Other languages
Japanese (ja)
Inventor
Hiroshi Kamata
洋 鎌田
Tatsuo Kimura
辰雄 木村
Tetsuo Senbon
千本 哲男
Kyoko Igarashi
五十嵐 恭子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP6810689A priority Critical patent/JPH02245958A/en
Publication of JPH02245958A publication Critical patent/JPH02245958A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

PURPOSE:To facilitate the specification of a trouble inducing module by providing an acquired module identifier storage part and an in-use module identifier storage part. CONSTITUTION:Each of plural buffers 111n is provided with the acquired module identifier storage part where the identifier of an optional module 113i which makes a request to use the buffer 111j is stored and the in-use module identifier storage part wherein the identifier of an optional module 113i which uses the buffer 111j currently or another optional module 113k is stored. Then when plural modules 113m perform processes respectively while using plural modules 111n, buffer control is carried out by using acquired module identifiers and in-use module identifiers. Consequently, the retrieval of a faulty module in buffer use is facilitated.

Description

【発明の詳細な説明】 (目 次) 概要 産業上の利用分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段 作用 実施例 ■、実施例の構成 ■、実施例の動作 ■、実施例のまとめ ■0発明の変形態様 発明の効果 〔概 要〕 共通バッファ管理部によってバッファ使用の制御を行な
うバッファ管理方式に関し、 障害誘発モジュールの特定を容易とすることを目的とし
、 複数のバッファと、複数のバッファのうちの各別に異な
るバッファを使用する複数のモジュールと、モジュール
単位に存在するモジュールバッファ管理域を持つ共通バ
ッファ管理部と、任意のモジュールによるバッファの獲
得要求対応のバッファ管理データの設定、割当バッファ
を使用しているモジュールによる解放要求に従って割当
バッファの解放および解放要求対応のバッファ管理デー
タの更新を獲得要求対応のモジュールバッファ管理域に
行なう共通バッファ管理処理部とを具え、複数のバッフ
ァのそれぞれには当該バッファの使用要求を行なったモ
ジュールの識別子を格納する獲得モジュール識別子格納
部と、当該バッファを現在使用しているモジュールのモ
ジュール識別子を格納する使用中モジュール識別子格納
部とを具える。
[Detailed Description of the Invention] (Table of Contents) Overview Industrial Field of Application Conventional Technology Problems to be Solved by the Invention Means for Solving the Problems Action Example ■, Structure of the Example ■, Operation of the Example ■ , Summary of Examples■0 Variations of the Invention Effects of the Invention [Summary] Regarding a buffer management method in which buffer usage is controlled by a common buffer management unit, the purpose of this invention is to facilitate the identification of failure-causing modules, and to Buffers, multiple modules that each use a different buffer among the multiple buffers, a common buffer management unit that has a module buffer management area that exists in each module, and buffer management that supports buffer acquisition requests from any module. a common buffer management processing unit configured to set data, release the allocated buffer in accordance with a release request from a module using the allocated buffer, and update buffer management data corresponding to the release request in a module buffer management area corresponding to the acquisition request; Each of the plurality of buffers includes an acquisition module identifier storage section that stores the identifier of the module that has requested the use of the buffer, and an in-use module identifier storage section that stores the module identifier of the module that is currently using the buffer. Equipped with.

〔産業上の利用分野〕[Industrial application field]

本発明は、バッファ管理方式に関し、例えば、データ通
信装置におけるバッファ管理において、共通バッファ管
理部によってバッファ使用の制御を行なうようにしたバ
ッファ管理方式に関するものである。
The present invention relates to a buffer management system, and for example, to a buffer management system in which buffer usage is controlled by a common buffer management unit in buffer management in a data communication device.

現在、計算機によるデータ通信は高速化し、データ送受
信のためのメモリ域が増加する傾向にある。それに伴い
、データ送受信用のバッファ管理が複雑化し、障害発生
の原因となっている。
Currently, data communication by computers is becoming faster and the memory area for data transmission and reception is increasing. As a result, buffer management for data transmission and reception has become complicated, causing failures.

〔従来の技術〕[Conventional technology]

モジュール構造を取A各プログラムが使用するバッファ
を共通バッファ管理部が割り当てる場合、。
When the common buffer management unit allocates buffers used by each program in a modular structure.

各バッファの制御域に使用中のモジュールのモジュール
識別子を設定している。
The module identifier of the module in use is set in the control area of each buffer.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

ところで、上述した従来方式にあっては、特に、任意の
モジュールによって獲得されたバッファを他のモジュー
ルが引き続いて使用する場合に、バッファ非解放あるい
はバッファの二重解放等の障害が発生することがある。
By the way, in the above-mentioned conventional method, especially when another module continues to use a buffer acquired by an arbitrary module, failures such as non-release of buffer or double release of buffer may occur. be.

この場合に、例えば、どのモジュールがそのバッファを
獲得したのか、どのモジュールがバッファの解放をしな
かったのか、あるいはどのモジュールがバッファを二重
に解放しようとしたのかといった情報を格納していなか
ったため、障害箇所の究明ができないという問題点があ
った。
In this case, we did not store information such as which module acquired the buffer, which module did not free the buffer, or which module attempted to free the buffer twice. However, there was a problem in that it was not possible to identify the location of the failure.

本発明は、このような点にかんがみて創作されたもので
あり、バッファ使用における障害モジュールの検索を容
易とするようにしたバッファ管理方式を提供することを
目的としている。
The present invention was created in view of these points, and an object of the present invention is to provide a buffer management method that facilitates the search for a faulty module when using a buffer.

〔課題を解決するための手段] 第1図は、本発明のバッファ管理方式の原理ブロック図
である。
[Means for Solving the Problems] FIG. 1 is a block diagram of the principle of the buffer management system of the present invention.

図において、複数のバッファ111、のそれぞれには、
当該バッファの使用要求を行なった任意のモジュール1
13.の識別子を格納する獲得モジュール識別子格納部
と、当該バッファを現在使用している任意のモジュール
113.または他の任意のモジュール113.の識別子
を格納する使用中モジュール識別子格納部とが存在する
In the figure, each of the plurality of buffers 111 includes
Any module 1 that made a request to use the buffer
13. and any module 113 currently using the buffer. or any other module 113. There is an in-use module identifier storage section that stores the identifier of the module.

複数のモジュール113.は、複数のバッファ111f
iのうちの各別に異なるバッファを使用する。
A plurality of modules 113. is a plurality of buffers 111f
A different buffer is used for each of i.

複数のモジュールバッファ管理域115.は、複数のモ
ジュール113.に対応するバッファ管理データをバッ
ファの使用に供し、共通バッファ管理部117に存在す
る。
Multiple module buffer management areas 115. has a plurality of modules 113. Buffer management data corresponding to the buffer is provided for use in the buffer and exists in the common buffer management unit 117.

共通バッファ管理処理部119は、任意のモジュール1
13□による任意の1つ以上のバッファ111Jの獲得
要求対応のバッファ管理データの設定、割当バッファ1
11jを使用している任意のモジュール113.または
他のモジュール113、による解放要求に従って割当バ
ッファ111、の解放および解放要求対応のバッファ管
理データの更新を獲得要求対応のモジュールバッファ管
理域1151に行なう。
The common buffer management processing unit 119 is an arbitrary module 1.
Setting of buffer management data in response to a request to acquire one or more buffers 111J by 13□, allocated buffer 1
Any module using 113.11j. Alternatively, in accordance with a release request from another module 113, the allocated buffer 111 is released and the buffer management data corresponding to the release request is updated in the module buffer management area 1151 corresponding to the acquisition request.

従って、全体として、複数のモジュールのそれぞれが複
数のバッファを用いつつそれぞれの処理を行なうデータ
処理装置において、そのバッファ管理に獲得モジュール
識別子および使用中モジュール識別子を用いてバッファ
管理が行われるようにして本発明は構成される。
Therefore, as a whole, in a data processing device in which each of a plurality of modules performs respective processing using a plurality of buffers, buffer management is performed using the acquired module identifier and the currently used module identifier. The present invention is constructed.

〔作 用〕[For production]

任意のモジュール113iが共通バッファ管理処理部1
19にn個のバッファ111.%のうちの1又はそれ以
上の使用要求を行なうと、共通バッファ管理処理部11
9はモジュール1131に対応するモジュールバッファ
管理域115iの情報から当該モジュール113zが要
求した個数のバッファ111jを割り当てることができ
るか否かを検査し、割り当てられる場合にはそのバッフ
ァ111jの獲得モジュール識別子格納部および使用中
モジュール識別子格納部に当該モジュール113iのモ
ジュール識別子を設定する。更に、モジュールバッファ
管理域115.に空バッファ等のバッファ管理データを
設定して、割当バッファ111jの先頭のアドレスを当
該モジュール113五に通知する。
Any module 113i is the common buffer management processing unit 1
19 and n buffers 111. When a request is made to use one or more of the percentages, the common buffer management processing unit 11
9 checks whether the number of buffers 111j requested by the module 113z can be allocated from the information in the module buffer management area 115i corresponding to the module 1131, and if allocated, stores the acquired module identifier of the buffer 111j. The module identifier of the module 113i is set in the section and in-use module identifier storage section. Furthermore, module buffer management area 115. Buffer management data such as an empty buffer is set in , and the starting address of the allocated buffer 111j is notified to the module 1135.

当富亥バッファ111jのデータが当該モジュール11
3iの処理に引き続いて他のモジュール113、(fは
n以下でi以外の数)によって使用されるときには、当
該モジュール113.は他のモジュール113Lに対し
て当該バッファ111、の先頭アドレスを渡す。引き続
いて処理を行なうモジュール113.は、当該バッファ
111゜の使用中モジュール識別子格納部にモジュール
113、のモジュール識別子を設定する。
The data in the buffer 111j is transferred to the module 11
When used by another module 113 (f is a number less than or equal to n and other than i) following the processing of 3i, the module 113. passes the start address of the buffer 111 to another module 113L. Module 113 for subsequent processing. sets the module identifier of the module 113 in the in-use module identifier storage section of the buffer 111°.

使用中のバッファ111jを解放するときには、当該バ
ッファ111jを使用しているモジュール113、が共
通バッファ管理処理部に当該バッファ111.の解放を
要求する。要求を受けると、共通バッファ管理処理部1
19は当該バッファ111jの獲得モジュール識別子格
納部および使用中モジュール識別子格納部のデータを初
期化し、当該バッファ1llJを獲得したモジュール1
13、のモジュールバッファ管理域115.のバッファ
管理データを更新する。
When releasing the buffer 111j in use, the module 113 using the buffer 111j instructs the common buffer management processing unit to release the buffer 111. requesting the release of Upon receiving the request, the common buffer management processing unit 1
19 initializes the data in the acquisition module identifier storage section and the in-use module identifier storage section of the buffer 111j, and the module 1 that acquired the buffer 1llJ
13, module buffer management area 115. Update buffer management data.

本発明にあっては、獲得モジュール識別子格納部および
使用中モジュール識別子格納部によって障害誘発モジュ
ールの特定が容易になる。
In the present invention, the acquisition module identifier storage section and the in-use module identifier storage section make it easy to identify the fault-inducing module.

〔実施例〕〔Example〕

以下、図面に基づき本発明の実施例について詳細に説明
する。
Hereinafter, embodiments of the present invention will be described in detail based on the drawings.

第2図は、本発明の一実施例におけるバッファ管理方式
の構成、第3図は、バッファの説明、第4図は、モジュ
ールバッファ管理域の説明を示す。
FIG. 2 shows the configuration of a buffer management system in an embodiment of the present invention, FIG. 3 shows an explanation of the buffer, and FIG. 4 shows an explanation of the module buffer management area.

■、    と 1 との ここで、本発明の実施例と第1図との対応関係を示して
おく。
(1) Here, the correspondence between the embodiment of the present invention and FIG. 1 will be shown.

バッファ1117は、バッファ227.〜227、に相
当する。
Buffer 1117 is buffer 227 . ~227, corresponds to.

モジュール113.は、モジュール2111〜227、
に相当する。
Module 113. are modules 2111 to 227,
corresponds to

モジュールバッファ管理域115.は、モジュールバッ
ファ管理域241.〜241.に相当する。
Module buffer management area 115. is the module buffer management area 241. ~241. corresponds to

共通バッファ管理部117は、共通バッファ管理部22
5に相当する。
The common buffer management unit 117 is the common buffer management unit 22
It corresponds to 5.

共通バッファ管理処理部119は、共通バッファ管理処
理部213に相当する。
The common buffer management processing section 119 corresponds to the common buffer management processing section 213.

n因l戊 第2図において、バッファ管理方式を適用したデータ処
理装置は、処理モジュールに対応する3つのモジュール
211..211□および2113と、共通バッファ管
理処理部213と、バッファ管理部221とから成る。
In FIG. 2, the data processing device to which the buffer management method is applied has three modules 211 . .. 211□ and 2113, a common buffer management processing section 213, and a buffer management section 221.

尚、3つのモジュール211.〜211.および共通バ
ッファ管理処理部213は3つのモジュール2111〜
2113および共通バッファ管理処理部213の処理プ
ログラムを格納したROMおよび該処理プログラムを実
行するCPU (図示せず)によって主として構成され
る。そして、共通バッファ管理処理部213での処理に
供されるバッファ管理部221はRAM (図示せず)
にあり、バス(図示せず)を介してCPUに接続されて
いる。
Note that three modules 211. ~211. The common buffer management processing unit 213 includes three modules 2111 to 2111.
2113 and a ROM that stores a processing program for the common buffer management processing unit 213, and a CPU (not shown) that executes the processing program. The buffer management unit 221 used for processing by the common buffer management processing unit 213 is a RAM (not shown).
and is connected to the CPU via a bus (not shown).

バッファ管理部221は、データを格納するデータ格納
域223と、バッファ割り当て等の場合に共通バッファ
管理処理部213によって使用され、バッファ管理デー
タ等を格納する共通バッファ管理部225とから成る。
The buffer management unit 221 includes a data storage area 223 that stores data, and a common buffer management unit 225 that is used by the common buffer management processing unit 213 in buffer allocation and the like and stores buffer management data and the like.

共通バッファ管理処理部213の制御の下で使用される
9個のバッファ227.〜227.は、データ格納域2
23にあり、バッファ227Iを先頭にバッファ227
9まで順にアドレス空間に配置されている。また、第3
図に示すように、バッファ227.は、バッファ227
1の獲得要求を行なったモジュール2111〜2113
のいずれかのモジュールの識別子を格納する獲得モジュ
ール識別子格納域229.、バッファ2271を現在使
用しているモジュール2111〜211゜のいずれかの
モジュールの識別子を格納する使用モジュール識別子格
納域23i、、バッファ2271が使用中であることを
示す使用中フラグ2331およびデータを格納するデー
タ部235.から成る。尚、バッファ227□〜227
9の構成は図示しないが、バッファ2271と同様であ
る。
Nine buffers 227 . ~227. is data storage area 2
23, starting with buffer 227I and buffer 227
9 are sequentially arranged in the address space. Also, the third
As shown, buffer 227. is buffer 227
Modules 2111 to 2113 that made the acquisition request for 1
Acquisition module identifier storage area 229 that stores the identifier of one of the modules. , a used module identifier storage area 23i that stores the identifier of one of the modules 2111 to 211° currently using the buffer 2271, and a used flag 2331 indicating that the buffer 2271 is currently in use, and data stored therein. data section 235. Consists of. In addition, buffers 227□ to 227
Although the configuration of buffer 9 is not shown, it is similar to buffer 2271.

また、使用中フラグ233.〜233.の値が“ON”
のとき当該バッファ227は使用中であり、“ON”以
外のときは使用されていないことを示す。
In addition, the in-use flag 233. ~233. value is “ON”
When , the buffer 227 is in use, and when it is not "ON", it is not used.

共通バッファ管理部225は、9つのバッファ227の
個数を格納する全バッファ個数域237と、バッファ先
頭アドレス格納域239と、3つのモジュール2111
〜211.のそれぞれに割り当てられたバッファ227
1〜227.を管理する3つのモジュールバッファ!理
域241.〜2413とから成る。
The common buffer management unit 225 includes a total buffer number area 237 that stores the number of nine buffers 227, a buffer start address storage area 239, and three modules 2111.
~211. Buffers 227 allocated to each of
1-227. Three module buffers to manage! Science 241. ~2413.

第4図に示すように、モジュールバッファ管理1241
+ は、モジュール2111に割り当てられたバッファ
227の数を示すバッファ総数域2431、モジュール
211.に割り当てられたバッファ227のうち使用し
ていないバッファ227の数を示す空バツフア数域24
5.、モジュール2111に割り当てられたバッファ2
27の先頭アドレスを示す使用可能バッファ先頭アドレ
ス格納域2471.モジュール2111 ニ割す当テら
れたバッファ227のうち使用されていないバッファ2
27のアドレスを示す空バツフアアドレス格納域249
□およびモジュール211.が使用しているバッファ2
27の先頭のアドレスを示す使用中バッファアドレス格
納域251.から成る。
As shown in FIG. 4, module buffer management 1241
+ indicates the total buffer number area 2431 indicating the number of buffers 227 allocated to the module 2111, the module 211. Empty buffer number area 24 indicating the number of unused buffers 227 among the buffers 227 allocated to
5. , buffer 2 allocated to module 2111
Available buffer start address storage area 2471.24 indicating the start address of 27. Module 2111 Buffer 2 that is not used among the allocated buffers 227
Empty buffer address storage area 249 indicating address 27
□ and module 211. Buffer 2 used by
27. Used buffer address storage area 251.27 indicating the first address. Consists of.

尚、モジュールバッファ管理域2412および2413
の構成は図示しないが、モジュールバッファ管理域24
11の構成と同様である。
Furthermore, module buffer management areas 2412 and 2413
Although the configuration of the module buffer management area 24 is not shown,
The configuration is similar to No. 11.

n針1作 実施例のバッファ管理方式の動作を電源投入時の動作、
バッファ獲得動作、バッファ移動動作およびバッファ解
放動作に分けて説明する。尚、モジュール211.〜2
11.のモジュール識別子はそれぞれr1”、r2″、
   r3”とする。
The operation of the buffer management method of the n-needle one-piece embodiment is as follows:
The buffer acquisition operation, buffer movement operation, and buffer release operation will be explained separately. Note that the module 211. ~2
11. The module identifiers are r1'', r2'', and
r3".

iXr″の 電源が投入されると、共通バッファ管理処理部213は
、まず、バッファ管理部221を初期化して、全バッフ
ァ個数域237に格納されているバッファ数“9”から
各モジュール211.〜211、が使用するバッファ2
271〜227.を割り当てる。ここでは、モジュール
2111が使用するバッファを3つのバッファ227、
〜227、とし、モジュール211□が使用するバッフ
ァを3つのバッファ2274〜227.とじ、モジュー
ル211.が使用するバッファを3つのバッファ227
7〜227.とする。
When the power of "iXr" is turned on, the common buffer management processing unit 213 first initializes the buffer management unit 221 and assigns each module 211. Buffer 2 used by 211
271-227. Assign. Here, the buffers used by the module 2111 are three buffers 227,
~227, and the buffers used by the module 211□ are three buffers 2274~227. Binding, module 211. The buffers used by 3 buffers 227
7-227. shall be.

次に、共通バッファ管理処理部213は、3つのモジュ
ールバッファ管理域2411〜2412にバッファ管理
データを設定する。バッファ総数域2431〜243.
にはそれぞれ°“3″”が設定され、空きバッファ数域
245.〜245.にはそれぞれ“3”が設定される。
Next, the common buffer management processing unit 213 sets buffer management data in the three module buffer management areas 2411 to 2412. Buffer total number area 2431-243.
are each set to ``3'', and each of the free buffer number areas 245. to 245. is set to ``3''.

また、共通バッファ管理処理部213は、バッファ22
7、〜227.を順に連結してその先頭であるバッファ
2271のアドレスを使用可能バッファ先頭アドレス格
納域247.に設定する。
In addition, the common buffer management processing unit 213
7, ~227. are concatenated in order and the address of the first buffer 2271 is used as the usable buffer first address storage area 247. Set to .

同様に、バッファ2274〜227.を順に連結してそ
の先頭であるバッファ2274のアドレスを使用可能バ
ッファ先頭アドレス格納域247□に設定し、更に、バ
ッファ227.〜227.を順に連結してその先頭であ
るバッファ2277のアドレスを使用可能バッファ先頭
アドレス格納域247、に設定する。
Similarly, buffers 2274-227. are concatenated in order and the address of the first buffer 2274 is set in the usable buffer first address storage area 247□, and then the buffer 227 . ~227. are concatenated in order and the address of the first buffer 2277 is set in the usable buffer first address storage area 247.

更に、共通バッファ管理処理部213は、空バツフアア
ドレス格納域249.にバッファ2271のアドレスを
設定する。同様に、空バツフアアドレス格納域249□
にバッファ2274のアドレスを設定し、空バツフアア
ドレス格納域249、にバッファ2277のアドレスを
設定する。
Further, the common buffer management processing unit 213 stores the empty buffer address storage area 249. Set the address of the buffer 2271 to . Similarly, empty buffer address storage area 249□
The address of the buffer 2274 is set in the empty buffer address storage area 249, and the address of the buffer 2277 is set in the empty buffer address storage area 249.

バッファ2271〜227.のいずれも使用されていな
いため、共通バッファ管理処理部213は使用中バッフ
ァアドレス格納域251.〜251、に初期状態を設定
する。
Buffers 2271-227. Since none of them are used, the common buffer management processing unit 213 stores the used buffer address storage area 251. -251, the initial state is set.

j  バ・ファ ′6 次に、バッファ管理部221が上述した(i)の状態に
ある場合にモジュール2111が2個のバッファ227
の使用を必要とする場合を例に取り説明する。第5図に
バッファ獲得の動作の説明を示す。
j buffer '6 Next, when the buffer management unit 221 is in the state (i) mentioned above, the module 2111 manages the two buffers 227
The following is an example of a case where the use of . FIG. 5 shows an explanation of the buffer acquisition operation.

モジュール211.は2個のバッファ使用の必要が生じ
たため、バッファ獲得に必要な情報であるモジュール識
別子“rl”およびバッファ獲得数“°2”°を共通バ
ッファ管理処理部213に送る(ステップ411)。獲
得要求を受けると、共通バッファ管理処理部213は、
まず、その要求が正当なものであるかを検査する(ステ
ップ413)。
Module 211. Since it becomes necessary to use two buffers, the module identifier "rl" and the number of buffers to be acquired "°2"°, which are information necessary for buffer acquisition, are sent to the common buffer management processing unit 213 (step 411). Upon receiving the acquisition request, the common buffer management processing unit 213
First, it is checked whether the request is valid (step 413).

要求が正当である場合には、共通バッファ管理処理部2
13はモジュール識別子“rl”からその要求を行なっ
たモジュールがどのモジュールであるかを特定しくステ
ップ415L要求をしたモジュール2111のモジュー
ルバッファ管理域2411の空バツフア数域245.を
参照する(ステップ417)。
If the request is valid, the common buffer management processing unit 2
13 specifies which module is the module that made the request based on the module identifier "rl". In step 415L, the empty buffer number area 245. (step 417).

要求を満たす個数のバッファが存在するか否かを検査し
くステップ419)、要求を満たす場合には、空バツフ
アアドレス格納域249.に格納されているバッファ2
27.のアドレスを取り出し、バッファ227I とバ
ッファ2271に連結されているバッファ227□が獲
得され(ステップ421)、それらの獲得モジュール識
別子格納域229..229□並びに使用モジュール識
別子格納域231.および231.にば°“rl”が設
定され(ステップ423)、使用中フラグ233、およ
び233□には“’ON”°が設定される(ステップ4
25)。
It is checked whether there are enough buffers to satisfy the request (step 419), and if the request is satisfied, the empty buffer address storage area 249. Buffer 2 stored in
27. The addresses of the buffers 227I and 227□ connected to the buffers 2271 are acquired (step 421), and their acquired module identifier storage areas 229. .. 229□ and used module identifier storage area 231. and 231. "rl" is set in the in-use flag 233 and 233□ (step 423), and "'ON" is set in the in-use flag 233 and 233□ (step 4
25).

次に、共通バッファ管理処理部213はモジュール21
1.のモジュールバッファを理M2411の再設定を行
なう(ステップ427)、この処理によって、空バツフ
ア数域245.はII I IIとなり、空バツフアア
ドレス格納域249Iはバッファ227ユのアドレスと
なり、使用中バッファアドレス格納域251.にはバッ
ファ2271のアドレスが設定される。尚、モジュール
バッファ管理域2411の他のバッファ管理データであ
るバッファ総数域243Iおよび使用可能バッファ先頭
アドレス格納域247.の値は変更されない。
Next, the common buffer management processing unit 213
1. The module buffer of M2411 is reset (step 427). Through this process, the empty buffer number area 245. becomes II I II, the empty buffer address storage area 249I becomes the address of the buffer 227, and the used buffer address storage area 251. The address of the buffer 2271 is set in . It should be noted that other buffer management data of the module buffer management area 2411 is a buffer total number area 243I and an available buffer start address storage area 247. The value of is not changed.

この後、共通バッファ管理処理部213はモジュール2
111に先頭バッファであるバッファ227、のアドレ
スを渡しくステップ429)、モジエール2111はバ
ラノア227.および2272を使用する。
After this, the common buffer management processing unit 213
At step 429), the module 2111 passes the address of the buffer 227, which is the first buffer, to the Balanoa 227.111. and 2272.

尚、バッファ獲得要求が不当である場合にはモジュール
211.にエラー通知を行なう(ステップ431)。ま
た−1獲得要求を満たすだけのバッファが存在しなげれ
ば、共通バッファ管理処理部213はモジュ・−ル21
1+に対してその旨を通知する(ステップ433)。
Note that if the buffer acquisition request is invalid, the module 211. An error notification is given to (step 431). Furthermore, if there is no buffer sufficient to satisfy the -1 acquisition request, the common buffer management processing unit 213
1+ is notified of this (step 433).

一←肚ユ、へ!−り、1柊、動IU乍 バッファ管理部221が(ii)の状態である場合に、
モジュール211.が使用したバッフ1227、および
227tに格納されているデータをモジュール211.
に引き続いて処理を行なうモジュール211□が使用す
る場合のバッファ移動動作について説明する。
One ← Chuuyu, hey! - If the dynamic IU buffer management unit 221 is in the state (ii),
Module 211. The data stored in buffer 1227 and 227t used by module 211.
The buffer movement operation when used by the module 211□ that performs processing subsequent to the above will be explained.

このとき、モジュール211.はモジュール211□に
バッファ227.のアドレスを渡し、格納されているデ
ータの複写処理は行なわない。バッファ227.のアド
レスを渡されるとモジュール211zは使用モジュール
識別子格納域231、および231zにモジュール21
1□のモジュール識別子“r2”を設定し、バッファ2
271および227□のデータを用いて処理を行なう。
At this time, module 211. The buffer 227. is in the module 211□. The address is passed and the stored data is not copied. Buffer 227. When the address of the module 211z is passed, the module 211z uses the used module identifier storage area 231 and the address of the module 21
1 Set the module identifier “r2” for buffer 2
Processing is performed using the data of 271 and 227□.

モジュール211!の処理後、更にモジュール211、
がバッファ227Iおよび227□のデータを使用する
場合には、モジュール211□はモジュール211.に
バッファ2271のアドレスを渡す。バッファ2271
のアドレスを渡されるとモジュール211.は使用モジ
ュール識別子格納域2311および231□にモジュー
ル211、のモジュール識別子“r3″を設定する。
Module 211! After processing, further module 211,
uses data in buffers 227I and 227□, then module 211□ uses data in buffers 227I and 227□. Pass the address of buffer 2271 to . Buffer 2271
When the address of module 211. sets the module identifier "r3" of the module 211 in the used module identifier storage areas 2311 and 231□.

iv  バ・・ファ” バッファ管理部221が(iii)の状態である場合に
、モジュール2113がバッファを解放する動作を説明
する。第6図にバッファ解放の動作の説明を示す。
iv) The operation of the module 2113 to release the buffer when the buffer management unit 221 is in the state (iii) will be described. FIG. 6 shows an explanation of the buffer release operation.

モジュール211.が使用中バッファ2271および2
27□の解放要求を行なう場合には、モジュール211
3は共通バッファ管理処理部213に対して使用先頭バ
ッファであるバッファ2271のアドレスを送る(ステ
ップ511)。
Module 211. are in use buffers 2271 and 2
When requesting the release of 27□, the module 211
3 sends the address of the buffer 2271, which is the first buffer in use, to the common buffer management processing unit 213 (step 511).

バッファ2271のアドレスを受は取った共通バッファ
管理処理部213は、まず、送られたバッファアドレス
のX訂を検査する(ステップ513)。バッファアドレ
スが存在するものであるときには、次Gこ、バッファの
二重解放を防ぐためにバッファ227Iの使用中ソラグ
233.が“ON′となっていZ・ことを確認する(ス
テップ515)。使用中フラグ233.が’ON”とな
っている場合には、更Gこ、獲得モジエール識別子格納
域229.に格納されているモジュール識別子“rl”
の存否を確認しくステップ517)、“r1”が存在す
る場合には、そのモジュール識別子からバッファ227
1の獲得要求を行なったモジュールを特定しくステップ
519)、獲得要求を行なったモジュール211.のモ
ジュールバッファ管理域241.を検索する(ステップ
521)ウバッファ227.のアドレス、バッファ22
7、の連結情報およびバラノア227□の連結情報から
モジュール2113から解放要求されたバッファ227
はバッファ227.および227□であることがわかり
、これらの獲得モジュール識別子格納域229..22
9□並びに使用モジュール識別子格納域2311および
231□が初期化され(ステップ523)、使用中フラ
グ2331および233□も初期化される(ステップ5
25)。
The common buffer management processing unit 213, which has received the address of the buffer 2271, first checks the X version of the sent buffer address (step 513). If the buffer address is one that exists, then the in-use flag 233. of the buffer 227I is used to prevent double freeing of the buffer. is set to "ON" (step 515). If the in-use flag 233. is set to "ON", the acquisition module identifier storage area 229. Module identifier “rl” stored in
If "r1" exists, the buffer 227 is checked from the module identifier.
Step 519) identifies the module that made the acquisition request of module 211.1 that made the acquisition request. module buffer management area 241. Search for (step 521) Ubuffer 227. address of buffer 22
The buffer 227 requested to be released from the module 2113 based on the connection information of 7 and the connection information of Balanoa 227□
is the buffer 227. and 227□, and these acquisition module identifier storage areas 229. .. 22
9□ and used module identifier storage areas 2311 and 231□ are initialized (step 523), and in-use flags 2331 and 233□ are also initialized (step 5).
25).

次に、共通バッファ管理処理部213はモジュール21
11のモジュールバッファ管理域2411の再設定を行
なう(ステップ527)。この処理によって、空バツフ
ア数域245.は“3”となり、使用中バッファアドレ
ス格納域2511は初期化される。また、バッファ22
7Iはバッファ227.の後に連結される。尚、モジュ
ールバッファ管理域2411の他のバッファ管理データ
であるバッファ総数域243..使用可能バッファ先頭
アドレス格納域247.および空バツフアアドレス格納
域249.の値は変更されない。この後、共通バッファ
管理処理部213はモジュール2113にバッファの解
放処理が正常に終了したことを通知する(ステップ52
9)。
Next, the common buffer management processing unit 213
The module buffer management area 2411 of No. 11 is reset (step 527). By this process, the empty buffer number area 245. becomes "3", and the in-use buffer address storage area 2511 is initialized. Also, the buffer 22
7I is the buffer 227. is concatenated after. Note that the total number of buffers area 243 . is other buffer management data in the module buffer management area 2411 . .. Available buffer start address storage area 247. and empty buffer address storage area 249. The value of is not changed. After that, the common buffer management processing unit 213 notifies the module 2113 that the buffer release process has been successfully completed (step 52
9).

尚、バッファ解放要求が不当である場合にはモジュール
211.にエラー通知を行なう(ステップ531)、ま
た、バッファ227.の使用中フラグ233.が“ON
”以外の値である場合にもエラー通知を行なう(ステッ
プ533)。更に、獲得モジュール識別子格納域229
1に格納されているモジュール識別子が存在しないもの
である場合にもエラー通知を行なう(ステップ535)
Note that if the buffer release request is invalid, the module 211. An error notification is sent to the buffer 227. (step 531). In-use flag 233. is “ON”
”, an error notification is also given (step 533).Furthermore, the acquisition module identifier storage area 229
An error notification is also given if the module identifier stored in 1 does not exist (step 535).
.

■、    の とめ このように、当該バッファを獲得したモジュールおよび
当8亥バッファをイ吏用しているモジュールのモジュー
ル識別子をそれぞれ格納することにより、障害誘発モジ
ュールの特定が容易となる。
(2) At the end of this example, by storing the module identifiers of the module that acquired the buffer and the module that is using the buffer, it becomes easy to identify the module that causes the failure.

V     I の  ・ ノ ピ 、なお、上述した
本発明の実施例にあっては、処理モジュールを3つとし
たが、これに限ることはない。
Note that in the embodiment of the present invention described above, the number of processing modules is three, but the number is not limited to this.

また、バッファ227を9個としたが、これに限ること
はない。
Further, although the number of buffers 227 is nine, it is not limited to this.

更に、rl、実施例と第1図との対応関係」において、
本発明と実施例との対応関係を説明しておいたが、これ
に限られることはなく、各種の変形1M様があることは
当業者であれば容易に推考できるであろう。
Furthermore, in ``correspondence between examples and FIG. 1'',
Although the correspondence between the present invention and the embodiments has been described, those skilled in the art can easily imagine that the present invention is not limited to this and that there are various modifications 1M.

〔発明の効果〕〔Effect of the invention〕

上述したように、本発明によれば、バッファ管理の障害
における原因モジュールの特定が容易となり、実用的に
は極めて有用である。
As described above, according to the present invention, it becomes easy to identify the module responsible for a buffer management failure, which is extremely useful in practice.

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

第1図は本発明のバッフ・ン・管理方式の原理ブロック
図、 第2図は本発明の一実施例によるバッファ管理方式の構
成ブロック図、 第3図はデータ格納域の説明図、 第4図はモジュールバッファ管理域の説明図、第5図は
バッファ獲得の動作流れ図、 第6図はバッファ解放の動作流れ図である。 図において、 111.227はバッファ、 113.211はモジュール、 115.241はモジュールバッファ管理域、117.
225は共通バッファ管理部、119.213は共通バ
ッファ管理処理部、221はバッファ管理部、 223はデータ格納域、 229は獲得モジュール識別子格納域、231は使用モ
ジュール識別子格納域、233は使用中フラグ、 235はデータ部、 237は全バッファ個数域、 239はバッファ先頭アドレス格納域、243はバッフ
ァ総数域、 245は空バツフア数域、 247は使用可能バッファ先頭アドレス格納域、249
は空バツフアアドレス格納域9.25】は使用中バッフ
ァアトし・ス格納域である。 バ・ッ7ア、l鞭、明閏 第3図 す゛ユールベツ7ア管デlzgtr俯2θqffJ第4
図 バッフyJ動耳の動作シ九れ図 Me   e   ′ECi4
FIG. 1 is a principle block diagram of the buffer management method of the present invention, FIG. 2 is a block diagram of the configuration of the buffer management method according to an embodiment of the present invention, FIG. 3 is an explanatory diagram of the data storage area, and FIG. The figure is an explanatory diagram of the module buffer management area, FIG. 5 is an operation flowchart for buffer acquisition, and FIG. 6 is an operation flowchart for buffer release. In the figure, 111.227 is a buffer, 113.211 is a module, 115.241 is a module buffer management area, 117.
225 is a common buffer management unit, 119, 213 is a common buffer management processing unit, 221 is a buffer management unit, 223 is a data storage area, 229 is an acquisition module identifier storage area, 231 is a used module identifier storage area, 233 is an in-use flag , 235 is a data section, 237 is a total buffer number area, 239 is a buffer start address storage area, 243 is a buffer total number area, 245 is an empty buffer number area, 247 is a usable buffer start address storage area, 249
is an empty buffer address storage area 9.25 is a used buffer address storage area. Ba-7a, lwhip, light 3rd figure
Figure Buff yJ Motion ear movement diagram Me e 'ECi4

Claims (1)

【特許請求の範囲】[Claims] (1)複数のバッファ(111_n)(nは自然数)と
、 前記複数のバッファ(111_n)のうちの各別に異な
るバッファを使用する複数のモジュール(113_m)
(mは自然数)と、 前記複数のモジュール(113_m)に対応して存在し
、バッファ管理データを格納する複数のモジュールバッ
ファ管理域(115_m)を、有する共通バッファ管理
部(117)と、 任意の前記モジュール(113_i)(iはm以下の数
)による任意の1つ以上の前記バッファ(111_j)
(jはn以下の数)の獲得要求対応の前記バッファ管理
データの設定、割当バッファを使用している前記任意の
モジュール(113_i)または他の前記モジュール(
113_k)(kはm以下でi以外の数)による解放要
求に従って前記割当バッファの解放および前記解放要求
対応の前記バッファ管理データの更新を前記獲得要求対
応の前記モジュールバッファ管理域(115_i)に行
なう共通バッファ管理処理部(119)と、を具え、前
記複数のバッファ(111_n)のそれぞれに当該バッ
ファ(111_j)の使用要求を行なった前記任意のモ
ジュール(113_i)の識別子を格納する獲得モジュ
ール識別子格納部と、当該バッファ(111_j)を現
在使用している前記任意のモジュール(113_i)ま
たは他の任意の前記モジュール(113_k)の識別子
を格納する使用中モジュール識別子格納部とを具えたこ
とを特徴とするバッファ管理方式。
(1) A plurality of buffers (111_n) (n is a natural number), and a plurality of modules (113_m) each using a different buffer among the plurality of buffers (111_n).
(m is a natural number); a common buffer management unit (117) having a plurality of module buffer management areas (115_m) that exist corresponding to the plurality of modules (113_m) and store buffer management data; Any one or more of the buffers (111_j) by the module (113_i) (i is a number less than or equal to m)
Setting of the buffer management data corresponding to the acquisition request (j is a number less than or equal to n), the arbitrary module (113_i) using the allocated buffer or the other module (113_i)
113_k) (where k is a number less than or equal to m and other than i), the allocated buffer is released and the buffer management data corresponding to the release request is updated in the module buffer management area (115_i) corresponding to the acquisition request. a common buffer management processing unit (119); and acquisition module identifier storage for storing an identifier of the arbitrary module (113_i) that has made a request to use the buffer (111_j) in each of the plurality of buffers (111_n). and an in-use module identifier storage unit that stores an identifier of the arbitrary module (113_i) or other arbitrary module (113_k) currently using the buffer (111_j). buffer management method.
JP6810689A 1989-03-20 1989-03-20 Buffer control system Pending JPH02245958A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6810689A JPH02245958A (en) 1989-03-20 1989-03-20 Buffer control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6810689A JPH02245958A (en) 1989-03-20 1989-03-20 Buffer control system

Publications (1)

Publication Number Publication Date
JPH02245958A true JPH02245958A (en) 1990-10-01

Family

ID=13364157

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6810689A Pending JPH02245958A (en) 1989-03-20 1989-03-20 Buffer control system

Country Status (1)

Country Link
JP (1) JPH02245958A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04239933A (en) * 1991-01-24 1992-08-27 Nec Corp Area management system for storage area

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04239933A (en) * 1991-01-24 1992-08-27 Nec Corp Area management system for storage area

Similar Documents

Publication Publication Date Title
US5907684A (en) Independent channel coupled to be shared by multiple physical processing nodes with each node characterized as having its own memory, CPU and operating system image
US8056087B2 (en) Effective use of a hardware barrier synchronization register for protocol synchronization
JP3645281B2 (en) Multiprocessor system having shared memory
EP1909178A2 (en) Transactional shared memory system and method of control
JPH0217818B2 (en)
CN107562669A (en) A kind of NVMe protocol commands processing method, apparatus and system
JPH0587854B2 (en)
WO2001038967A1 (en) Information processing system
EP0658998B1 (en) Data switching apparatus
JPH02245958A (en) Buffer control system
JPH07282027A (en) Distributed common memory system
WO1980001421A1 (en) Shared memory computer method and apparatus
JPH0358162A (en) Inter-processor communication system
JPS63311555A (en) Shared data control system for multiprocessor system
JPH0329041A (en) Decentralized paging control system
JP2512847B2 (en) Message control method for data communication system
JPH06187312A (en) Processing method and its device in multi-cpu system
JP2710322B2 (en) Data transfer device
JPH0410050A (en) Computer system
JPH06187227A (en) Storage device and memory control method
JPH01111252A (en) Data transfer control system
JPS648501B2 (en)
JPH06214620A (en) Input/output data switching system
JPH05265972A (en) Exclusive controlling system for shared external storage device
JPS63148334A (en) Resource management system for multi-operating system