JPH03189747A - メモリ管理処理方式 - Google Patents

メモリ管理処理方式

Info

Publication number
JPH03189747A
JPH03189747A JP33001389A JP33001389A JPH03189747A JP H03189747 A JPH03189747 A JP H03189747A JP 33001389 A JP33001389 A JP 33001389A JP 33001389 A JP33001389 A JP 33001389A JP H03189747 A JPH03189747 A JP H03189747A
Authority
JP
Japan
Prior art keywords
area
new
fixed area
memory
predetermined
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
JP33001389A
Other languages
English (en)
Inventor
Masayuki Ikura
正幸 伊倉
Akio Shinagawa
明雄 品川
Noboru Asai
登 浅井
Manabu Kawashima
学 川島
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP33001389A priority Critical patent/JPH03189747A/ja
Publication of JPH03189747A publication Critical patent/JPH03189747A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概 要〕 計算機における、言語処理系が自動処理するメモリ管理
の処理に関し、 ガーベジコレクションが効率よく行われ、且つメモリの
使用効率を改善できるメモリ管理処理方式を目的とし、 メモリと、アクセス部と、メモリ管理部を有し、該メモ
リの記憶領域を管理情報によって、固定領域、現領域、
及び新領域に分割し、該新領域には、新固定領域を設け
、該アクセス部は、所定の要求によりオブジェクトを生
成する場合に、該管理情報に従って該現領域の所定の領
域に該オブジェクトを生成し、所定の指定があった場合
、及び該所定の領域に該オブジェクトを生成するための
空き領域が無い場合には、該オブジェクトを該新固定領
域に生成し、所定の要求により、該メモリ上に、生成さ
れている該オブジェクトを無効化し、該メモリ管理部は
、所定のガーベジコレクション処理の場合に、該固定領
域の境界を該新固定領域にある該オブジェクトを含むよ
うに変更し、且つ該現領域にある有効な該オブジェクト
を、該新領域に転送した後、該現領域を新たな新領域、
該新領域を新たな現領域とするように該管理情報を更新
するように構成する。
〔産業上の利用分野〕
本発明は、計算機における、言語処理系が自動処理する
メモリ管理の処理方式に関する。
〔従来の技術〕
計算機のプログラミング言語として公知の、例えばLI
SP言語等で記述されたプログラムを実行するための言
語処理系では公知のように、プログラム及びデータ等の
オブジェクトを、メモリ内に切り出したヒープ等と呼ば
れる作業空間に生成して処理する。なお、オブジェクト
は例えば所定のルートからポインタで連結して木構造を
なすように生成した、データ構造である。
その場合にオブジェクトは、プログラムの実行中に生滅
するので、放置すると空き領域が無くなり、又広範囲に
分散する有効なオブジェクトへのアクセスは、ページン
グを頻発させて実行効率を低下させるようになる。そこ
で、適当な時に公知のガーベジコレクション処理を行っ
て、そのとき残っている有効な各オブジェクトを、なる
べく小領域にまとまるように移動し、又空き領域をまと
めることが必要になる。
しかし、ガーベジコレクションでは、オブジェクトのデ
ータ構造をポインタでたどって、有効な全エレメントを
検出し、それらのエレメントを移動し、ポインタを更新
しなければならず、比較的長い処理時間を要するので、
ガーベジコレクションを効率化する必要があり、従来多
くの検討がなされている。
例えばRobert A、5ha−著“Empiric
al Analysisof a LISP Syst
em″(Stanford Univ、Technic
alReport:C5L−TR−88−351)の一
方式では、第4図のようにヒープを固定領域(Stab
leHeap)、現領域(FromSpace)、新領
域(ToSpace)に分け、新領域の中に新入領域(
NewHeap)と滞留領域(AgingHeap)を
とる。
このようにして、新しいオブジェクトをすべて新入領域
に順次生成しながらプログラムを実行し、例えば新入領
域の空きが、ある所定値より少なくなる等を契機として
、ガーベジコレクションの処理を行うものとし、例えば
第4図(a)の状態でガーベジコレクションを行うと、
その新入領域及び滞留領域の有効なオブジェクトを、新
領域側にそれぞれ移して、(ロ)のように現領域と新領
域とを交換した状態にする、なお滞留領域には、以前に
新入領域にあったオブジェクトが、俊速のようにして移
されているものとする。
更に実行が進み、再びガーベジコレクションを行うと、
再び前記のように現領域と新領域とを交換して(C)の
状態に戻る。以上のような処理を続けて、(C)の状態
のガーベジコレクションをする時、所定の回数繰り返し
ているか、又はその他所定の条件になっていると、その
場合のガーベジコレクションでは、(ロ)のように滞留
領域のオブジェクトを固定領域へ含めるように固定領域
の境界を変更しく図において、領域境界を移動するのみ
の場合を、破線の矢印で示す)、新入領域のオブジェク
トを新たな新領域の滞留領域に移す。
このように、滞留領域には、何回かのガーベジコレクシ
ヨシに耐えたので、なおその後も有効状態で生き残る可
能性が高いと見なされるオブジェクトが保持されている
ので、そのようなオブジェクトが集まる固定領域には、
消滅によって空きを生じるオブジェクトが少ないと見て
よい。従って、前記のようにして実行される通常のガー
ベジコレクションの場合に、固定領域を処理対象から除
くことにより、実効の少ない処理を省いて、ガーベジコ
レクシジンの処理効率を高めることが期待できる。
〔発明が解決しようとする課題〕
しかし、前記の処理方式には次の問題がある。
即ち、プログラム作成者が長期間有効なブジエクトを予
め識別できる場合がしばしばあるが、そのようなオブジ
ェクトも、前記のように何回かのガーベジコレクション
を経ることになる。又、新しいオブジェクトは新入領域
のみに生成できるので、新入領域として設けた領域長よ
り大きなオブジェクトを生成することができず、従って
新入領域は十分余裕を取った大きさにしておかなければ
ならない。更に、現領域と新領域とは常に同じ大きさの
領域を準備しておかなければならないが、一方の領域は
常に遊んでいるので、メモリの使用効率が悪い。
本発明は、以上のような従来方式の問題を解決し、ガー
ベジコレクションが効率よく行われ、且つメモリの使用
効率を改善できるメモリ管理処理方式を目的とする。
〔課題を解決するための手段〕
第1図は、本発明の構成を示すブロック図である。図は
メモリ管理処理方式の構成であって、メモリ1と、アク
セス部2と、メモリ管理部3を有し、メモリ1の記憶領
域を管理情報9によって、固定領域4、現領域5、及び
新領域6に分割し、新領域6には、新固定領域7を設け
、アクセス部2は、所定の要求によりオブジェクトを生
成する場合に、管理情報9に従って現領域5の所定の領
域に該オブジェクトを生成し、所定の指定があった場合
、及び該所定の領域に該オブジェクトを生成するための
空き領域が無い場合には、該オブジェクトを新固定領域
7に生成し、所定の要求により、該メモリ上に生成され
ている該オブジェクトを無効化し、メモリ管理部3は、
所定のガーベジコレクション処理の場合に、固定領域4
の境界を新固定領域7にある該オブジェクトを含むよう
に変更し、且つ現領域5にある有効な該オブジェクトを
、新領域6に転送した後、現領域5を新たな新領域、新
領域6を新たな現領域とするように管理情報9を更新す
る。又、メモリ管理部3が前記ガーベジコレクション処
理を行う場合に、新固定領域7が所定の条件の場合には
、新固定領域7のオブジェクトを該固定領域へ転送する
こと無(、新たな現領域内に設ける旧新固定領域8とし
て保存し、別の該ガーベジコレクション処理を行う場合
に、旧新固定領域8にある該オブジェクトを固定領域4
へ転送する。
〔作 用〕
この処理方式により、新領域の一部を、新固定領域とし
利用するようにし、新固定領域には例えばプログラム作
成者が寿命が比較的長いと識別して所定の指定を行うオ
ブジェクトを生成し、又必要な場合には新入領域を溢れ
るオブジェクトの生成にも使用し、ガーベジコレクショ
ンの場合には、新固定領域のオブジェクトを直ちに、又
は旧断固定領域を1同経て、固定領域に移すことにり、
長寿命が判っているオブジェクトを早く固定領域へ入れ
ることができて、ガーベジコレクションの処理効率を改
善し、且つ従来空きのま−にされている新領域を有効に
利用してメモリ利用効率を改善できる。なお、旧新固定
領域は、新固定領域に生成されるオブジェクトを固定領
域に移す処理を、新固定領域が固定領域に隣接している
場合に行うことにより、オブジェクトの無意味な移動を
防いでガーベジコレクションの処理効率を向上する効果
を持つ。
〔実施例〕
本発明の場合も、現領域5には例えば前記と同様の新入
領域10と滞留領域11とを設け、それらを前記従来の
場合と同様に使用して処理するものとする。
但し本発明により、例えばオブジェクトの生成を指定す
る関数に、新固定領域にオブジェクトを生成することを
指定する機能を設け、アクセス部2はオブジェクトの生
成において、その指定があると指定のオブジェクトを新
入領域10ではなく、新固定領域7に生成する。又アク
セス部2は、生成するオブジェクトが新入領域10を溢
れる場合にも、オブジェクトを新固定領域7に生成する
第2図はメモリ管理部3のガーベジコレクションの処理
の流れの一例を示す図であり、又第3図は処理例におけ
るメモリの状況を説明する図である。適当な契機でガー
ベジコレクションのためにメモリ管理部3が起動される
と、処理ステ・ノブ20で制御情報として処理回数を計
数しているカウンタ等により、その処理が偶数回目のガ
ーベジコレクションか否かを識別する。なお、メモリ1
の記憶領域は初期設定では第3図(a)のように固定領
域4に隣接する領域を現領域5とし、かウンタをOにし
て開始し、最初のガーベジコレクションでカウンタを1
にするものとする。
その処理が奇数回目のガーベジコレクションであると、
処理ステップ21で新固定領域を新たな現固定領域の目
新固定領域とする(第3図(a)から(ロ)の場合等)
偶数回目であれば固定領域4に隣接する新領域6にある
新固定領域7を固定領域に含め、又現領域6に上記のよ
うにして前の回に設けた目新固定領域8にある有効なオ
ブジェクトを固定領域4へ移しく(ハ)から(C)の場
合等)、その後処理ステップ23で新たな新領域に新固
定領域7を設定する。
その後は従来の処理とはり同様であるが、処理ステップ
24でカウンタにより、この回が滞留領域11を整理す
る所定の回(例えば4回目)か識別し、例えば4回目ご
との回であると処理ステップ25で滞留領域11の有効
オブジェクトを固定領域4に移し、処理ステップ26で
新入領域10の有効オブジェクトを新たな現領域に設け
る滞留領域に移し、処理ステップ27で同じ新たな現領
域に新入領域を設ける (第3図(ロ)から(e)の場
合)。
又、滞留領域を整理する回でなければ、処理ステップ2
8で滞留領域11の有効オブジェクトを新たな現領域に
設ける滞留領域に移し、処理ステップ29で新入領域1
0の有効オブジェクトを新たな現領域に設ける新入領域
に移す(第3図(C)から(d)の場合等)。以上の後
処理ステップ30で管理情報9を新たな各領域を指示す
るように設定して処理を終わる。
〔発明の効果〕
以上の説明から明らかなように本発明によれば、計算機
における、言語処理系が自動処理するメモリ管理の処理
において、ガーベジコレクションが効率よく行われ、且
つメモリの使用効率を改善できるという著しい工業的効
果がある。
【図面の簡単な説明】
第1図は本発明の構成を示すブロック図、第2図は本発
明の処理の流れ図、 第3図は本発明のメモリの状況を説明する図、第4図は
従来のメモリの状況を説明する図である。 図において、 1はメモリ、      2はアクセス部、3はメモリ
管理部、  4は固定領域、5は現領域、     6
は新領域、 7は新固定領域、   8は目新固定領域、9は管理情
報、    10は新入領域、11は滞留領域、   
 20〜30は処理ステップを示す。

