JPH0656595B2 - 仮想化オプジエクト制御方式 - Google Patents

仮想化オプジエクト制御方式

Info

Publication number
JPH0656595B2
JPH0656595B2 JP59245726A JP24572684A JPH0656595B2 JP H0656595 B2 JPH0656595 B2 JP H0656595B2 JP 59245726 A JP59245726 A JP 59245726A JP 24572684 A JP24572684 A JP 24572684A JP H0656595 B2 JPH0656595 B2 JP H0656595B2
Authority
JP
Japan
Prior art keywords
main memory
memory
program
information
access
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.)
Expired - Lifetime
Application number
JP59245726A
Other languages
English (en)
Other versions
JPS61123953A (ja
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.)
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 JP59245726A priority Critical patent/JPH0656595B2/ja
Publication of JPS61123953A publication Critical patent/JPS61123953A/ja
Publication of JPH0656595B2 publication Critical patent/JPH0656595B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、オブジェクト指向プログラミングの実現方式
に係り、主記憶上に格納しきれないような多数のオブジ
ェクトを扱う際に、これらのオブジェクトの一部を二次
記憶上に格納してオブジェクトの主記憶・二次記憶間の
移動を仮想的に管理する方式に関する。
〔従来の技術〕
従来のオブジェクト指向プログラミングの実現方式にお
いては、オブジェクト(データと手続きの融合体)は主
記憶上に格納されるのが常であり、従つて格納できるオ
ブジェクトの数や大きさは、主記憶の領域の大きさによ
つて制限される。従つて、主記憶の領域に格納し切れな
いような大きなオブジェクトを扱う場合には、該オブジ
ェクトを二次記憶に格納しておいて必要部分を主記憶上
に展開する方式を採る必要がある。
〔発明が解決しようとする問題点〕
従来、このように、大きなオブジェクトを扱う場合に
は、プログラミングに際して、対象のオブジェクトが主
記憶にあるか二次記憶にあるかを意識しなくてはならな
いのでプログラミングが複雑になり、その作成が困難で
あると言う問題点があつた。
本発明は、二次記憶上に格納したオブジェクトを、主記
憶上に格納したオブジェクトと同様に扱かうことにより
「オブジェクトの仮想化」を行なうとともに、二次記憶
上の掃き出しの際にLRU管理を行なうことにより、大
規模なオブジェクト・システムへのアクセスを効率良く
行なうことの出来る方式を提供することを目的としてい
る。
〔問題点を解決するための手段〕
そしてこの目的は本発明によれば特許請求の範囲に記載
のとおり、オブジェクト指向のプログラミング機能を備
えたデータ処理装置において、それぞれのオブジェクト
が主記憶上に存在するか二次記憶上に存在するかの別お
よびオブジェクトが存在する主記憶または二次記憶上の
アドレスを記憶する手段と、主記憶上に存在するオブジ
ェクトについて各オブジェクトごとのプログラムからの
アクセスの新旧の順を記憶する手段とを設け、プログラ
ムからのオブジェクトへのアクセスに際し、該オブジェ
クトが二次記憶に格納されているためシステムがこれを
読み出して主記憶に格納しようとしたとき主記憶上に該
オブジェクトを収容すべき空領域が無い場合、現在主記
憶上に存在するオブジェクトの内プログラムからの最新
アクセスが最も古いものを二次記憶上に移送して、これ
により生じた空領域にプログラムがアクセスすべきオブ
ジェクトを格納することを特徴とする仮想化オブジェク
ト制御本式により達成される。
〔作用〕
上述の方式において、オブジェクトが主記憶上に存在す
るか二次記憶上に存在するかの識別や、プログラムから
の最新アクセスが最も古くしかも主記憶上に存在するオ
ブジェクトの二次記憶への移送や、二次記憶からの必要
なオブジェクトの読み出しとこれの主記憶への格納およ
びこれらに関する必要な処理を総て、システム(データ
処理装置の制御プログラム)が行なうことにより、プロ
グラムは対象オブジェクトが主記憶に存在するのか二次
記憶に存在するのか等を一切考慮することなくアクセス
すれば良いから、プログラミングが容易に行なえる。
〔実施例〕
以下、本発明の動作に関し、プログラム中で任意のオブ
ジェクトへのアクセス要求があつた場合に、「システム
がいかにしてオブジェクトのデータを見つけて、プログ
ラムへ渡してやるか」、また「主記憶上の空きスペース
が小さくなつた場合に、どのオブジェクトを二次記憶へ
掃き出すか」について実施例の図面に基づいて説明す
る。
第1図は本発明の1実施例の動作を説明する図で、(a)
はオブジェクトが主記憶上にある場合、(b)はオブジェ
クトが二次記憶にあるが、主記憶に空きスペースがある
場合、(c)はオブジェクトが二次記憶にあり主記憶の空
きスペースが無い場合を示しており、1は主記憶のプロ
グラム部、2は主記憶のデータ部、3はプログラムジュ
ール、4はオブジェクト管理テーブル、5〜5はそ
れぞれオブジェクト、6はLRU管理テーブル、7は二
次記憶、8はオブジェクト格納用のブロック、12は主記
憶の空きスペースを表わしている。
第1図(a)について説明すると、この場合は主記憶上の
オブジェクトを直接持つて来れば良いのであるが、これ
はプログラムからオブジェクト5に対するアクセス要
求が起きたとき、システムがオブジェクト管理テーブル
4を参照することによつてオブジェクトが主記憶にある
ことを知り、また、そのアドレスを得てアクセスしてい
る。
すなわち、上記オブジェクト管理テーブルには第2図に
示すようにOBJ情報9(オブジェクトの主記憶上のア
ドレス(G))、IC情報10(オブジェクトが主記憶上に
あるか否かの情報(H))および、BL情報11(オブジェ
クトが二次記憶上に格納される場所のブロック番号
(I))等が存在していて、上述の場合には、IC情報10
がT(オブジェクトが主記憶上にあることの表示)とな
つており、OBJ情報9にオブジェクト5のデータ格
納場所のアドレスが入つているのでこれによりオブジェ
クト5(C1)のデータを得てプログラムモジュールへ渡
す。このときオブジェクト名CをLRU管理テーブル
6の左端へ最新アクセスオブジェクトとして加える。
第1図中の丸付数字を伴う実線矢印はアクセスの経路を
示しており、丸内の数字はアクセスの時間的順序を表わ
している。そしてこれらは以降説明する第1図(b)およ
び(c)においても同様であり、更に、これらの図面では
オブジェクトの移動を平行する2本の実線と矢印で表示
している。
次にオブジェクトが二次記憶上にあり、主記憶上の空き
領域が充分な場合について、第1図(b)を用いて説明す
る。
まず、システムがオブジェクト管理テーブル4を参照す
る。この場合IC情報の値はNIL(オブジェクトが
主記憶上にないことを示す)なので、OBJ情報を見る
ことはせずに、BL情報を見る。BL情報には、オブジ
ェクトCのデータの二次記憶上での格納場所を表わす
ブロック番号が記述されているので、システムは二次記
憶から主記憶上へオブジェクトを読み込もうとする。こ
のとき読み込みの前に、主記憶上に空き領域が充分ある
か否かを調べる。空き領域が充分ならば、BL情報によ
り二次記憶のオブジェクトCに相当する箇所から、主
記憶上へデータを読み込み、その先頭アドレスをオブジ
ェクト管理テーブル4のオブジェクトCのOBJ情報
の値として書き込む、(、)さらにオブジェクト名
をLRU管理テーブルDの左端へ最新アクセスオブ
ジェクトとして加える。最後にこのオブジェクトC
データをプログラムモジュール3に渡す。() 次にオブジェクトが、二次記憶上にあり、主記憶上の空
き領域が充分でない場合について、第1図(c)を用いて
説明する。
まず、システムがオブジェクト管理テーブル4を参照す
る。()この場合IC情報の値はNILなので、OB
J情報を見ることはせずに、BL情報によりオブジェク
トCのデータの二次記憶上での格納場所を表わすブロ
ック番号を獲得する。次に主記憶上に空き領域が充分あ
るか否かを調べる。この場合、空き領域は充分ないの
で、すぐには二次記憶からオブジェクトを読み込むこと
はできない。従って、主記憶上に充分な空き領域ができ
るまで、いくつかのオブジェクトを二次記憶上へ掃き出
す。この二次記憶へ掃き出すオブジェクトの決定は、L
RU(Least Recently Used)管理により行なう。即ち、
システムはアクセスの新しいオブジェクトを重要とみな
し、アクセスの古いオブジェクトは重要度が低く、未ア
クセスのオブジェクトは最も重要度が低いとみなす。こ
のLRU管理のために、LRU管理テーブル6というキ
ューを用意する。このLRU管理テーブル6には、主記
憶上にある全てのオブジェクトの名前を直線上に並べ、
図中の右から左に向かうにつれてアクセスの新しいオブ
ジェクトが並ぶように管理する。従つて、テーブルDの
左端には最新のアクセスのオブジェクト名が加えられ、
右端の最も古いアクセスのオブジェクトは二次記憶へ最
初に掃き出されるオブジェクトとして選ばれる。このよ
うにして、二次記憶へ掃き出すオブジェクトが選ばれる
と、そのオブジェクトのデータを二次記憶へ掃き出す。
この掃き出しのために、まず、オブジェクト名により、
オブジェクト管理テーブル4を参照し、BL情報を見
る。未だ一度も二次記憶へ掃き出されていないオブジェ
クトの場合、BL情報の値はNILなので未使用のブロ
ックのブロック番号を選択してBL情報の値とする。以
前に、掃き出されたことのあるオブジェクトは、前回の
BL情報をそのまま用いる。BL情報によりブロック番
号が求まると、OBJ情報の値から掃き出すオブジェク
トのアドレスを求めて、そのデータを二次記憶上の指定
したブロックへ書き出す。(、) このオブジェクトの掃き出し操作を、主記憶上の空き領
域が充分になるまで繰り返し、充分な空き領域ができた
らオブジェクトCのBL情報のブロック番号に対応し
たブロックから主記憶上へデータを読み込む。(、
)この読み込んだオブジェクトのデータの先頭アドレ
スをオブジェクト管理テーブル4のオブジェクトC
OBJ情報の値として書き込み、オブジェクト名C
LRU管理テーブル6の左端へ最新アクセスオブジェク
トとして加える。最後にこのオブジェクトCのデータ
をプログラム・モジュール3に渡す。() 本発明の応用例として、例えば知識表現システムへの適
用が考えられる。知識表現システムは、ある特定の対象
分野に関する知識を、各知識の断片を要素として各断片
および各断片の相互関係について計算機上に表現・利用
するものであるが、この知識の断片とオブジェクトを対
応づけて表現することができる。この場合、知識はオブ
ジェクトのネットワークとして表現されるが、大規模な
知識になれば、オブジェクトの全てを主記憶上に格納す
ることが困難になる。このような場合には、本発明によ
りオブジェクトを仮想化することが適切な方法となる。
〔発明の効果〕
本発明は、オブジェクトを主記憶と二次記憶の両方に格
納する方式を採つているので大容量の格納域を確保出来
るから、大規模のオブジェクトシステムを取り扱うこと
が可能であり、またオブジェクトの二次記憶への掃き出
しをLRU管理によつているので二次記憶へのアクセス
に係るオーバヘッドを低く押えることが出来る。そし
て、プログラミングに際するオブジェクトへのアクセス
手続を、オブジェクトが主記憶上にあるか二次記憶上に
あるかを意識せずに行なえるので、プログラムの作成が
容易であるから効果は大きい。
【図面の簡単な説明】
第1図は本発明の1実施例の動作を説明する図、第2図
はオブジェクト管理テーブルを説明する図である。 1……プログラム部、2……データ部、3……プログラ
ムモジュール、4……オブジェクト管理テーブル、5
〜5……オブジェクト、6……LRU管理テーブル、
7……二次記憶、8……オブジェクト格納用のブロッ
ク、9……OBJ情報、10……IC情報、11……BL情
報、12……空きスペース

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】オブジェクト指向のプログラミング機能を
    備えたデータ処理装置において、それぞれのオブジェク
    トが主記憶上に存在するか二次記憶上に存在するかの別
    およびオブジェクトが存在する主記憶または二次記憶上
    のアドレスを記憶する手段と、主記憶上に存在するオブ
    ジェクトについて各オブジェクトごとのプログラムから
    のアクセスの新旧の順を記憶する手段とを設け、プログ
    ラムからのオブジェクトへのアクセスに際し、該オブジ
    ェクトが二次記憶に格納されているためシステムがこれ
    を読み出して主記憶に格納しようとしたとき主記憶上に
    該オブジェクトを収容すべき空領域が無い場合、現在主
    記憶上に存在するオブジェクトの内プログラムからの最
    新アクセスが最も古いものを二次記憶上に移送して、こ
    れにより生じた空領域にプログラムがアクセスすべきオ
    ブジェクトを格納することを特徴とする仮想化オブジェ
    クト制御方式。
