JPH05274152A - オブジェクト管理方式 - Google Patents

オブジェクト管理方式

Info

Publication number
JPH05274152A
JPH05274152A JP4070600A JP7060092A JPH05274152A JP H05274152 A JPH05274152 A JP H05274152A JP 4070600 A JP4070600 A JP 4070600A JP 7060092 A JP7060092 A JP 7060092A JP H05274152 A JPH05274152 A JP H05274152A
Authority
JP
Japan
Prior art keywords
memory
area
page
address
procedure
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
JP4070600A
Other languages
English (en)
Inventor
Takeo Maruyama
剛男 丸山
Yoichi Yamamoto
洋一 山本
Kazuhiro Sato
和洋 佐藤
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4070600A priority Critical patent/JPH05274152A/ja
Priority to EP93105031A priority patent/EP0562617A1/en
Priority to US08/038,634 priority patent/US5526519A/en
Publication of JPH05274152A publication Critical patent/JPH05274152A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【目的】データと手続きを一体にして扱うオブジェクト
指向システムの高速な手続き処理を行なうことを目的と
する。 【構成】実メモリ空間101内に、オブジェクト管理情
報群102、ページ管理情報群103、Fixed Page Are
a104及びUnfixed Page Area105を持ち、これらを
管理するメモリ管理部106とページを退避するための
スワップファイル107、オブジェクト内の手続きを実
行するメソッド実行部108から構成される。オブジェ
クトを実メモリ空間内に割付ける時にUnfixed Page Are
aのアドレス非固定ページに割付け、アクセス時にFixed
Page Areaのアドレス固定ページに割り付けることによ
って、オブジェクトをアクセス時に直接物理アドレスを
使用してアクセスでき、また屑集めやスワップ処理は、
アドレス非固定ページに対してのみ行うことで、オブジ
ェクトアクセス処理のボトルネックを少なくする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データと手続きをカプ
セル化したオブジェクトを管理するオブジェクト管理方
式に係り、特にオブジェクトの格納形式、実メモリの管
理方法を含めて、オブジェクトの割付け及びアクセスの
高速化を図る方式に関する。
【0002】
【従来の技術】現在、データと手続きを一体にしてカプ
セル化してオブジェクトとして取扱うオブジェクト指向
が、コンピュータ分野に取り入れられている。特に、オ
ブジェクトを永続的に利用するためのオブジェクト指向
データベースシステムなどでは、オブジェクトを管理す
る機能が必要不可欠である。
【0003】オブジェクトは、任意のデータと手続きを
含むため、オブジェクト管理には、可変長領域を管理す
る機能が必要となる。領域管理は、順に資源を使用して
いくとやがて尽きてしまうため、領域の不要部分を集め
て資源の再利用を行う必要があり、それはガーベジコレ
クション(Garbage Collection)と呼ばれている。ガーベ
ジコレクションには、資源が足りなくなったとき、全領
域内の必要なオブジェクトに印(マーク)をつけ、不要な
領域をスイープするマーク&スイープ(Mark&Sweep)方式
や、領域を2分割して、必要なオブジェクトを一方の領
域にコピーするコピー方式、コピー方式をさらに進め、
領域をさらに分割して、オブジェクトのライフサイクル
を加味して、屑になりにくい情報は同一領域内にかた
め、ガーベジコレクションの対象としないゼネレーショ
ンスカベンジング(Generation Scavenging)方式があ
る。従来のガーベジコレクションのマーク&スイープ方
式については、「汎用コンピュータでの実時間屑集め」
(サイエンス1988年9月号、第56頁〜第71頁、
日経サイエンス社)に、またゼネレーションスカベンジ
ングについては、「Generation Scavenging:A Non-disru
ptive High Performance Storage Reclamation Algorit
hm」(Unger,D.、ACM Symposium on Practical Software
Development Environments,1984、第157頁〜第16
7頁)に記載されている。
【0004】しかし、いくらガーベジコレクションを行
っても、必要なオブジェクトが多くなると、領域を確保
出来なくなり、システムがダウンしてしまう場合もあ
る。一般には領域を一時的に二次記憶装置に退避する方
法が使われている。オペレーティングシステムの仮想記
憶方式の管理方式の中で、二次記憶装置を含めた領域の
管理が実現されており、近年良く用いられている方式
は、ページング(Paging)方式である。領域をページ単位
に分け、領域が不足した場合、ページごとファイルに吐
き出す。このファイルをスワップファイル(Swap fil
e)、スワップファイルへの入出力をスワップイン/スワ
ップアウト(Swap in/Swap out)と呼ぶ。スワップアウト
するページを選択する方法としては、LRU(Least Recent
ly Used)方式がよく使用される。これは、最も先にアク
セスされたページをスワップアウトする方法である。ペ
ージング方式については、オペレーティングシステム入
門(日本電気情報処理教育部、第212頁〜第217
頁、日本能率協会)に記載されている。
【0005】データベースシステムを例に挙げる。現在
データベースシステムとして著名な関係データベース
は、データの集合を表形式に扱い、表のカラムをレコー
ドとして扱うことが出来る。関係データベースの資源管
理にも、ページング方式が使用され、ページにレコード
の集合(表のサブセット)を保持する。必要なレコード
へのアクセスは、必要なページのアクセスに変換され処
理される。また新たなアクセス要求が来た場合、不要ペ
ージをおいだしてページ領域を確保する方法は、同様に
前述したLRU方式が使用される。関係データベースのペ
ージによる格納方法については、「An Introduction to
Database Systems 4th Edition」(C.J.Date,Addison Wes
ley,1986,pp.47-58)に記載されている。
【0006】
【発明が解決しようとする課題】上記従来技術では、手
続き実行中に使用されているオブジェクトをガーベジコ
レクションとスワップ処理の対象から外すという考え方
がない。従来技術では、仮想記憶方式の論理アドレス
と、論理アドレスを実記憶装置上の物理アドレスや、二
次記憶装置へのアクセス情報へマッピングするマッピン
グ情報によって、オブジェクトがアクセスされる。その
ため、論理アドレスを変更することなく、マッピング情
報を変更するだけで、実記憶装置のガーベジコレクショ
ンやスワップ処理が行えるという利点があるが、マッピ
ング情報を変更している間は、システムが停止状態にな
る。特に、手続きを実行するオブジェクトは、命令のフ
ェッチと実行を連続的に繰り返し行う必要があり、ガー
ベジコレクションやスワップ処理が実行されると、オブ
ジェクトの手続き実行のスループットが劣化するという
問題がある。
【0007】本発明の目的は、オブジェクト管理システ
ムにおいてオブジェクトの手続き実行処理のスループッ
トを向上することのできる、さらにオブジェクトのデー
タベースを有効に活用するためにガーベジコレクション
やスワップ処理が発生してもオブジェクトの実行をスム
ーズに行うことのできるオブジェクト管理方式を提供す
ることにある。
【0008】
【課題を解決するための手段】上記目的は、可変長のデ
ータと手続きをカプセル化したオブジェクトを格納する
メモリと、該メモリからオブジェクトを取り込み手続き
を実行する実行部と、前記メモリ資源が不足したときに
不要な領域を集めてスィープしメモリ資源の再利用を行
なうメモリ管理部とからなるオブジェクト管理システム
において、前記メモリ領域をアドレス固定領域とアドレ
ス非固定領域とに分け、前記実行部がオブジェクトの手
続きを実行するときに、オブジェクトをアドレス固定領
域に移して実アドレスに固定し、実行が終了したときに
アドレス非固定領域に移して固定した実アドレスを解放
することにより達成される。
【0009】さらに、ガーベジコレクション処理時や、
メモリ領域をページ単位に分けて管理して当該実メモリ
空間が一杯になったときにページ単位でスワップ処理を
行なうときには、アドレス固定領域はその対象から外し
て処理を行なうことにより達成される。
【0010】
【作用】アドレス固定されたオブジェクトをガーベジコ
レクションやスワップ処理の対象から外すためガーベジ
コレクションやスワップ処理をアクセス中のオブジェク
トに影響を及ぼさずに行なうことができる。また、オブ
ジェクト実行時にオブジェクトを実アドレスに固定する
ため、ガーベジコレクション処理中も、ガーベジコレク
ション処理の対象外であるアドレス固定されたオブジェ
クトに、メモリ管理を介することなくアクセスが出来、
オブジェクトの手続き実行処理のスループットを向上す
ることが出来る。
【0011】
【実施例】以下、本発明の一実施例を図1から図7を用
いて詳細に説明する。
【0012】図1は、本発明の一実施例のオブジェクト
管理システムの構成を示す図である。101はオブジェ
クトやオブジェクト管理情報等を格納する実メモリ空
間、102は全てのオブジェクト管理情報が保持されて
いるオブジェクト管理情報群、103は実メモリ空間を
ページ管理するためのページ管理情報を保持するページ
管理情報群、104はアドレス固定されているオブジェ
クトを保持するページ(フィックスドページ:Fixed Pag
e)が保持されている領域(Fixed Page Area)、105は
アドレス固定されていないオブジェクトを保持するペー
ジ(アンフィックスドページ:Unfixed Page)が保持され
ている領域(Unfixed Page Area)、106は実メモリ空
間101内の領域102〜105を管理するメモリ管理
部、107は実メモリ空間101内のアドレス固定され
ていないページ領域105から、必要に応じて実メモリ
空間101外へ追い出すとき、使用されるスワップファ
イル(Swap file)、108はメモリ管理部106によっ
て保持されている実メモリ空間101内のオブジェクト
の手続きの実行や、実行時にオブジェクトのアドレス固
定要求をメモリ管理部に対して行なうメソッド実行系を
示す。オブジェクトのアドレス固定については、後述す
る。
【0013】本発明のオブジェクト管理システムでは、
オブジェクトを固定長のサイズを持つオブジェクト管理
情報(Object Management Information:OMI)と可変長の
サイズを持つデータ、手続きの実領域(Region)に分けて
管理を行う。オブジェクト管理情報は、オブジェクト管
理情報群102に、また実領域は、アドレス固定されて
いるページもしくはアドレス固定されていないページ内
に保持される。オブジェクト管理情報を取得するため
に、オブジェクトをローカルに識別するための識別子、
オブジェクト番号を使用する。
【0014】図2にオブジェクト管理情報の構成例を示
す。201は、オブジェクトがアドレス固定要求を受け
た回数を保持する固定カウンタ(Fixed Counter)であ
り、この固定カウンタ201が0であるとき、このオブ
ジェクトは、アドレス固定がされていないことを示す。
アドレス固定とは、実メモリ空間101の物理アドレス
にオブジェクトの実領域をマッピングしてその物理アド
レスを不変にすることである。アドレス固定要求は、そ
のオブジェクトをアクセスする必要が生じた場合に発生
するため、1つのオブジェクトに対し複数回行われる。
また固定要求されたオブジェクトはアクセス終了時に必
ず解放され、カウンタは1減少される。202は、この
オブジェクトが他のオブジェクトから参照されている数
を保持する参照カウンタ(Reference Counter)である。
203は、このオブジェクトがメソッドの受け手(Recei
ver)やパラメタなどに使用されているといった一時的な
参照の数を保持する一時参照カウンタ(Temporary Refer
ence Counter)である。参照とは、例えば、オブジェク
トAの中にオブジェクトBを持つ複合オブジェクトのこ
とであり、この場合、オブジェクトBは、オブジェクト
Aから参照されているので、オブジェクトBの参照カウ
ンタは一増加される。また、一時参照とは、静的に参照
されているのではなく、例えば、手続きの引数にオブジ
ェクトCが指定されることであり、この場合、オブジェ
クトCの一時参照カウンタは、一増加される。これらの
参照カウンタは、参照が無くなった時点で、一減少され
る。参照カウンタ202又は一時参照カウンタ203が
0でないときは、このオブジェクトはどこからか参照さ
れているため、有効であることを示す。本実施例では、
有効な場合、このオブジェクトをガーベジコレクション
の対象としない。逆に、これら二つの参照カウンタが0
で有るとき、このオブジェクトは、屑とみなされ、ガー
ベジコレクションの対象とする。204は、グローバル
で一意にオブジェクトを識別するためのオブジェクトI
D、205は、実領域のサイズ、206〜207は、ア
ドレス固定されていない実領域をアクセスするための情
報で、ページをアクセスするためのページ番号206と
ページを更に細分化したスロットのスロット番号207
によって、アクセス場所が決まる。208は、アドレス
固定されているときの実領域のアクセス情報で、物理ア
ドレスが保持されていて、アドレス固定されたときはア
クセス情報208を直接参照してアクセスする。
【0015】なお、データベース(以下DBとする)を
複数のシステムで共有している場合、全てのシステムで
当該オブジェクトをユニークに識別することが可能な識
別子がオブジェクトIDである。オブジェクト番号は自
システム内でのみ有効な識別子である。図8に複数のシ
ステムでDBを共有する例を示す。太線部801が図1
の本発明のシステム構成、802はDBと実メモリ部の
間でオブジェクトのやりとりを行なうDB管理部、オブ
ジェクト番号により目的のオブジェクトをDBから取得
する為のオブジェクトIDとオブジェクト番号の対応表
803、共有オブジェクトDB804、他のDBシステ
ム805である。DB804に入ったオブジェクトはオ
ブジェクトIDで識別され、ロードされたオブジェクト
は、オブジェクト番号に変更して、本発明のシステム8
01で処理される。
【0016】図3に、ページ管理情報の構成例を示す。
301は、スワップファイル内のページも含む全てのア
ンフィックスドページのページ管理情報(Page Manageme
nt Information)リストの先頭エントリを示すポイン
タ、302は、301で指されているページリストの最
終エントリを示すポインタ、303は、全てのフィック
スドページのページ管理情報リストの先頭を示すポイン
タ、304は、ページ管理情報群、305〜312は、
ページ管理情報の構造を示し、305は、ページがメモ
リにあるか、スワップファイルに退避されているかを示
すフラグ、306は、ページがフィックスドかアンフィ
ックスドかを示すアドレス固定状態フラグ、307は、
ページ内がスロットに分割されて管理されているため、
各スロットの使用/未使用を管理するための状態フラグ
マップ、308は、ページ管理情報リスト301及び3
03における次のエントリへのポインタ、309は連続
したページ(ContinuousPage)のページ数、310はCont
inuousPage中の次のページのページ管理情報へのポイン
タ、311はContinuousPage中の最後のページのページ
管理情報へのポインタである。Unfixed/FixedPageList
には、連続したページがある場合、その連続したページ
の先頭の先頭ページの管理情報のみがつながれ、それに
続くページのページ管理情報は、310と311で示さ
れる。なお、連続したページの最後のページの時、31
0にはnullが設定される。ページが1ページからな
る時は、309には0が設定され、310,311には
nullが設定される。312はページをアクセスする
ための情報で、ページが実メモリ空間101内にある場
合は、物理アドレス、またページがスワップファイル1
07に存在する場合は、ファイル内のオフセットが保持
される。313は、ページ、314は、実領域を示す。
なお、ページ管理情報は、テーブル形式で配列化してあ
るので、先頭アドレス+ページ番号×ページ管理情報の
サイズで、ページ管理情報へのアクセスが行なえる。
【0017】図4に、アドレス固定要求を行うためのフ
ローチャートを示す。これは、既にメモリに割り付けら
れているオブジェクトの実領域をアドレス固定するため
のフローチャートの例である。スワップファイル上にあ
る場合は、非固定領域へロードしてから行なう。
【0018】メソッド実行系では手続きを実行する時に
メモリ管理部に対してアドレス固定要求を出す。メモリ
管理部では実行するオブジェクトのオブジェクト番号を
パラメタとして処理を開始する。まず、メソッド実行系
から渡されたオブジェクト番号からテーブルを用いてオ
ブジェクトIDを求め、オブジェクト管理情報を取得す
る(401)。固定カウンタ201(FC)が0である
かどうかを判定する(402)。0でない場合、前述し
たように、既にこのオブジェクトのアドレスが固定され
ているため処理を終了する。FCが0の場合にはオブジ
ェクトの実領域サイズ205とページサイズの大きさを
比較する(403)。なお、ページサイズは予め設定し
ておく。オブジェクトの実領域サイズ205(Region S
ize)がページサイズ以上の大きさなら、必要なページ
数を算出し(404)、アドレス固定されていない必要
ページ分の連続ページをもつ連続したページの先頭ペー
ジのページ管理情報を取得する(405)。そして、取
得できたか判断し(406)、取得できた場合、ページ
のアドレス固定状態フラグ306をアドレス固定されて
いない状態から、アドレス固定されている状態へ移行す
る(407)。取得できない場合は、実領域をFixedPag
eに割り付ける(408)。そして、414以降の処理
を行う。403でページサイズより小さい場合、要求さ
れたサイズを満たすスロット数を算出する(409)。
実領域のサイズがスロットサイズの倍数になっているか
を判断し(410)、なっていなければ、、スロット数
を1増やし必要スロット数を確定する(411)。ステ
ップ412では、実領域のサイズがスロットサイズの倍
数になっているか又は、ステップ411の処理を行った
ら、フィックスドページリスト303から、連続した必
要スロット数を有するページを捜し(412)、見つか
らないなら、ステップ409で選択したスロットサイズ
を持つアドレス固定されたオブジェクトを格納する領域
の割付けを行う(413)。領域の割付けについては、
図5に示す。次に、アドレス固定されていない実領域を
アドレス固定されているオブジェクトを格納するページ
へコピーし(414)、移動後のアドレス固定されてい
るページのスロット未使用/使用状態フラグマップ30
7を修正する(415)。次にオブジェクト管理情報内
のアドレス固定時の物理アドレス208に、移動先の実
領域を設定し(416)、アドレス固定した実領域の物
理アドレスを戻り値として設定する(417)。オブジ
ェクト管理情報のアドレス固定カウンタ201を1増や
し(418)、設定した戻り値を返す(419)。
【0019】図5に、オブジェクトに実領域を割り付け
るためのアルゴリズムを示す。まず、メソッド実行系
が、割り付けるためのサイズとそのタイプをパラメタと
してメモリ管理部に渡す。タイプは、アドレス固定され
ている領域/されていない領域の2種類に分けられる。
要求サイズとページサイズを比較し(501)、要求サ
イズがページサイズより小さくないなら、必要なページ
数(R)を算出する(502)。次に要求サイズの1ペ
ージ未満分を算出する。必要ページ数が0より大きいか
を判断し(503)、0より大きくなければ、ステップ
529へ行く、0より大きければ、要求領域のタイプが
アドレス固定であるかを判断し(504)、要求領域の
タイプがアドレス固定でないなら、アドレス固定されて
いないページの割付けを要求する(505)。要求領域
のタイプがアドレス固定であれば、アドレス固定されて
いるページの割付けを要求する(506)。次にページ
カウンタを1減らし(507)、次に、連続したページ
(ContinuousPage)に関するページ管理情報内の情報30
9〜311を更新し、そのページのスロットを全てUsed
状態に変更して、1ページ全てを使用することを設定す
る(508)。必要ページ数分処理を行ったら、割付け
られた先頭ページの番号をpにスロット番号を0にして
(529)、531以降の処理を行う。要求サイズがペ
ージサイズより小さいなら、要求領域がアドレス固定さ
れていない領域であるかを判断し(509)、そうでな
ければ、アドレス固定領域を保持するページのリストの
先頭を得る(510)。そうであれば、アドレス固定さ
れていない領域を保持するページのリストの先頭を得る
(511)。ここでは、ガーベジコレクションを起動す
るタイミングを、リストにつながれたエントリ数が、あ
る任意の自然数Nの倍数になったときに行う。なお、N
は予め設定しておく。リストエントリ数を数えるカウン
タを0に設定し(512)、ステップ513〜515
で、要求サイズに必要なスロット数を算出する。次に、
リストエントリが無くなるまで以下の処理を行う(51
6)。まず、リストエントリ内のスロット未使用/使用
状態フラグマップ307を調べて、必要スロット数が連
続して空いているかどうかを調べる(517)。その結
果ページに空きスロットがないなら(518)、リスト
の次のエントリ308を得て(519)、リストエント
リ数を1増加し(520)、ステップ516へ戻る。リ
ストエントリが無くなるまで前記の処理が終了したら、
要求領域がアドレス固定されていなくてかつ、リストエ
ントリ数がNの倍数かを判断する(521)。そうであ
れば、ステップ522〜525で、アドレス固定されて
いないページリストの全てのページに対し、ガーベジコ
レクションを行う。ガーベジコレクションの手法として
は、同一ページ内でのオブジェクトの移動によるコンパ
クションを用いる。そうでなければ、ステップ526〜
528で、連続空きスロットが無いので、ステップ50
5〜507と同様、要求された実領域のタイプに対する
ページを割り付ける。そして割り付けたページの先頭ス
ロットをアクセス情報として設定する(529)。一
方、ステップ518で、空きスロットが見つかった場
合、見つけたスロットをアクセス情報として設定する
(530)。ステップ530及び529で設定されたア
クセス情報をオブジェクト管理情報に設定する(53
1)。ステップ531の処理については、図6に示す。
またステップ505、506、527、528で行われ
るページの割付け処理については、図7にその例を示
す。
【0020】図6には、ページ番号及びスロット番号か
らオブジェクト管理情報内に実領域を設定するアルゴリ
ズムを示す。まず、要求領域がアンフィックスドである
かを判定し(601)、そうであれば、スロット番号を
オブジェクト管理情報(OMI)のアンフィックスドス
ロット番号207に設定し(602)、ページ番号をオ
ブジェクト管理情報のアンフィックスドページ番号20
6へ設定する(603)。要求領域がアンフィックスド
でない場合は、ページ番号に対応するページ管理情報を
取得し、ページが保持されている物理アドレス309を
得て(604)、実領域のアドレスを算出する(60
5)。ステップ605で算出した実領域の物理アドレス
をオブジェクト管理情報のフィックスドページの物理ア
ドレス208に設定する(606)。
【0021】図7にページを割り付けるアルゴリズムを
示す。実メモリ空間101内の空きページ領域が尽きて
いないかを判断し(701)、尽きていないなら、そこ
から1ページ分の領域を取得する(709)。尽きてい
た場合、アンフィックスドページのページ管理情報リス
トにアンフィックスドページが存在するかを判断し(7
02)、存在しなければ、割り付けエラーとなる(71
7)。存在すれば、アンフィックスドページのページ管
理情報リストの先頭エントリ301が指すページを得る
(703)。当該ページがスワップアウトされているか
を判断し(704)、スワップアウトされていれば、ア
ンフィックスドページの最後か否かを判断する。最後で
あれば、割り付けエラーとなる(716)。最後でなけ
ればアンフィックスドページのページ管理情報リストの
次のページを得てステップ704へ行く。スワップアウ
トされていなければ、当該ページをスワップアウトし
(707)、当該ページのリストエントリを、アンフィ
ックスドページのページ管理情報リストの最後に繋
ぐ。。それにはアンフィックスドページのページ管理情
報リストの最終エントリ302を使用する(708)。
次に、ページ管理情報を取得する(710)。ページ管
理情報は、ここでは、新しいページ番号を取得すると、
それに対応して割り付けられるものとする。ページ内の
全てのスロットが未使用状態になるよう、スロット未使
用/使用状態フラグマップ307を設定する(71
1)。要求されたページのタイプが、アドレス固定され
ているページであったなら(712)、アドレス固定状
態フラグ306をアドレス固定に設定し(715)、ア
ドレス固定ページリスト303へ割り付けたページを繋
ぐ(716)。一方、ステップ707で、要求されたペ
ージがアドレス固定されていないページであった場合、
同様に、アドレス固定状態フラグ306をアドレス非固
定に設定し(713)、アドレス固定されていないペー
ジリスト301へ繋ぐ(713)。ステップ713で
は、アンフィックスドページのページ管理情報リストの
最後を示すアンフィックスドページのページ管理情報リ
ストの最終エントリ302を使用して、アンフィックス
ドページのページ管理情報リストの最後に繋ぐ(71
4)。
【0022】ステップ717で要求ページが1ページの
時、以上の処理を行ない、1ページより多いときは、ス
テップ718でページ管理情報のアドレスを返す。ペー
ジ割り付け要求は、連続ページの時、要求者が管理す
る。つまり、309、310、311はページ割り付け
とは別に設定する。
【0023】本実施例では、オブジェクトを管理するオ
ブジェクト管理情報とメモリ領域のページ管理を行なう
ためのページ管理情報を参照してオブジェクトを実行し
アドレス固定領域をスワップ処理の対象から外すのでオ
ブジェクト手続きの高速な処理が行なえる。
【0024】
【発明の効果】本発明によれば、オブジェクトの実領域
を実行時にアドレス固定することによって、メモリ管理
部を介さず、直接実領域をアクセスでき、手続きの高速
化が図れると共に、アクセス中のオブジェクトの実領域
は、ガーベジコレクションやスワップ処理の対象となら
ないため、手続き実行中に実領域の位置が移動する処理
が生じないため、高速な処理が可能となる。
【0025】
【図面の簡単な説明】
【図1】本発明の一実施例のオブジェクト管理システム
の構成図である。
【図2】オブジェクト管理情報の構成図である。
【図3】ページ管理情報の構成図である。
【図4】アドレス固定処理を示すフローチャートであ
る。
【図5】実領域の割付け処理を示すフローチャートであ
る。
【図6】実領域のアクセス情報設定処理を示すフローチ
ャートである。
【図7】ページ割付け処理を示すフローチャートであ
る。
【図8】複数のシステムでDBを共有する例を示す図で
ある。
【符号の説明】
101…実メモリ空間、102…オブジェクト管理情報
群、103…ページ管理情報群、104…アドレス固定
ページ、105…非アドレス固定ページ、106…メモ
リ管理部、107…スワップファイル、108…メソッ
ド実行系。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】可変長データとそのデータの取り扱いに関
    する手続きを含むオブジェクトを格納するメモリと、該
    メモリからオブジェクトを取り込み、手続きを実行する
    実行部と、前記メモリの領域が不足したときに該メモリ
    からオブジェクトを除去し必要なオブジェクトを該メモ
    リに取り込むためのメモリ管理部とからなるオブジェク
    ト管理システムにおいて、前記メモリ領域をアドレス固
    定領域とアドレス非固定領域とに分け、前記実行部がオ
    ブジェクトの手続きを実行するときに、該オブジェクト
    をアドレス固定領域に移し、実行が終了したときにアド
    レス非固定領域に戻すことを特徴とするオブジェクト管
    理方式。
  2. 【請求項2】請求項1記載のオブジェクト管理方式にお
    いて、ガーベジコレクション処理は、前記アドレス非固
    定領域に存在するオブジェクトを対象にして行ない、前
    記アドレス固定領域に存在するオブジェクトを対象から
    外すことを特徴とするオブジェクト管理方式。
  3. 【請求項3】請求項1記載のオブジェクト管理方式にお
    いて、前記実行部から指定されたオブジェクトがメモリ
    領域に存在していない場合外部記憶装置から指定された
    オブジェクトを取り込むことを特徴とするオブジェクト
    管理方式。
  4. 【請求項4】請求項3記載のオブジェクト管理方式にお
    いて、前記メモリ領域をページ単位に分けて管理し、前
    記外部記憶装置から指定されたオブジェクトを取り込む
    時に、前記メモリの領域が不足していた場合に行なうス
    ワップ処理を前記アドレス非固定領域のページを対象と
    して行ない、アドレス固定領域のページは対象から外す
    ことを特徴とするオブジェクト管理方式。
  5. 【請求項5】可変長データとそのデータの取り扱いに関
    する手続きを含むオブジェクトを格納するメモリと、該
    メモリからオブジェクトを取り込み、手続きを実行する
    実行部と、前記メモリの領域が不足したときに該メモリ
    からオブジェクトを除去し必要なオブジェクトを該メモ
    リに取り込むためのメモリ管理部とからなるオブジェク
    ト管理システムにおいて、オブジェクト中の手続きを実
    行中であるか否かを表わす情報を各オブジェクト毎にオ
    ブジェクト管理情報として有し、除去するオブジェクト
    を選択するときは前記オブジェクト管理情報を参照して
    手続き実行中のオブジェクトは選択しないことを特徴と
    するオブジェクト管理方式。
  6. 【請求項6】可変長データとそのデータの取り扱いに関
    する手続きを含むオブジェクトを格納するメモリと、該
    メモリからオブジェクトを取り込み、手続きを実行する
    実行部と、前記メモリの領域が不足したときに該メモリ
    からオブジェクトを除去し必要なオブジェクトを該メモ
    リに取り込むためのメモリ管理部とからなるオブジェク
    ト管理システムにおいて、前記メモリ領域を手続き実行
    中のオブジェクトを格納する第1の領域と、実行中でな
    いオブジェクトを格納する第2の領域とに分割し、前記
    メモリから除去するオブジェクトを選択する時には第2
    の領域のオブジェクトを対象とすることを特徴とするオ
    ブジェクト管理方式。
