JPH03225457A - Input and output buffer allocation system - Google Patents

Input and output buffer allocation system

Info

Publication number
JPH03225457A
JPH03225457A JP2021339A JP2133990A JPH03225457A JP H03225457 A JPH03225457 A JP H03225457A JP 2021339 A JP2021339 A JP 2021339A JP 2133990 A JP2133990 A JP 2133990A JP H03225457 A JPH03225457 A JP H03225457A
Authority
JP
Japan
Prior art keywords
input
output buffer
allocation
area
output
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.)
Granted
Application number
JP2021339A
Other languages
Japanese (ja)
Other versions
JP2833814B2 (en
Inventor
Mitsuru Shoji
東海林 満
Toshiyuki Kimura
木村 俊幸
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.)
TOHOKU NIPPON DENKI SOFTWARE KK
NEC Corp
NEC Solution Innovators Ltd
Original Assignee
TOHOKU NIPPON DENKI SOFTWARE KK
NEC Corp
NEC Software Tohoku 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 TOHOKU NIPPON DENKI SOFTWARE KK, NEC Corp, NEC Software Tohoku Ltd filed Critical TOHOKU NIPPON DENKI SOFTWARE KK
Priority to JP2021339A priority Critical patent/JP2833814B2/en
Publication of JPH03225457A publication Critical patent/JPH03225457A/en
Application granted granted Critical
Publication of JP2833814B2 publication Critical patent/JP2833814B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Memory System (AREA)

Abstract

