JP2580519B2 - メモリ制御方法 - Google Patents

メモリ制御方法

Info

Publication number
JP2580519B2
JP2580519B2 JP5122203A JP12220393A JP2580519B2 JP 2580519 B2 JP2580519 B2 JP 2580519B2 JP 5122203 A JP5122203 A JP 5122203A JP 12220393 A JP12220393 A JP 12220393A JP 2580519 B2 JP2580519 B2 JP 2580519B2
Authority
JP
Japan
Prior art keywords
space
garbage collection
memory address
cell
copy destination
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.)
Expired - Lifetime
Application number
JP5122203A
Other languages
English (en)
Other versions
JPH06309220A (ja
Inventor
裕一 吉田
正俊 佐藤
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP5122203A priority Critical patent/JP2580519B2/ja
Publication of JPH06309220A publication Critical patent/JPH06309220A/ja
Application granted granted Critical
Publication of JP2580519B2 publication Critical patent/JP2580519B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算機システムでのガ
ーベジコレクションを効率的に実現することのできるメ
モリ制御方式に関する。
【0002】
【従来の技術】メモリアドレス空間における不要情報の
収集を行うためにガーベジコレクションが行われてお
り、このようなガーベジコレクションのアルゴリズムと
しては、「移動法」や「リンク反転による横滑り法」等
がある。上記移動法とは、メモリアドレス空間を二等分
し、先ず、一方の部分空間のみに情報を格納し、これに
よって自由セル{未使用のセル(=領域)}がなくなっ
たとき、ルート(リンクの出発点となる特定のセル)か
ら到達可能なセル、即ちアクティブセルをもう一方の部
分空間へコピーするものである。
【0003】また、リンク反転による横滑り法とは、ア
クティブセルの並び順を保持したまま、アクティブセル
をメモリアドレス空間末端に集める方法であり、その印
づけにスタックを使わないという特徴を持っている。
【0004】図2は、そのリンク反転による横滑り法の
説明図である。先ず、メモリアドレス空間において、
(A)ではセルaがセルbを指している状態である。即
ち、セルaがセルbへのポインタを持っている場合であ
る。ここで、セルaを矢印の方向を移動させようとした
場合、このセルaは自由に移動することができる。これ
は、セルaを移動させたとしても、セルbへのポインタ
は変化しないからである。
【0005】一方、(B)に示すように、他のセル(こ
こではセルb)から指されているセル(ここではセル
a)は自由に移動することができない。即ち、セルaを
移動すると、セルbのポインタを修正しなければならな
いが、他のセルから指されているセルは、どのセルから
指されているかは分からないため、このような修正はで
きないためである。
【0006】即ち、あるセルを移動させようとした場
合、そのポインタと逆方向であれば自由に移動できる
が、ポインタと同方向の場合はそのままでは移動できな
いことになる。
【0007】そこで、上記図2(B)のような場合は、
図2(C1)〜(C3)に示すように行う。先ず、(C
1)に示すように、一旦ポインタを逆転させ、ポインタ
をセルの移動方向とは逆方向になるようにする。尚、こ
のポインタの付け替えは、全ての領域を1回走査し、セ
ルbのポインタがセルaであることを確認することで行
うことができる。
【0008】上記(C1)でポインタがセルの移動方向
と逆方向となったため、セルaは自由に移動できるよう
になり、従って、これをメモリアドレス空間の末端とし
てメモリアドレス先頭ブロックに移動する。この状態が
(C2)である。そして、セルaの移動が終了すると、
再度、メモリアドレス空間を走査し、(C3)に示すよ
うに、ポインタを逆転させ、これによって、(B)に示
す状態であってもセルaを移動させることができる。こ
のようにして、リンク反転による横滑り法では、アクテ
ィブセルをメモリアドレス空間の末端(先頭メモリアド
レス方向)に収集し、ガーベジコレクションを実行す
る。
【0009】
【発明が解決しようとする課題】上述したリンク反転に
よる横滑り法は、印付けにスタックを使用しないという
特長を持っているが、その反面、メモリアドレス空間を
その全体に亘って二度走査するため、実行効率は良くな
いといった欠点を持っている。即ち、アクティブセル量
が少ない時は、“移動法”が有利である。
【0010】しかしながら、移動法の場合、ガーベジコ
レクションの実行時に、全てのアクティブセルがコピー
されなければならないため、通常のアクセスを行う利用
空間とコピー先空間とは等しい大きさとなっている。と
ころが、一般に、ガーベジコレクションを行う場合、通
常使用空間のアクティブセル量に比べてコピー先空間に
コピーするセル量は少なく、このような観点から、移動
法の場合は、メモリアドレス空間の制限に起因してガー
ベジコレクションの起動回数が多くなってしまい、シス
テム性能の低下を招くといった問題点を有していた。本
発明は、上記従来の問題点を解決するためになされたも
ので、メモリアドレス空間の利用効率が高く、かつガー
ベジコレクションの実行効率も向上させることができる
メモリ制御方式を提供することを目的とする。
【0011】
【課題を解決するための手段】本発明のメモリ制御方式
は、メモリアドレス空間のガーベジコレクションを行う
場合、最初に、前記メモリアドレス空間を、通常のアク
セスを行う利用空間と、コピー先空間とに分割し、前記
利用空間のアクティブセルを前記コピー先空間にコピー
することでガーベジコレクションを行う移動法で実行す
ると共に、前記利用空間とコピー先空間の分割割合を前
回のガーベジコレクションの結果に基づき決定し、その
後、前記移動法による前記メモリアドレス空間のガーベ
ジコレクションを実行中に前記コピー先空間が不足する
場合、これ以降のガーベジコレクションを、アクティブ
セルの並び順を保持したまま当該アクティブセルを前記
メモリアドレス空間の末端に集めるリンク反転による横
滑り法で行うことを特徴とするものである。
【0012】
【作用】本発明のメモリ制御方式においては、メモリア
ドレス空間のガーベジコレクションを行う場合、最初
は、移動法で行う。この時、利用空間とコピー先空間の
分割割合は、前回のガーベジコレクションでコピーした
アクティブセル量に応じて決定される。その後、移動法
によるガーベジコレクションを実行中に、コピー先空間
が不足する場合は、それ以降のガーベジコレクション
を、リンク反転による横滑り法で行う。また、実行した
ガーベジコレクションの結果、例えば、アクティブセル
量がメモリアドレス空間の半分以上あった場合は、次回
のガーベジコレクションを最初からリンク反転による横
滑り法で行う。
【0013】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。図1は本発明のメモリ制御方式の実施例を示
すフローチャートであるが、この説明に先立ち、従来と
本実施例におけるメモリアドレス空間の説明を行う。
【0014】図3は、従来と実施例とのメモリアドレス
空間の説明図であり、(a)は従来、(b)は本実施例
を示している。先ず、セル空間を可変とするためにメモ
リアドレス空間をブロック(ページ)に分割し、管理す
るものとする。従来では、上述したように、メモリアド
レス空間における利用空間とコピー先空間は各々1/2
ずつである。また、利用空間とは、ガーベジコレクショ
ンを行った後にセルを割り当て、処理を実行する場合に
アクセスを行う通常のメモリアドレス空間である。一
方、コピー先空間とは、ガーベジコレクション時のアク
ティブセルがコピーされ、ガーベジコレクション後の利
用空間になる空間であり、通常の処理の実行時は使用せ
ずに確保しておく空間である。
【0015】本実施例では、このコピー先空間と利用空
間との分割割合が可変となっており、そのコピー先空間
の大きさは、アクティブセル量の見積りに従うものであ
る。この見積り例としては、ガーベジコレクション終了
後に、その回のガーベジコレクションでのアクティブセ
ルが必要としたブロック数に1ブロック(この値は、実
験的に任意のブロック数を選択する)を加えた値を見積
りブロック数とする。尚、見積りブロック数は全ブロッ
ク数の1/2を超えないものとする。また、利用空間と
コピー先空間はガーベジコレクションの発生により、交
互に設定される。即ち、ガーベジコレクション後、元の
利用空間の部分に新たなコピー先空間を設定し、これ以
外の部分を利用空間とする。
【0016】次に、本実施例のメモリ制御方式を図1を
参照して説明する。システムが動作を開始すると(ステ
ップS1)、先ず、メモリアドレス空間の割り当てを行
う(ステップS2)。この場合、最初は従来と同様に利
用空間とコピー先空間を1/2ずつ割り当てるとする。
その後、ガーベジコレクション以外の通常処理を行い
(ステップS3)、ガーベジコレクションの必要が生じ
たとする。これにより、移動法によるガーベジコレクシ
ョン(GC)が開始され(ステップS4)、これが正常
終了した場合(ステップS5)、即ちアクティブセルの
量が見積り量と一致していた場合、または見積り以下の
場合、ガーベジコレクションは正常終了する。その後、
このコピーしたアクティブセルの量によって、新たに見
積りブロック数を決定して、メモリアドレス空間を分割
し直し(ステップS6)、ステップS3に戻って通常処
理を続行する。
【0017】図4は、この状態を示す説明図である。先
ず、(a)は、上記ステップS4のガーベジコレクショ
ンが開始される前のメモリアドレス空間の状態であり、
利用空間における斜線部がアクティブセルを示してい
る。そして、ガーベジコレクションを実行し、アクティ
ブセルがすべてコピー先空間にコピーされ、正常終了し
たのが、(b)の状態である。その後、新たに見積りブ
ロック数を決定し、(c)の状態となる。
【0018】一方、ステップS5においてガーベジコレ
クションが、正常終了しない場合は、リンク反転による
横滑り法でガーベジコレクションを行う(ステップS
7)。即ち、移動法によるガーベジコレクションにおい
て、アクティブセルの量がコピー先空間の見積り量より
大きい場合は、正常終了せず、従って、残りのアクティ
ブセルをコピーする必要がある。しかしながら、コピー
先空間は既に使い尽くしているため、利用空間を詰め替
えてコピー先空間のためのブロックを捻出しなければな
らない。従って、ここではリンク反転による横滑り法を
用いる。
【0019】ここで、リンク反転による横滑り法でガー
ベジコレクションを行う場合に注意する点は、現在、移
動法を行っている最中に、この横滑り法に移る点であ
る。この時、コピー先空間における未スイープ領域に
は、利用空間へのポインタが存在するので、この空間と
利用空間の両方を合わせた空間でリンク反転による横滑
り法を行うことになる。
【0020】図5は、移動法からリンク反転による横滑
り法に移る場合の説明図である。この図5は、図1中の
ステップS5においてガーベジコレクションが正常終了
しない場合の説明図であり、先ず、図5(a)は、ステ
ップS4の移動法によるガーベジコレクションの開始前
の状態である。そして、移動法によるガーベジコレクシ
ョンが行われるが、コピー先空間が不足し、移動法で
は、ガーベジコレクションが正常終了せず、この状態を
示したのが図5(b)である。この時点で、メモリアド
レス空間には、利用空間(以下、領域Aとする)と、コ
ピー先空間で既にスイープされた領域(以下、領域Bと
する)と、コピー先空間で未スイープ領域(以下、領域
Cとする)の3種類の領域が存在することになる。
【0021】ここで、まだガーベジコレクションが終了
していない領域として領域Aと領域Cとがあり、この領
域に横滑り法を適用することになる。尚、領域Bは、ポ
インタの全てがコピー先空間を指しているため、横滑り
法を行う必要はない。そこで、領域Cと領域Aを連続し
た領域と見なし、その領域に対して横滑り法でガーベジ
コレクションの続きを開始する。この状態を示したが図
5(c)である。尚、この時、横滑り法の開始点は領域
Bの先頭アドレスになる。
【0022】その後、横滑り法によるガーベジコレクシ
ョンが正常終了すると(図1中のステップS8)、ステ
ップS6に移行し、メモリアドレス空間の再割り当てを
行う。この状態を示したのが図5(d),(e)であ
る。即ち、図5(d)がガーベジコレクションが終了し
た状態である。そして、図5(e)に示すように、今度
はアクティブセルをコピーした空間を含めて新利用空間
とし、また、コピーしたアクティブセル量に基づき、次
回のコピー先空間を推測する。
【0023】また、図1中、ステップS8においてガー
ベジコレクションが正常終了した時点で、コピー先空間
におけるアクティブセルの量が、全ブロック数の1/2
(この値は実験的に任意に設定することが可能である)
を超えた場合は、次のガーベジコレクションでは、最初
から“リンク反転による横滑り法”を用いる。そして、
このような場合は、コピー先空間を確保する必要はな
い。一方、ステップS8において、ガーベジコレクショ
ンが正常終了しなかった場合、即ち、アクティブセルの
量が全ブロック数の4/5(この値も実験的に任意の決
定してもよい)を超えた場合は、メモリ不足による処理
実行不能としてガーベジコレクションを異常終了させ
る。
【0024】以上のように、上記実施例では、メモリア
ドレス空間のガーベジコレクションを、最初に移動法で
行い、かつ、その利用空間とコピー先空間の分割割合
を、前回のガーベジコレクションの結果に基づき決定
し、その後、移動法によるガーベジコレクションを実行
中に、コピー先空間が不足する場合は、これ以降のガー
ベジコレクションをリンク反転による横滑り法で行うと
共に、実行したガーベジコレクションの結果、アクティ
ブセル量がメモリアドレス空間の半分以上あった場合
は、次回のガーベジコレクションを、最初からリンク反
転による横滑り法で行うようにしたので、従来の“移動
法”でのメモリアドレス空間の制限と、その制限に起因
するガーベジコレクションの起動回数をより少なくする
ことができる。また、“移動法”では不可能であった全
メモリアドレス空間のは1/2以上アクティブセルがあ
る場合のガーベジコレクションが可能となる。
【0025】
【発明の効果】以上説明したように、本発明のメモリ制
御方法によれば、メモリアドレス空間のガーベジコレク
ションを最初に移動法で行うと共に、その利用空間とコ
ピー先空間の分割割合を可変とし、その後、ガーベジコ
レクションを実行中にコピー先空間が不足する場合は、
これ以降のガーベジコレクションをリンク反転による横
滑り法で行うようにしたので、メモリアドレス空間の効
率的な利用が可能となり、移動法によるガーベジコレク
ションでのメモリアドレス空間の制限に起因するガーベ
ジコレクションの起動回数を減少させ、システムとして
の性能向上を図ることができる。
【図面の簡単な説明】
【図1】本発明のメモリ制御方式のフローチャートであ
る。
【図2】リンク反転による横滑り法の説明図である。
【図3】従来と本発明のメモリアドレス空間の説明図で
ある。
【図4】本発明のメモリ制御方式における移動法による
ガーベジコレクションが正常終了した場合の説明図であ
る。
【図5】本発明のメモリ制御方式において、リンク反転
による横滑り法でガーベジコレクションを行った場合の
説明図である。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 メモリアドレス空間のガーベジコレクシ
    ョンを行う場合、 最初に、前記メモリアドレス空間を、通常のアクセスを
    行う利用空間と、コピー先空間とに分割し、前記利用空
    間のアクティブセルを前記コピー先空間にコピーするこ
    とでガーベジコレクションを行う移動法で実行すると共
    に、前記利用空間とコピー先空間の分割割合を前回のガ
    ーベジコレクションの結果に基づき決定し、 その後、前記移動法による前記メモリアドレス空間のガ
    ーベジコレクションを実行中に前記コピー先空間が不足
    する場合、 これ以降のガーベジコレクションを、アクティブセルの
    並び順を保持したまま当該アクティブセルを前記メモリ
    アドレス空間の末端に集めるリンク反転による横滑り法
    で行うことを特徴とするメモリ制御方法
JP5122203A 1993-04-27 1993-04-27 メモリ制御方法 Expired - Lifetime JP2580519B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5122203A JP2580519B2 (ja) 1993-04-27 1993-04-27 メモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5122203A JP2580519B2 (ja) 1993-04-27 1993-04-27 メモリ制御方法

Publications (2)

Publication Number Publication Date
JPH06309220A JPH06309220A (ja) 1994-11-04
JP2580519B2 true JP2580519B2 (ja) 1997-02-12

Family

ID=14830111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5122203A Expired - Lifetime JP2580519B2 (ja) 1993-04-27 1993-04-27 メモリ制御方法

Country Status (1)

Country Link
JP (1) JP2580519B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100608606B1 (ko) 2004-01-28 2006-08-03 삼성전자주식회사 적응형 가비지 컬렉션 방법 및 상기 방법을 수행하는 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62295145A (ja) * 1986-06-13 1987-12-22 Fujitsu Ltd ガ−ベジコレクシヨン方式

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
「圧縮と複写 2つのくず集め方式の接点」、情報処理学会研究報告、89[83](89−SYM−52−2)、(平成1−9−29)

Also Published As

Publication number Publication date
JPH06309220A (ja) 1994-11-04

Similar Documents

Publication Publication Date Title
EP0798656B1 (en) File system level compression using holes
US5819298A (en) File allocation tables with holes
JPH05189281A (ja) 記憶装置のファイル割当て方式
JPH0695954A (ja) コンサーバティブ・スタックとジェネレイショナル・ヒープガーベージ・コレクション用コンピュータシステム及び方法
JP2007179554A (ja) ディスプレイ画面の複写システム及び方法
JPH0546447A (ja) 空き領域検索方法
CN113138945B (zh) 一种数据缓存方法、装置、设备及介质
CN113010289A (zh) 一种任务调度方法、装置和系统
JP2580519B2 (ja) メモリ制御方法
JP3609841B2 (ja) ファイル管理装置
Perttunen On the significance of the initial solution in travelling salesman heuristics
EP0179203A2 (en) Method for enlarging an image stored in run representation form
JPH0713817A (ja) ファイル管理方式
KR100753821B1 (ko) 가비지 컬렉션 장치 및 그 방법
JPH06266619A (ja) ページ退避/復元装置
JP2982134B2 (ja) 主記憶装置の割り当てサイズ決定方法
JPS63231643A (ja) 実時間ガ−ベジコレクシヨン方式
JPH11232162A (ja) ガベージコレクション方法
JP2984507B2 (ja) ファイル複写方式
JP3094477B2 (ja) 仮想記憶管理方式
JP2008009688A (ja) データアクセスシステム、データアクセスプログラム及びデータアクセス方法
JPH0362137A (ja) 可変長ブロック群による長大データの格納方法
JP4176682B2 (ja) メモリ管理方式
JPH1124988A (ja) プログラム実行制御管理方法
JPH0713824A (ja) データ管理方法

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term