JPH01211143A - 入出力バッファの管理装置 - Google Patents

入出力バッファの管理装置

Info

Publication number
JPH01211143A
JPH01211143A JP63037197A JP3719788A JPH01211143A JP H01211143 A JPH01211143 A JP H01211143A JP 63037197 A JP63037197 A JP 63037197A JP 3719788 A JP3719788 A JP 3719788A JP H01211143 A JPH01211143 A JP H01211143A
Authority
JP
Japan
Prior art keywords
file
buffer area
buffer
processing
buffers
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
JP63037197A
Other languages
English (en)
Other versions
JP2734515B2 (ja
Inventor
Yoshihiko Saitou
斉藤 至彦
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP63037197A priority Critical patent/JP2734515B2/ja
Publication of JPH01211143A publication Critical patent/JPH01211143A/ja
Application granted granted Critical
Publication of JP2734515B2 publication Critical patent/JP2734515B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野〕 本発明は入出カバソファエリアの管理方式に関し、特に
補助記4g装置上の複数のファイルと主記憶装置との間
のデータ入出力において利用される主起1.α装置に設
けられた入出カバソファエリア(以下、バッファエリア
という)を管理する入出力バッファエリアの管理方式に
関する。
〔従来の技術〕
従来、この種の入出力バッファエリアの管理方式では、
利用者プログラムにより指定されるバッファのハソファ
サイズとバッファ数とが乗算されてファイル対応バッフ
ァ領域(ファイル毎に存在するバッファエリア内の領域
)のサイズが求められ、そのファイル対応バッファ領域
がファイルオープン時にバッファエリア内に確保されて
ファイルクローズ時までサイズが変更されることなく固
定的に保持され、他のファイルのファイル対応バッファ
領域とは全く独立したものとしてデータアクセス手段(
利用者プログラムからのデータ入出力の要求を実現する
手段)によるデータ入出力のために使用されていた。
〔発明が解決しようとする課題〕・ 上述した従来の入出カバソファエリアの管理方式では、
バッファエリア内の各ファイルのファイル対応バッファ
領域が固定的に保持され、他のファイルのファイル対応
バッファ領域とは独立して管理されているので、以下に
示すような欠点がある。
まず、利用者プログラムと各ファイルとの間のデータ入
出力の頻度に対応したバッファエリアの管理ができない
ために、各ファイルに対するデータ入出力の頻度をあま
り考慮せずに各ファイル対応バッファ領域中のバッファ
数を不用意に(バッファ数が必要なファイル対応バッフ
ァ領域には過小に、バッファ数があまり必要でないファ
イル対応バッファ領域には限られたへソファ数の中から
過大に)指定するとデータ入出力回数が増加して利用者
プログラムのデータ入出力時間および処理実行時間が増
加する。
また、上述のような不適切なバ・7フア数の指定を避け
るためにデータ入出力を行う利用者プログラム側でその
処理に最適なバッファ数を指定しようとすると、利用者
プログラム毎にその処理を分析する(各ファイル対応バ
ッファ領域は独立して管理されているのでファイル毎に
データ入出力の処理を分析しなければならない)ととも
に同時に実行される他の利用者プログラムとの間の主記
憶装置の容量配分も併せて考慮しなければならなくなり
 (ファイル対応バッファ領域中のバッファ数は固定的
であるので一旦不用意な指定をしてしまうと他の利用者
プログラムに及ぼす影響は大である)、その分析や考慮
番ご要する労力が大きなものになる(特に、大規模な利
用者プログラムになると処理の量や使用されるファイル
の数が多くなり上述の分析や考慮には多大の労力が必要
になる)。
さらに、利用者プログラム中のある部分の処理ではある
ファイルに対するデータ入出力が多くなり他の部分の処
理では他のファイルに対するデータ入出力が多くなると
いうように、利用者プログラムにおける処理の流れに応
じて利用者プログラムと特定のファイルとの間のデータ
入出力の頻度が大きく変動する場合には、上述の分析や
考慮を費やしても適正なバッファ数をファイル対応バッ
ファ領域毎に一意に決定することが困難になる。
本発明の目的は、上述の点に鑑み、データ入出力回数に
応じたバッファ数のファイル対応バッファ領域によりデ
ータ入出力を実行でき、利用者プログラムと各ファイル
とのデータ入出力回数の合計を最小限に近いレベルに抑
えることが可能になり、利用者プログラム全体のデータ
入出力時間および処理実行時間の削減を達成することが
できる入出カバソファエリアの管理方式を提供すること
にある。
〔課題を解決するための手段〕
本発明の入出カバソファエリアの管理方式は、補助記憶
装置上のファイルに対するデータ入出力要求を行う利用
者プログラムからのファイルオープン要求に応じてファ
イルオープン要求に係るフアイルのファイル対応バッフ
ァ領域を構成するパケットの確保および複数のファイル
に係るデータ入出力で共通に使用されるバッファエリア
の再編成処理を要求してバッファエリア再編成手段に制
御を渡し、前記利用者プログラムからのデータ入出力要
求に応じてデータ入出力を実行し各ファイルの処理ブロ
ック数を計数し全てのファイルについての処理ブロック
数の合計が一定数に達した時点で前記バッファエリアの
再編成処理を要求して前記バッファエリア再編成手段に
制御を渡し、前記利用者プログラムからのファイルクロ
ーズ要求に応じて前記バッファエリアの再編成処理を要
求してバッファエリア再編成手段に制御を渡すデータア
クセス手段と、前記利用者プログラムで使用される全て
のファイルのファイルオープン前に前記利用者プログラ
ムにより指定されたパケットサイズに基づき前記バッフ
ァエリアを分割してパケットを作成し、前記データアク
セス手段からの要求に応じて前記利用者プログラムから
のファイルオープン要求に係るファイルのファイル対応
バッファ領域を構成するパケットを確保し、前記データ
アクセス手段により計数されている各ファイルの処E’
l−fロック数と各ファイルのファイル対応バッファ6
N +4中のバッファを構成するバヶ7)の数とから計
算される各ファイルのデータ処理量により示される前記
利用者プログラムがらのデータ入出力要求に応じて実行
されているデータ入出力の状況に則った各ファイルのフ
ァイル対応バッファ領域への最適な割当てバッファ数に
基づき前記バッファエリアの再編成処理をパケットを利
用して動的に行う前記バッファエリア再編成手段とを有
する。
〔作用〕
本発明の人出カバソファエリアの管理方式では、データ
アクセス手段が、補助記憶装置上のファイルに対するデ
ータ入出力要求を行う利用者プログラムからのファイル
オープン要求に応じてファイルオープン要求に係るファ
イルのファイル対応バッファ領域を構成するパケットの
確保および複数のファイルに係るデータ入出力で共通に
使用されるバッファエリアの再編成処理を要求してバッ
ファエリア再編成手段に制御を渡し、利用者プログラム
からのデータ入出力要求に応じてデータ入出力を実行し
各ファイルの処理ブロック数を計数し全てのファイルに
ついての処理ブロック数の合計が一定数に達した時点で
バッファエリアの再編成処理を要求してバッファエリア
再編成手段に制御を渡し、利用者プログラムからのファ
イルクローズ要求に応じてバッファエリアの再編成処理
を要求してバッファエリア再編成手段に制御を渡し、バ
ッファエリア再編成手段が、利用者プログラムで使用さ
れる全てのファイルのファイルオープン前に利用者プロ
グラムにより指定されたパケットサイズに基づきバッフ
ァエリアを分割してパケットを作成し、データアクセス
手段からの要求に応じて利用者プログラムからのファイ
ルオープン要求に係るファイルのファイル対応バッファ
領域を構成するパケットを確保し、データアクセス手段
により計数されている各ファイルの処理ブロック数と各
ファイルのファイル対応バッファ領域中のバッファを構
成するパケットの数とから計算される各ファイルのデー
タ処理量により示される利用者プログラムからのデータ
入出力要求に応じて実行されているデータ入出力の状況
に則った各ファイルのファイル対応バッファ領域への最
適な割当てバッファ数に基づきバッファエリアの再m成
処理をパケットを利用して動的に行う。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は、本発明の入出カバソファエリアの管理方式の
一実施例の構成を示すブロック図である。
本実施例の入出カバソファエリアの管理方式は、利用者
プログラム1と、空きパケット管理テーブル2と、ファ
イル別割当てパケット管理テーブル3と、ファイル別処
理ブロック数テーブル4と、データアクセス手段5と、
バッファエリア再編成手段6と、バッファエリア7と、
ファイル群8 (補助記憶装置(図示せず)上の複数の
ファイル)とを含んで構成されている。
バッファエリア7は、N(正整数)個のパケノトPi、
P2.・・・、PNに分割されて構成されている(単数
または複数のパケットによりバッファ(図示せず。1個
のバッファには1個のブロックが格納されている)が構
成され、単数または複数のバッファにより各ファイルに
対応するファイル対応バッファ領域(図示せず)が構成
されている。
バッファを構成する複数のパケットおよびファイル対応
バッファ領域を構成する複数のバッファはバッファエリ
ア7内で連続して配置されていなくてもよい)。
ここで、バッファエリア7がパケットPL、P2、・・
・、PNに分割されているのは、ファイル毎にバッファ
サイズの異なる単数または複数のバッファの集合である
ファイル対応バッファ領域をそれぞれバッファエリア7
に連VteIi域として確保しようとするとバッファエ
リア7の再編成処理が困難になるからである。
例えば、3個のファイルA、  BおよびCが存在しフ
ァイルAおよびCに対応するバッファ (ファイルAお
よびCのファイル対応バッファ領域を構成するバッファ
)のバッファサイズが2000バイトでありファイルB
に対応するバッファのバッファサイズが4000バイト
でありバッファエリア7のサイズが8000バイトであ
る場合にファイルBに対応するバッファの1個を増加し
ようとするときには、ファイルAおよびCに対応するバ
ッファを1個ずつ削除すればバッファサイズ的には空き
領域を確保することができるが連F、8U域を確保する
ことができないので結局はファイルBに対応するバッフ
ァを増加することができない。一方、パケットサイズを
1000バイトとしてバッファエリア7をパケット単位
に分割してそれらのパケットを上述と同一のバッファサ
イズのバッファに割り当てると、ファイルAおよびCに
対応するバッファを1個ずつ削除して計4個のパケット
を空き状態とした上でその4個の空きパケットをファイ
ルBに対応するバッファを構成するパケットとして割り
当てればファイルBに対応するバッファを容易に増加す
ることができる。
第2図を参照すると、空きパケット管理テーブル2は、
ファイル群8中のファイルに割り当てられていないパケ
ットである空きパケットの数を示す空きパケット数を格
納している空きパケット数格納域21と、各空きパケッ
トの番地を格納している空きパケット番地テーブル22
とから構成されている(本実施例ではn(正整数。n≦
N)個のパケットPml〜Pmn ((Pml〜Pmn
)C(P1〜PN))が空きパケットであることを示し
ている)。
第3図を参照すると、ファイル別割当てパケット管理テ
ーブル3 (第3図はファイル群8中のファイル毎に存
在するファイル別割当てパケット管理テーブル3の一例
を示す)は、1個のバッファ当たりに含まれるパケット
の数を示すバッファ当たりパケット数(本例では3)を
格納しているバッファ当たりパケット数格納域31と、
利用者プログラム1で処理中のブロックが格納されてい
るバッファ (現在処理中バッファ)の番号を示す現在
処理中バッファ番号(本例では2)を格納している現在
処理中バッファ番号格納域32と、当該ファイル(この
ファイル別割当てパケット管理テーブル3に係るファイ
ル)に現時点で割り当てられているバッファ (当該フ
ァイルのファイル対応バッファ領域を構成しているバッ
ファ)の数を示す現在バッファ数(本例では3)を°格
納している現在バッファ数格納域33と、当該ファイル
のファイルオープン時に当該ファイルに割り当てられる
バッファの目標数(最小限はこれだけ割り当てようと試
みられる数)を示す最小バッファ数(本例では2)を格
納している最小バッファ数格納域34と、各バッファに
割り当てられているパケットの番地を格納しているパケ
ット番地テーブル35とがら構成されている(本例では
、当該ファイルの第1番目のバッファにパケットPal
、Pa2およびPa3が割り当てられ、第2番目のバッ
ファにパケットPa4.Pa5およびPa6が割り当て
られ、第3番目のバッファにパケットPa7.Pa8お
よびPa9が割り当てられている((Pal〜、Pa 
9)((P I−PN))。
第4図を参照すると、ファイル別処理プロ、7り数テー
ブル4は、ファイル群8中の各ファイルの処理ブロック
数(ファイル別処理ブロック数テーブル4の初期化(後
述参照)が行われてから利用者プログラム1の処理の対
象となったブロックの数)の合計である処理ブロック数
合計を格納している処理ブロック数合計格納域41と、
各エントリにファイル群8中の各ファイルの処理ブロッ
ク数が設定されている処理ブロック数テーブル42とか
ら構成されている。
第5図を参照すると、データアクセス手段5の処理は、
ファイルオーブン時バッファエリア再編成要求ステップ
501 と、ファイルオープン処理ステップ502と、
現在処理中バッファ内要求レコード存在判定ステップ5
03と、ファイル別処理ブロック数テーブル1加算ステ
ツプ504と、処理ブロック数合計判定ステップ505
と、データ入出力時バッファエリア再編成要求ステップ
506と、バ・ノファエリア内次バッファ存在判定ステ
ップ507と、次ハ、ファ現在処理中バッファ位置付は
ステップ508と、データ入出カステップ509と、要
求レコード受渡しステップ510と、ファイルクローズ
処理ステップ511 と、ファイルクローズ時バッファ
エリア再謳成要求ステップ512とからなる。
このデータアクセス手段5の処理により、ファイル群8
中の各ファイルの処理ブロック数が計測されてその計測
に基づいてファイル別処理ブロック数テーブル4内の処
理ブロック数合計格納域41への処理ブロック数合計の
設定が行われる。処理ブロック数合計が一定数に達した
場合には、データアクセス手段5からバッファエリア再
編成手段6に制御が渡されてバッファエリア7の再編成
処理が行われる。また、バッファエリア再編成手段6に
よるバッファエリア7の再編成処理の終了時には、ファ
イル別処理ブロック数テーブル4の初期化(処理ブロッ
ク数合計格納域41および処理ブロック数テーブル42
のゼロクリア)が行われてデータアクセス手段5による
次の処理ブロック数の計測のための準備が行われる。
第6図を参照すると、バッファエリア再編成手段6の処
理は、パケット作成ステップ601と、ファイルオープ
ン時必要パケット数計算ステップ602と、必要パケッ
ト数合計判定ステップ603と、オープン要求ファイル
対応ファイル別割当てパケット管理テーブル設定ステッ
プ604と、最小バッファ数分パケット確保判定ステッ
プ605と、オープン要求ファイル対応ファイル別割当
てパケット管理テーブル余分バッファパケット設定ステ
ップ606と、データ処理量計算ステップ607と、割
当てバケット数計算ステップ608と、割当てバッファ
数計算値取得ステップ609と、バッファ削減ステップ
610と、バッファ増加およびファイル別処理ブロック
数テーブル初期化ステップ611とからなる。
このバッファエリア再編成手段6によっであるファイル
に対応するバッファエリアフ内のバッファが削減される
場合には、以下に示すような処理が行われる(ステップ
610の処理において行われる)。
まず、そのファイルが入力ファイルであるときには、す
でに利用者プログラム1による処理の終了しているブロ
ックを格納しているバッファ (現在処理中バッファは
含まれない)を構成するパケットが削除されそのパケッ
トの番地が空きパケットの番地として空きパケット管理
テーブル2内の空きパケット番地テーブル22に設定さ
れる。この処理でも目的のバッファ数にまで削減するこ
とができないときには、未処理のブロックの中で最も後
に処理される予定のブロックを格納しているバッファを
構成するパケットが削除されそのパケットの番地が空き
パケット管理テーブル2内の空きパケット番地テーブル
22に設定される。
次に、対応するバッファが削減されるファイルが出力フ
ァイルであるときには、レコード(ブロックの構成要素
)が書き込まれていないバッファを構成するパケットが
削除されそのパケットの番地が空きパケット管理テーブ
ル2内の空きパケット番地テーブル22に設定される。
この処理でも目的のバッファ数にまで削減することがで
きないときには、すでに処理が終了しているブロックの
内容がファイル群8中の所定のファイルに出力された後
にそのブロックを格納しているバッファを構成するパケ
ットが削除されそのパケットの番地が空きパケット管理
テーブル2内の空きパケット番地テーブル22に設定さ
れる。
上述のバッファの削減において、対応するバッファが削
減されたファイルに係るファイル別割当てパケット管理
テーブル3内の現在バッファ数格納域33中の現在バッ
ファ数が最小バッファ数格納域34中の最小バッファ数
に等しい場合には、そのバッファを構成するパケットの
削除は行われずに他のファイルに対応するバッファの削
減の処理に制御が進められる。
次に、このように構成された本実施例の入出力バッファ
エリアの管理方式の動作について説明する。
まず、ファイル群8中の全てのファイルのファイルオー
プン前のバッファエリア再編成手段6における動作につ
いて説明する。
この場合には、利用者プログラムIから制御を渡された
バッファエリア再編成手段6 (利用者プログラム1か
らバッファエリア再編成手段6にバッファエリア初期化
要求が渡される)により、指定されたバッファエリア7
が指定されたパケットサイズで分割されてパケットP1
〜PNが作成され、作成されたパケットP1〜PHの番
地が空きパケット管理テーブル2内の空きパケット番地
テーブル22に設定される。例えば、100000バイ
トのバッファエリア7および1000バイトのパケット
サイズが指定された場合には100個のパケットP1〜
PNが作成される(N=100になる)(ステップ60
1 )。
ステップ601の処理が終了すると、バッファエリア再
編成手段6から利用者プログラム1に制御が戻される。
次に、ファイルオーブン時のデータアクセス手段5およ
びバッファエリア再編成手段6における動作について説
明する。
利用者プログラム1からファイルオープン要求が渡され
たデータアクセス手段5では、ファイルオープン要求に
係るファイル群8中のファイルに対応するファイル別割
当てパケット管理テーブル3内のバッファ当たりパケッ
ト数格納域31および最小バッファ数格納域34にバッ
ファ当たりパケット数および最小バッファ数(あらかじ
め指定されている)が設定され、最小バッファ数分のパ
ケット(最小バッファ数だけのバッファを構成するパケ
ット)を割り当てる(確保する)旨の要求がバッファエ
リア再編成手段6に対して行われる(ステップ501゜
第5図および第6図における■参照)。
データアクセス手段5からの要求を受は取ったバッファ
エリア再編成手段6では、ファイル群8中の各ファイル
(ファイルオープン要求に係るファイルが新たに加わっ
ている)において最小バッファ数分のバッファを満たす
のに必要なバケ、7ト数がファイル別割当てパケット管
理テーブル3の参照に基づいて「最小バッファ数×バッ
ファ当たりのパケット数」により計算され(ステップ6
02)、それらの合計(全てのファイルにおいて最小バ
ッファ数分のバッファを満たすのに必要なパケット数)
が全パケット数(N)より大きいか否かが判定される(
上記合計が全パケット数以内であるか否かが確認される
)(ステップ603)。
この判定で必要なパケット数の合計が全パケット数より
大きい場合には、最小バッファ数やバッファエリア7の
指定の誤りであると判断されて本実施例の入出カバソフ
ァエリアの管理方式の処理は中断される。
ステップ603の判定で必要なパケット数の合計が全パ
ケット数より大きくない場合には、ファイルオープン要
求に係るファイルに対して最小バッファ数分のパケット
を確保するために、空きパケット管理テーブル2内の空
きパケット番地テーブル22中の番地に存在する空きパ
ケットが取り出されてその空きパケットがファイルオー
プン要求に係るファイルのファイル対応バッファ領域を
形成するバッファを構成するパケットとして割り当てら
れる。この処理は、ファイルオープン要求に係るファイ
ルに対してその最小バッファ数分のパケットが確保され
るか、空きパケット管理テーブル2で管理されている空
きバケットがなくなるまで実行される(ステップ604
)。
ステップ604における処理の実行が終了した時点で最
小バッファ数分のバケットがファイルオープン要求に係
るファイルのファイル対応バッファ領域に確保されたか
否かが判定される(ステップ605)。
この判定で最小バッファ数分のバケットが確保されてい
ない場合には、最小バッファ数以上のバッファが一7j
イル対応バッファ領域に割り当てられているファイルが
探され、そのファイルのファイル対応バッファ領域から
最小バッファ数を越えるバッファ (余分のバッファ)
が削減され、削減された余分のバッファを構成するバケ
ットが取り出され、それらのバケットがファイルオープ
ン要求に係るファイルに割り当てられる。この処理はフ
ァイルオープン要求に係るファイルに最小バッファ数分
のバケットが割り当てられるまで実行される(ファイル
オープン要求に係るファイルに最小バッファ数分のバケ
ットが割り当てられた時点で取り出されたバケット (
削減された余分のバ・ノファを構成していたバケット)
が余った場合には、その余ったバケットの番地は空きバ
ケ・ノド管理テーブル2の空きバケット番地テーブル2
2に戻される) (ステップ606)。
ステップ605の判定で最小バッファ数分のバケ・7ト
がファイルオープン要求に係るファイルに確保されてい
る場合またはステップ606の処理が終了した場合には
、ファイルオープン要求に係るファイルへのバケットの
割当てを契機とするパフファエリア7の再編成処理が次
のように行われる。
まず、ファイル別割当てバケット管理テーブル3内のバ
ッファ当たりバケット数格納域31に格納されているバ
ッファ当たりパケット数とファイル別処理ブロック数テ
ーブル4内の処理ブロック数テーブル42に格納されて
いるファイル群8中の各ファイルの処理ブロック数とが
乗じられて各ファイルのデータ処理量(処理ブロックを
格納するために使用されたパケット数)Di(Oまたは
正整数)が計算され、さらにファイル群8中の全てのフ
ァイルについてのデータ処理量Diの合計であるデータ
処理量合計DM (Oまたは正整数)が計算される (
ステップ607)。
この計算結果のデータ処理量合計DMと全パケット数(
N)とに基づいて各ファイル毎に以下に示す計算式によ
ってバッファエリア再編成後の新たな割当てパケ・ノド
数の第1計算値Piが計算される(ステップ608前段
)。
2DM−40+ この計算式はデータ処理量がDiのファイルおよびデー
タ処理量が(DM−Di)のファイルの両者に対するデ
ータ入出力回数を最小にするための前者のファイルのフ
ァイル対応バッファ領域を構成するバケットの数を求め
るための計算式であり、3個以上のファイルが取り扱わ
れる場合には上述の計算式が各ファイルのファイル対応
バッファ領域を構成するバケットの数を求めるための近
似式として使用される。つまり、ファイル群8中の各フ
ァイルについての割当てパケット数の第1計算値Pi(
上述の計算式においてPiは正負両方の値を採る可能性
があるが負の値は採用されない。また、Pi>Nとなっ
たときにはPi=Nとされる。さらに、DM=D i 
=0のときには後述するBj=0とされてステップ60
9以下の処理が行われる)の合計PAが全パケット数(
N)の範囲内に入るように、第1計算値Piが以下に示
す計算式によって修正されて第2計算値Pjが求められ
る (ステップ608後段)。
P j−(P i/PA)XN 次に、この割当てパケット数の第2計算値Pjとファイ
ル群8中の各ファイルに係るファイル別割当てパケット
管理テーブル3内のバッファ当たりパケット数格納域3
1中のバッファ当たりパケット数とに基づいて、ファイ
ル毎の割当てバッファ数の計算値Bj(0または正整数
。次式で非整数(0を除く)になれば四捨五入等で整数
化される)が次式により求められる(ステップ609)
Bj=Pj/(バッファ当たりパケット数)さらに、フ
ァイル毎に各ファイルに係るファイル別割当てパケット
管理テーブル3内の現在バッファ数格納域33中の現在
バッファ数と上述のようにして求められた割当てバッフ
ァ数の計算値Bjおよび最小バッファ数格納域34中の
最小バッファ数とが比較され、割当てバッファ数の計算
値Bjおよび最小バッファ数のどちらよりも現在バッフ
ァ数が大きい場合には割当てバッファ数の計算値Bjお
よび最小バッファ数の大きい方に一致するまで各ファイ
ルに対応するバッファが削減されてそのバッファを構成
していたパケットが取り出され、それらのパケットの番
地が空きパケット管理テーブル2内の空きバケット番地
テーブル22に戻される(ステップ610゜バッファの
削減の処理については既述の第6図に関する説明を参照
)。
また、各ファイルの現在バッファ数とステップ609で
計算された割当てバッファ数の計算値Bjとが比較され
、現在バッファ数の方が小さいファイルが存在する場合
には割当てバッファ数の計算値Bjと現在バッファ数と
の差の大きいファイルから順にそのファイルに対応する
バッファが増加される。すなわち、空きパケット管理テ
ーブル2内の空きパケット番地テーブル22に番地が格
納されている空きパケットが取り出されてそのファイル
のファイル対応バッファ領域のバッファを構成するパケ
ットとして割り当てられていく (そのファイルに係る
ファイル別割当てパケット管理テーブル3内のバケット
番地テーブル35に増加されるバッファを構成するパケ
ットの番地が設定される)。これらの処理の後に空きパ
ケットが残っている場合には、残っている空きパケット
で1個のバッファが構成できるファイルにそれらのパケ
ットが割り当てられて残っている空きパケットができる
だけ少なくなるように処理される(ステップ611前段
)。
さらに、ファイル別処理ブロック数テーブル4が初期化
され(ステップ611後段)、データアクセス手段5に
制御が戻される(第5図および第6図における■参照)
バッファエリア再編成手段6からのリターン後のデータ
アクセス手段5では、通常の(従来の技術による)ファ
イルオープン処理が実行され(ステップ502 ) 、
この処理の終了後に利用者プログラム1に制御が戻され
る。
次に、データ入出力時のデータアクセス手段5およびバ
ッファエリア再編成手段6における動作について説明す
る。
利用者プログラム1からデータ入出力要求が渡されたデ
ータアクセス手段5では、データ入出力要求に係る要求
レコードが現在処理中バッファ (現時点で利用者プロ
グラム1による処理の対象であるブロックが格納されて
いるバッファ)に存在しているか否かが判定される(ス
テップ503)。
この判定で要求レコードが現在処理中バッファに存在し
ている場合には、要求レコードが利用者プログラムlと
現在処理中バッファとの間で受は渡され(ステップ51
0 ) 、利用者プログラム1に制御が戻される。
ステップ503の判定で要求レコードが現在処理中バッ
ファに存在していない場合には、ファイル別処理ブロッ
ク数テーブル4内の処理ブロック数テーブル42中の当
該ファイルの処理ブロック数と処理ブロック数合計格納
域41中の処理ブロック数合計とに1が加算され(現在
処理中バッファ内のブロックが処理ブロックとして計上
される) (ステップ504 ) 、ファイル群8中°
の全てのファイルの処理ブロック数の合計である処理ブ
ロック数合計が一定数(この一定数の値はデータアクセ
ス手段5により任意に決定されることもあり、利用者プ
ログラム1により決定されることもある)に達している
か否かが判定される(ステップ505)。
この判定で処理ブロック数合計が一定数に達している場
合には、バッファエリア再編成手段6に対してバッファ
エリア7の再編成処理が要求される(ステップ506゜
第5図および第6図における■参照)。
バッファエリア7の再編成処理が要求されたバッファエ
リア再編成手段6では、ファイルオープン時の動作です
でに述べているステップ607〜611の処理(バッフ
ァエリア7の再編成処理)が行われ(このバッファエリ
ア7の再編成処理で対象となるファイルはすでにファイ
ルオープンされているファイル群8中の各ファイルであ
る)、データアクセス手段5に制御が戻される(第5図
および第6図における■参照)。
ステップ505の判定で処理ブロック数合計が一定数に
達していない場合またはバッファエリア再編成手段6に
おけるバッファエリア7の再編成処理(ステップ506
の処理)が終了した場合には、現在処理中バッファの次
のバッファ (次のバッファ番号を有するバッファ)が
バッファエリア7に存在するか否かが判定される(本実
施例ではファイル内のレコードが順アクセスされること
を前提としているので、この判定により要求レコードを
含むブロックがバッファエリア7内の当該ファイルのフ
ァイル対応バッファ領域中の現在処理中バッファ以外の
バッファに存在するか否か(存在すれば当該ファイルに
対するデータ入出力をまだ行う必要がない)を判定する
ことができる)(ステップ507)。
この判定で次のバッファがバッファエリア7に存在する
場合には、次のバッファ (このバッファ内に要求レコ
ードを含む次のブロックが格納されている)が現在処理
中バッファとして位置付けられる (ステップ508)
ステップ507の判定で次のバ9.ファがバッファエリ
ア7に存在しない場合には、当該ファイルが入力ファイ
ルならば当該ファイルのファイル対応バッファ領域に割
り当てられているバ・ノファ数(ファイル別割当てパケ
ット管理テーブル3内の現在バッファ数格納域33が参
照されて求められる現在バッファ数)分のブロックが当
該ファイルから入力されて(現在バッファ数分のバッフ
ァを構成するパケットのデータ入力が行われる)ファイ
ル対応バッファ領域の最初のバッファが現在処理中バッ
ファとして位置付けられ、当該ファイルが出力ファイル
ならば当該ファイルの現在バッファ数分のブロックが当
該ファイルに出力されて(現在バッファ数分のバッファ
を構成するパケットのデータ出力が行われる)ファイル
対応バッファ領域の最初のバッファが現在処理中バッフ
ァとして位置付けられる(データ入出力はファイル対応
ノトノファ領域中のデータ(現在バッファ数分のバッフ
ァを構成するパケット中のデータ)を単位として行われ
る) (ステップ509)。
さらに、要求レコードが利用者プログラム1と現在処理
中バッファとの間で受は渡され(ステ・ノブ510 )
 、利用者プログラムlに制御が戻される。
次に、ファイルクローズ時のデータアクセス手段5およ
びバッファエリア再編成手段6における動作について説
明する。
利用者プログラム1からファイルクローズ要求が渡され
たデータアクセス手段5では、通常のファイルクローズ
処理が行われ(ステップ511)、ファイルクローズ処
理が行われたファイルのファイル対応バッファ領域に割
り当てられていたバッファを構成していたパケットが取
り出され、それらのパケットの番地が空きパケット管理
テーブル2内の空きパケット番地テーブル22に設定さ
れ、ファイル別処理ブロック数テーブル4内の処理ブロ
ック数テーブル42中の当該ファイルの処理ブロック数
が削除されて(処理ブロック数合計格納域41中の処理
ブロック数合計も減少される)バッファエリア再編成手
段6に対してバッファエリア7の再編成処理が要求され
る(ステップ512゜第5図および第6図における■参
照)。
バッファエリア7の再編成処理が要求されたバッファエ
リア再編成手段6では、ファイルクローズされたファイ
ルのために使用されていたパケットを他のファイルのた
めに使用させてバッファエリア7をより有効に利用する
ためにファイルオーブン時の動作ですでに述べているス
テップ607〜611の処理(バッファエリア7の再編
成処理)が行われ、データアクセス手段5に制御が戻さ
れ(第5図および第6図における■参照)、さらにデー
タアクセス手段5から利用者プログラム1に制御が戻さ
れる。
次に、本実施例の入出力バッファエリアの管理方式の動
作を第7図ta+および(blを参照してさらに具体的
に説明する。
上述したように本実施例を一例とする本発明では、各フ
ァイル(本実施例ではファイル群8中の各ファイル)の
バッファ数を動的に変更することにより、利用者プログ
ラム(本実施例では利用者プログラム1)の処理におけ
る全てのファイルに対するデータ入出力回数を最小限に
近いレベルに抑えることが可能になる。
例えば、ファイル群8中に3個のファイルΔ。
BおよびCが存在し、それぞれ100個、500個およ
び3000個のブロックが利用者プログラム1により処
理される場合を想定する(暦車のために各ファイルのブ
ロックサイズは全て同一で、パケットサイズはブロック
サイズに等しく、バッファエリア7には20個のバッフ
ァを確保できるものとする)。
この場合に固定バッファ方式(従来の人出カバソファエ
リアの管理方式)で処理ブロック数に比例させてバッフ
ァを確保すると、ファイルAのファイル対応バッファ領
域には1個のバッファが確保され、ファイルBのファイ
ル対応バッファ領域には3個のバッファが確保され、フ
ァイルCのファイル対応ハソファ領域には16個のバッ
ファが確保される。これによって、ファイルAとそのフ
ァイル対応バッファ領域との間のデータ入出力回数は1
00回となり、ファイルBとそのファイル対応バッファ
領域との間のデータ入出力回数は167回となり、ファ
イルCとそのファイル対応バッファ領域との間のデータ
入出力回数は188回となる。
したがって、3つのファイルA−Cとバッファエリア7
との間のデータ入出力回数の合計は455回となる(第
7図(a)参照)。
これに対して、ファイルAの最小バッファ数が1個と指
定され、ファイルBの最小バッファ数が2個と指定され
、ファイルCの最小バッファ数が10個と指定され、第
5図のステップ505の判定に用いられる一定数が36
0に設定されて本実施例の入出カバソファエリアの管理
方式が適用されると、データ入出力回数は第7図(bl
に示すように減少する。すなわち、ファイルオープン時
には最適な割当てバッファ数を推定するためのデータが
存在しないために偏ったバッファ数が割り当てられる(
ファイルAよりファイルオープンされるので、まス20
個のバッファがファイルAのファイル対応バッファ領域
に割り当てられ、ファイルBおよびCのファイル対応バ
ッファ領域にはファイルAに対応するバッファが削減さ
れて最小バッファ数分の2個および10個が割り当てら
れる)が、ある程度のデータ処理量に関するデータが得
られた後にはデータ入出力回数が少なくな不ように3つ
のファイルA−Cのファイル対応バッファ領域への割当
てバッファ数(現在バッファ数)の最適化が行われるた
めに3つのファイルA〜Cとバッファエリア7との間の
データ入出力回数は402回となる。
〔発明の効果〕
以上説明したように本発明は、利用者プログラムの実行
中に使用されるファイルの処理ブロック数(利用者プロ
グラムとファイルとの間のデータ入出力の頻度)に応じ
て動的に各ファイル対応バッファ領域中のバッファ数を
増減してバッファエリアの再編成処理を行うことにより
、データ入出力回数に応じたバッファ数のファイル対応
バッファ領域を介してデータ入出力を実行でき、利用者
プログラムと各ファイルとのデータ入出力回数の合計を
最小限に近いレベルに抑えることが可能になり、利用者
プログラム全体のデータ入出力時間および処理実行時間
の削減を達成することができるという効果がある(特に
、利用者プログラムの処理の流れに応じて特定のファイ
ルに対するデータ入出力の頻度が変動する場合には、デ
ータ入出力の頻度の変動に基づくファイル対応バッファ
領域中のバッファ数の動的な(利用者プログラムの処理
中における)調整により、利用者プログラムのデータ入
出力時間の大きな削減が可能になる)。
また、利用者プログラム側では利用者プログラム全体で
使用されるバッファエリアのサイズ、パケットサイズお
よび各ファイル対応バッファ領域の最小バッファ数等の
指定を行うだけでバッファエリアの適正な管理を行える
ことにより、利用者プログラムの処理を詳細に分析して
各ファイル対応バッファ領域中の最適なバッファ数を算
定する作業等から利用者が解放されるという効果がある
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示すプロ・ツク図、 第2図は第1図中の空きパケット管理テーブルの構成を
示す図、 第3図は第1図中のファイル別割当てパケ・ノド管理テ
ーブルの構成を示す図、 第4図は第1図中のファイル別処理ブロック数テーブル
の構成を示す図、 第5図は第1図中のデータアクセス手段の処理を示す流
れ図、 第6Mは第1図中のバッファエリア再編成手段の処理を
示す流れ図、 第7図(alは従来の入出カバソファエリアの管理方式
によりデータ入出力が行われる場合のデータ入出力回数
の計算例を示す図、 第7図(blは第1図に示す入出カバソファエリアの管
理方式によりデータ入出力が行われる場合のデータ入出
力回数の計算例を示す図である。 図において、 1・・・利用者プログラム、 2・・・空きパケット管理テーブル、 3・・・ファイル別割当てパケット管理テーブル、 4・・・ファイル別処理ブロック数テーブル、5・・・
データアクセス手段、 6・・・バッファエリア再編成手段、 7・・・バッファエリア、 8・・・ファイル群、 21・・・空きバケット数格納域、 22・・・空きパケット番地テーブル、31・・・バッ
ファ当たりバケット数格納域、32・・・現在処理中バ
ッファ番号格納域、33・・・現在バッファ数格納域、 34・・・最小バッファ数格納域、 35・・・パケット番地テーブル、 41・・・処理ブロック数合計格納域、42・・・処理
ブロック数テーブルである。

Claims (1)

  1. 【特許請求の範囲】 補助記憶装置上のファイルに対するデータ入出力要求を
    行う利用者プログラムからのファイルオープン要求に応
    じてファイルオープン要求に係るファイルのファイル対
    応バッファ領域を構成するパケットの確保および複数の
    ファイルに係るデータ入出力で共通に使用されるバッフ
    ァエリアの再編成処理を要求してバッファエリア再編成
    手段に制御を渡し、前記利用者プログラムからのデータ
    入出力要求に応じてデータ入出力を実行し各ファイルの
    処理ブロック数を計数し全てのファイルについての処理
    ブロック数の合計が一定数に達した時点で前記バッファ
    エリアの再編成処理を要求して前記バッファエリア再編
    成手段に制御を渡し、前記利用者プログラムからのファ
    イルクローズ要求に応じて前記バッファエリアの再編成
    処理を要求してバッファエリア再編成手段に制御を渡す
    データアクセス手段と、 前記利用者プログラムで使用される全てのファイルのフ
    ァイルオープン前に前記利用者プログラムにより指定さ
    れたパケットサイズに基づき前記バッファエリアを分割
    してパケットを作成し、前記データアクセス手段からの
    要求に応じて前記利用者プログラムからのファイルオー
    プン要求に係るファイルのファイル対応バッファ領域を
    構成するパケットを確保し、前記データアクセス手段に
    より計数されている各ファイルの処理ブロック数と各フ
    ァイルのファイル対応バッファ領域中のバッファを構成
    するパケットの数とから計算される各ファイルのデータ
    処理量により示される前記利用者プログラムからのデー
    タ入出力要求に応じて実行されているデータ入出力の状
    況に則った各ファイルのファイル対応バッファ領域への
    最適な割当てバッファ数に基づき前記バッファエリアの
    再編成処理をパケットを利用して動的に行う前記バッフ
    ァエリア再編成手段と、 を有することを特徴とする入出力バッファエリアの管理
    方式。
JP63037197A 1988-02-19 1988-02-19 入出力バッファの管理装置 Expired - Lifetime JP2734515B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63037197A JP2734515B2 (ja) 1988-02-19 1988-02-19 入出力バッファの管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63037197A JP2734515B2 (ja) 1988-02-19 1988-02-19 入出力バッファの管理装置

Publications (2)

Publication Number Publication Date
JPH01211143A true JPH01211143A (ja) 1989-08-24
JP2734515B2 JP2734515B2 (ja) 1998-03-30

Family

ID=12490849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63037197A Expired - Lifetime JP2734515B2 (ja) 1988-02-19 1988-02-19 入出力バッファの管理装置

Country Status (1)

Country Link
JP (1) JP2734515B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03296841A (ja) * 1990-04-16 1991-12-27 Nec Corp キャッシュ制御方式
US5243113A (en) * 1991-08-16 1993-09-07 Kawasaki Steel Corporation Process for preparing 2-methylnaphthalene
JPH06318176A (ja) * 1990-10-15 1994-11-15 Internatl Business Mach Corp <Ibm> キャッシュ記憶機構を動的に区分する方法およびキャッシュ記憶機構システム
JP2011253282A (ja) * 2010-06-01 2011-12-15 Buffalo Inc ファイル管理装置およびファイル管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61101851A (ja) * 1984-10-24 1986-05-20 Nec Corp バツフア記憶域の動的資源管理方式
JPS62135929A (ja) * 1985-12-09 1987-06-18 Nec Corp フアイル入出力方式
JPS62257520A (ja) * 1986-04-30 1987-11-10 Nec Corp バツフア領域管理方式

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61101851A (ja) * 1984-10-24 1986-05-20 Nec Corp バツフア記憶域の動的資源管理方式
JPS62135929A (ja) * 1985-12-09 1987-06-18 Nec Corp フアイル入出力方式
JPS62257520A (ja) * 1986-04-30 1987-11-10 Nec Corp バツフア領域管理方式

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03296841A (ja) * 1990-04-16 1991-12-27 Nec Corp キャッシュ制御方式
JPH06318176A (ja) * 1990-10-15 1994-11-15 Internatl Business Mach Corp <Ibm> キャッシュ記憶機構を動的に区分する方法およびキャッシュ記憶機構システム
US5243113A (en) * 1991-08-16 1993-09-07 Kawasaki Steel Corporation Process for preparing 2-methylnaphthalene
JP2011253282A (ja) * 2010-06-01 2011-12-15 Buffalo Inc ファイル管理装置およびファイル管理方法

Also Published As

Publication number Publication date
JP2734515B2 (ja) 1998-03-30

Similar Documents

Publication Publication Date Title
US7454420B2 (en) Data sorting method and system
CN103995855B (zh) 存储数据的方法和装置
CN103577454B (zh) 一种文件合并方法和装置
US11449479B2 (en) Data migration methods and system
CN111984425B (zh) 用于操作系统的内存管理方法、装置及设备
CN111858067B (zh) 一种数据处理方法及装置
CN107967175A (zh) 一种基于多目标优化的资源调度系统及方法
Bender et al. Cost-oblivious storage reallocation
JPH06259478A (ja) 分散データベースのデータ再配置方式
CN109840247B (zh) 文件系统及数据布局方法
US20040117408A1 (en) Systems, methods and articles of manufacture for determining available space in a database
JPH01211143A (ja) 入出力バッファの管理装置
CN106201839A (zh) 一种业务对象的信息加载方法和装置
CN110633053B (zh) 存储容量均衡方法、对象存储方法及装置
CN109788013A (zh) 分布式系统中作业资源分配方法、装置及设备
CN105939218A (zh) 网络流量的统计方法及装置
CN106708437A (zh) VMware虚拟化存储分配方法及系统
JPH01173236A (ja) ファイル格納媒体選択方式
Garg et al. Real-time memory efficient data redundancy removal algorithm
CN108848166A (zh) 一种容器的负载均衡调度方法及装置
CN107506445A (zh) 云数据系统中数据查询的响应方法和装置
US9747226B2 (en) Packet processing system, method and device to optimize packet buffer space
CN109491612A (zh) 一种固态硬盘的逻辑分区方法及装置
Arregi et al. Evaluation of the optimal strategy for managing the register file
CN109818992A (zh) 视频云平台api访问频次控制方法