JPH05324456A - 参照カウント式ガーベジコレクション方法 - Google Patents

参照カウント式ガーベジコレクション方法

Info

Publication number
JPH05324456A
JPH05324456A JP12370192A JP12370192A JPH05324456A JP H05324456 A JPH05324456 A JP H05324456A JP 12370192 A JP12370192 A JP 12370192A JP 12370192 A JP12370192 A JP 12370192A JP H05324456 A JPH05324456 A JP H05324456A
Authority
JP
Japan
Prior art keywords
data
area
data area
reference count
garbage collection
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.)
Pending
Application number
JP12370192A
Other languages
English (en)
Inventor
Akihiro Saito
晃宏 齋藤
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.)
Toshiba TEC Corp
Original Assignee
Tokyo Electric Co 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 Tokyo Electric Co Ltd filed Critical Tokyo Electric Co Ltd
Priority to JP12370192A priority Critical patent/JPH05324456A/ja
Publication of JPH05324456A publication Critical patent/JPH05324456A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】メモリの使用効率の向上、管理性の向上及び処
理の高速化を図る。 【構成】メモリ2の領域を固定データ領域21と自由デ
ータ領域22に分割し、データ判別手段13が更新され
ること無く参照のみされるデータを判断すると固定デー
タ領域に格納し、また書込み、削除及び更新の対象とな
るデータを判断すると参照カウント格納部を付して自由
データ領域に格納し、自由データ領域のデータが参照さ
れる毎に対応する参照カウント数をカウントアップし、
参照カウント数が許容される最大値を越えるとタイプ格
納部とデータ格納部のデータを固定データ領域に複写
し、ガーベジコレクタ機能12は自由データ領域のデー
タのみをガーベジコレクションの対象とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、参照カウントを使用し
たガーベジコレクション方法に関する。
【0002】
【従来の技術】メモリはシステムにおいて動的に管理さ
れ、必要になると適当な大きさの記憶領域が割り当てら
れ、不要になると回収されて次の使用に備えられるとい
う処理がよく行われる。このような処理はガーベジコレ
クションと呼ばれる。
【0003】このようなガーベジコレクションには幾つ
かの方法があるが、並列処理あるいは実時間処理におい
ては参照カウント方式が有効となっている。しかし参照
カウント方式では参照カウント数が各データに付属して
いるカウント数を記録する桁数の最大値を越えた場合の
問題を解決する必要がある。すなわちオーバフローの問
題を解決する必要がある。
【0004】このようなオーバフローの問題を解決した
従来の参照カウント・ガーベジコレクション方法として
は、データに付属している参照カウント領域を十分に大
きく取り、参照カウントがオーバフローすることがない
ようにする方法、また参照カウント領域の値が最大値に
達した後は参照カウントの増減を行なわず、参照カウン
ト数が最大値に達したデータの回収は、参照カウント以
外の方法、例えばマーク・アンド・スィーブ法を併用す
る方法、また参照カウントが最大に達したデータの参照
カウント数を別に設けたオーバフロー領域に記録する方
法が知られている。
【0005】さらには特開昭63−204446号公報
に見られるように、参照カウントのオーバフローに対処
するため、オーバフローしたデータを不可視ポインタに
置き換え、そのポインタ先に元のデータと十分な大きさ
の参照カウント語を置くことにより、オーバフロー問題
を解決する方法が知られている。すなわちこの公報のも
のは図5の(a) に示すように参照カウント数、データ型
情報(データが整数であればデータ型はi、データがポ
インタであればデータ型はr、データが不可視ポインタ
であればデータ型はv)及びデータからなる語を使用
し、語をポイントする他の語の数が増大し、参照カウン
ト数がオーバフローするような場合には、図5の(b) に
示すように連続する2語の確保が行われ、元の語のデー
タ型がvとされ、そのデータ領域に確保した語を指示す
る不可視ポインタが書き込まれ、確保した2語の内の一
方の語のデータ領域が拡張参照カウント領域として使用
され、他方の語のデータ領域に元の語のデータ領域の内
容が書き込まれるというものである。
【0006】
【発明が解決しようとする課題】上述した4つの方法の
うち、第1の方法は、一般に参照カウントの最大値が論
理空間の大きさ(語数)に等しいので、参照カウント領
域はデータ領域と略等しいビット数をもつ必要がある。
このため参照カウント方式のガーベジコレクションを行
なうためだけにメモリ容量が約2倍になってしまうとい
う問題があった。
【0007】また第2の方法は、参照カウント方式とマ
ーク・アンド・スィーブ法のような他の方式を併用する
ため、参照カウント方式の長所であり特徴である実時間
性や並列処理への適合性を失ってしまうという問題があ
った。
【0008】また第3の方法は、オーバフロー領域を通
常のメモリとは別のメモリに設ける必要があり、このた
めオーバフロー領域の動的な管理が必要となり、管理が
面倒となる問題があった。
【0009】さらに公報の第4の方法は、第3の方法に
比べてオーバフロー領域の動的な管理は必要ないが、オ
ーバフローが起きた際にはメモリを新たに確保し、元の
データを複写しなければならず、メモリを余分に消費す
る問題があった。
【0010】さらにまた上記各方法では参照のみが行な
われ更新されることがないデータと書込み、削除及び更
新されるデータを区別せずにガーベジコレクションを行
なっているため、ガーベジコレクションの対象領域が大
きく処理速度の高速化を図ることができなかった。
【0011】そこで本発明は、同一のメモリ内でガーベ
ジコレクションの対象となるデータと対象とならないデ
ータを区別して管理し、ガーベジコレクションの対象と
なるデータのみをガーベジコレクションすることで、メ
モリの使用効率の向上、管理性の向上及び処理の高速化
を図ることができる参照カウント式ガーベジコレクショ
ン方法を提供しようとするものである。
【0012】
【課題を解決するための手段と作用】本発明は、記憶領
域を固定データ領域と自由データ領域に分割し、更新さ
れること無く参照のみされるデータを固定データ領域に
格納し、書込み、削除及び更新の対象となるデータを参
照カウント数を付加して自由データ領域に格納し、この
自由データ領域のデータが参照される毎に対応する参照
カウント数をカウントアップし、参照カウント数が許容
される最大値を越えるとき対応するデータを固定データ
領域に複写し、自由データ領域のデータのみをガーベジ
コレクションの対象とすることにある。
【0013】
【実施例】以下、本発明の実施例を図面を参照して説明
する。
【0014】図1はブロック図で、1は処理部本体を構
成するCPU(中央処理装置)、2はデータ記憶領域を
構成するメモリである。
【0015】前記CPU1には、データ処理全体を総合
的に制御するオペレーティングシステム機能11、ガー
ベジコレクション処理を行い、不要なデータを回収する
ガーベジコレクタ機能12、更新されること無く参照の
みされるデータと、書込み、削除及び更新の対象となる
データを判別するデータ判別手段13が備わっている。
【0016】前記メモリ2のデータ記憶領域は、更新さ
れること無く参照のみされるデータを格納する固定デー
タ領域21と、書込み、削除及び更新の対象となるデー
タを格納する自由データ領域22に分割されている。
【0017】前記固定データ領域21に格納されるデー
タは図2の(a) に示すようにデータ型を示すタイプ格納
部とデータ格納部で構成され、また前記自由データ領域
22に格納されるデータは図2の(b) に示すように参照
カウント格納部とデータ型を示すタイプ格納部とデータ
格納部で構成されている。そして前記固定データ領域2
1には参照されるだけで一度も更新されないデータが格
納されるようになっており、ガーベジコレクションの対
象から外されるようになっている。すなわち前記固定デ
ータ領域21のデータはシステムの動作中に不要な領域
を出さないためにガーベジコレクション処理の必要がな
い。前記自由データ領域22は作業領域的なもので、処
理の最中に動的に作成されるデータが格納されるように
なっている。
【0018】なお、タイプ格納部にはデータが整数であ
ればデータ型iが格納され、また論理値であればデータ
型bが格納されるようになっている。また参照カウント
格納部は3ビット構成で、参照カウント数が8以上にな
るとオバーフローするようになっている。
【0019】このような構成の実施例では、データの記
憶が処理系から要求されると、データ判別手段13はデ
ータが参照のみのものか更新される可能性があるかによ
り、データを固定データ領域21に格納するか自由デー
タ領域22に格納するかを判断する。そして参照のみに
使用されるデータは固定データ領域21に格納され、ま
た更新されるデータは自由データ領域22に格納され
る。
【0020】そしてガーベジコレクション処理は以下の
ように行なわれる。
【0021】すなわち、図3の(a) に示すように、1つ
のデータAがデータZを指す。データZは他のデータか
らは参照されないため、参照カウント数が「1」になっ
ている。データは整数、例えば53である。
【0022】ここで図3の(b) に示すように、データA
がデータBにコピーされたとすると、データZを指すポ
インタの数が1増えるので、データZの参照カウント数
が1増やされて「2」となる。
【0023】やがて処理が進み、デ−タAとデータBの
値が書き換えられ、データZを指さなくなってデータZ
の参照カウント数が「0」になると、データZは不要な
データとなる。これによりこのデータ領域を他の目的に
再利用する。
【0024】また処理中にデータZを指すポインタの数
が参照カウント領域で表現できる最大数、すなわち
「7」を越えることがあると、オーバフロー処理が実行
される。例えば図4の(a) に示すように自由データ領域
22のデータZが参照カウント値「7」の状態から1増
えようとすると、オーバフローが発生する。このとき図
4の(b) に示すようにデータZのタイプ格納部とデータ
格納部のみを固定データ領域21に複写し、参照カウン
ト格納部は複写しない。そして複写元である自由データ
領域22のデータZの参照カウント値を「0」にする。
これにより自由データ領域22のデータZは不要データ
となりガーベジの対象となる。以降このデータ領域は他
の目的に再利用できることになる。
【0025】このようにメモリ2のデータ記憶領域を固
定データ領域21と自由データ領域22に分割し、固定
データ領域21には参照カウント値が「7」を越えたデ
ータを格納し、以降このデータを参照のみに使用し、ま
た自由データ領域22に格納されるデータはその参照状
態により参照カウント値が変化し、参照カウント値が
「0」になるとガーベジコレクションの対象となってそ
の領域が他の目的に再利用されるようになるので、ガー
ベジコレクションの対象となる領域は自由データ領域2
2のみでよく、従って領域を小さくできるのでガーベジ
コレクション処理の高速化を図ることができる。従って
リアルタイム処理においてきわめて有効となる。
【0026】またオーバフローが発生したときに新たに
メモリを確保する必要がないので、メモリを余分に消費
することがなくメモリの使用効率の向上を図ることがで
き、またメモリ管理も複雑化することがなく管理性の向
上を図ることができる。
【0027】
【発明の効果】以上詳述したように本発明によれば、同
一のメモリ内でガーベジコレクションの対象となるデー
タと対象とならないデータを区別して管理し、ガーベジ
コレクションの対象となるデータのみをガーベジコレク
ションすることで、メモリの使用効率の向上、管理性の
向上及び処理の高速化を図ることができる参照カウント
式ガーベジコレクション方法を提供できるものである。
【図面の簡単な説明】
【図1】本発明の実施例を示すブロック図。
【図2】同実施例におけるデータ領域に格納するデータ
の構成を示す図。
【図3】同実施例におけるガーベジコレクション処理を
説明するための図。
【図4】同実施例におけるオーバフロー発生時の処理を
説明するための図。
【図5】従来例を示す図。
【符号の説明】
1…CPU(中央処理装置)、12…ガーベジコレク
タ、13…データ判別手段、2…メモリ、21…固定デ
ータ領域、22…自由データ領域。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 記憶領域を固定データ領域と自由データ
    領域に分割し、更新されること無く参照のみされるデー
    タを前記固定データ領域に格納し、書込み、削除及び更
    新の対象となるデータを参照カウント数を付加して前記
    自由データ領域に格納し、この自由データ領域のデータ
    が参照される毎に対応する参照カウント数をカウントア
    ップし、参照カウント数が許容される最大値を越えると
    き対応するデータを前記固定データ領域に複写し、前記
    自由データ領域のデータのみをガーベジコレクションの
    対象とすることを特徴とする参照カウント式ガーベジコ
    レクション方法。