PURPOSE:To decrease the frequency of physical I/O and to improve the input/ output speed by allocating an input/output buffer which is large enough to store many input/output blocks to a free area when there is the free area on a main storage. CONSTITUTION:A storage area utilization state judging means 5 compares an expanded input/output buffer size request value FI1, read out of a file information storage means 1 by using a file name FN1 received from an input/output buffer allocation request input/output means 4 as a key, with the total size IB of the free area of the main storage of a main storage free area control means 2 to check whether or not FI1>=IB. Then when there is a free area, the input/output buffer which is large enough to store many input/output blocks in the free area is allocated. Consequently, the frequency of physical I/O is decreased and the input/output speed is increased.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は入出力バッファ割当て方式に関し、特にデータ
処理装置の入出力に際して主記憶に入出力バッファを割
当てる入出力バッファ割当て方式〔従来の技術〕 従来の入出力バッファ割当て方式では、データ処理装置
の入出力に際して、オペレーティングシステムが、アプ
リケーションプログラムから入出力バッファの割当てを
要求されたとき、主記憶上のある領域に固定的に確保し
、共通に使用する共通入出力バッファ領域の中に、ファ
イル装置を含む入出力装置の入出力ブロック長の大きさ
で、入出力バッファを割当てている。
[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to an input/output buffer allocation method, and in particular, an input/output buffer allocation method for allocating an input/output buffer to main memory during input/output of a data processing device [prior art] In the conventional input/output buffer allocation method, when an application program requests the operating system to allocate an input/output buffer for input/output to a data processing device, it secures a fixed area in main memory and uses a common In the common input/output buffer area used, an input/output buffer is allocated with the size of the input/output block length of the input/output device including the file device.

そこで、例えば、アプリケーションプログラムが、ある
レコードを入力する指令を行うと、オペレーティングシ
ステムは、割当てられている入出力バッファの中に、要
求されたレコードがあるかどうかを判断し、あればその
レコードの内容をアプリケーションプログラムに転送し
、なければ入力装置やファイル装置からその要求された
レコードを含む一つの入出カブロックを、割当てられた
入出力バッファに転送してから、その入出力バッファの
中にある要求されたレコードの内容をアプリケーション
プログラムに転送して入力している。
So, for example, when an application program issues a command to input a record, the operating system determines whether the requested record is in the allocated input/output buffer and, if so, stores the requested record. Transfer the contents to the application program, if not, transfer one I/O block containing the requested record from the input device or file device to the allocated I/O buffer, and then The contents of the requested record are transferred to the application program and input.

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

一般に、アプリケーションプログラムと入出力バッファ
内のレコードとの間の入出力である論理110は、入出
力バッファと入出力装置との間の入出力である物理I1
0に比較して、103〜104倍の高速度を有している
In general, the logic 110 that is the input/output between the application program and the records in the input/output buffer is the physical I1 that is the input/output between the input/output buffer and the input/output device.
It has a high speed of 103 to 104 times compared to 0.

しかし、従来は、主記憶が高価だったので、主記憶を有
効に活用しなければならず、主記憶の一部に共通入出力
バッファ領域を固定的に割当て、入出力バッファの大き
さを入出力ブロック長に制限していた。
However, in the past, main memory was expensive, so it was necessary to make effective use of main memory. It was limited to the output block length.

このため、上述した従来の入出力バッファ割当て方式は
、入出力ブロック長単位に物理I10を行っているので
、1回の物理I10により入出力できるレコード数が少
なく、入出力速度が遅いという欠点がある。
For this reason, the conventional input/output buffer allocation method described above performs physical I10 for each input/output block length, which has the disadvantage that the number of records that can be input/output by one physical I10 is small and the input/output speed is slow. be.

ところが、最近は、主記憶の価格も安くなっているので
、大容量の主記憶が広く使用され、主記憶上にも空き領
域が存在するようになって来ている。
However, recently, the price of main memory has become cheaper, so large-capacity main memories are being widely used, and free space has come to exist on the main memory as well.

それにもかかわらず、従来の入出力バッファ割当て方式
は、主記憶の一部に共通入出力バッファ領域を定め、共
通入出力バッファ領域だけを入出力バッファに利用する
ので、主記憶上の空き領域を活用することができないと
いう問題点がある。
Nevertheless, the conventional input/output buffer allocation method defines a common input/output buffer area in a part of main memory and uses only the common input/output buffer area for input/output buffers. The problem is that it cannot be used effectively.

本発明の目的は、主記憶上に空き領域があれば、その空
き領域に多くの入出力ブロックを収容できる大きな入出
力バッファを割当てることにより、物理I10の回数を
減少させ、入出力速度を向上させることができる入出力
バッファ割当て方式を提供することにある。
The purpose of the present invention is to reduce the number of physical I10 operations and improve input/output speed by allocating a large input/output buffer capable of accommodating many input/output blocks to the free area if there is free space on the main memory. The purpose of the present invention is to provide an input/output buffer allocation method that allows

〔課題を解決するための手段〕[Means to solve the problem]

本発明の入出力バッファ割当て方式は、(A)入出力の
対象となるファイルのそれぞれに対して、ファイル名と
、入出力に際して主記憶上にある空き領域を使用するこ
とを要求するための拡張入出力バッファサイズ要求値と
、主記憶からオペレーティングシステムで確保して共通
に使用する共通入出力バッファ領域上にある空き領域を
使用することを要求するための入出力ブロック長要求値
とをあらかじめ記憶するファイル情報記憶手段、(B)
主記憶上にある空き領域の合計サイズと、その中の各空
き領域の個別サイズと、各空き領域の個別アドレスとを
保有し、それらの変化をリアルタイムに管理する主記憶
空き領域管理手段、 (C)共通入出力バッファ領域上にある空き領域の合計
サイズと、その中の各空き領域の個別サイズと、各空き
領域の個別アドレスとを保有し、それらの変化をリアル
タイムに管理する共通入出力バッファ空き領域管理手段
、(D)アプリケーションプログラムなど幾っがの要求
元プログラムからの入出力バッファ割当て要求を受けて
、その入出力バッファを必要とするファイル名を抽出す
る入出力バッファ割当て要求入力手段、 (E)前記入出力バッファ割当て要求入力手段で抽出さ
れたファイル名により、第1に前記ファイル情報記憶手
段から読出した拡張入出力バッファサイズ要求値に対し
て、前記主記憶空き領域管理手段の情報内容で、主記憶
上にある空き領域の合計サイズを調べて割当てができる
かどうかを判断し、割当てができるときには、まず、主
記憶の各空き領域の個別サイズを調べてその一つの割当
てができるかどうかを判断し、何れも割当てできないと
きには、次に、主記憶の詰直しを実施して割当てを可能
にし、主記憶の空き領域の合計サイズで割当てができな
いときには、第2に前記ファイル情報記憶手段から読出
した入出力ブロック長要求値に対して、前記共通入出力
バッファ空き領域管理手段の情報内容で、共通入出力バ
ッファ領域上にある空き領域の合計サイズを調べて割当
てができるがどうかを判断し、割当てができるときには
、まず、共通入出力バッファ領域の各空き領域の個別サ
イズを調べてその一つの割当てができるがどうかを判断
し、何れも割当てができないときには、次に、共通入出
力バッファ領域の詰直しを実施して割当てを可能にし、
共通入出力バッファ領域の空き領域の合計サイズで割当
てができないときには、割当てができない状態であると
判断する記憶領域利用状況判断手段、 (F)前記記憶領域利用状況判断手段からの判断情報に
より、主記憶の空き領域に拡張入出力バッファの割当て
ができるときには、拡張入出力バッファを割当て、共通
入出力バッファ領域に通常入出力バッファの割当てがで
きるときには、通常入出力バッファを割当てて、何れの
場合にもそのアドレスおよびサイズを送出し、割当てが
できないときには、割当てができないことを示す情報を
送出する入出力バッファ割当て手段、 (G)前記入出力バッファ割当て手段から送出された拡
張入出力バッファのアドレスとサイズ、通常入出力バッ
ファのアドレスとサイズ、割当てができないことを示す
情報の何れかを、入出力バッファ割当て要求を行った要
求元プログラムに引渡す入出力バッファ割当て結果出力
手段、 を備えて構成されている。
The input/output buffer allocation method of the present invention includes: (A) for each file to be input/output, a file name and an extension for requesting that free space in main memory be used for input/output; Stores in advance the input/output buffer size request value and the input/output block length request value for requesting the use of free space on the common input/output buffer area that is secured by the operating system from main memory and used in common. (B) file information storage means for
A main memory free space management means that holds the total size of free space on the main memory, the individual size of each free space therein, and the individual address of each free space, and manages changes therein in real time. C) Common input/output that holds the total size of free space on the common input/output buffer area, the individual size of each free space within it, and the individual address of each free space, and manages changes in these in real time. buffer free space management means; (D) input/output buffer allocation request input means for receiving input/output buffer allocation requests from a number of requesting programs such as application programs and extracting the names of files that require the input/output buffers; , (E) Based on the file name extracted by the input/output buffer allocation request input means, the main memory free area management means first responds to the extended input/output buffer size request value read from the file information storage means. Based on the information content, the total size of free space in main memory is checked to determine whether allocation can be made. If allocation is possible, first check the individual size of each free space in main memory and decide whether to allocate one of them. If it is not possible to allocate any of them, the next step is to refill the main memory to make the allocation possible, and if the total size of the free space in the main memory does not allow allocation, the second step is to allocate the file information. Is it possible to check and allocate the total size of free space on the common input/output buffer area based on the information content of the common input/output buffer free space management means for the input/output block length request value read from the storage means? If it is possible to allocate it, first check the individual size of each free area in the common input/output buffer area to determine if it is possible to allocate one of them.If none can be allocated, then the common input/output buffer area is allocated. Performs repacking of the output buffer area to enable allocation,
(F) storage area usage status determining means that determines that allocation is not possible when allocation is not possible due to the total size of free space in the common input/output buffer area; When it is possible to allocate an extended I/O buffer to a free memory area, an extended I/O buffer is allocated, and when a normal I/O buffer can be allocated to a common I/O buffer area, a normal I/O buffer is allocated. (G) an address and an address of an extended input/output buffer sent from the input/output buffer allocating means; an input/output buffer allocation result output means for delivering any of the size, the address and size of the normal input/output buffer, and information indicating that allocation cannot be made to the requesting program that made the input/output buffer allocation request. There is.

