JP2002519752A - メモリ空間の動的割当て方法 - Google Patents

メモリ空間の動的割当て方法

Info

Publication number
JP2002519752A
JP2002519752A JP2000556296A JP2000556296A JP2002519752A JP 2002519752 A JP2002519752 A JP 2002519752A JP 2000556296 A JP2000556296 A JP 2000556296A JP 2000556296 A JP2000556296 A JP 2000556296A JP 2002519752 A JP2002519752 A JP 2002519752A
Authority
JP
Japan
Prior art keywords
memory
request
free
objects
memory space
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.)
Abandoned
Application number
JP2000556296A
Other languages
English (en)
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.)
Koninklijke Philips NV
Original Assignee
Philips Electronics NV
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 Philips Electronics NV filed Critical Philips Electronics NV
Publication of JP2002519752A publication Critical patent/JP2002519752A/ja
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0261Garbage collection, i.e. reclamation of unreferenced memory using reference counting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation
    • Y10S707/99957Garbage collection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 データ処理装置は、各々がプログラムスレッドメモリスタック(SF)から派生するそれぞれのポインタによってアクセスされる多数のデータオブジェクトを包含しているヒープメモリ(HM)を具えている。一実施例では、ガーべジコレクションユーティリティ(100)が、ヒープメモリ(HM)を周期的にスウィープして、フリーリスト(FL)への冗長データオブジェクトを識別して、これらオブジェクトのメモリ空間を再使用できるようにする。メモリに対するシステム要求(AREQ)をフリーリストによって適えさせることができない場合には、これらの要求を後に取扱うべく記憶させる(ALLIST)。さらなるデータオブジェクトがスウィープ操作中に冗長オブジェクトとしてマークされるので、これらのオブジェクトが占めているメモリ空間を、通例にならってフリーリスト(FL)を介して利用できるようにする前に、先ず前記記憶済みのシステム要求(ALLIST)のために提供する。

Description