JP12370192A 1992-05-15 1992-05-15 参照カウント式ガーベジコレクション方法 Pending JPH05324456A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12370192A JPH05324456A (ja) 1992-05-15 1992-05-15 参照カウント式ガーベジコレクション方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12370192A JPH05324456A (ja) 1992-05-15 1992-05-15 参照カウント式ガーベジコレクション方法

Publications (1)

Publication Number Publication Date
JPH05324456A true JPH05324456A (ja) 1993-12-07

Family

ID=14867207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12370192A Pending JPH05324456A (ja) 1992-05-15 1992-05-15 参照カウント式ガーベジコレクション方法

Country Status (1)

Country Link
JP (1) JPH05324456A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970022782A (ko) * 1995-10-06 1997-05-30 리 패치 분산 오브젝트 자원 관리용 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970022782A (ko) * 1995-10-06 1997-05-30 리 패치 분산 오브젝트 자원 관리용 시스템 및 방법

Similar Documents

Publication Publication Date Title
US7831796B2 (en) Apparatus, system, and method for dynamically allocating main memory among a plurality of applications
US4695949A (en) Method for efficient support for reference counting
US4807120A (en) Temporal garbage collector with indirection cells
EP0408070B1 (en) Method for allocating real pages to virtual pages having different page sizes therefrom
EP0347881A2 (en) A system for managing a storage medium
US20040128463A1 (en) Apparatus and method for controlling memory allocation for variable size packets
US5829018A (en) Apparatus and method for writing data from a cache to a storage device
US5584015A (en) Buffer memory management method, recording medium, and computer system incorporating same
JPS59220853A (ja) デイスクキヤツシユシステム
JPH05324456A (ja) 参照カウント式ガーベジコレクション方法
JPS6046447B2 (ja) トラツクバツフアメモリ方式
JPS60214060A (ja) 外部記憶キヤツシユ制御方式
JP2920660B2 (ja) ガーベッジコレクションシステムにおけるアクセス可能なオブジェクトの判別方法
JP3868585B2 (ja) メモリ管理装置及びコンピュータ読み取り可能な記録媒体
JP3751814B2 (ja) キャッシュメモリ制御方式
JPH0812643B2 (ja) ページ退避/復元装置
JPS6331809B2 (ja)
JPH06290109A (ja) バッファ記憶装置におけるブロック置き換え制御方式
JP2658969B2 (ja) データ格納制御システム
JPH0246971B2 (ja)
JPH03179539A (ja) ファイル記憶装置ならびにファイル記憶方法
JPH054695B2 (ja)
JPH05324457A (ja) ガーベジコレクション方法
JPH037979B2 (ja)
JPH0520142A (ja) ブロツク管理方式