(57)【要約】【課題】適応型ガーベージコレクション方法及び前記方法を行う装置を提供する。【解決手段】動的メモリ割り当てにおいて、所定のプロセスの要請により第１メモリ領域に新しいオブジェクトのための領域が割り当てられる（ａ）段階と、前記第１メモリ領域に割り当てられたオブジェクトのうち前記プロセスにより使用中のオブジェクトを第２メモリ領域にコピーする（ｂ）段階と、前記第１メモリ領域及び前記第２メモリ領域の大きさが所定の情報によって調節される（ｃ）段階とを含むＧＣ方法。【選択図】図３
2005216298.tif 000002
【特許請求の範囲】
【請求項１】
動的メモリを割り当てる方法において、
所定のプロセスの要請により第１メモリ領域に新しいオブジェクトのための領域が割り当てられる（ａ）段階と、
前記第１メモリ領域に割り当てられたオブジェクトのうち前記プロセスにより使用中のオブジェクトを第２メモリ領域にコピーする（ｂ）段階と、
前記第１メモリ領域及び前記第２メモリ領域の大きさが、所定の情報によって調節される（ｃ）段階と
を含むことを特徴とするガーベージコレクション方法。
【請求項２】
前記プロセスは、ユーザーアプリケーションにより生成されたプロセスであることを含むことを特徴とする請求項１に記載のガーベージコレクション方法。
【請求項３】
前記プロセスはシステムアプリケーションにより生成されたプロセスであることを含むことを特徴とする請求項１に記載のガーベージコレクション方法。
【請求項４】
前記情報は、前記（ａ）段階及び（ｂ）段階が行われる際に発生する履歴情報であることを含むことを特徴とする請求項１に記載のガーベージコレクション方法。
【請求項５】
前記情報は、前記第１メモリ領域にオブジェクトが割り当てられた領域の大きさと、前記第２メモリにコピーされたオブジェクトが割り当てられた領域の大きさとの比であることを含むことを特徴とする請求項１に記載のガーベージコレクション方法。
【請求項６】
動的メモリの割り当てにおいて、所定のプロセスの要請により新しいオブジェクトを割り当てるための第１メモリ領域と、
前記第１メモリ領域に割り当てられたオブジェクトのうち前記プロセスにより使用中のオブジェクトをコピーして割り当てるための第２メモリ領域と、
前記プロセスにより活性化されて、前記メモリ領域にオブジェクトを保存するための領域を割り当て、前記第１メモリ領域及び前記第２メモリ領域の大きさを所定の情報によって調節した後、前記プロセスに制御権をわたして自身は非活性化されるガーベージコレクションモジュールと
が搭載されたガーベージコレクション機能を提供することを特徴とする装置。
【請求項７】
前記プロセスは、ユーザーアプリケーションにより生成されたプロセスであることを含むことを特徴とする請求項６に記載のガーベージコレクション機能を提供する装置。
【請求項８】
前記プロセスは、システムアプリケーションにより生成されたプロセスであることを含むことを特徴とする請求項６に記載のガーベージコレクション機能を提供する装置。
【請求項９】
前記情報は、前記プロセスの要請により前記第１メモリ領域に新しいオブジェクトのための領域が割り当てられ、前記第１メモリ領域に割り当てられたオブジェクトのうち前記プロセスにより使用中のオブジェクトが前記第２メモリ領域にコピーされながら発生する履歴情報であることを含むことを特徴とする請求項６に記載のガーベージコレクション機能を提供する装置。
【請求項１０】
前記情報は、前記第１メモリ領域にオブジェクトが割り当てられた領域の大きさと、前記第２メモリにコピーされたオブジェクトが割り当てられた領域の大きさとの比であることを含むことを特徴とする請求項６に記載のガーベージコレクション機能を提供する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はガーベージコレクションに関し、より詳細にはセミスペース・コピーイング・コレクションの構造において、スペース境界線の位置が変化する適応型非対称スペース構造を利用した適応型ガーベージコレクションに関する。
【背景技術】
【０００２】
ガーベージとは、プログラミングの観点からメモリ空間内でもう不要であると判断されて運用体制により回収されたデータ保存空間をいう。また、ガーベージコレクション（Ｇａｒｂａｇｅ ｃｏｌｌｅｃｔｉｏｎ：以下、ＧＣ）とは、このようなメモリ空間を他のプログラムが効率的に再使用できるように解放することをいい、‘ゴミコレクション’ともいう。すなわち、ガーベージコレクションとは、メモリを動的に管理するための方法をいう。
【０００３】
過去には、場合によっては使用しない保存空間を正しく返却しないプログラムは、運用体制により強制的に終了されることもあったが、一般的にはプログラマが必要とする保存空間を明示的に宣言し、その空間がもう不要となる時には、システムに返却するようにプログラムを作成しなければならなかった。
【０００４】
したがって、このような作業を正しく行わなければ、正常に行われていたプログラムも原因も知らずに止まってしまうが、このような場合には、論理的なバグでもために原因を捜し出すことも非常に困難である。したがって、システム内で自動的に使用中でないメモリ領域を探して解放するＧＣ機能が開発された。
前記ＧＣに関する一般的なアルゴリズムには、セミスペース・コピーイング・コレクション方法と、世代別ＧＣ方法とがあるが、それについて簡単に説明する。
【０００５】
図１は、従来のセミスペース・コピーイング・コレクション方法を示す例示図である。
前記図１に図示されたように、メモリ領域は、同じ大きさのｆｒｏｍスペース及びｔｏスペースに分割される。この時、前記ｆｒｏｍスペースは、オブジェクトが割り当てられるメモリ領域を示し、前記ｔｏスペースは、ＧＣにより前記ｆｒｏｍスペースに割り当てられたオブジェクトがコピーされるメモリ領域を示す。一方、前記ｔｏスペースとｆｒｏｍスペースとは、その大きさが同一でなければならない。なぜなら、もし、ＧＣが行われる時、ｆｒｏｍスペースに存在するオブジェクトがすべて生きている（使用中の）オブジェクトである場合に、あらゆるオブジェクトがｔｏスペースにコピーされねばならず、また、典型的なセミスペース・コピーイング・コレクションアルゴリズムが行われるためには、ポインタ逆転のために一つのオブジェクトに対して二つのコピー本が臨時で存在しなければならないからである。これに関しては非特許文献１に開示されている。
【０００６】
また、前記オブジェクトは、オブジェクト向けプログラミングにおいて特定クラスまたはそのクラスの自体方法や手順、そしてデータ変数を有しているサブクラスが実際に具現されたもの、すなわち、用例をいう。
１段階から３段階まで前記ｆｒｏｍスペースにオブジェクトが割り当てられるが、３段階で前記ｆｒｏｍスペースが満たされてそれ以上オブジェクトを割り当てられなくなる。したがって、４段階ではｆｒｏｍスペースに割り当てられたオブジェクトのうちもう使用中でないオブジェクト、すなわち、ガーベージを除いて生きているオブジェクトを前記ｔｏスペースにコピーする。このようにすることにより、以前にｆｒｏｍスペースであった領域はｔｏスペースに、ｔｏスペースであった領域はｆｒｏｍスペースに役割が変わる。したがって、５段階からは、前記１段階のようにｆｒｏｍスペースにオブジェクトが割り当てられる。
【０００７】
一般的に、前記セミスペース・コピーイング・コレクション方法は、メモリ動的管理方法において単独で使われるよりは、他のメモリ動的管理方法に応用されるが、その例として世代別ＧＣ方法がある。
図２は、従来の世代別ＧＣ方法を示す例示図である。
【０００８】
前記世代別ＧＣ方法は、１９８０年代以後に効率的なＧＣ方法として広く使われるアルゴリズムであって、メモリヒープはオブジェクトの年齢によって二つ以上の世代領域に分割される。前記図２では、若い世代領域２００と老いた世代領域２５０とに分けられている。また、前記若い世代領域２００では、前記図１に図示されたようなセミスペース・コピーイング・コレクション方法によりＧＣが行われるためにｆｒｏｍスペース２１０とｔｏスペース２２０とが存在する。
【０００９】
この時、前記オブジェクトの年齢とは、オブジェクトが一つのセミスペースから他のセミスペースにコピーされる回収をいう。したがって、例えば、あるオブジェクトが数回コピーされたとすれば、前記オブジェクトは‘老いた’といえる。
以下、従来の世代別ＧＣ方法を具体的に説明する。
若い世代領域２００でのＧＣ方法としては、セミスペース・コピーイング・コレクション方法が使われ、老いた世代領域２５０でのＧＣ方法としては表示−圧縮方法が使われる。
【００１０】
新しいオブジェクトは、若い世代領域２００であるセミスペースのうちｆｒｏｍスペース２１０に割り当てられる。前記図２に、ｆｒｏｍスペース２１０に割り当てられたオブジェクト２１２、２１４、２１６、２１８を示す。
若い世代領域２００でのＧＣは、ｆｒｏｍスペース２１０からｔｏスペース２２０に生きているオブジェクト２１２、２１６だけコピーすることによって行われ、若い世代領域２００に対するＧＣが数回行われる間に生きているオブジェクトは老いたオブジェクトに分類されつづける。このような老いたオブジェクト２１８は、老いた世代領域２５０に移転される。
【００１１】
老いた世代領域２５０にそれ以上オブジェクトを移転する空間がない場合、老いた世代領域２５０に対するＧＣが行われ、一般的に若い世代領域２００でのＧＣに比べて長時間を要する。
前記図１に図示されたセミスペース・コピーイング・コレクション方法の場合には、二つのセミスペース領域のうち一つの領域だけがメモリ割り当てのために使われる。すなわち、ＧＣはメモリ領域が満たされた時に行われるため、メモリ領域が小さいほどＧＣはさらに頻繁に発生するという問題点がある。
【００１２】
また、前記図２に図示された世代別ＧＣ方法は、若い世代領域で主にセミスペースコピーイング方法を使用するために依然として前記のような問題点が存在し、フローティングガーベージの量が増加してしまう問題点がある。この時、前記フローティングガーベージとは、若い世代領域でのＧＣを通じて老いた世代領域に移動したオブジェクトが、実際にはもう使用中でないが、老いた世代領域でのＧＣがまだ発生しなかったためにメモリ領域にそのまま存在するということをいう。若い世代領域でのＧＣが頻繁に発生するほど、より多くのオブジェクトが老いた世代領域に移動するようになり、その結果、フローティングガーベージの量も増加してしまうので、全体的にメモリ効率が悪くなる。
【００１３】
【特許文献１】特開平３−１８９７４７号公報
【特許文献２】特開２００２−２７８８２８号公報
【非特許文献１】Ｃｈｅｎｅｙの‘Ａ ｎｏｎｒｅｃｕｒｓｉｖｅ ｌｉｓｔ ｃｏｍｐａｃｔｉｏｎ ａｌｇｏｒｉｔｈｍ，Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ ｏｆ ｔｈｅ ＡＣＭ，１３（１１），ｐｐ６７７−６７８，１９７０’
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明は前記問題点を改善するために案出されたものであって、本発明は、セミスペース・コピーイング・コレクション方法を行うために必要とするスペースの大きさをそれぞれ別にすることによって、より効率的なＧＣが行われる方法を提供するところにその目的がある。
本発明の目的は、前記で言及した目的に限定されず、言及しなかったさらに他の目的は下の記載から当業者ならば明確に理解できる。
【課題を解決するための手段】
【００１５】
前記目的を達成するために、動的メモリを割り当てる方法において、本発明の実施によるＧＣ方法は、所定のプロセスの要請により第１メモリ領域に新しいオブジェクトのための領域が割り当てられる（ａ）段階と、前記第１メモリ領域に割り当てられたオブジェクトのうち前記プロセスにより使用中のオブジェクトを第２メモリ領域にコピーする（ｂ）段階と、前記第１メモリ領域及び前記第２メモリ領域の大きさが所定の情報によって調節される（ｃ）段階とを含む。この時、望ましくは、前記プロセスは、ユーザーアプリケーションにより生成されたプロセスであるか、またはシステムアプリケーションにより生成されたプロセスである。
【００１６】
望ましくは、前記情報は、前記（ａ）段階及び（ｂ）段階が行われつつ発生する履歴情報である。
望ましくは、前記情報は、前記第１メモリ領域にオブジェクトが割り当てられた領域の大きさと、前記第２メモリにコピーされたオブジェクトが割り当てられた領域の大きさとの比である。
【００１７】
前記目的を達成するために、動的メモリの割り当てにおいて、本発明の実施によるガーベージコレクション機能を提供する装置には、所定のプロセスの要請により新しいオブジェクトを割り当てるための第１メモリ領域と、前記第１メモリ領域に割り当てられたオブジェクトのうち前記プロセスにより使用中のオブジェクトをコピーして割り当てるための第２メモリ領域と、前記プロセスにより活性化されて、前記メモリ領域にオブジェクトを保存するための領域を割り当て、前記第１メモリ領域及び前記第２メモリ領域の大きさを所定の情報によって調節した後、前記プロセスに制御権をわたして自身は非活性化されるガーベージコレクションモジュールとが搭載された。この時、望ましくは、前記プロセスは、ユーザーアプリケーションにより生成されたプロセスであるか、またはシステムアプリケーションにより生成されたプロセスである。
【００１８】
望ましくは、前記情報は、前記プロセスの要請により前記第１メモリ領域に新しいオブジェクトのための領域が割り当てられ、前記第１メモリ領域に割り当てられたオブジェクトのうち前記プロセスにより使用中のオブジェクトが前記第２メモリ領域にコピーされながら発生する履歴情報である。
望ましくは、前記情報は、前記第１メモリ領域にオブジェクトが割り当てられた領域の大きさと、前記第２メモリにコピーされたオブジェクトが割り当てられた領域の大きさとの比である。
【発明の効果】
【００１９】
本発明の実施によって世代別ＧＣを行うに当たって、同じ大きさのメモリを使用した場合、従来には若い世代領域に割り当てられた領域の半分だけをメモリとして割り当てることができたが、本発明を通じて半分以上、一般的には大部分の若い世代領域に割り当てられた領域をメモリとして割り当てられることによってメモリ使用効率が増加する効果がある。
【００２０】
また、さらに大きいメモリ割り当て領域を有するために、単位時間当りガーベージコレクタが行われる回数が減少し、これに伴い従来技術の問題点であったフローティングガーベージの量も減少するようになってメモリ使用効率が向上する効果がある。
また、メモリ使用効率の向上の結果として、ガーベージコレクタの最も大きい性能上指標であるＧＣ時間の総和もやはり従来の世代別ガーベージコレクタに比較して短縮される効果がある。
【発明を実施するための最良の形態】
【００２１】
その他の実施形態の具体的な事項は、詳細な説明及び図面に含まれている。
本発明の利点及び特徴、そしてそれらを達成する方法は添付される図面と共に詳細に後述される実施形態を参照すれば明らかになる。しかし、本発明は以下の実施形態に限定されるものではなく多様な形態に具現でき、但し、本実施形態は本発明の開示を完全にし、当業者に本発明の範囲を完全に知らせるために提供されるものであり、本発明は特許請求の範囲により定義されるだけである。明細書全体にわたって同一参照符号は同一構成要素を示す。
【００２２】
以下、添付された図面を参照して本発明の望ましい実施形態を詳細に説明する。
図３は、本発明の実施による適応型世代別ＧＣ方法のためのメモリ構造を示す例示図である。
前記図３に図示されたように、ＧＣのために、ヒープのようなメモリ領域は、老いた世代領域３５０と若い世代領域３００とに分割され、前記若い世代領域３００は、スペース境界線３２０を中心としてｆｒｏｍスペース３１０とｔｏスペース３３０とに分けられる。この時、前記スペース境界線３２０は、前記二つのスペースを均等に分けることではなく、自由に移動可能になっている。
【００２３】
図４は、本発明の実施による若い世代領域でのＧＣを行う方法を示す一実施形態の処理フローチャートである。
ＧＣを行うガーベージコレクタ４００は、システム内で動作するプロセッサであって、ユーザープロセス４７０との相互作用を通じてＧＣ機能を行う。すなわち、前記ガーベージコレクタ４００は、ユーザープロセス４７０からメモリ割り当てを要請されてメモリを割り当て、メモリが足りない場合、自身が管理するメモリヒープ内でもう使用中でないガーベージを除去してメモリを確保する独立的なモジュールである。また、前記ガーベージコレクタ４００は、メモリの割り当て及び解除を自動的に行うために、あらゆるプロセッサに連結されてメモリ管理者として使用でき、特にＪａｖａ（登録商標）をはじめとする仮想マシンにも適用できる。
【００２４】
ガーベージコレクタ４００は、ユーザープロセス４７０から新しいオブジェクトのためのメモリ割り当て要請を受ければ動作を行い始める（Ｓ４１０）。それから、前記オブジェクトのための新しいメモリ空間を割り当てるためにｆｒｏｍスペースに余裕があるかどうかを検査する（Ｓ４２０）。もし、前記ｆｒｏｍスペースに余裕がある場合には前記ユーザープロセス４７０にｆｒｏｍスペースのうち要請されたオブジェクトの大きさだけ割り当て、再びユーザープロセス４７０に制御権を渡す。
【００２５】
もし、前記Ｓ４２０段階で、ｆｒｏｍスペースに余裕がない場合には若い世代領域に対するＧＣ動作が行われる（Ｓ４３０）。
この時、もし、ｔｏスペースの空間が不足すれば、まだ処理され終わらずにｆｒｏｍスペースに残っているオブジェクトはｆｒｏｍスペース内で公知の表示−圧縮方法により処理される（Ｓ４５０）。
【００２６】
前記ガーベージコレクタ４００によりＧＣ作業が正常に終了すれば、前記ガーベージコレクタ４００は、本発明の特徴であるｆｒｏｍスペースとｔｏスペースとを分けるスペース境界線を再設定する（Ｓ４６０）。このために、前記ガーベージコレクタ４００は所定の予測値を持ってｆｒｏｍスペースとｔｏスペース間の境界線を再設定する。
【００２７】
以下では、スペース境界線を再設定する方法を具体的に説明する。
従来にはｆｒｏｍスペースとｔｏスペースとの大きさが同一であったが、本発明では、ｆｒｏｍスペースとｔｏスペースとの境界が適応的に計算される。一般的な場合、ｆｒｏｍスペースに割り当てられた大部分のオブジェクトがもう不要なガーベージに分類されて削除され、一部分だけがｔｏスペースにコピーされる。したがって、ＧＣが終わる度にｆｒｏｍスペースがｔｏスペースよりさらに大きくなるようにスペース境界線を再設定する。
【００２８】
スペース境界線が計算される方法を説明すれば次の通りである。
若い世代領域でのＧＣが行われた時、行われる前に割り当てられていたメモリの総和と遂行後に生き残ったオブジェクトのメモリ総和との比をＲ、ｉ番目のＧＣ時に測定された比率をＲ（ｉ）と定義する。この比率に該当するＲ（ｉ）が安定した確率分布を有すると仮定する場合、最近ｋ回の平均は、
ａｖｇ＝（Ｒ（ｉ）＋Ｒ（ｉ−１）＋…＋Ｒ（ｉ−ｋ＋１））／ｋ
といえる。
【００２９】
次回のＧＣ時の予想比率は、現在までの比率のｋ回の履歴の平均で線形近似になる。この時、線形離脱は、各Ｒ（ｉ）比率と平均との差で定義され、この線形離脱値もＧＣ時に履歴のひとつとして、
ｄｉｖ（ｉ）＝｜Ｒ（ｉ）−ａｖｇ｜
のように別途に保存される。
【００３０】
本発明では、ｆｒｏｍスペースとｔｏスペースとのスペース境界線の急な移動を防止し、メモリプロフィールを安定化させた。このために最近ｋ回のｄｉｖ（ｉ）の値がいずれも設定限界値ＭＡＸ＿Ｄ内に入っているかどうかを確認し、これが確認された時に新しい境界線の再設定のための離脱値ｄｉｖは、
ｄｉｖ＝ｍａｘ（ｄｉｖ，ＭＩＮ＿Ｄ）
を経て確率分布上発生しうる雑音変動を吸収できるように最小限ＭＩＮ＿Ｄの値を有するようにし、最終的にはｄｉｖが最大許容離脱値ＭＡＸ＿Ｄより小さい時にのみ境界線を
Ｒ＊＝ｍａｘ（ａｖｇ，Ｒ（ｉ））＋ｄｉｖ
のように設定する。
【００３１】
本発明は、このような予測値を有してｆｒｏｍスペースとｔｏスペースとのスペース境界線を変化させ続ける。
一方、前記図３では若い世代領域でのＧＣ方法を示し、老いた世代領域と関連したプロセス、すなわち、数回の若い世代領域のコレクションを通じて年齢が増加したオブジェクトを老いた世代領域に移動させるプロセス及び老いた世代領域自体のＧＣと両世代間のメモリ参照更新などの事項は、従来の世代別ＧＣ方法を利用できる。一般的な世代別ＧＣに関しては、ＪｏｎｅｓとＬｉｎｓの‘Ｇａｒｂａｇｅ Ｃｏｌｌｅｃｔｉｏｎ：Ａｌｇｏｒｉｔｈｍｓ ｆｏｒ Ａｕｔｏｍａｔｉｃ Ｄｙｎａｍｉｃ Ｍｅｍｏｒｙ Ｍａｎａｇｅｍｅｎｔ，ｐｐ．１−４１，Ｗｉｌｅｙ（１９９６）’に開示されている。
【００３２】
本発明の実施による適応型ガーベージコレクタの性能を従来のＧＣ方法と比較するために、サン・マイクロシステムズで標準として提供するＪ２ Ｍｉｃｒｏ Ｅｄｉｔｉｏｎ Ｃｏｎｎｅｃｔｅｄ Ｄｅｖｉｃｅ Ｃｏｎｆｉｇｕｒａｔｉｏｎ Ｒｅｆｅｒｅｎｃｅ Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ（以下、‘Ｊ２ＭＥ ＣＤＣ ＲＩ’という）をテストベッドとした。
【００３３】
前記Ｊ２ＭＥ ＣＤＣ ＲＩでは‘マークアンドスウィープ（ｍａｒｋ ａｎｄ ｓｗｅｅｐ）’、‘コピーイングセミスペース（ｃｏｐｙｉｎｇ ｓｅｍｉ−ｓｐａｃｅ’、‘ジェネレーショナル（ｇｅｎｅｒａｔｉｏｎａｌ）’などのＧＣアルゴリズムが行われるが、前記３種のアルゴリズムのうち性能の最も良い‘ジェネレーショナル’、すなわち、世代別ＧＣアルゴリズム（以下、‘ＲＩ ＧＣ’という）と本発明の実施によるアルゴリズム（以下、‘ｎｅｗ ＧＣ’という）との性能を比較した。
【００３４】
また、Ｊａｖａ（登録商標）仮想マシンの性能を測定するのに広く使われるＳＰＥＣｊｖｍ９８ベンチマークテストを通じて前記両アルゴリズムの性能を測定したが、リファレンスＰＣの仕様として、リヌックスレッドホット８．０（Ｌｉｎｕｘ ＲｅｄＨａｔ ８．０）を運用体制とし、ペンティアム（登録商標）ＩＩ、２３３ＭＨｚ、３２ＭＢ ＲＡＭをハードウェアシステム仕様とした。これは、本発明が主にメモリリソース管理を重要視するエンベデッドシステムに有効に使われるために、前記のような仕様とした。
【００３５】
表１は、前記ＳＰＥＣｊｖｍ９８ベンチマークに対するＧＣの性能を比較した結果を示している。
【表１】
2005216298.tif 000003
【００３６】
前記表１で‘メモリ’は、ベンチマーク遂行のためのメモリの大きさを示す。
そして、‘総ＧＣ休止時間’はミリ秒単位であって、ＧＣを行うためにユーザープロセスがしばらく休止した時間を累積した値を示す。この値が小さいほど性能がさらに優秀であるということが分かる。
前記表１に示されたように、本発明の実施による適応型ＧＣ方法を使用する場合に、Ｊａｖａ（登録商標）仮想マシンに適用されてガーベージコレクタにかかる時間がかなり短縮され、最大休止時間もまた短縮された結果を得られる。
【００３７】
以上説明した本発明は、当業者により、本発明の技術的思想を離脱しない範囲内で色々な置換、変形及び変更ができるので、前述した実施形態及び添付された図面に限定されることではない。
【産業上の利用可能性】
【００３８】
本発明は、適応型ガーベージコレクション方法及び前記方法を行う装置に利用されうる。
【図面の簡単な説明】
【００３９】
【図１】従来のセミスペース・コピーイング・コレクション方法を示す例示図である。
【図２】従来の世代別ＧＣ方法を示す例示図である。
【図３】本発明の実施による適応型世代別ＧＣ方法のためのメモリ構造を示す例示図である。
【図４】本発明の実施による若い世代領域でのＧＣを行う方法を示す一実施形態の処理フローチャートである。
【符号の説明】
【００４０】
３００…若い世代領域
３１０…ｆｒｏｍスペース
３２０…スペース境界線
３３０…ｔｏスペース
３５０…老いた世代領域
【図１】
2005216298.tif 000004
【図２】
2005216298.tif 000005
【図３】
2005216298.tif 000006
【図４】
2005216298.tif 000007