〔実施例〕〔Example〕

次に本発明の実施例について図面を参照して説明する。 Next, embodiments of the present invention will be described with reference to the drawings.

第1図は本発明の入出力バッファ割当て方式の一実施例
を示すブロック図である。
FIG. 1 is a block diagram showing an embodiment of the input/output buffer allocation method of the present invention.

第1図に示すファイル情報記憶手段1は、補助記憶装置
にあり、入出力の対象となるすべてのファイルのそれぞ
れに対して、ファイル名と、入出力に際して主記憶上に
ある空き領域を使用することを要求するための拡張入出
力バッファサイズ要求値と、主記憶からオペレーティン
グシステムが確保して共通に使用する共通入出力バッフ
ァ領域上にある空き領域を使用することを要求するため
の入出力ブロック長要求値とをあらかじめ記憶している
The file information storage means 1 shown in FIG. 1 is located in an auxiliary storage device, and stores the file name and free space on the main memory for input/output for each file to be input/output. Expanded I/O buffer size request value for requesting the use of extended I/O buffer size, and I/O block for requesting the use of free space on the common I/O buffer area reserved by the operating system from main memory for common use. The long request value is stored in advance.

第2図はファイル情報記憶手段の情報内容を示す情報構
成図である。
FIG. 2 is an information configuration diagram showing the information contents of the file information storage means.

ファイル情報記憶手段1は、第2図に示すように、ファ
イル名FN1.FN2.・・・・・・FNM−拡張入出
力バッファサイズ要求値F11.FI2・・・・・・F
IM、入出力ブロック長要求値FC。
As shown in FIG. 2, the file information storage means 1 stores file names FN1. FN2. ...FNM-Extended input/output buffer size request value F11. FI2...F
IM, input/output block length request value FC.

Fe2.・・・・・・FCMをあらかじめ記憶している
Fe2. ....FCM is memorized in advance.