【発明の詳細な説明】
【0001】 (技術分野) 本発明は記憶済みのデータオブジェクトを処理する方法及び装置、特に限定さ
れるものではないが、データ処理装置の実際のメモリ空間又は仮想のメモリ空間
にて実時間で実行させるガーベジコレクションの処理手順中に生じるメモリの割
当てに対するシステム要求の処理に関するものである。
【0002】 (背景技術) ガーベジコレクションとは、システムのメモリ空間をプログラムによるその最
終使用後に自動的に再生利用することである。ガーベジ(残骸)回収法についての
多数の例が、1996年にJohn Wiley & Sons社にて発行されたISBN0-471-94
148-4の第1〜18頁におけるR.Jones外著による論文“Garbage Collection:Al
gorithms for Automatic Dynamics Memory Management”に記載されてい
る。多くのコンピュータプログラムの格納要件は簡単で、しかも予測可能であり
、メモリ空間の割当て及び再生はプログラマ又はコンパイラによって処理される
も、特殊なデータ構造の寿命をプログラムの実行時間の前には最早決めることが
できないように、プログラムの実行パターンがもっと複雑な機能言語となる傾向
にあり、従って、プログラムを実行させ際に、斯かるプログラムのメモリ空間を
自動的に再生利用することが必須事項となっている。
【0003】 多数のガ‐べジコレクション法は、冗長になったオブジェクトを識別するため
に、ヒープメモリのデータオブジェクトをスウィープするものである。このよう
なガ‐べジコレクションシステムでは、メモリの割当て要求がスウィーパ処理と
同時並行で作動し、スウィーパ処理はデッド(回収したガ−べジ)オブジェクトを
フリーのメモリ構体へ移すようにする。システムのメモリ管理が、フリーメモリ
構体から割当て要求を直ぐにサービスさせることができない場合には、通常、現
行のスウィープサイクルが完了するまでメモリ空間の割当てプロセスは阻止され
る。次いで、割当て要求を再度試みることができ、この試みが再び失敗する場合
には、もっと極端なことを行わせる。こうしたものには、ヒープの拡張や、短縮
、又は誤りを伴うプロセスの打切りなどを含めることができる。割当て要求を阻
止することは、システムの運行に時間がかかり、一般に効率を下げることになる
ことは明らかである。
【0004】 従って、本発明の目的は、メモリ割当て要求の処理に対する改善した方法及び
この方法を実現するための装置を提供することにある。
【0005】 本発明は、データ処理装置に使用するメモリ管理方法であって、ランダムアク
セスメモリが多数のデータオブジェクトを包含しており、これらの各データオブ
ジェクトは、メモリ内のそれぞれ知られた位置にあり、しかもメモリスタックに
よってキャリーされるそれぞれのポインタを介してアクセスされ、前記方法が、
メモリを周期的にスウィープして、いずれかのソースから該メモリへのエクステ
ントポインタを持たないデータオブジェクトを特定し、且つこれらのオブジェク
トによって占められていたメモリ空間のブロックをフリーメモリ構体へ転送する
プロセスを含み、メモリ空間に対する外部要求を前記フリーメモリ構体からの割
当てによって適えさせるメモリ管理方法において、 前記フリーメモリ構体から利用できるメモリ空間が不充分となる外部要求を要
求リストに入れ、メモリ空間のフリーになったブロックを、前記リストに入れた
外部要求のために利用できるようにし、且つ、前記メモリ空間のフリーになったブ
ロックを、前記リストに入れた外部要求に対して割当てられない場合にだけ、前
記フリーメモリ構体に転送することを特徴とするメモリ管理方法にある。メモリ
空間のフリーになったブロックを、特にこれらのブロックを必要とする(未実行
の要求リストにあるものに対する)プログラムスレッド又はシステムのユーティ
リティに向けることによって、システムの総体効率が改善され、且つヒープメモリ
をコンパクトにするような抜本的な手段を場合によってはとらなくて済む。
【0006】 前記フリーメモリ構体への前記メモリ空間のフリーになったブロックの転送プ
ロセスは、フリーになったブロックに対するアドレステーブルから前記フリーメ
モリ構体へのポインタを設定するプロセスを含むようにするのが好適であり、
前記要求リストへのエントリを先入れ先出し順序で保持して、フリーになったブ
ロックを記憶済みの外部要求に対して、最も古い要求から最も新しい要求の順序
で利用できるようにする
【0007】 本発明は、メモリ空間を利用できるようにするのに、極端な手段の必要性を低
減させるが、スウィープ操作の終了時に前記ランダムアクセスメモリのコンテン
ツに1回以上の追加のメモリ再生利用技法も適用して、これにより再生されるメ
モリ空間を、前記要求リストに入れた要求をクリヤさせるのに用いるようにする
ことができる。このような状況では、前記要求リストに入れる各要求に対して、
それに入れる時間の記録を保持し、前記1回以上の追加のメモリ再生利用技法の
適用が、或る予定した期間よりも長い間前記要求リストにある1つ以上の要求に
よってトリガされるようにするのが好適である。実時間のカウント値を維持する
別の方法として、前記要求リストに或る要求が存在している時間が、外部要求を要
求リストに入れてから着手したメモリのスウィープ回数として与えられるように
する。
【0008】 本発明はさらに、多数のデータオブジェクトを包含しているランダムアクセス
メモリに結合されるデータプロセッサを具えているデータ処理装置であって、各
データオブジェクトがメモリ内のそれぞれ知られた位置にあり、しかもメモリス
タックによってキャリーされるそれぞれのポインタを介してアクセスされ、前記
プロセッサは、前記メモリのコンテンツを周期的にスウィープして、該メモリへ
のエクステントポインタを有していない記憶済みのデータオブジェクトを特定し
、且つこれらのオブジェクトによって占められていたメモリ空間のブロックをフ
リーメモリ構体へ転送すべく構成され、前記プロセッサが、前記フリーメモリ構
体からの割当てによってメモリ空間に対するプログラム要求を適えるべく構成さ
れるようにしたデータ処理装置において、 前記プロセッサに他の記憶手段を結
合させ、前記プロセッサが、前記フリーメモリ構体から利用できるメモリ空間が
不充分であるプログラム要求を前記他の記憶手段に入れ、且つメモリ空間のフリ
ーになったブロックを、前記フリーメモリ構体に入れるのに優先して、1つ以上
の前記記憶済みのプログラム要求に割当てるべく構成されるようにしたことを特
徴とするデータ処理装置にもある。
【0009】 データ処理装置にはさらに、前記フリーメモリ構体を、フリーになったメモリ
オブジェクトのランダムアクセスメモリの位置に対するポインタの順序リストの
形態で保持するさらに別の記憶手段を設け、且つ記憶済みのプログラム要求を保
持している前記他の手段が、各エントリに対するそれぞれのフィールドを含み、
このフィールドに前記プロセッサが、前記プログラム要求を記憶させてからの進
行中のメモリスウィープ回数を保持するようにすることができる。
【0010】 (発明を実施するための最良の形態) 本発明をより詳細に説述するために、添付の図面に従ってこれを説明する。
【0011】 図1は、例えば、仮想環境を規定するデータ用のブラウザとしてシステムを構
成し得る多数のソフトウエアユ−ティリティ用のホストとして作用するパーソナ
ルコンピュータの如きデータ処理システムを示す。このシステムはアドレス兼デ
ータバス12を介してランダムアクセス(RAM)14及び読取専用(ROM)メモリ16に結合
される中央処理ユニット(CPU)10を具えている。これらのメモリは1個又は数個の
集積回路デバイスで構成することができ、且つシステムハードディスク並びにCD
-ROMのような追加の(取外し可能な)メモリデバイスから読取る手段によって増
やすことができる。CPU10はバス12を介して第1及び第2ユーザ入力デバイス18,20
も結合され、これらの入力デバイスはキーボード及びマウス又はトラックボール
のようなカーソル制御兼選択デバイスで構成するのが好適である。システムから
のオーディオ出力はオーディオ処理段24によって駆動される1個以上のスピーカ2
2により出力される。システムからのビデオ出力は、CPU10の制御のもとで表示駆
動段28によって駆動される表示スクリーン26に提示される。このシステムに対す
る他のデータソースは、例えばインターネットによるような、遠隔サイトへのオ
ンラインリンクによるものであり、このためにシステムにはバス12に結合させる
ネットワークインタフェース30を設けてある。
【0012】 本発明は特に、CPU10の制御のもとでRAM14の作業域に対するメモリ管理をする
ことにあり;このための制御プログラムは最初はROM16に保持させて、電源投入
時にオペレーティングシステムでロードアップさせることができる。次の例はJa
va((R)Sun Microsystems社)仮想マシンにおけるメモリ(記憶域)管理法に迎
合的なものであり、用語はそれ相当に解釈すべきであるが、本発明はJava迎合シ
ステムに限定されるものでもなければ、仮想のメモリ管理そのものに限定される
ものでもない。
【0013】 図2には、図1のシステム、特に様々なプログラムスレッドが使用する多数の
データオブジェクトDOを保持しているヒープメモリHMからの多数の個別のメモリ
領域を図式的に示してある。図示の配置のヒープメモリHMは、プログラムによる
データオブジェクトの最終、又はごく僅かなリファレンスの後に、これらのデー
タオブジェクトをスウィーパ100により取り除くような、ガ‐べジコレクション
を行うためのものであり:オブジェクトの除去によって開放された空間はフリー
の(空の)構体に保持され:この例のフリーメモリ構体は、フリーリストFLから、
又はそれへのポインタによって識別される未使用又は利用可能なブロックによっ
て形成される。フリー構体を特殊なものとすることは本発明の要部ではなく、同
様に使用する別の構成のものとすることもできることは当業者に明らかである。
【0014】 各オペレーティングプログラムスレッドは、ハンドル(処理)テーブルHTを介
してヒープメモリHMにおけるオブジェクトを参照するスタックフレーム(SF)か
ら成る固有のガーべジコレクタを有している。2つのクラス構体CLをヒープメモ
リの右側に示してあり:これらはヒープメモリにおけるデータオブジェクトDOが
参照することができるものであるが、これらそのものをデータオブジェクトにお
けるポインタに置くことはできない。クラス構体の特殊な形態及び機能は、本発
明による操作には関係ないので、詳しい説明は省略する。
【0015】 このシステムでは、最初は果たせないフリーリストFLへの割当て要求AREQを
割当て要求構体ALLISTへ挿入させるようにする。割当てを要求するプロセスは、
この要求がサービスされるまで阻止される。これと同時に、スウィーパ100は
新たに開放されたブロックをフリーリストFLに加えることにより、これらの新た
に開放されたブロックをフリー構体に挿入する。しかし、この挿入時に、フリー
ブロックを割当て要求構体ALLISTにおける未解決の要求と比較し、できれば、ブ
ロックをフリーブロック構体から前記阻止した割当て要求プロセスへ直接転じて
、ALLISTからの要求を再開させ、且つ除去することができる。スウィーパサイク
ルの完了時には、ALLISTにおける残っている未解決の要求を調べる。要求はFIFO
順序でサービスさせるのが好適であり、優先規準を適用することができるも、 こ
れには、割当てられる優先順位が低い或る要求が永久に控え的なものとならない
ように、細心の管理を必要とする。ALLISTにおける要求が或る寿命(age)を経過
する場合には、前述したような極端な作用を行わせることができる。ALLISTにお
ける要求の寿命はスウィーパサイクルによって測定し、それぞれのカウント値をA
LLISTにおける各エントリに関連させ、且つサイクルの完了時に全てのカウント値
を1つ増やすようにするのが好適である。
【0016】 このようなメモリ配置の利点は、割当て要求をサービスさせる平均時間が短縮
することにある。データを待機しているプロセスは、開放されたデータブロック
がフリーリストを介して他のプロセスに利用できるようになる前に、斯かる開放
されたデータブロックを受取ることからして、それぞれのプロセスはもっとフェ
ヤーに行われる。また、ヒープメモリの圧縮又は“アウト−オブ−メモリ”誤り
の如き不所望な緊急作用が延期され、しかも多くの場合に回避されるから、システ
ムの性能が改善される。
【0017】 主としてソフトウエアブラウザインプリメンテーションによって説明したが
、上述した機能的な多くの特徴部分はハードウエア、又はハードウエアとソフト
ウエアとの組合せでも同じように実現し得ることは当業者に明らかである。また
、上述した処理手順は、自動ガーべジコレクションプロシージャ等を含むような
或る範囲のメモリ管理システムに適用し得ることも明らかである。
【0018】 本発明は幾多の変更を加え得ることは当業者に明らかである。このような変更
は、データ処理装置の設計、製造及び使用並びにそのためのデバイス及びその構
成部品にて既に知られており、しかもここで既に述べた特徴の代わりか、又はそ
れに加えて用いることができる他の特徴を含むものとすることができる。
【図面の簡単な説明】
【図1】 本発明を具体化するのに好適なデータ処理システムのブロック図である。
【図2】 図1のシステムにおけるスウィープ機能と、多数の個別のメモリ領域との機能
的な関係を図式的に示した図である。
───────────────────────────────────────────────────── フロントページの続き (71)出願人 Groenewoudseweg 1, 5621 BA Eindhoven, Th e Netherlands

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 データ処理装置に使用するメモリ管理方法であって、ランダムアク
    セスメモリが多数のデータオブジェクトを包含しており、これらの各データオブ
    ジェクトは、メモリ内のそれぞれ知られた位置にあり、しかもメモリスタックに
    よってキャリーされるそれぞれのポインタを介してアクセスされ、前記方法が、
    メモリを周期的にスウィープして、いずれかのソースから該メモリへのエクステ
    ントポインタを持たないデータオブジェクトを特定し、且つこれらのオブジェク
    トによって占められていたメモリ空間のブロックをフリーメモリ構体へ転送する
    プロセスを含み、メモリ空間に対する外部要求を前記フリーメモリ構体からの割
    当てによって適えさせるメモリ管理方法において、 前記フリーメモリ構体から利用できるメモリ空間が不足となるような外部要求
    を要求リストに入れ、メモリ空間のフリーになったブロックを、前記リストに入
    れた外部要求のために利用できるようにし、且つ、前記メモリ空間のフリーになっ
    たブロックを、前記リストに入れた外部要求に対して割当てられない場合にだけ
    、前記フリーメモリ構体に転送することを特徴とするメモリ管理方法。
  2. 【請求項2】 前記フリーメモリ構体への前記メモリ空間のフリーになったブロ
    ックの転送が、フリーになったブロックに対するアドレステーブルから前記フリ
    ーメモリ構体へのポインタを設定することを含むことを特徴とする請求項1に記
    載の方法。
  3. 【請求項3】 前記要求リストへのエントリを先入れ先出し順序で保持し、且つ
    フリーになったブロックを記憶済みの外部要求に対して、最も古い要求から最も
    新しい要求の順序で利用できるようにすることを特徴とする請求項1に記載の方
    法。
  4. 【請求項4】 スウィープ操作の終了時に前記ランダムアクセスメモリのコンテ
    ンツに1回以上の追加のメモリ再生利用技法を適用して、これにより再生される
    メモリ空間を、前記要求リストに入れた要求をクリヤさせるのに用いることを特
    徴とする請求項1に記載の方法。
  5. 【請求項5】 前記要求リストに入れる各要求に対して、それに入れる時間の記
    録を保持し、前記1回以上の追加のメモリ再生利用技法の適用が、或る予定した
    期間よりも長い間前記要求リストにある1つ以上の要求によってトリガされるよ
    うにすることを特徴とする請求項4に記載の方法。
  6. 【請求項6】 前記要求リストに或る要求が存在している時間が、外部要求を要
    求リストに入れてから着手したメモリのスウィープ回数として与えられることを
    特徴とする請求項5に記載の方法。
  7. 【請求項7】 前記1回以上の追加のメモリ再生利用技法が、メモリコンテンツ
    の短縮を含むことを特徴とする請求項4に記載の方法。
  8. 【請求項8】 多数のデータオブジェクトを包含しているランダムアクセスメモ
    リに結合されるデータプロセッサを具えているデータ処理装置であって、各デー
    タオブジェクトがメモリ内のそれぞれ知られた位置にあり、しかもメモリスタッ
    クによってキャリーされるそれぞれのポインタを介してアクセスされ、前記プロ
    セッサは、前記メモリのコンテンツを周期的にスウィープして、該メモリへのエ
    クステントポインタを有していない記憶済みのデータオブジェクトを特定し、且
    つこれらのオブジェクトによって占められていたメモリ空間のブロックをフリー
    メモリ構体へ転送すべく構成され、前記プロセッサが、前記フリーメモリ構体か
    らの割当てによってメモリ空間に対するプログラム要求を適えるべく構成される
    ようにしたデータ処理装置において、 前記プロセッサに他の記憶手段を結合させ、前記プロセッサが、前記フリーメ
    モリ構体から利用できるメモリ空間が不足となるようなプログラム要求を前記他
    の記憶手段に入れ、且つメモリ空間のフリーになったブロックを、前記フリーメ
    モリ構体に入れるのに優先して、1つ以上の前記記憶済みのプログラム要求に割
    当てるべく構成されるようにしたことを特徴とするデータ処理装置。
  9. 【請求項9】 前記フリーメモリ構体を、フリーになったメモリオブジェクトの
    ランダムアクセスメモリの位置に対するポインタの順序リストの形態で保持する
    さらに別の記憶手段を具えていることを特徴とする請求項8に記載の装置。
  10. 【請求項10】記憶済みのプログラム要求を保持している前記他の手段が、各エ
    ントリに対するそれぞれのフィールドを含み、このフィールドに前記プロセッサ
    が、前記プログラム要求を記憶させてからの進行中のメモリスウィープ回数を保
    持するようにしたことを特徴とする請求項8に記載の装置。