JP59245726A 1984-11-20 1984-11-20 仮想化オプジエクト制御方式 Expired - Lifetime JPH0656595B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59245726A JPH0656595B2 (ja) 1984-11-20 1984-11-20 仮想化オプジエクト制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59245726A JPH0656595B2 (ja) 1984-11-20 1984-11-20 仮想化オプジエクト制御方式

Publications (2)

Publication Number Publication Date
JPS61123953A JPS61123953A (ja) 1986-06-11
JPH0656595B2 true JPH0656595B2 (ja) 1994-07-27

Family

ID=17137886

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59245726A Expired - Lifetime JPH0656595B2 (ja) 1984-11-20 1984-11-20 仮想化オプジエクト制御方式

Country Status (1)

Country Link
JP (1) JPH0656595B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291593A (en) * 1990-10-24 1994-03-01 International Business Machines Corp. System for persistent and delayed allocation object reference in an object oriented environment
JP3022378B2 (ja) * 1997-02-21 2000-03-21 日本電気株式会社 異プログラム言語で構成されたデータベースシステムの検索方法

Also Published As

Publication number Publication date
JPS61123953A (ja) 1986-06-11

Similar Documents

Publication Publication Date Title
JP3704573B2 (ja) クラスタシステム
EP0077452B1 (en) Data promotion in storage subsystems
US5893097A (en) Database management system and method utilizing a shared memory
US4466059A (en) Method and apparatus for limiting data occupancy in a cache
US5535381A (en) Apparatus and method for copying and restoring disk files
US7577690B2 (en) Managing checkpoint queues in a multiple node system
CN105190571B (zh) 页表数据管理
KR100243853B1 (ko) 개량된메모리아키텍쳐를위한방법및장치
JP3228972B2 (ja) 医用画像保管通信システム
EP0130349A2 (en) A method for the replacement of blocks of information and its use in a data processing system
US20050114402A1 (en) Block level data snapshot system and method
GB2265734A (en) Free memory cell management system
JPS61112255A (ja) コンピユ−タ装置
CN107148622B (zh) 智能闪存高速缓存记录器
US6473845B1 (en) System and method for dynamically updating memory address mappings
JP4612269B2 (ja) 仮想ボリューム管理方式
US5276878A (en) Method and system for task memory management in a multi-tasking data processing system
EP0461046B1 (en) File access processing system
EP0319148B1 (en) Method of operating a multi-processor system for the transfer of data between processor units
JPH05210584A (ja) 改善されたぺージングを有するディジタルデータプロセッサ
CN107832097A (zh) 数据加载方法及装置
JP4965456B2 (ja) システムと共有バッファ内のストレージとの間でデータを転送する方法、システム、及びコンピュータ・プログラム(システムと共有バッファ内ストレージとの間のデータ転送)
KR890017640A (ko) 파일시스템
JPH0656595B2 (ja) 仮想化オプジエクト制御方式
JP4286857B2 (ja) ノード間共用ファイル制御方法