JPH1069429A - バッファ割当て管理装置およびバッファ割当て管理プログラム - Google Patents

バッファ割当て管理装置およびバッファ割当て管理プログラム

Info

Publication number
JPH1069429A
JPH1069429A JP9089497A JP8949797A JPH1069429A JP H1069429 A JPH1069429 A JP H1069429A JP 9089497 A JP9089497 A JP 9089497A JP 8949797 A JP8949797 A JP 8949797A JP H1069429 A JPH1069429 A JP H1069429A
Authority
JP
Japan
Prior art keywords
buffer
size
area
pattern
management
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.)
Withdrawn
Application number
JP9089497A
Other languages
English (en)
Inventor
Kota Tanabe
恒太 田辺
Tomoaki Furukawa
智章 古川
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
PFU Ltd
Original Assignee
Fujitsu Ltd
PFU 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, PFU Ltd filed Critical Fujitsu Ltd
Priority to JP9089497A priority Critical patent/JPH1069429A/ja
Publication of JPH1069429A publication Critical patent/JPH1069429A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】メモリ上のバッファメモリ領域を割り当てるバ
ッファ割当て管理装置に関し、バッファ領域を効率よく
使用し、バッファ割当ての時間を短縮する。 【解決手段】メモリ上に所定の容量を有するバッファメ
モリ領域と、その内からアプリケーション・プログラム
の要求に応じたサイズのバッファを割り当て管理する可
変長領域管理部とを有するバッファ割当て管理装置であ
って、バッファメモリ領域内の指定された部分を固定長
領域として管理する固定長領域管理部と、あらかじめ定
められた、バッファのサイズのパターンを保持するサイ
ズパターン保持部と、可変長領域管理部がアプリケーシ
ョン・プログラムの要求に応じて割り当てた領域のサイ
ズのパターンを、サイズパターン保持部のパターンと比
較し、一致すると判定したとき、割り当てたバッファメ
モリ領域を固定長領域管理部に渡すサイズパターン判定
部とを有するように構成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はメモリ上のバッファ
メモリ領域をアプリケーション・プログラムの要求に応
じて割り当てるバッファ割当て管理装置、およびバッフ
ァ割当て管理プログラムを記録したコンピュータ読み取
り可能な記録媒体に関する。
【0002】
【従来の技術】従来のバッファ割当て管理方式では、バ
ッファメモリ領域を管理するバッファ割当て管理プログ
ラムに対して、バッファを必要とするアプリケーション
・プログラムがバッファ獲得要求をし、バッファ割当て
管理プログラムが要求されたサイズのバッファを与える
ような構成が一般的である。バッファ領域を管理する方
式として、連続したメモリ領域を分割して固定長の領
域を複数とり、その各領域をバッファとし、各バッファ
(固定長領域)に対応して使用/未使用のフラグをつけ
てバッファの管理を行う方式(固定長管理方式:図4
(1))と、バッファ領域として用意されたメモリ領
域から、要求があると要求分だけ切り出して与える方式
(可変長管理方式:図4(2))とがある。
【0003】しかし、固定長管理方式では、マルチタス
クでプログラムが動作する場合、バッファのサイズは、
最も大きいバッファサイズを要求するアプリケーション
・プログラムに合わせざるを得ない。そのため、大抵の
アプリケーション・プログラムの場合には小さいサイズ
しか使わないにもかかわらず、バッファの大きさは最大
のサイズにしなければならず、バッファメモリ領域の大
きさも大きくとることになる。従って、使えるメモリの
領域が圧迫されることになる。
【0004】また、可変長管理方式の場合、図5に示す
ように先頭ポインタVによりバッファメモリ領域の先頭
アドレスが示され、そこから切り出したバッファ領域の
先頭位置に使用中の表示フラグFと次の領域の先頭アド
レスを示す次ポインタと(および領域の長さ)を記録す
ることにより連鎖的にバッファを示す。従って、可変長
管理方式ではバッファ領域を無駄にする問題は無いが、
一度獲得した領域を長い時間保持し続けるようなアプリ
ケーション・プログラムに多数のバッファを割当てた後
に、別のアプリケーション・プログラムがバッファを要
求してきた場合、空きバッファは一度割当てられた領域
の次に位置することになるので、空きバッファ領域を探
すのには連鎖をたどる必要があり時間がかかる。
【0005】以上のようなことは、例えば、アプリケー
ション・プログラムとして通信制御プログラムがマルチ
タスク環境で動作する場合によく現れる問題である。
【0006】
【発明が解決しようとする課題】本発明は、可変長管理
方式を基本とし、要求されるバッファのサイズのパター
ンを判断することにより部分的に固定長管理方式とする
バッファ管理により、バッファ領域を効率よく使用する
こととバッファ割当ての時間を短縮することとを両立さ
せることを目的としている。
【0007】
【課題を解決するための手段】メモリ上に所定の容量を
有するバッファメモリ領域と、その内からアプリケーシ
ョン・プログラムの要求に応じたサイズのバッファを割
り当て管理する可変長領域管理部とを有するバッファ割
当て管理装置において、バッファメモリ領域内の指定さ
れた部分を固定長領域として管理する固定長領域管理部
と、あらかじめ設定された、バッファのサイズのパター
ンを保持するサイズパターン保持部と、可変長領域管理
部がアプリケーション・プログラムの要求に応じて割り
当てた領域のサイズのパターンを、サイズパターン保持
部のパターンと比較し、一致すると判定したとき、割り
当てたバッファメモリ領域を可変長領域管理の対象から
はずし固定長領域管理部に渡すサイズパターン判定部と
を設ける。
【0008】このように構成することにより、個々に要
求してくるバッファ要求に対しては可変長管理方式によ
り無駄なくバッファメモリ領域を使い、固定的なサイズ
のパターンで多くのバッファを取るものに対しては、設
定されているサイズパターンであると判断したとき、可
変長管理から外して固定長管理に移すことにより、始め
から全体のバッファサイズを決めておくよりも、やはり
領域を無駄なく使用できる。また、同じパターンで多く
のバッファをとった領域は可変長管理の範囲からはずさ
れるので、その後に個別のバッファをとる場合に可変長
バッファの連鎖をたどる長さが短くなり、空き領域を速
く見つけることができるので速く割り当てることができ
る。
【0009】請求項2の発明は、さらに、サイズパター
ン保持部は、可変長領域管理部がバッファを割り当てる
ごとに割り当てたバッファサイズを記憶し、サイズパタ
ーン判定部は記憶されたバッファサイズのパターンが繰
り返し現れるときサイズパターンとして認定し、サイズ
パターンに合った割当て済のバッファ領域を固定長領域
管理部に渡す。
【0010】このようにすることにより、アプリケーシ
ョン・プログラムは、サイズパターンを始めに設定しな
くてもよい利点がある。請求項3の発明は、コンピュー
タのプログラムにより実現することを明確にしたもので
ある。
【0011】すなわち、コンピュータによって、メモリ
上の所定容量を有するバッファメモリ領域のバッファ割
り当てを管理させるためのバッファ割当て管理プログラ
ムを記録した記録媒体であって、あらかじめ定められ
た、バッファサイズのパターンを保持させ、アプリケー
ション・プログラムの要求に応じたサイズのバッファを
バッファメモリ領域から割り当てて可変長領域として管
理させ、アプリケーション・プログラムの要求に応じて
割り当てられた領域のサイズのパターンと、前記の保持
されているバッファサイズのパターンとを比較させ、比
較の結果一致と判定されるとき、割り当てられたバッフ
ァ領域を固定長領域として管理させることを特徴とする
バッファ割り当て管理プログラムを記録したコンピュー
タ読み取り可能な記録媒体である。
【0012】
【発明の実施の形態】図1は、実施例の構成図であり、
コンピュータにおいて個々のアプリケーションプログラ
ムが要求するバッファをメモリ上の領域に割り付けるバ
ッファ割付管理装置、すなわちバッファ割付管理プログ
ラムの構成および動作を説明する図である。
【0013】アプリケーション・プログラム1〜nは、
バッファ割付管理プログラムに対して、バッファが必要
になるとバッファ獲得要求を出す。それらの要求は可変
長領域管理部2が受け、従来の可変長管理方式によりバ
ッファメモリ領域1に割りつけ管理する。サイズパター
ン保持部4はバッファのサイズの組(サイズパターン)
を保持する。この内容は別途設定できる。図1では2つ
のサイズでサイズパターンを構成する例を示している
が、幾つのサイズがあってもよい。可変長領域管理部2
がバッファを割りつけるごとにサイズパターン判定部5
はそのサイズを記憶し、かつ、サイズパターン保持部4
のサイズパターンと比較する。なお、記憶するサイズの
数はサイズパターン保持部の保持サイズ数と合わせ、最
新のものを残すように更新すればよい。一致を検出した
ときは固定長領域管理部3を起動する。
【0014】以下、図2の実施例の動作説明フローチャ
ート、図3の実施例の動作説明図も参照して本発明の実
施例をアプリケーション・プログラムの一つ、通信制御
プログラムに対してバッファを割りつける場合を説明す
る。
【0015】通信制御プログラムにおいて、複数の固定
長のバッファを獲得する必要があるのは、通常、回線に
入出力する為のデータを格納するためのものであること
が多い。回線により一度に送信できるデータ長の最大値
が制限されるため、制御/管理データと送受信データと
を組にした複数のバッファになる。例えば、バッファメ
モリ領域全体の大きさは数MB程度であり、1つの通信
制御プログラムは数KB程度のバッファを数百個程度と
る。
【0016】この領域は、一般的に、自身が起動された
時に獲得し、終了の時に解放する。可変長管理方式で
は、この間に他のアプリケーション・プログラム(通信
制御プログラムの場合もある)が一時的な領域(何か事
象が発生した時にその都度獲得するような領域)を獲得
したい場合、空き領域は必然的に以前の通信制御プログ
ラムが獲得した領域の次の領域になってしまう。そのた
め、前述したようにバッファを獲得するまでの時間がか
かるという問題があった。
【0017】本実施例で通信アプリケーションがバッフ
ァ獲得要求を行う場合、以下のような手順となる。 1)通信アプリケーションは、バッファ割付管理プログ
ラム(そのサイズパターン保持部4)に対して、サイズ
パターンを設定する(S1,S2) 。ここでは、例えば、(P1
=2KB、P2=4KB)のパターンであるとする。
【0018】2)アプリケーションプログラムは、次々
に必要なバッファのサイズを指定してバッファを要求す
る。 3)バッファ割付管理プログラムの可変長領域管理部2
は要求を受けたサイズだけメモリをバッファとして割り
つける(S3,S4) 。なお、可変長領域管理部2は、割りつ
けたサイズをサイズパターン判定部5に渡す。
【0019】4)サイズパターン判定部5は、可変長領
域管理部2が割りつけたバッファのサイズを一時記憶し
ておき、サイズパターン保持部4のサイズパターンと比
較する(S5,S6) 。
【0020】5)サイズパターン判定部5が、一致して
いないと判定したときは、従来の可変長管理方式と同じ
である。図1および図3では単発的にバッファを要求す
るアプリケーション・プログラムが2つのバッファ(バ
ッファ1、バッファ2)を獲得した状態を示す。
【0021】この例の通信アプリケーションは、2KB
と4KBのバッファを組にして多数のバッファを連続し
て要求する。従って、可変長領域管理部2が2KBと4
KBのバッファ(バッファP11 バッファP12 )を割りつ
けた段階で、サイズパターン判定部5は一致していると
判定する(S7)。
【0022】一致していると判定した場合は、その分の
バッファを固定長領域管理部3に渡す(S8)。具体的に
は、図3において、固定長領域管理部3の先頭ポインタ
Fに、そのバッファ(この例ではバッファP11 )の先頭
アドレスを設定し、直前の可変長バッファ(この例では
バッファ2)の次ポインタの内容()を空き領域の先
頭アドレス(この例ではバッファP12 の直後のアドレス
())を示すように書き直す。すなわち、この例で
は、直前に割りつけた2KBと4KBの2つのバッファ
は固定長管理に変更され、その直前のバッファの次ポイ
ンタはこれらのバッファ領域をとばして次の領域のアド
レスを指す。
【0023】なお、サイズパターンに一致しないバッフ
ァを1つも割りつけていない場合は固定長領域管理部3
の先頭ポインタFの内容をバッファメモリ領域の先頭ア
ドレスを示すように書き直す。可変長管理部の先頭ポイ
ンタVは固定長管理に変更されなかった領域(空き領
域)の先頭アドレスに書き直す。通常はこの場合が多
い。
【0024】バッファ領域を移管された固定長領域管理
部3は、それまでに設定されていなければ先頭ポインタ
を設定し(S9,S10)、フラグを設定する(S11) 。 6)以下、同様にして可変長領域管理部2は要求を受け
たサイズだけバッファメモリを割りつける。そして、サ
イズパターン判定部が一致していると判定した場合は、
その分のバッファを固定長領域管理部3に渡す。図3に
おいて、固定長管理に移管された領域の直前のバッファ
の次ポインタの内容()をさらに空き領域の先頭アド
レス()を示すように変更する。
【0025】このようにして、通信アプリケーションが
必要なバッファを取り終わると、可変長領域管理部2は
通信アプリケーションが使うバッファ領域には関与しな
いことになる。従って、この後、バッファを要求してき
た他のアプリケーション・プログラムに対しては、すぐ
に空き領域にバッファを割りつけることができる。
【0026】
【発明の効果】以上説明したように、本発明によれば、
プログラムの起動直後等にバッファ領域に多くのバッフ
ァを獲得し、終了直前までそれを保持するようなプログ
ラムと、リアルタイムにまちまちな大きさの領域を獲得
するようなプログラムが同時に存在する場合に、バッフ
ァメモリ領域の占有量を削減し、バッファ獲得の時間を
速くすることができ、全体としての実行速度が向上する
という効果が期待できる。
【図面の簡単な説明】
【図1】 実施例の構成図
【図2】 実施例の動作説明フローチャート
【図3】 実施例の動作説明図
【図4】 従来のバッファ割当て管理説明図
【図5】 可変長管理の説明図
【符号の説明】
1 バッファメモリ領域 2 可変長領域管理部 3 固定長領域管理部 4 サイズパターン保持部 5 サイズパターン判定部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 古川 智章 石川県河北郡宇ノ気町字宇野気ヌ98番地の 2 株式会社ピーエフユー内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 メモリ上に所定の容量を有するバッファ
    メモリ領域と、その内からアプリケーション・プログラ
    ムの要求に応じたサイズのバッファを割り当て管理する
    可変長領域管理部とを有するバッファ割当て管理装置で
    あって、 バッファメモリ領域内の指定された部分を固定長領域と
    して管理する固定長領域管理部と、 あらかじめ定められた、バッファのサイズのパターンを
    保持するサイズパターン保持部と、 可変長領域管理部がアプリケーション・プログラムの要
    求に応じて割り当てた領域のサイズのパターンを、サイ
    ズパターン保持部のパターンと比較し、一致すると判定
    したとき、割り当てたバッファメモリ領域を可変長領域
    管理の対象からはずし固定長領域管理部に渡すサイズパ
    ターン判定部とを有することを特徴とするバッファ割当
    て管理装置。
  2. 【請求項2】 請求項1に記載のバッファ割当て管理装
    置であって、 サイズパターン保持部は、可変長領域管理部がバッファ
    を割り当てるごとに割り当てたバッファサイズを記憶
    し、 サイズパターン判定部は記憶されたバッファサイズのパ
    ターンが繰り返し現れるときサイズパターンとして認定
    し、サイズパターンに合った割当て済のバッファ領域を
    固定長領域管理部に渡すことを特徴とするバッファ割当
    て管理装置。
  3. 【請求項3】 コンピュータによって、メモリ上の所定
    容量を有するバッファメモリ領域のバッファ割り当てを
    管理させるためのバッファ割当て管理プログラムを記録
    した記録媒体であって、 あらかじめ定められた、バッファサイズのパターンを保
    持させ、 アプリケーション・プログラムの要求に応じたサイズの
    バッファをバッファメモリ領域から割り当てて可変長領
    域として管理させ、 アプリケーション・プログラムの要求に応じて割り当て
    られた領域のサイズのパターンと、前記の保持されてい
    るバッファサイズのパターンとを比較させ、比較の結果
    一致と判定されるとき、割り当てられたバッファ領域を
    固定長領域として管理させることを特徴とするバッファ
    割り当て管理プログラムを記録したコンピュータ読み取
    り可能な記録媒体。