なお、ファイル情報記憶手段1の情報内容は、ファイル
アロケート時に作成され、ファイルデイアロケート時に
削除される。
Note that the information contents of the file information storage means 1 are created at the time of file allocation and deleted at the time of file deallocation.

また、拡張入出力バッファサイズ要求値FIIは、入出
力ブロック長要求値FC,の整数倍の値に、ファイルア
ロケート時に入力されている。
Further, the extended input/output buffer size request value FII is input to a value that is an integral multiple of the input/output block length request value FC, at the time of file allocation.

一方、主記憶空き領域管理手段2は、主記憶上にあり、
主記憶上にある空き領域の合計サイズと、その中の各空
き領域の個別サイズと、各空き領域の個別アドレスとを
保有して、それらの変化をリアルタイムに管理している
On the other hand, the main memory free space management means 2 is located on the main memory,
It maintains the total size of free areas on the main memory, the individual size of each free area within it, and the individual address of each free area, and manages changes in these in real time.

第3図は主記憶空き領域管理手段の情報内容を示す情報
構成図である。
FIG. 3 is an information configuration diagram showing the information content of the main memory free area management means.

主記憶空き領域管理手段2は、第3図に示すように、主
記憶上の空き領域の合計サイズIB、主記憶上の各空き
領域の個別サイズIB、。
As shown in FIG. 3, the main memory free space management means 2 has a total size IB of free space on the main memory, and an individual size IB of each free space on the main memory.

IB2.・・・・・・IBX、主記憶上の各空き領域の
個別アドレスIA1.IA2.・・・・・・IAXを記
憶している。
IB2. ...IBX, individual address IA1 of each free area on main memory. IA2. ...I remember IAX.

なお、I B = I B t + I B 2+・・
・・・・IBxであり、IAIはIBIの先頭位置のア
ドレスである。
In addition, I B = I B t + I B 2+...
...IBx, and IAI is the address of the start position of IBI.

次に、共通入出力バッファ空き領域管理手段3は、主記
憶上にあり、主記憶からオペレーティングシステムが確
保した共通入出力バッファ領域上にある空き領域の合計
サイズと、その中の各空き領域の個別サイズと、各空き
領域の個別アドレスとを保有し、それらの変化をリアル
タイムに管理している。
Next, the common input/output buffer free area management means 3 calculates the total size of free areas on the common input/output buffer area that is located on the main memory and secured by the operating system from the main memory, and the size of each free area within the common input/output buffer area. It holds individual sizes and individual addresses for each free area, and manages changes in these in real time.

第4図は共通入出力バッファ空き領域管理手段の情報内
容を示す情報構成図である。
FIG. 4 is an information configuration diagram showing the information contents of the common input/output buffer free area management means.

共通入出力バッファ空き領域管理手段3は、第4図に示
すように、共通入出力バッファ領域上の空き領域の合計
サイズCB、共通入出力バッファ領域上の各空き領域の
個別サイズCB1゜CB2.・・・・・・CBY、共通
入出力バッファ領域上の各空き領域の個別アドレスCA
 1 、 CA2 、・・・・・・CAYを記憶してい
る。
As shown in FIG. 4, the common input/output buffer free area management means 3 determines the total size CB of free areas on the common input/output buffer area, the individual size CB1° CB2 .・・・・・・CBY, individual address CA of each free area on the common input/output buffer area
1, CA2,...CAY are memorized.

なお、CB=CB1 +CB2+・・・・・・CBYで
あり、CA +はCBIの先頭位置のアドレスである。
Note that CB=CB1 +CB2+...CBY, and CA+ is the address of the starting position of CBI.

第5図は本実施例の入出力バッファ割当て方式の入出力
バッファ割当て動作を示す流れ図である。
FIG. 5 is a flowchart showing the input/output buffer allocation operation of the input/output buffer allocation method of this embodiment.

以下、第5図を参照して本実施例の動作を説明する。The operation of this embodiment will be explained below with reference to FIG.

まず、入出力バッファ割当て要求入力手段4は、ステッ
プS1で、アプリケーションブログラムなど幾つかの要
求元プログラムP−1,・・・・・・P−Nの一つから
の入出力バッファ割当て要求を入力して、その入出力バ
ッファを必要とするファイル名FN、を抽出している。
First, in step S1, the input/output buffer allocation request input means 4 receives an input/output buffer allocation request from one of several request source programs P-1, . . . , P-N such as an application program. The file name FN that requires the input/output buffer is extracted.