JP2000556296A 1998-06-25 1999-06-14 メモリ空間の動的割当て方法 Abandoned JP2002519752A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB9813592.4A GB9813592D0 (en) 1998-06-25 1998-06-25 Dynamic memory space allocation
GB9813592.4 1998-06-25
PCT/IB1999/001094 WO1999067699A2 (en) 1998-06-25 1999-06-14 Dynamic memory space allocation

Publications (1)

Publication Number Publication Date
JP2002519752A true JP2002519752A (ja) 2002-07-02

Family

ID=10834277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000556296A Abandoned JP2002519752A (ja) 1998-06-25 1999-06-14 メモリ空間の動的割当て方法

Country Status (8)

Country Link
US (1) US6360233B1 (ja)
EP (1) EP1038211B1 (ja)
JP (1) JP2002519752A (ja)
CN (1) CN1114864C (ja)
DE (1) DE69923658T8 (ja)
GB (1) GB9813592D0 (ja)
TW (1) TW442723B (ja)
WO (1) WO1999067699A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856761B2 (en) 2011-03-18 2014-10-07 Fujitsu Limited Instruction processing method, instruction processing apparatus, and instruction processing program
KR20150087990A (ko) * 2014-01-23 2015-07-31 한국전자통신연구원 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템 및 방법
KR20190026269A (ko) * 2017-09-04 2019-03-13 울산과학기술원 뉴메모리 기반 메모리 관리 방법 및 이를 수행하는 장치들

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111307B1 (en) * 1999-11-23 2006-09-19 Microsoft Corporation Method and system for monitoring and verifying software drivers using system resources including memory allocation and access
JP3832341B2 (ja) * 2001-12-27 2006-10-11 日本電気株式会社 メモリプール管理方式
WO2003079196A2 (en) * 2002-03-20 2003-09-25 Research In Motion Limited System and method of secure garbage collection on a mobile device
KR100497722B1 (ko) * 2002-07-02 2005-06-23 주식회사 인터와이즈 메모리 데이터 저장공간 관리 방법, 그 방법을 기록한기록매체 및 그 방법 을 이용한 응용프로그램 수행장치
CN100422932C (zh) * 2002-12-31 2008-10-01 上海科泰世纪科技有限公司 自描述数据对象的处理方法
US7096339B2 (en) * 2003-03-01 2006-08-22 International Business Machines Corporation System and method for detecting memory management programming errors
US20050071595A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation Methods and apparatus for allocating memory
JP4144609B2 (ja) 2004-09-29 2008-09-03 ソニー株式会社 情報処理装置、メモリ領域管理方法、並びにコンピュータ・プログラム
WO2008005298A2 (en) * 2006-06-30 2008-01-10 Wms Gaming Inc. Systems and methods for managing memory in wagering game machines
US8202168B2 (en) * 2006-06-30 2012-06-19 Wms Gaming Inc. Systems and methods for managing memory in wagering game machines
US8839225B2 (en) 2008-01-23 2014-09-16 International Business Machines Corporation Generating and applying patches to a computer program code concurrently with its execution
US8019873B2 (en) * 2008-09-30 2011-09-13 Microsoft Corporation Mesh platform utility computing portal
CN101551764B (zh) * 2009-02-27 2010-11-10 北京时代民芯科技有限公司 基于同步冗余线程与编码技术的抗单粒子效应系统及方法
CN102033804A (zh) * 2009-09-29 2011-04-27 国际商业机器公司 辅助内存分析的方法和系统
US10180901B2 (en) 2012-10-19 2019-01-15 Oracle International Corporation Apparatus, system and method for managing space in a storage device
KR102166332B1 (ko) * 2013-10-25 2020-10-16 삼성전자주식회사 메모리 관리 장치 및 메모리 관리 방법
GB2546577B (en) * 2016-01-19 2020-07-08 Arm Ip Ltd A method for allocating memory
CN112965663B (zh) * 2021-03-05 2024-07-02 上海寒武纪信息科技有限公司 对数据块的存储空间进行复用的方法和相关产品

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2265734A (en) * 1992-03-27 1993-10-06 Ibm Free memory cell management system
JPH06511582A (ja) * 1992-07-24 1994-12-22 マイクロソフト コーポレイション メモリを割り当てそして解放するコンピュータ方法及びシステム
US5560003A (en) * 1992-12-21 1996-09-24 Iowa State University Research Foundation, Inc. System and hardware module for incremental real time garbage collection and memory management
US5784699A (en) * 1996-05-24 1998-07-21 Oracle Corporation Dynamic memory allocation in a computer using a bit map index
US6055612A (en) * 1997-07-11 2000-04-25 Geodesic Systems, Inc. Incremental garbage collector with decommit barrier
US6047295A (en) * 1998-05-05 2000-04-04 International Business Machines Corporation Computer system, program product and method of managing weak references with a concurrent mark sweep collector

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856761B2 (en) 2011-03-18 2014-10-07 Fujitsu Limited Instruction processing method, instruction processing apparatus, and instruction processing program
KR20150087990A (ko) * 2014-01-23 2015-07-31 한국전자통신연구원 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템 및 방법
KR102237566B1 (ko) 2014-01-23 2021-04-07 한국전자통신연구원 완전 복제된 가상 머신의 디스크 이미지 파일 캐싱 시스템 및 방법
KR20190026269A (ko) * 2017-09-04 2019-03-13 울산과학기술원 뉴메모리 기반 메모리 관리 방법 및 이를 수행하는 장치들
KR101990201B1 (ko) 2017-09-04 2019-06-17 울산과학기술원 뉴메모리 기반 메모리 관리 방법 및 이를 수행하는 장치들