JP4070600A 1992-03-27 1992-03-27 オブジェクト管理方式 Pending JPH05274152A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP4070600A JPH05274152A (ja) 1992-03-27 1992-03-27 オブジェクト管理方式
EP93105031A EP0562617A1 (en) 1992-03-27 1993-03-26 Object management system
US08/038,634 US5526519A (en) 1992-03-27 1993-03-29 Memory management technique for efficient execution of procedures in objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4070600A JPH05274152A (ja) 1992-03-27 1992-03-27 オブジェクト管理方式

Publications (1)

Publication Number Publication Date
JPH05274152A true JPH05274152A (ja) 1993-10-22

Family

ID=13436224

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4070600A Pending JPH05274152A (ja) 1992-03-27 1992-03-27 オブジェクト管理方式

Country Status (3)

Country Link
US (1) US5526519A (ja)
EP (1) EP0562617A1 (ja)
JP (1) JPH05274152A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008144226A1 (en) * 2007-05-15 2008-11-27 Microsoft Corporation Interactive storage meter for a storage container

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3773964B2 (ja) * 1994-07-25 2006-05-10 株式会社日立製作所 オブジェクト指向データベース管理システム及びその管理方法
JP2924705B2 (ja) * 1995-04-10 1999-07-26 富士ゼロックス株式会社 メモリ管理方法およびオブジェクト管理方法
US5692184A (en) * 1995-05-09 1997-11-25 Intergraph Corporation Object relationship management system
US5842223A (en) * 1995-07-03 1998-11-24 Sun Microsystems Inc. Method and apparatus for information state management
WO1998015192A1 (en) * 1996-10-09 1998-04-16 Givaudan-Roure (International) S.A. Process for preparing beads as food additive
US5928321A (en) * 1997-05-30 1999-07-27 Sony Corporation Task and stack manager for digital video decoding
US6804766B1 (en) * 1997-11-12 2004-10-12 Hewlett-Packard Development Company, L.P. Method for managing pages of a designated memory object according to selected memory management policies
US6070168A (en) * 1997-12-31 2000-05-30 Nortel Networks Corporation Platform-independent object memory manager
US6725241B1 (en) 1999-03-31 2004-04-20 International Business Machines Corporation Method and apparatus for freeing memory in a data processing system
US6408305B1 (en) * 1999-08-13 2002-06-18 International Business Machines Corporation Access frontier for demand loading pages in object-oriented databases
US6611898B1 (en) 2000-12-22 2003-08-26 Convergys Customer Management Group, Inc. Object-oriented cache management system and method
GB2381886B (en) * 2001-11-07 2004-06-23 Sun Microsystems Inc Computer system with virtual memory and paging mechanism
EP1613171B1 (en) 2003-04-11 2015-09-09 Cargill, Incorporated Pellet systems for preparing beverages
US20080194336A1 (en) * 2004-06-07 2008-08-14 Gagner Mark B Gaming Device with Resources Swapping
JP5463899B2 (ja) * 2009-12-22 2014-04-09 富士通株式会社 ファイル管理情報記憶装置、ファイル管理情報記憶装置の制御方法、およびファイル管理情報記憶装置の制御プログラム
US9235352B2 (en) * 2012-11-21 2016-01-12 Dell Products L.P. Datastore for non-overwriting storage devices
US20150052326A1 (en) * 2013-08-19 2015-02-19 International Business Machines Corporation User-controlled paging

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4277826A (en) * 1978-10-23 1981-07-07 Collins Robert W Synchronizing mechanism for page replacement control
JPS5730044A (en) * 1980-07-31 1982-02-18 Fujitsu Ltd List processor having virtual memory
US4422145A (en) * 1981-10-26 1983-12-20 International Business Machines Corporation Thrashing reduction in demand accessing of a data base through an LRU paging buffer pool
US4758944A (en) * 1984-08-24 1988-07-19 Texas Instruments Incorporated Method for managing virtual memory to separate active and stable memory blocks
US4718008A (en) * 1986-01-16 1988-01-05 International Business Machines Corporation Method to control paging subsystem processing in a virtual memory data processing system during execution of critical code sections
US4989134A (en) * 1987-03-20 1991-01-29 Hewlett-Packard Company Method and apparatus for enhancing data storage efficiency
US5136706A (en) * 1987-04-30 1992-08-04 Texas Instruments Incorporated Adaptive memory management system for collection of garbage in a digital computer
US4989132A (en) * 1988-10-24 1991-01-29 Eastman Kodak Company Object-oriented, logic, and database programming tool with garbage collection

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008144226A1 (en) * 2007-05-15 2008-11-27 Microsoft Corporation Interactive storage meter for a storage container
US7788297B2 (en) 2007-05-15 2010-08-31 Microsoft Corporation Interactive storage meter for a storage container