次に、記憶領域利用状況判断手段5は、ステップS2で
、入出力バッファ割当て要求入力手段4から受けたファ
イル名FN、をキーにして、ファイル情報記憶手段1か
ら読出した拡張入出力バッファサイズ要求値FI、を、
主記憶空き領域管理手段2にある主記憶の空き領域の合
計サイズIBに比較して、Fl、≦IBかどうがを調べ
ている。
Next, in step S2, the storage area usage status determining means 5 uses the file name FN received from the input/output buffer allocation request inputting means 4 as a key to request an expanded input/output buffer size read from the file information storage means 1. The value FI,
A comparison is made with the total size IB of the main memory free space in the main memory free space management means 2 to check whether Fl, ≦IB.

FII≦IBである(YES)ときには、記憶領域利用
状況判断手段5は、主記憶上の空き領域の割当てができ
ると判断し、次のステップS3で、拡張入出力バッファ
サイズ要求値FI、と、順番に主記憶上の各空き領域の
個別サイズIB。
When FII≦IB (YES), the storage area usage status determining means 5 determines that the free area on the main memory can be allocated, and in the next step S3, an extended input/output buffer size request value FI, Individual size IB of each free area on main memory in turn.

とを比較して、FIl≦IB、を満たすIB、があるか
どうかを調べている。
It is checked whether there is an IB that satisfies FIl≦IB.

FI、≦IB、を満たすIB、が一つもない(No)と
きには、次のステップS4で、オペレーティングシステ
ムが主記憶の全使用領域の詰直しを実施し、前に全使用
領域、後に一つの全空き領域となるように変更している
If there is no IB that satisfies FI, ≦IB, (No), in the next step S4, the operating system refills the entire used area of the main memory, repacking the entire used area before and one full area afterward. It has been changed so that it becomes a free space.

この結果、全空き領域が一つの主記憶上の空き領域の個
別サイズIBになるので、これを割当てることができる
こととなる。
As a result, the total free space becomes an individual size IB of free space on one main memory, which can be allocated.

そこで、この場合と、上記のステップS3で、FI、≦
IB、を満たすIB、がある(YES)ときには、次の
ステップS5で、入出力バッファ割当て手段6は、主記
憶空き領域管理手段2の情報内容のIBをIB  FI
I 、IBJをIBJ  FII 、IAJをIAJ+
FIIとして、割当てた結果の状態に変更している。
Therefore, in this case and in step S3 above, FI, ≦
If there is an IB that satisfies IB (YES), in the next step S5, the input/output buffer allocation means 6 assigns the IB of the information content of the main memory free area management means 2 to IB FI
I, IBJ to IBJ FII, IAJ to IAJ+
As FII, the state is changed to the result of allocation.

次に、ステップS6で、入出力バッファ割当て手段6は
、要求元プログラムに拡張入出力バッファを割当てて、
そのアドレスおよびサイズを送出するので、次のステッ
プS7で、入出力バッファ割当て結果出力手段7は、入
出力バッファ割当て手段6から送出された拡張入出力バ
ッファのアドレスとサイズを入出力バッファ割当て要求
を行った要求元プログラムP−1,・・・・・・P−N
の一つに引渡して通知している。
Next, in step S6, the input/output buffer allocation means 6 allocates an extended input/output buffer to the requesting program,
Since the address and size are sent, in the next step S7, the input/output buffer allocation result output means 7 outputs the address and size of the extended input/output buffer sent from the input/output buffer allocation means 6 to the input/output buffer allocation request. Request source program P-1, ...P-N
have been handed over and notified to one of them.

ステップS2で、Fl、≦IBでない(No)ときには
、ステップS8で、入出力バッファ割当て要求入力手段
4から受けたファイル名F N Iをキーにして、ファ
イル情報記憶手段1から読出した入出力ブロック長要求
値FC,を、共通入出力バッファ空き領域管理手段3に
ある共通入出力バッファ領域の空き領域の合計サイズC
Bに比較して、FC,≦CBかどうかを調べている。
In step S2, if Fl, ≦IB is not satisfied (No), in step S8, the input/output block read from the file information storage means 1 using the file name F N I received from the input/output buffer allocation request input means 4 is used as a key. The long request value FC, is the total size C of the free area of the common input/output buffer area in the common input/output buffer free area management means 3.
In comparison with B, it is checked whether FC,≦CB.

FC,≦CBである(YES)ときには、記憶領域利用
状況判断手段5は、共通入出力バッファ領域の空き領域
の割当てができると判断し、次のステップS9で、入出
力ブロック長要求値PCIと、順番に共通入出力バッフ
ァ領域の各空き領域の個別サイズCBkとを比較して、
FCI≦CBkを満たすCBkがあるがどうかを調べて
いる。
When FC,≦CB (YES), the storage area usage status determining means 5 determines that the free space in the common input/output buffer area can be allocated, and in the next step S9, input/output block length request value PCI and , sequentially compare the individual size CBk of each free area in the common input/output buffer area,
It is checked whether there is a CBk that satisfies FCI≦CBk.