Claims (1)

  1. 【特許請求の範囲】 1、メモリ(1)と、アクセス部(2)と、メモリ管理
    部(3)を有し、 該メモリ(1)の記憶領域を管理情報(9)によって、
    固定領域(4)、現領域(5)及び新領域(6)に分割
    し、該新領域(6)には、新固定領域(7)を設け、該
    アクセス部(2)は、所定の要求によりオブジェクトを
    生成する場合に、該管理情報(9)に従って該現領域(
    5)の所定の領域に該オブジェクトを生成し、所定の指
    定があった場合、及び該所定の領域に該オブジェクトを
    生成するための空き領域が無い場合には、該オブジェク
    トを該新固定領域(7)に生成し、 所定の要求により、該メモリ上に生成されている該オブ
    ジェクトを無効化し、 該メモリ管理部(3)は、所定のガーベジコレクション
    処理の場合に、該固定領域(4)の境界を該新固定領域
    (7)にある該オブジェクトを含むように変更し、且つ
    該現領域(5)にある有効な該オブジェクトを、該新領
    域(6)に転送した後、該現領域を新たな新領域、該新
    領域を新たな現領域とするように該管理情報(9)を更
    新するように構成されていることを特徴とするメモリ管
    理処理方式。 2、前記メモリ管理部(3)が前記ガーベジコレクショ
    ン処理を行う場合に、該新固定領域(7)が所定の条件
    の場合には、該新固定領域のオブジェクトを該固定領域
    (4)へ転送すること無く、新たな現領域内に設ける旧
    新固定領域(8)として保存し、別の該ガーベジコレク
    ション処理を行う場合に、該旧新固定領域(8)にある
    該オブジェクトを該固定領域へ転送することを特徴とす
    る請求項1記載のメモリ管理処理方式。
