JPH09128287A - メモリブロックの確保・解放方式 - Google Patents

メモリブロックの確保・解放方式

Info

Publication number
JPH09128287A
JPH09128287A JP30665395A JP30665395A JPH09128287A JP H09128287 A JPH09128287 A JP H09128287A JP 30665395 A JP30665395 A JP 30665395A JP 30665395 A JP30665395 A JP 30665395A JP H09128287 A JPH09128287 A JP H09128287A
Authority
JP
Japan
Prior art keywords
memory
memory block
allocation unit
frequency
pool
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
JP30665395A
Other languages
English (en)
Other versions
JP2940452B2 (ja
Inventor
Toshio Hirose
敏夫 廣瀬
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 JP7306653A priority Critical patent/JP2940452B2/ja
Publication of JPH09128287A publication Critical patent/JPH09128287A/ja
Application granted granted Critical
Publication of JP2940452B2 publication Critical patent/JP2940452B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】コンピュータシステムにおいてメモリブロック
を高速に確保解放する。 【解決手段】メモリブロックを確保する手段11と、メ
モリブロックを解放する手段12と、空きメモリを管理
する手段13と、メモリブロックの使用回数をカウント
する手段14と、メモリブロックの使用回数を変更する
手段15と、からなり、メモリブロックを主記憶装置の
メモリプールに解放する際に、メモリブロックを構成し
ている割当単位の使用回数と、空きメモリの先頭を管理
するための空きメモリ先頭ポインタが示す割当単位の使
用回数と、を比較し、使用回数の多い割当単位のアドレ
スを空きメモリ先頭アドレスとする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、メモリブロック管
理方式に関し、特にプログラムが主記憶装置のメモリプ
ールからメモリブロックを確保し、及び確保したメモリ
ブロックを主記憶装置のメモリプールに解放する、メモ
リブロックの確保・解放管理方式に関する。
【0002】
【従来の技術】従来、この種のメモリブロック確保・解
放方式は、主記憶装置に予め設けられたメモリプールか
らメモリブロックを確保する際に、メモリプールの空き
メモリの先頭を管理している空きメモリ先頭ポインタが
示す割当単位から、要求量のメモリブロックが確保でき
るまで空き割当単位を検索する。
【0003】また、主記憶装置のメモリプールにメモリ
ブロックを解放するときには、解放対象のメモリブロッ
クのアドレスと、空きメモリの先頭を管理している空き
メモリ先頭ポインタが示す割当単位のアドレスとを比較
し、メモリプールの先頭アドレスに近いアドレスを空き
メモリの先頭アドレスとしていた。
【0004】メモリブロックの確保・解放を高速化する
従来の方式として、例えば特開平3−251917号公報は、
メモリブロックを確保するメモリプールが不足した場
合、オペレーティングシステム(OS)から新たなメモ
リブロックを確保し、一定時間内に使用されなかったメ
モリプールをOSに解放するように構成された作業域高
速確保・解放方式が提案されている。この従来の方式
は、OSのメモリ管理機能を作業域(メモリブロック)
を確保した回数の累積が一定の値に達すれば常駐作業域
が増えるので高速に作業域の確保・解放が行なえると共
に、作業域の確保要求が常駐作業域数を超えてくるのが
一時的であっても、一定時間毎の常駐作業域の調査によ
り使用されていない常駐作業域をOSのメモリ管理機能
を用いて解放するので、メモリを有効に利用できるとい
う作用効果を有するとされている。
【0005】
【発明が解決しようとする課題】上述した従来のメモリ
ブロックの確保解放方式は、主記憶装置のメモリプール
にメモリブロックを解放する時、そのメモリブロックの
アドレスと、空きメモリの先頭を管理している空きメモ
リ先頭ポインタが示す割当単位のアドレスとを比較し、
メモリプールの先頭アドレスに近いアドレスを空きメモ
リの先頭アドレスとしている。
【0006】このため、複数回のメモリブロックの確保
を行った後で、先頭のメモリブロックを解放すると、そ
のメモリブロックのアドレスが空きメモリの先頭アドレ
スとなるため、それ以降のメモリブロック確保では、必
ず先頭のメモリから要求量のメモリブロックが確保でき
るまで、空きメモリを検索するため効率が悪いという問
題点がある。
【0007】従って、本発明は上記従来技術の問題点を
解消し、コンピュータシステムにおいてメモリブロック
を高速に確保・解放する方式を提供することを目的とす
る。また、本発明はメモリの有効利用を達成するメモリ
ブロック確保・解放方式を提供することを特徴とする。
【0008】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、一又は複数のプログラムが同時または順
次に実行されるシステムの主記憶装置からメモリプール
を確保し、該メモリプール内からメモリブロックを確保
及び解放するメモリブロックの確保・解放方式におい
て、前記主記憶装置のメモリプールから、要求されたメ
モリ量のメモリブロックを確保し、前記メモリブロック
を前記主記憶装置の前記メモリプールに解放する際に、
前記メモリブロックを構成している割当単位の使用頻度
と、空きメモリの先頭を管理するための空きメモリ先頭
ポインタが示す割当単位の使用頻度と、を比較し、使用
頻度の多い割当単位のアドレスを前記空きメモリ先頭ポ
インタに設定することを特徴とするメモリブロックの確
保・解放方式を提供する。
【0009】本発明は、前記主記憶装置のメモリプール
から、要求されたメモリ量のメモリブロックを確保し、
前記メモリブロックを前記主記憶装置のメモリプールに
解放する際に、所定の周期で全ての使用頻度について所
定の値からその時点の使用頻度を減算した値を設定する
ことを特徴とするメモリブロックの確保・解放方式を提
供する。
【0010】本発明においては、一又は複数のプログラ
ムが同時又は順次に実行されるシステムの主記憶装置か
らメモリプールを確保し、そのメモリプール内からメモ
リブロックを自由に確保及び解放することが可能なシス
テムにおいて、割当単位の使用頻度をカウントし、メモ
リブロック解放時に使用回数(使用頻度)の多い割当単
位のアドレスを前記空きメモリ先頭アドレスとすること
により、メモリブロックを確保するとき、使用頻度の多
い割当単位から確保することにより、次のメモリブロッ
クの確保要求に対して、高速に主記憶装置のメモリプー
ルから、要求されたメモリ量のメモリブロックを確保で
きるようにしたものである。
【0011】本発明によれば、例えばシステム初期起動
時等においては、一又は複数のプログラムのメモリブロ
ックの利用形態は例えばランダム状態又はこれに近いも
のであっても、例えば安定動作時には所定の形態(パタ
ーン)に落ち着き、このため使用頻度(ヒット率)が高
い割当単位のアドレスを先頭ポインタにセットすること
により、メモリブロック確保時に使用頻度が大のメモリ
ブロックが獲得されることになり、メモリ確保動作を高
速化する。さらに、割当単位の使用頻度を所定値から減
算するように変更した場合、使用頻度の少い割当単位も
メモリブロック確保の候補として挙げられることにな
り、メモリプールの使用領域を均一化するように作用
し、メモリの有効利用を達成する。
【0012】
【発明の実施の形態】本発明の実施の形態を図面を参照
して説明する。図1は、本発明の一実施形態の構成を示
す図である。図2は、本発明の一実施形態に係るメモリ
ブロックの確保・解放方式を説明するための模式図であ
る。
【0013】図1を参照して、本実施形態は、メモリブ
ロックの確保手段11、メモリブロックの解放手段1
2、空きメモリ管理手段13、使用回数(「使用頻度」
ともいう)のカウント手段14、及び、使用回数の変更
手段15から構成されている。
【0014】主記憶装置から、メモリプール23を確保
すると同時に、割当単位管理テーブル22を作成し、空
きメモリ先頭ポインタ21に割当単位管理テーブル22
の先頭アドレスを設定する。
【0015】メモリブロックの確保手段11は、空きメ
モリ先頭ポインタ21が示す割当単位管理テーブル22
のエントリから、要求量のメモリブロックが確保できる
分のエントリを順次検索し、メモリブロックを割り当て
る。なお、要求量のメモリブロック(可変サイズ)はメ
モリプール23における連続領域が割り当てられ、この
確保されたメモリブロックは要求量分が連続的にメモリ
プール23に返却されるものとする。また、割当単位管
理テーブル22はメモリプール23を例えば一定サイズ
毎に対応して設けられる。
【0016】この時、割り当てたメモリブロックの先頭
アドレスが空きメモリ先頭ポインタ21のアドレスと同
一であれば、割当単位管理テーブル22のエントリか
ら、空き割当単位を検索し、空きメモリ先頭ポインタ2
1に設定する。
【0017】メモリブロックの解放手段12では、解放
するメモリブロックを構成する割当単位を割当単位管理
テーブル22から検索し、メモリブロックを解放する
時、使用回数のカウント手段14により、割当単位管理
テーブル22中の、解放するメモリブロックを構成する
割当単位の全てのエントリの使用回数に1加算する。
【0018】空きメモリ管理手段13では、メモリブロ
ックの解放手段12により解放された、メモリブロック
を構成する割当単位の全てのエントリの使用回数と、空
きメモリ先頭ポインタ21の示す割当単位管理テーブル
22のエントリの使用回数とを比較し、使用回数の多い
エントリのアドレスを、空きメモリ先頭ポインタ21に
設定する。
【0019】本実施形態においては、使用回数のカウン
ト手段14により、使用回数をカウントする際、使用回
数の変更手段15により所定の周期で、割当単位管理テ
ーブル22の全エントリ中の使用回数に一定値からその
時点の使用回数を減算した値を設定するように構成して
もよい。
【0020】次に、本実施形態に係るメモリブロックの
確保・解放方式の動作について説明する。
【0021】主記憶装置からメモリプール23を確保す
ると同時に割当単位管理テーブル22を作成し、空きメ
モリ先頭ポインタ21に割当単位管理テーブル22の#
1のエントリアドレスを設定する。
【0022】メモリブロック#Aの確保要求が発生する
と、空きメモリ先頭ポインタ21が示す#1の割当単位
を確保し、空きメモリ先頭ポインタ21に#2のエント
リアドレスを設定する。
【0023】次に、メモリブロック#Bの確保要求が発
生すると、空きメモリ先頭ポインタ21の示す#2,#
3の割当単位を確保し、空きメモリ先頭ポインタ21に
#4のエントリアドレスを設定する。
【0024】次に、メモリブロック#Cの確保要求が発
生すると、空きメモリ先頭ポインタ21の示す#4,#
5,#6の割当単位を確保し、空きメモリ先頭ポインタ
21に#7のエントリアドレスを設定する。
【0025】次に、メモリブロック#Dの確保要求が発
生すると、空きメモリ先頭ポインタ21の示す#7の割
当単位を確保し、空きメモリ先頭ポインタ21に#8の
エントリアドレスを設定する。
【0026】その後、メモリブロック#Aの解放要求が
発生すると、#1の割当単位を未使用として解放し、使
用回数のカウント手段14により、#1の割当単位の使
用回数に1加算し、空きメモリ管理手段13にて、空き
メモリ先頭ポインタ21の示す割当単位の使用回数と、
解放した#1の割当単位の使用回数とを比較し、使用回
数の多い#1の割当単位の先頭アドレスを、空きメモリ
先頭ポインタ21に設定する。
【0027】次に、メモリブロック#Cの解放要求が発
生すると、#4,#5,#6の割当単位を未使用として
解放し、使用回数のカウント手段14により、#4,#
5,#6の割当単位の使用回数にそれぞれ1加算し、空
きメモリ管理手段13により、空きメモリ先頭ポインタ
21の示す割当単位の使用回数と、解放した#4の割当
単位の使用回数とを比較し、使用回数が同じ場合は今回
解放した#4の割当単位の先頭アドレスを、空きメモリ
先頭ポインタ21に設定する。
【0028】その後、再度メモリブロック#Cの確保要
求が発生すると、空きメモリ先頭ポインタ21が示す#
4,#5,#6の割当単位を確保し、空きメモリ管理手
段13により未使用の割当単位のうち使用回数の最大の
エントリを検索し、空きメモリ先頭ポインタ21にその
エントリアドレスを設定する。
【0029】また、使用回数のカウント手段14は、割
当単位の使用回数に1加算する際、使用回数の変更手段
15により一定周期で、割当単位管理テーブル22の全
エントリ中の使用回数に一定値からその時点の使用回数
を減算した値を設定する。
【0030】
【発明の効果】以上説明したように、本発明は、割当単
位の使用回数をカウントしておくため、メモリブロック
を確保するとき、使用回数の多い割当単位から確保する
ことにより、メモリブロックの確保が高速に行えるとい
う効果を有する。
【0031】また、本発明によれば、一定周期で使用回
数を変更することにより、使用回数の少ない割当単位も
再度確保の対象となりメモリが有効に利用されるという
効果がある。
【図面の簡単な説明】
【図1】本発明の一実施形態の全体構成を示す図であ
る。
【図2】本発明の一実施形態におけるメモリブロック確
保・解放動作を説明するための図である。
【符号の説明】
11 メモリブロックの確保 12 メモリブロックの解放 13 空きメモリ管理 14 使用回数のカウント 15 使用回数の変更 21 空きメモリ先頭ポインタ 22 割当単位管理テーブル 23 メモリプール

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】一又は複数のプログラムが同時または順次
    に実行されるシステムの主記憶装置からメモリプールを
    確保し、該メモリプール内からメモリブロックを確保及
    び解放するメモリブロックの確保・解放方式において、 前記主記憶装置のメモリプールから、要求されたメモリ
    量のメモリブロックを確保し、前記メモリブロックを前
    記主記憶装置の前記メモリプールに解放する際に、前記
    メモリブロックを構成している割当単位の使用頻度と、
    空きメモリの先頭を管理するための空きメモリ先頭ポイ
    ンタが示す割当単位の使用頻度と、を比較し、使用頻度
    の多い割当単位のアドレスを前記空きメモリ先頭ポイン
    タに設定することを特徴とするメモリブロックの確保・
    解放方式。
  2. 【請求項2】一又は複数のプログラムが同時または順次
    に実行されるシステムの主記憶装置からメモリプールを
    確保し、該メモリプール内からメモリブロックを確保及
    び解放するメモリブロックの確保・解放方式において、 前記主記憶装置のメモリプールから、要求されたメモリ
    量のメモリブロックを確保し、前記メモリブロックを前
    記主記憶装置のメモリプールに解放する際に、所定の周
    期で全ての使用頻度について所定の値からその時点の使
    用頻度を減算した値を設定することを特徴とするメモリ
    ブロックの確保・解放方式。
  3. 【請求項3】メモリプールからメモリブロックを確保す
    る手段と、 確保されたメモリブロックを前記メモリプールに解放す
    る手段と、 前記メモリプールの空きメモリを管理する手段と、 メモリブロックの使用頻度を計数管理する手段と、 を少なくとも備え、 確保されたメモリブロックを解放する際に、前記メモリ
    ブロックの使用頻度を計数管理する手段が、前記メモリ
    ブロックに対応する割当単位を管理するテーブルのエン
    トリに格納された使用頻度を更新し、前記メモリプール
    の空きメモリを管理する手段が、該更新された使用頻度
    と、空きメモリの先頭を管理するための空きメモリ先頭
    ポインタが指示する割当単位の使用頻度と、を比較し、
    使用頻度の大の方の割当単位のアドレスを前記空きメモ
    リ先頭ポインタに設定することを特徴とするメモリブロ
    ックの確保・解放方式。
  4. 【請求項4】メモリブロックの使用頻度を変更する手段
    を更に備え、 前記メモリブロックの使用頻度を計数管理する手段が割
    当単位の使用頻度を更新する際に、前記メモリブロック
    の使用頻度を変更する手段が、所定の周期で、割当単位
    のテーブルのエントリ中に格納された使用頻度を、所定
    の値からその時点における使用頻度を減算してなる値に
    設定することを特徴とする請求項3記載のメモリブロッ
    クの確保・解放方式。
JP7306653A 1995-10-31 1995-10-31 メモリブロックの確保・解放方式及び方法 Expired - Lifetime JP2940452B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7306653A JP2940452B2 (ja) 1995-10-31 1995-10-31 メモリブロックの確保・解放方式及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7306653A JP2940452B2 (ja) 1995-10-31 1995-10-31 メモリブロックの確保・解放方式及び方法

Publications (2)

Publication Number Publication Date
JPH09128287A true JPH09128287A (ja) 1997-05-16
JP2940452B2 JP2940452B2 (ja) 1999-08-25

Family

ID=17959707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7306653A Expired - Lifetime JP2940452B2 (ja) 1995-10-31 1995-10-31 メモリブロックの確保・解放方式及び方法

Country Status (1)

Country Link
JP (1) JP2940452B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63231547A (ja) * 1987-03-20 1988-09-27 Fujitsu Daiichi Tsushin Software Kk 記憶装置の空領域管理方式
JPH03198134A (ja) * 1989-12-27 1991-08-29 Fujitsu Ltd 未使用領域検出方式
JPH0484345A (ja) * 1990-07-27 1992-03-17 Shimadzu Corp 記憶領域管理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63231547A (ja) * 1987-03-20 1988-09-27 Fujitsu Daiichi Tsushin Software Kk 記憶装置の空領域管理方式
JPH03198134A (ja) * 1989-12-27 1991-08-29 Fujitsu Ltd 未使用領域検出方式
JPH0484345A (ja) * 1990-07-27 1992-03-17 Shimadzu Corp 記憶領域管理装置

Also Published As

Publication number Publication date
JP2940452B2 (ja) 1999-08-25

Similar Documents

Publication Publication Date Title
JPH0916463A (ja) メモリ領域の動的割り付け管理システム
US20040078532A1 (en) System and method for dynamically allocating associative resources
JPH08129457A (ja) 外部記憶ストラクチャを拡大、縮小、及び再配分するための方法及び装置
CN114389955B (zh) 嵌入式平台异构资源池化管理方法
JPH02300949A (ja) メモリ制御方法
KR101356033B1 (ko) 하이브리드 주메모리 시스템 및 이를 위한 태스크 스케줄링 방법
CN113010453A (zh) 一种内存管理的方法、系统、设备及可读存储介质
JP3832341B2 (ja) メモリプール管理方式
CN121070621A (zh) 一种众核处理器的核心分配方法、装置、设备及介质
JP2940452B2 (ja) メモリブロックの確保・解放方式及び方法
JP2002278778A (ja) 対称型マルチプロセッサシステムにおけるスケジュール装置
JPH09198299A (ja) メモリブロック確保解放装置
CN114138478A (zh) 一种从多个资源池动态获取资源的方法及系统
CN116166391A (zh) 任务资源调度方法、装置、设备及计算机可读存储介质
JPH04219836A (ja) ブロック管理方式
EP4687033A1 (en) Lock-free scheduler queue with bulk insertion
JPH01191221A (ja) 磁気ディスク領域の動的割り当て管理方式
JP2001282553A (ja) マルチスレッド制御方法、マルチスレッド制御装置、記録媒体、及びプログラム
JP3980729B2 (ja) 記憶領域管理システムおよび記憶領域管理プログラムを記録した媒体
JP2002351739A (ja) メモリー管理方法およびデータ処理装置
JPH1091515A (ja) データバッファ管理装置
JPH08153037A (ja) シーケンシャル領域におけるデータ管理方式
JPS6364146A (ja) 論理空間管理方式
JPH1040194A (ja) 通信制御装置の受信バッファ制御システム
JPH0635762A (ja) ファイルブロックの確保解放方式

Legal Events

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990518