PCI ≦CBkを満たすCBkが一つもない(NO)
ときには、次のステップSIOで、オペレーティングシ
ステムが共通入出力バッファ領域の詰直しを実施し、前
に全使用領域、後に一つの全空き領域となるように変更
している。
There is no CBk that satisfies PCI ≦CBk (NO)
Sometimes, in the next step SIO, the operating system refills the common input/output buffer area so that there is a full used area before and one full free area after.

この結果、全空き領域が一つの共通入出力バッファ領域
上の空き領域の個別サイズCBになるので、これを割当
てることができることとなる。
As a result, the total free space becomes the individual size CB of free space on one common input/output buffer area, which can be allocated.

そこで、この場合と、上記のステップS9で、FC,≦
CBkを満たすCBkがある(YES)ときには、ステ
ップSllで、入出力バッファ割当て手段6は、共通入
出力バッファ空き領域管理手段3の情報内容のCBをC
B−FCl、CBkをCBk−FCl、CAkをCAk
+Fclとして、割当てた結果の状態に変更している。
Therefore, in this case and in step S9 above, FC,≦
If there is a CBk that satisfies CBk (YES), the input/output buffer allocation means 6 assigns the CB of the information content of the common input/output buffer free area management means 3 to C in step Sll.
B-FCl, CBk to CBk-FCl, CAk to CAk
+Fcl, and the state is changed to the result of the allocation.

次に、ステップS12で、入出力バッファ割当て手段6
は、要求元プログラムに通常入出力バッファを割当てて
、そのアドレスおよびサイズを送出するので、次のステ
ップ313で、入出力バッファ割当て結果出力手段7は
、入出力バッファ割当て手段6から送出された共通入出
力バッファのアドレスとサイズを入出力バッファ割当て
要求を行った要求元プログラムP−1,・・・・・・P
−Hの一つに引渡して通知している。
Next, in step S12, the input/output buffer allocation means 6
allocates a normal input/output buffer to the requesting program and sends its address and size, so in the next step 313, the input/output buffer allocation result output means 7 outputs the common input/output buffer sent from the input/output buffer allocation means 6. The requesting program P-1,...P that requested the input/output buffer address and size to allocate the input/output buffer
-H has been handed over and notified.

ステップS8で、PCI≦CBでない(No)ときには
、ステップS14で、入出力バッファ割当て手段6は、
要求元プログラムに入出力バッファの割当てができず、
割当てができないことを示す情報を送出するので、入出
力バッファ割当て結果出力手段7は、その割当てができ
ないことを示す情報を入出力バッファ割当て要求を行っ
た要求元プログラムP−1,・・・・・・P−Nの一つ
に引渡して通知している。
In step S8, when PCI≦CB is not satisfied (No), in step S14, the input/output buffer allocation means 6:
The requesting program cannot allocate an input/output buffer,
Since the information indicating that the allocation cannot be made is sent, the input/output buffer allocation result output means 7 sends the information indicating that the allocation cannot be made to the requesting program P-1, which made the input/output buffer allocation request. ...It has been handed over to one of the P-Ns and notified.

以上述べたように、本実施例の入出力バッファ割当て方
式は、主記憶上に空き領域があれば、その空き領域に多
くの入出カブロックを収容できる大きな入出力バッファ
を割当てることにより、物理I10の回数を減少させ、
入出力速度を向上させることができる。
As described above, the input/output buffer allocation method of this embodiment, if there is a free area on the main memory, allocates a large input/output buffer that can accommodate many input/output blocks to the free area, so that the physical I10 reduce the number of
It can improve input/output speed.

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

以上説明したように、本発明の入出力バッファ割当て方
式は、主記憶上に空き領域があれば、その空き領域に多
くの入出カブロックを収容できる大きな入出力バッファ
を割当てることにより、物理I10の回数を減少させ、
入出力速度を向上させることができるという効果を有し
ている。
As explained above, the input/output buffer allocation method of the present invention, if there is a free area in the main memory, allocates a large input/output buffer that can accommodate many input/output blocks to that free area, thereby increasing the physical I/O buffer allocation. reduce the number of times,
This has the effect of improving input/output speed.

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