JP33001389A 1989-12-19 1989-12-19 メモリ管理処理方式 Pending JPH03189747A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33001389A JPH03189747A (ja) 1989-12-19 1989-12-19 メモリ管理処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33001389A JPH03189747A (ja) 1989-12-19 1989-12-19 メモリ管理処理方式

Publications (1)

Publication Number Publication Date
JPH03189747A true JPH03189747A (ja) 1991-08-19

Family

ID=18227796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33001389A Pending JPH03189747A (ja) 1989-12-19 1989-12-19 メモリ管理処理方式

Country Status (1)

Country Link
JP (1) JPH03189747A (ja)

Cited By (1)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100608606B1 (ko) * 2004-01-28 2006-08-03 삼성전자주식회사 적응형 가비지 컬렉션 방법 및 상기 방법을 수행하는 장치
US7302544B2 (en) 2004-01-28 2007-11-27 Samsung Electronics Co., Ltd. Method and apparatus for adaptive garbage collection

Similar Documents

Publication Publication Date Title
US6865585B1 (en) Method and system for multiprocessor garbage collection
JP3441807B2 (ja) B木インデクスの管理方法およびシステム
EP0474395A2 (en) Data storage hierarchy with shared storage level
JP2679805B2 (ja) ディジタルコンピュータシステムのメモリ管理システム
CN107665219B (zh) 一种日志管理方法及装置
CN106469120A (zh) 碎片整理方法、装置及设备
JP2009205586A (ja) コンパイラおよびプログラム分割方法
JPH03189747A (ja) メモリ管理処理方式
CN103455374B (zh) 一种基于MapReduce的分布式计算方法和装置
CN114661668A (zh) 文件管理方法及相关装置
JP3520527B2 (ja) データ管理方法
Kaplanis et al. HB+ tree: use hadoop and HBase even your data isn't that big
JP2517133B2 (ja) ガ―ベジコレクション処理方式
Lohmann et al. Hard Real-Time Memory-Management in a Single Clock Cycle (on FPGAs)
JP3433842B2 (ja) クラスタリング方法及びシステム
JPH05241936A (ja) ガーベッジコレクション処理方式及びその記憶装置
Davoodi et al. Cache-oblivious persistence
Collins A fast recursive parallel algorithm for triangulation of unordered DTM's
Smaragdakis Trace reduction for LRU-based simulations
JPH0319030A (ja) プロダクションシステム及びその推論方法
JPH025132A (ja) ドキュメント自動作成方式
JPH04124749A (ja) ページアウト対象ページ選択方式
Ali et al. Parallel Generational Copying Garbage Collection Schemes for Shared-Memory Multiprocessors
Farber et al. An interleaved file system for a highly distributed MIMD architecture
Lefkovitz On-Line File Update and Maintenance