Also Published As

Publication number Publication date
EP0562617A1 (en) 1993-09-29
US5526519A (en) 1996-06-11

Similar Documents

Publication Publication Date Title
JPH05274152A (ja) オブジェクト管理方式
CA2055295C (en) Logical mapping of data objects using data spaces
EP1247184B1 (en) Method and apparatus for pointer relocation optimization for virtual memory mapping and transaction management in a database system
US5784699A (en) Dynamic memory allocation in a computer using a bit map index
JP3628032B2 (ja) コンサーバティブ・スタックとジェネレイショナル・ヒープガーベージ・コレクション用コンピュータシステム及び方法
US7010555B2 (en) System and method for compacting a computer system heap
US5109336A (en) Unified working storage management
US6119214A (en) Method for allocation of address space in a virtual memory system
US6826583B1 (en) Local allocation buffers for parallel garbage collection
JP4176857B2 (ja) リファレンスされたオブジェクトを管理するための3状態リファレンスの使用
EP0408070B1 (en) Method for allocating real pages to virtual pages having different page sizes therefrom
WO2001088699A2 (en) Method for using atomic compare-and-swap operations during forwarding-pointer installation
JPS61117638A (ja) 要求ペ−ジ仮想アドレス空間におけるメモリ・ブロツク圧縮方法
US20070174369A1 (en) Method and apparatus for limiting the size and facilitating maintenance of remembered sets in a space incremental garbage collector
JP3020512B2 (ja) フアイルデータ管理方法
JP2000047933A (ja) 双方向メモリ確保管理方式
JP2994138B2 (ja) 対話処理システムにおけるカタログの変数管理方法
JPS63101946A (ja) ロ−ド処理方式
JPH02193232A (ja) ファイル内空き領域検索方式
JPH06309197A (ja) 記憶領域管理方式
JPH06161864A (ja) オブジェクト記憶管理方法
JPH06250918A (ja) メモリ管理装置
Clack UK Patent Application 9924061.1 A Data Structure, Memory Allocator and Memory Management System. Example of technique
Shuler Jr Real-time garbage collection for list processing
JPH0887443A (ja) セルプール領域管理処理方法