第1図は本発明の入出力バッファ割当て方式の一実施例
を示すブロック図、第2図はファイル情報記憶手段の情
報内容を示す情報構成図、第3図は主記憶空き領域管理
手段の情報内容を示す情報構成図、第4図は共通入出力
バッファ空き領域管理手段の情報内容を示す情報構成図
、第5図は本実施例の入出力バッファ割当て方式の入出
力バッファ割当て動作を示す流れ図である。 1・・・・・・ファイル情報記憶手段、2・・・・・・
主記憶空き領域管理手段、3・・・・・・共通入出力バ
ッファ空き領域管理手段、4・・・・・・入出力バッフ
ァ割当て要求入力手段、5・・・・・・記憶領域利用状
況判断手段、6・・・・・・入出力バッファ割当て手段
、7・・・・・・入出力バッファ割当て結果出力手段、 1〜P−N・・・ ・・・要求元プログラム。
FIG. 1 is a block diagram showing an embodiment of the input/output buffer allocation method of the present invention, FIG. 2 is an information configuration diagram showing the information content of the file information storage means, and FIG. 3 is the information of the main memory free space management means. FIG. 4 is an information configuration diagram showing the information content of the common input/output buffer free area management means. FIG. 5 is a flowchart showing the input/output buffer allocation operation of the input/output buffer allocation method of this embodiment. It is. 1...File information storage means, 2...
Main memory free space management means, 3...Common input/output buffer free space management means, 4...I/O buffer allocation request input means, 5...Storage area usage status judgment Means, 6... Input/output buffer allocation means, 7... Input/output buffer allocation result output means, 1 to P-N... Request source program.

Claims (1)

【特許請求の範囲】 (A)入出力の対象となるファイルのそれぞれに対して
、ファイル名と、入出力に際して主記憶上にある空き領
域を使用することを要求するための拡張入出力バッファ
サイズ要求値と、主記憶からオペレーティングシステム
で確保して共通に使用する共通入出力バッファ領域上に
ある空き領域を使用することを要求するための入出力ブ
ロック長要求値とをあらかじめ記憶するファイル情報記
憶手段、 (B)主記憶上にある空き領域の合計サイズと、その中
の各空き領域の個別サイズと、各空き領域の個別アドレ
スとを保有し、それらの変化をリアルタイムに管理する
主記憶空き領域管理手段、 (C)共通入出力バッファ領域上にある空き領域の合計
サイズと、その中の各空き領域の個別サイズと、各空き
領域の個別アドレスとを保有し、それらの変化をリアル
タイムに管理する共通入出力バッファ空き領域管理手段
、 (D)アプリケーションプログラムなど幾つかの要求元
プログラムからの入出力バッファ割当て要求を受けて、
その入出力バッファを必要とするファイル名を抽出する
入出力バッファ割当て要求入力手段、 (E)前記入出力バッファ割当て要求入力手段で抽出さ
れたファイル名により、第1に前記ファイル情報記憶手
段から読出した拡張入出力バッファサイズ要求値に対し
て、前記主記憶空き領域管理手段の情報内容で、主記憶
上にある空き領域の合計サイズを調べて割当てができる
かどうかを判断し、割当てができるときには、まず、主
記憶の各空き領域の個別サイズを調べてその一つの割当
てができるかどうかを判断し、何れも割当てできないと
きには、次に、主記憶の詰直しを実施して割当てを可能
にし、主記憶の空き領域の合計サイズで割当てができな
いときには、第2に前記ファイル情報記憶手段から読出
した入出力ブロック長要求値に対して、前記共通入出力
バッファ空き領域管理手段の情報内容で、共通入出力バ
ッファ領域上にある空き領域の合計サイズを調べて割当
てができるかどうかを判断し、割当てができるときには
、まず、共通入出力バッファ領域の各空き領域の個別サ
イズを調べてその一つの割当てができるかどうかを判断
し、何れも割当てができないときには、次に、共通入出
力バッファ領域の詰直しを実施して割当てを可能にし、
共通入出力バッファ領域の空き領域の合計サイズで割当
てができないときには、割当てができない状態であると
判断する記憶領域利用状況判断手段、 (F)前記記憶領域利用状況判断手段からの判断情報に
より、主記憶の空き領域に拡張入出力バッファの割当て
ができるときには、拡張入出力バッファを割当て、共通
入出力バッファ領域に通常入出力バッファの割当てがで
きるときには、通常入出力バッファを割当てて、何れの
場合にもそのアドレスおよびサイズを送出し、割当てが
できないときには、割当てができないことを示す情報を
送出する入出力バッファ割当て手段、 (G)前記入出力バッファ割当て手段から送出された拡
張入出力バッファのアドレスとサイズ、通常入出力バッ
ファのアドレスとサイズ、割当てができないことを示す
情報の何れかを、入出力バッファ割当て要求を行った要
求元プログラムに引渡す入出力バッファ割当て結果出力
手段、 を備えることを特徴とする入出力バッファ割当て方式。
[Claims] (A) For each file to be input/output, the file name and expanded input/output buffer size for requesting use of free space in main memory for input/output. File information storage that stores in advance a request value and an input/output block length request value for requesting the use of a free area on a commonly used common input/output buffer area secured by the operating system from main memory. (B) Main memory free space that holds the total size of free space on the main memory, the individual size of each free space therein, and the individual address of each free space, and manages changes therein in real time. Area management means (C) Holds the total size of free areas on the common input/output buffer area, the individual sizes of each free area therein, and the individual addresses of each free area, and monitors changes in these in real time. A common input/output buffer free area management means for managing, (D) receiving input/output buffer allocation requests from several request source programs such as application programs;
an input/output buffer allocation request input means for extracting a file name that requires the input/output buffer; (E) first reading from the file information storage means according to the file name extracted by the input/output buffer allocation request input means; Based on the information content of the main memory free space management means, the total size of free space in the main memory is checked to determine whether allocation can be made for the expanded input/output buffer size request value, and if allocation is possible, , First, check the individual size of each free area in the main memory to determine whether one of them can be allocated, and if none can be allocated, then refill the main memory to make the allocation possible, If allocation cannot be made based on the total size of free space in the main memory, secondly, a common input/output block length request value read from the file information storage means is allocated according to the information content of the common input/output buffer free space management means. Check the total size of free space in the input/output buffer area to determine whether allocation is possible. If allocation is possible, first check the individual size of each free area in the common input/output buffer area and allocate one of them. If it is not possible to allocate any of them, next, repack the common input/output buffer area to make allocation possible.
(F) storage area usage status determining means that determines that allocation is not possible when allocation is not possible due to the total size of free space in the common input/output buffer area; When it is possible to allocate an extended I/O buffer to a free memory area, an extended I/O buffer is allocated, and when a normal I/O buffer can be allocated to a common I/O buffer area, a normal I/O buffer is allocated. (G) an address and an address of an extended input/output buffer sent from the input/output buffer allocating means; and input/output buffer allocation result output means for delivering any of the size, the address and size of the normal input/output buffer, and information indicating that allocation is not possible to the requesting program that has made the input/output buffer allocation request. I/O buffer allocation method.
JP2021339A 1990-01-30 1990-01-30 I/O Buffer Allocation Strategy Expired - Fee Related JP2833814B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021339A JP2833814B2 (en) 1990-01-30 1990-01-30 I/O Buffer Allocation Strategy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021339A JP2833814B2 (en) 1990-01-30 1990-01-30 I/O Buffer Allocation Strategy