Also Published As

Publication number Publication date
WO1999067699A2 (en) 1999-12-29
DE69923658T8 (de) 2006-06-08
EP1038211B1 (en) 2005-02-09
WO1999067699A3 (en) 2000-04-06
TW442723B (en) 2001-06-23
CN1275221A (zh) 2000-11-29
CN1114864C (zh) 2003-07-16
DE69923658T2 (de) 2006-03-23
US6360233B1 (en) 2002-03-19
DE69923658D1 (de) 2005-03-17
GB9813592D0 (en) 1998-08-19
EP1038211A2 (en) 2000-09-27

Similar Documents

Publication Publication Date Title
JP2002519752A (ja) メモリ空間の動的割当て方法
US8346822B2 (en) Memory management
EP0938706B1 (en) Data processor with localised memory reclamation
US6571260B1 (en) Memory reclamation method
US6393439B1 (en) Stored data object marking for garbage collectors
EP1049979B1 (en) Incremental garbage collection
US6314436B1 (en) Space-limited marking structure for tracing garbage collectors
US6557091B2 (en) Data processor with localized memory reclamation
US6725241B1 (en) Method and apparatus for freeing memory in a data processing system
US6105040A (en) Method and apparatus for managing stored objects
US7770177B2 (en) System for memory reclamation based on thread entry and release request times
US8397045B2 (en) Memory management device, memory management method, and memory management program
US7870171B2 (en) Method and system for garbage collection in a multitasking environment
US6427154B1 (en) Method of delaying space allocation for parallel copying garbage collection
US20070203959A1 (en) Apparatus and method for managing resources using virtual ID in multiple Java application environment
US20120310998A1 (en) Efficient remembered set for region-based garbage collectors
US20040128329A1 (en) Parallel incremental compaction
US20090228537A1 (en) Object Allocation System and Method
JP2989608B2 (ja) セルプール管理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060612

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20070711