JP9089497A 1996-04-09 1997-04-08 バッファ割当て管理装置およびバッファ割当て管理プログラム Withdrawn JPH1069429A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9089497A JPH1069429A (ja) 1996-04-09 1997-04-08 バッファ割当て管理装置およびバッファ割当て管理プログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8609696 1996-04-09
JP8-86096 1996-04-09
JP9089497A JPH1069429A (ja) 1996-04-09 1997-04-08 バッファ割当て管理装置およびバッファ割当て管理プログラム

Publications (1)

Publication Number Publication Date
JPH1069429A true JPH1069429A (ja) 1998-03-10

Family

ID=26427255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9089497A Withdrawn JPH1069429A (ja) 1996-04-09 1997-04-08 バッファ割当て管理装置およびバッファ割当て管理プログラム

Country Status (1)

Country Link
JP (1) JPH1069429A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6549982B1 (en) 1999-03-05 2003-04-15 Nec Corporation Buffer caching method and apparatus for the same in which buffer with suitable size is used
US6955411B2 (en) 1998-11-26 2005-10-18 Seiko Epson Corporation Ink cartridge and printer using the same
US7195346B1 (en) 1998-11-02 2007-03-27 Seiko Epson Corporation Ink cartridge and printer using the same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7195346B1 (en) 1998-11-02 2007-03-27 Seiko Epson Corporation Ink cartridge and printer using the same
US6955411B2 (en) 1998-11-26 2005-10-18 Seiko Epson Corporation Ink cartridge and printer using the same
US6549982B1 (en) 1999-03-05 2003-04-15 Nec Corporation Buffer caching method and apparatus for the same in which buffer with suitable size is used

Similar Documents

Publication Publication Date Title
US5339411A (en) Method for managing allocation of memory space
US6760826B2 (en) Store data in the system memory of a computing device
US6115793A (en) Mapping logical cache indexes to physical cache indexes to reduce thrashing and increase cache size
US5414826A (en) System and method for memory management in microcomputer
JP2003523555A (ja) 記憶装置を動的に管理する方法
JPH0675897A (ja) 分割を許容するバッファ・メモリ管理方法及びその装置
US7552285B2 (en) Line fill techniques
JPH1069429A (ja) バッファ割当て管理装置およびバッファ割当て管理プログラム
JPS63172343A (ja) 命令先取り方式
JPH05158783A (ja) メモリブロック制御方式
US9747226B2 (en) Packet processing system, method and device to optimize packet buffer space
JPH04219836A (ja) ブロック管理方式
JPS5835656A (ja) セル管理制御方式
JPH1040194A (ja) 通信制御装置の受信バッファ制御システム
JP2633635B2 (ja) 制御表の割当処理方式
JPH06208502A (ja) メモリ管理方法
JPH03127137A (ja) ファイル領域割り当て方式
JP2743849B2 (ja) 更新バッファ管理装置
JPH0793192A (ja) ファイル管理方法
JP2558370B2 (ja) バッファ管理方式
JP2000163309A (ja) メモリ管理方法およびメモリ管理装置、並びに記録媒体
JPH09305479A (ja) 記憶装置の動的記憶領域管理装置
CN117667764A (zh) 内存管理方法、装置、电子设备及存储介质
JPH08249225A (ja) メモリ管理装置
JP2005157714A (ja) メモリ管理システム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040706