Publications (2)

Publication Number Publication Date
JPH03225457A true JPH03225457A (en) 1991-10-04
JP2833814B2 JP2833814B2 (en) 1998-12-09

Family

ID=12052358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021339A Expired - Fee Related JP2833814B2 (en) 1990-01-30 1990-01-30 I/O Buffer Allocation Strategy

Country Status (1)

Country Link
JP (1) JP2833814B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05143372A (en) * 1991-11-20 1993-06-11 Nec Corp Pool semaphore managing signal

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05143372A (en) * 1991-11-20 1993-06-11 Nec Corp Pool semaphore managing signal

Also Published As

Publication number Publication date
JP2833814B2 (en) 1998-12-09

Similar Documents

Publication Publication Date Title
US6023744A (en) Method and mechanism for freeing disk space in a file system
US5983293A (en) File system for dividing buffer areas into different block sizes for system and user data
US6587915B1 (en) Flash memory having data blocks, spare blocks, a map block and a header block and a method for controlling the same
JPH0675897A (en) Buffer memory management method and device for permitting division
EP0439920B1 (en) System and method for memory management in a microcomputer
IE20010731A1 (en) Reclaim Space Reserve for a Compressed Memory System
WO1998026352A1 (en) Method of file pre-read control in computer system
JPH08137754A (en) Disk cache device
JPH06161846A (en) File management device
JPH03225457A (en) Input and output buffer allocation system
US20080022060A1 (en) Data recording apparatus, program product, and data recording method
JP4204405B2 (en) Memory management method
JPH10161932A (en) Disk cache control system
JP4176682B2 (en) Memory management method
JPH04102118A (en) Buffer flash mechanism
JP2735400B2 (en) Asynchronous I/O control method
JPH06348572A (en) Multi-mechanism disk system
JPH10198525A (en) External storage device data output method
JP2583403B2 (en) Backing store management method
JPH05151037A (en) Reorganization processing system for database in business processing
JP3542894B2 (en) File system
JPS63307526A (en) Data processor
JPH0713851A (en) Memory management method and device
JPH0682334B2 (en) Management processing device for management table
Fischler et al. Variable topology random access memory organizations

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees