JPH06250917A - 無効データ検出方法 - Google Patents

無効データ検出方法

Info

Publication number
JPH06250917A
JPH06250917A JP6136693A JP6136693A JPH06250917A JP H06250917 A JPH06250917 A JP H06250917A JP 6136693 A JP6136693 A JP 6136693A JP 6136693 A JP6136693 A JP 6136693A JP H06250917 A JPH06250917 A JP H06250917A
Authority
JP
Japan
Prior art keywords
attribute information
read
pointer
read pointer
double
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.)
Granted
Application number
JP6136693A
Other languages
English (en)
Other versions
JPH07104814B2 (ja
Inventor
Kazuaki Mutsuzawa
一昭 六澤
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP6136693A priority Critical patent/JPH07104814B2/ja
Publication of JPH06250917A publication Critical patent/JPH06250917A/ja
Publication of JPH07104814B2 publication Critical patent/JPH07104814B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 メモリに割り付けられた構造体が参照されな
くなったことを即時に検出する。 【構成】 読出しポインタの識別に、SINGLE、D
OUBLE、MANYという2ビットの属性情報9を与
える。構造体7にはSINGLEまたはDOUBLEの
1ビットの属性情報を与える。構造体7の属性情報10
はデータの書き込み直後SINGLEとし、属性情報1
0がDOUBLEの読出しポインタ8により読出しがあ
ると、構造体7の属性情報10はSINGLEからDO
UBLEに変更される。構造体7が参照されなくなった
ことを検出する条件は、属性情報9をSINGLEに設
定した読出しポインタ8により読み出された場合と、属
性情報9をDOUBLEに設定した読出しポインタ8に
より属性情報10がDOUBLEの構造体7の読出しが
あったときとする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、記憶装置の所定の領域
に割り付けられた構造体(データセル)が、既に参照さ
れなくなったことを検出し、メモリの有効利用を図るた
めの無効データ検出方法に関する。
【0002】
【従来の技術】情報処理装置には、演算処理のためのデ
ータを記憶する記憶装置が設けられる。この記憶装置に
データを書き込む場合には、記憶装置の空き領域に対し
データを適当な単位に分割しながら割り付け、書き込み
を行う。このような領域を構造体と呼ぶ。例えば、単一
代入言語で記述されたプログラムは並列処理に適する。
このプログラム実行中に生成された構造体は同時進行す
る各処理により何回も参照されることがある。なお、記
憶装置に割り付けられた各構造体は、書き込みポインタ
と読出しポインタによって参照する。このような処理を
進める場合に、参照されなくなった構造体を直ちに検出
して新たなメモリ資源に組み入れ、資源の有効利用を図
る必要がある。そこで、構造体が参照されなくなったこ
とを速やかに検出する方法が紹介されている。
【0003】図2に、従来のポインタと構造体の関係説
明図を示す。記憶装置の所定の領域に割り付けられた構
造体3は、この図に示すように、それぞれ任意の数のポ
インタ1により参照される。(a)は2個のポインタ1
が1個の構造体3を参照している例を示す。各ポインタ
1には、それぞれ図の(c)に示す属性情報2が設けら
れている。この属性情報は、オンまたはオフの状態を示
す1ビットの情報で、後で説明する構造体3の属性情報
と組み合わせて、この構造体3が参照されなかったこと
を検出するために用いられる情報である。なお、各ポイ
ンタ1は読出しあるいは書き込み等任意の目的に使用さ
れる。ここで、(a)に示すように、まず1個の構造体
3に対し2本のポインタ1が設定されている場合には、
その属性情報2はオフとする。また、(b)に示すよう
に、1個の構造体3に対し3本以上のポインタ1が設定
されている場合は属性情報2はオンとする。
【0004】図3に、従来のポインタのコピー操作説明
図を示す。上記のようなポインタ1は、コピーによって
増加させることができる。即ち、ポインタが1本以上存
在する場合には、その内の1本をコピーして任意の数の
新たなポインタを設けることができる。各ポインタは1
回の書き込みや読出しによって消滅するため、同一の構
造体に対し何回も参照が行なわれる場合にはこのように
ポインタを増加させる。まず、図3(a)に示すよう
に、1個の構造体3に対し1本のポインタ1が設定され
ている場合は、その属性情報2はオフとなっている。し
かしながら、このポインタ1をコピーして2本に増加さ
せた場合、図に示すように増加後の2本のポインタ1の
属性情報2はオンに切り替えられる。これも、後で説明
するように、構造体が参照されなくなったことを検出す
るための工夫である。(b)は元のポインタの属性情報
がオンの場合を示している。例えば、図2の(b)に示
すように、属性情報2がオンのポインタ1によって構造
体3が何回か参照されると、図に示すように属性情報2
がオンのポインタ1が1本だけ残る状態となる。このよ
うな状態でポインタ1をコピーして2本に増加させた場
合には属性情報2はオンのままとする。
【0005】図4に、従来の場合の構造体の属性情報説
明図を示す。構造体が参照されなくなったことを検出す
るために、この従来の例では、構造体3の側にも属性情
報4を設ける。そして、図4(a)に示すように、属性
情報2がオフのポインタ1により構造体3を参照した場
合、その構造体3の属性情報4はオフとされる。また
(b)に示すように、属性情報2がオンのポインタ1を
用いて構造体3を参照した場合には、構造体3の属性情
報4はオンとされる。なお、以下の説明では各構造体は
(c)に示すような表現で図示される。
【0006】図5に、従来の無効データ検出方法例説明
図を示す。この図に示す従来の方法では、属性情報2が
オフのポインタ1により読出した構造体3の属性情報4
がオフであれば、その構造体3はもはや参照されなくな
ったものと判断する。逆にその構造体3がまだ参照され
る可能性のある場合には、ポインタ1あるいは構造体3
の属性情報2〜4の何れかがオンとなっている。このよ
うな判断基準によって無効データの検出が行なわれる。
【0007】即ち、図5(a)に示すように、例えば属
性情報2がオフである2本のポインタ1が1個の構造体
3を参照しているものとする。この場合、一方のポイン
タ1によって構造体3が参照されると、そのポインタ1
は消滅し、図の(b)に示すように、構造体3に対しポ
インタ1が1本だけ設定された構成となる。ここで、
(a)において、属性情報2がオフのポインタ1により
構造体3の参照が行なわれた結果、(b)のように、構
造体3の属性情報4はオフになっている。従って、図5
(b)に示す状態でポインタ1により構造体3を参照す
ると、ちょうど属性情報2がオフのポインタ1により属
性情報4がオフの構造体3を参照した状態となる。これ
によって、(c)に示すように、その構造体3は最後の
ポインタ1により参照された後、参照されなくなったと
いうことが直ちに検出される。
【0008】図6に、従来の場合で構造体がまだ参照さ
れ得ることの検出を行なう場合の説明図を示す。図6
(a)に示すように、例えば属性情報2がオフのポイン
タ1が2本存在する場合を考える。ここで、(b)に示
すように、一方のポインタ1がコピーされ、合計3本に
増えたとする。この場合、コピーされて増えたポインタ
1は、その属性情報2がオンとされる。従って、3本の
ポインタ1の1本の属性情報2はオフ、他の2本の属性
情報2はオンという状態になる。
【0009】次に、(c)に示すように、属性情報2が
オフのポインタ1によって構造体3が1回参照され、そ
のポインタ1が消滅すると、属性情報2がオンのポイン
タ1が2本残る。この時構造体3の属性情報4はオフと
されている。このような状態では、その後どちらのポイ
ンタ1を使用して構造体3を参照したとしても、構造体
3が参照されなくなったという判断をするための基準、
即ちポインタも構造体もその属性情報の値がオフである
という条件を満足しない。
【0010】(d)は、(b)の状態において、属性情
報2がオンのポインタ1を1回使用して構造体3を参照
した後の状態を示す。この場合、(d)では属性情報2
がオフのポインタ1と属性情報2がオンのポインタ1が
それぞれ1本ずつ存在する。このようなケースにおいて
も、その後いずれのポインタ1を使用して構造体3を参
照しても、両者の属性情報がオフである条件を満足しな
い。従って、従来、図5に示したケースの場合にのみ構
造体が参照されなくなったことを検出するといった方法
が採用されていた。
【0011】
【発明が解決しようとする課題】ところで、上記のよう
な従来の方法では、ポインタの総数が3本以上の場合
や、ポインタの総数が2本であっても、図6(c)や
(d)に示したような状態になると、構造体の参照され
なくなったことの検出は不可能になる。従って、もし同
一の構造体に対し多数の参照ポインタが生成されるよう
なプログラムを実行する場合には、別の方法によって参
照されなくなった構造体を検出し、資源の回収を図る必
要が生じてしまう。しかしながら、上記のような従来の
方法は、小さなオーバーヘッドで迅速に資源回収を図る
方法として利用価値が高く、一層の改良が望まれる。本
発明は以上の点に着目してなされたもので、ポインタに
一定の情報を付加することにより、構造体が参照されな
くなったことを即時に検出することができる無効データ
検出方法を提供することを目的とするものである。
【0012】
【課題を解決するための手段】本発明無効データ検出方
法は、記憶装置の所定の領域に割り付けられた構造体
が、既に参照されなくなったことを検出して、前記記憶
装置の所定の領域を開放するために使用されるものであ
って、前記構造体の割付時には、書込みポインタと、必
要な数の読出しポインタとを設定し、書込みポインタは
1個の構造体につき1本しか存在せず、読出しポインタ
は1個の構造体に対し任意の数だけ存在し、コピーによ
り増加させることができ、前記読出しポインタはSIN
GLE、DOUBLE、又はMANYという意味の3種
類の属性情報を持ち、前記構造体はSINGLE又はD
OUBLEという意味の2種類の属性情報を持ち、前記
構造体と共に前記読出しポインタが1本生成される場合
には、その読出しポインタの属性情報をSLNGLEに
設定し、前記構造体と共に前記読出しポインタが2本生
成される場合には、その読出しポインタの属性情報をD
OUBLEに設定し、前記構造体と共に前記読出しポイ
ンタが3本以上生成される場合には、その読出しポイン
タの属性情報をMANYに設定し、属性情報をSLNG
LEに設定した読出しポインタがコピーにより2本に増
加する場合には、各読出しポインタの属性情報をDOU
BLEに変更し、属性情報をDOUBLEに設定した読
出しポインタがコピーにより3本以上に増加する場合に
は、各読出しポインタの属性情報をMANYに変更し、
前記構造体への書込みが行なわれたときは構造体の属性
情報をSINGLEとし、属性情報をSLNGLEに設
定した読出しポインタにより構造体の読出しがあったと
きは、その構造体が参照されなくなったことを検出し、
属性情報をDOUBLEに設定した読出しポインタによ
り構造体の読出しがあったときは、構造体の属性情報が
SINGLEならDOUBLEに変更し、属性情報をD
OUBLEに設定した読出しポインタにより属性情報が
DOUBLEの構造体の読出しがあったときは、その構
造体は参照されなくなったことを検出することを特徴と
するものである。
【0013】
【作用】この方法では、書き込みポインタと3種類の読
出しポインタとを識別するために、WRITE、SIN
GLE、DOUBLE、MANYという2ビットの属性
情報を与える。また、構造体にはSINGLEまたはD
OUBLEの1ビットの属性情報を与える。そして、構
造体の属性情報はデータの書き込み直後SINGLEと
し、属性情報がDOUBLEの読出しポインタにより読
出しがあると、構造体の属性情報はSINGLEからD
OUBLEに変更される。構造体が参照されなくなった
ことを検出する条件は、属性情報をSINGLEに設定
した読出しポインタより読み出された場合と、属性情報
をDOUBLEに設定した読出しポインタにより属性情
報がDOUBLEの構造体の読出しがあったときとす
る。これにより、書き込みポインタと読出しポインタの
合計が3本ある場合も、構造体が参照されなくなったこ
とを直ちに検出できる。
【0014】
【実施例】以下、本発明を図の実施例を用いて詳細に説
明する。図1は本発明の無効データ検出方法説明図であ
る。まず、本発明においては、各ポインタを書き込みポ
インタと読出しポインタとに明確に区別し、読出しポイ
ンタには3種類の内容の属性情報を付加する。図1の
(a)に、その属性情報の定義を示す。構造体7を参照
するために設けられる読出しポインタ8には、属性情報
9が設けられる。この属性情報9は、SINGLE、D
OUBLE、MANYの3種類となる。このSINGL
Eの属性情報は、構造体7とともに読出しポインタ8が
1本生成される場合に設定される。また、DOUBLE
の属性情報は、構造体7と共に読出しポインタ8が2本
生成される場合に設定される。更に、MANYの属性情
報は、構造体7と共に読出しポインタ8が3本以上生成
される場合に設定される。これを識別するために、図で
はSINGLEの属性情報は白丸、DOUBLEの属性
情報は黒丸、MANYの属性情報は×印を用いて示し
た。なお、これらの属性情報は、例えば2ビットのデー
タにより表現され、SINGLEは“01”、DOUB
LEは“10”、MANYは“11”というように表わ
される。なお、属性情報が“00”の場合は読出しポイ
ンタであることを示すものとする。
【0015】一方、構造体7にも同様の属性情報10が
設けられる。この構造体7の属性情報9は、後で詳しく
説明するが、データの書き込みが行なわれた場合にはS
INGLEとし、属性情報がDOUBLEのポインタに
より読出しがあったときはSINGLEからDOUBL
Eに変更されるものとする。図1の(b)及び(c)
は、本発明によって参照されなくなったことを検出され
る構造体の例を示している。この本題の説明を行なう前
に、まず図7以下を用いて具体的に各ポインタや属性情
報、構造体の構成等を説明していく。
【0016】図7に、本発明による書き込み、読出しポ
インタ説明図を示す。図の(a)に示すように、本発明
においては書き込みポインタ6は、1個の構造体7につ
いて1本しか存在しないものとする。そして、書き込み
ポインタ6は、先に説明した読出しポインタとはその属
性情報によって明確に区別される。なお、書込みポイン
タ6の属性情報は常にWRITEとなるため、以下の図
ではその属性情報の図示を省略した。また、図7(b)
に示すように、構造体7を参照するための読出しポイン
タ8は、コピーにより任意の数に増加させることができ
る。なお、(c)に示すように、書き込みポインタ6の
参照には二重線の矢印を用い、読出しポインタ8による
参照の場合と区別して図示した。
【0017】図8に、本発明によるポインタの属性情報
説明図を示す。図8(a)に示すように、構造体7へデ
ータを書き込み、それを参照するためには、基本的にこ
の図に示すように書込みポインタ6及び読出しポインタ
8がそれぞれ1本ずつ設けられる。このように読出しポ
インタ8が1本だけ生成された場合には、その属性情報
9はSINGLEとされている。一方、図8(b)に示
すように、読出しポインタ8が同時に2本生成された場
合には、その属性情報9はDOUBLEに設定する。更
に(c)に示すように、読出しポインタ8が3本以上同
時に生成された場合、その属性情報9はMANYに設定
される。(d)には、以下の説明において使用する書込
みポインタ6や読出しポインタ8及びその属性情報の形
状を定義している。
【0018】図9に、本発明によるポインタのコピー動
作説明図を示す。図9(a)に示すように、初めに構造
体7に対し読出しポインタ8が1本存在し、その属性情
報9がSINGLEである場合に、この読出しポインタ
8がコピーされて2本になるケースがある。このような
ケースでは、読出しポインタ8の属性情報9はSING
LEからDOUBLEに変更される。また、図9(b)
に示すように、初めに1本だけ設けられていた読出しポ
インタ8がコピーによって3本以上に増加する場合があ
る。この場合には読出しポインタ8の属性情報9はSI
NGLEからMANYに変更される。
【0019】更に(c)に示すように、1個の構造体7
に対し1本の読出しポインタ8が存在し、その属性情報
がDOUBLEのケースがある。これは図9(a)に示
すように、属性情報9がDOUBLEの2本の読出しポ
インタ8の何れか一方を用いて、構造体7が参照された
後に発生する。この(c)のケースで、読出しポインタ
8がコピーにより増加した場合には、図に示すように、
読出しポインタ8の属性情報9はMANYに変更され
る。また(d)に示すように、属性情報9がMANYの
読出しポインタ8がコピーされて増加した場合には、そ
の属性情報はMANYとする。
【0020】図10に、1つの構造体を指す読出しポイ
ンタのパターン説明図を示す。本発明を実施する場合
に、読出しポインタに着目すると、1つの構造体を参照
するために、図に示すような(a)〜(d)のパターン
が存在する。まず、(a)は、属性情報9がSINGL
Eの読出しポインタ8が1本だけ存在する場合である。
また、(b)は、属性情報9がDOUBLEの読出しポ
インタ8が2本だけ存在する場合である。(c)のパタ
ーンは、属性情報9がDOUBLEの読出しポインタ8
と属性情報9がMANYの2本以上の読出しポインタ8
が存在する場合である。(d)は、属性情報9がMAN
Yの読出しポインタ8が4本以上存在する場合である。
本発明を実施する場合には、読出しポインタ8は、これ
らの何れかのパターンを取り得る。
【0021】図11に、本発明による構造体の属性情報
説明図を示す。図11の(a)に示すように、本発明を
実施する場合、構造体7の属性情報10は、書き込みポ
インタ6により構造体7にデータが書き込まれた場合に
SINGLEとなる。また、(b)に示すように、属性
情報9がDOUBLEの読出しポインタ8によって構造
体7が参照された場合、その属性情報10はSINGL
EからDOUBLEに変更される。これによって、構造
体7の属性情報10がSINGLEであるということ
は、まだその構造体について読出し操作が行なわれてい
ないか、あるいは属性情報がMANYの読出しポインタ
を経由して読出し操作が1回以上行なわれているかの何
れかとなる。なお、属性情報がMANYの読出しポイン
タによる参照の際には構造体の属性情報は変化しない。
【0022】また、構造体7の属性情報10がDOUB
LEであるということは、属性情報がDOUBLEであ
る読出しポインタ8を経由した読出し操作が1回だけ行
なわれているか、あるいは属性情報がDOUBLEの読
出しポインタ8を経由した読出し操作が1回行なわれ、
更に属性情報がMANYの読出しポインタを経由した読
出し操作が1回以上行なわれている場合である。
【0023】上記のような属性情報等の設定により、本
発明においては次のようなケースで構造体が参照されな
くなったことを検出できる。図1に戻って、(b)に
は、属性情報9がSINGLEの読出しポインタ8が1
本存在する構造体7の例が示されている。この構造体7
は、書き込みにより属性情報10がSINGLEとなっ
ている。本発明においては、このように属性情報9をS
INGLEに設定した読出しポインタ8によって属性情
報10がSINGLEの構造体7が参照された場合、そ
の構造体はもはや参照されなくなったということを検出
する。
【0024】一方、(c)に示すように、初めに属性情
報9がDOUBLEの読出しポインタ8が2本ある場合
を考える。このときの構造体7の属性情報10はSIN
GLEである。ここで、1本の読出しポインタ8により
構造体7が参照されると、その読出しポインタ8は消滅
し、属性情報9がDOUBLEの読出しポインタ8が1
本だけ残る。また、構造体7の属性情報10は、既に図
11の(b)を用いて説明したようにSINGLEから
DOUBLEに変更される。その後、属性情報9がDO
UBLEの読出しポインタ8によって属性情報10がD
OUBLEの構造体7が参照された場合に、その構造体
7はもはや参照されなくなったと検出する。即ち、本発
明の方法では、図1(b)及び(c)に示す2種のケー
スにおいて、構造体が参照されなくなったことを検出で
きる。従って、(c)に示すケースについて、従来より
も無効データ検出が可能なパターンが増加する。
【0025】図12に、本発明による無効データ検出方
法具体例説明図を示す。図12(a)は、図1(b)に
示したケースの構造体生成時からの経緯を示すものであ
る。この図に示すように、構造体7を生成する場合に、
この例では書き込みポインタ6と読出しポインタ8とが
1本ずつ生成されている。従って、この場合の読出しポ
インタ8の属性情報9はSINGLEとされている。こ
こで、構造体7に書き込みポインタ6を用いてデータが
書き込まれると、書き込みポインタ6は消滅し1本の読
出しポインタ8が残る。この属性情報9はSINGLE
となっている。また、構造体7の属性情報10はデータ
の書き込みによってSINGLEとなっている。従っ
て、共に属性情報9あるいは10がSINGLEの状態
で、読出しポインタ8がその後構造体7を参照すると、
上記説明した本発明の検出条件を満足する。これによっ
て、構造体7がその後参照されないことが検出される。
なお、このケースは図2(a)に示す従来方法と等価で
あり、この点について従来方法に比べた特別の改善はな
い。
【0026】一方、図12(b)に示すように、当初構
造体7に対し1本の書き込みポインタ6と1本の読出し
ポインタ8が生成されたものとする。この時読出しポイ
ンタ8の属性情報9はSINGLEである。しかしなが
ら、その後読出しポインタ8がコピーされ2本に増加し
たとする。この場合、読出しポインタ8の属性情報9は
DOUBLEとなる。その後、構造体7に書き込みポイ
ンタ6を用いてデータが書き込まれると、構造体7の属
性情報10はSINGLEとなる。
【0027】ここで、2本の読出しポインタ8の内1本
を用いて構造体7を参照すると、その後属性情報9がD
OUBLEの読出しポインタ8が1本残る。また、構造
体7の属性情報10はSINGLEからDOUBLEに
変更される。このような状態で、その後読出しポインタ
8により構造体7が参照されると、先に説明した本発明
による検出条件を満足し、構造体7がその後参照されな
いことが検出される。従って、このようなパターンで
は、従来構造体が参照されなくなったことが検出不可能
であったが、それを本発明により可能としている。
【0028】図13に、本発明の方法が適用できない例
の説明図を示す。本発明の方法は、次のようなケースに
は適用することはできない。この例では、構造体7に対
し初めに書き込みポインタ6と2本の読出しポインタ8
が生成されている。この場合、属性情報9はDOUBL
Eとされている。ところが、その後読出しポインタ8の
1本がコピーされ、読出しポインタ8が合計3本となっ
た。このケースでは、コピーに使用された読出しポイン
タ8とコピーによって増加した読出しポインタ8とは、
何れもその属性情報9がMANYとされ、この状態で構
造体7に書き込みポインタ6を用いてデータが書き込ま
れると、構造体7の属性情報10はSINGLEとな
る。更に、読出しポインタ8の内の属性情報がMANY
の読出しポインタが参照に使用されると、図に示すよう
に2本の読出しポインタ8が残り、その属性情報9は一
方がDOUBLE、一方がMANYとなっている。そし
て、その次に属性情報9がDOUBLEの読出しポイン
タ8が使用されて構造体7の参照が行なわれると、最後
に属性情報9がMANYの読出しポインタ8が1本残
る。この場合、その後残りの1本の読出しポインタ8を
用いて構造体7を参照したとしても上記の条件を満足し
ない。
【0029】従って、属性情報がDOUBLEの読出し
ポインタがコピー等により更に増加した場合には、残り
の読出しポインタの数を属性情報によって明確に表わす
ことができないため、最終的に最後に残った読出しポイ
ンタによって構造体の参照が行なわれたとしても、これ
が最後であるかどうかを区別することができない。本発
明の方法では、MANYの属性情報を持つ読出しポイン
タが混在する場合には構造体が参照されなくなったこと
の検出をすることができなくなる。
【0030】本発明は以上の実施例に限定されない。上
記実施例においては、ポインタの区別のためにSING
LE、DOUBLE、MANYといった表現を用いた
が、この表現は必ずしもこれに限定されることはなく自
由に設定して差し支えない。要するに、このような属性
情報によって、読出しポインタが2個かあるいはそれ以
上存在するかを区別することに意義がある。また、読出
しポインタと構造体の属性情報を何れもSINGLEあ
るいはDOUBLEといった表現を用いたが、これらに
ついても、全く別の表現を用いて差し支えない。
【0031】
【発明の効果】以上説明した本発明の無効データ検出方
法は、構造体を生成する際、同時に生成される書き込み
ポインタや読出しポインタに対し、書き込みポインタで
あるか読出しポインタであるかの区別と同時に、生成さ
れた読出しポインタの数や、その後の読出しポインタの
コピー状態を示すSINGLE、DOUBLE、MAN
Yといった意味の属性情報を付加し、構造体の側にも書
き込みが行なわれた直後の状態と、属性情報をDOUB
LEに設定した読出しポインタにより読出しがあった場
合とを区別する、SINGLEあるいはDOUBLEと
いう意味の属性情報をもたせるようにしたので、これら
の属性情報の組み合せによって、属性情報をSINGL
Eに設定した読出しポインタにより構造体の読出しがあ
ったときと、属性情報をDOUBLEに設定した読出し
ポインタにより属性情報がDOUBLEの構造体の読出
しがあったときについて、それぞれその構造体が参照さ
れなくなったことを検出することができる。これによ
り、ポインタにごくわずかの情報を付加することによっ
て、参照されなくなった構造体を即時に検出し、記憶装
置の所定の領域に割り付けられた構造体を解放してメモ
リの速やかな有効利用を図ることができる。
【図面の簡単な説明】
【図1】本発明による無効データ検出方法説明図であ
る。
【図2】従来のポインタと構造体の関係説明図である。
【図3】従来のポインタのコピー操作説明図である。
【図4】従来の構造体の属性情報説明図である。
【図5】従来の無効データ検出方法例説明図である。
【図6】従来の「まだ参照され得る」ことの検出説明図
である。
【図7】本発明による書き込み、読出しポインタ説明図
である。
【図8】本発明によるポインタの属性情報説明図であ
る。
【図9】本発明によるポインタのコピー動作説明図であ
る。
【図10】1つの構造体を指す読出しポインタのパター
ン説明図である。
【図11】本発明による構造体の属性情報説明図であ
る。
【図12】本発明による無効データ検出方法具体例説明
図である。
【図13】本発明の方法が適用できない例説明図であ
る。
【符号の説明】
7 構造体 8 読出しポインタ 9 ポインタの属性情報 10 構造体の属性情報

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 記憶装置の所定の領域に割り付けられた
    構造体が、既に参照されなくなったことを検出して、前
    記記憶装置の所定の領域を開放するために使用されるも
    のであって、 前記構造体の割付時には、書込みポインタと、必要な数
    の読出しポインタとを設定し、 書込みポインタは1個の構造体につき1本しか存在せ
    ず、 読出しポインタは1個の構造体に対し任意の数だけ存在
    し、コピーにより増加させることができ、 前記読出しポインタはSINGLE、DOUBLE、又
    はMANYという意味の3種類の属性情報を持ち、 前記構造体はSINGLE又はDOUBLEという意味
    の2種類の属性情報を持ち、 前記構造体と共に前記読出しポインタが1本生成される
    場合には、その読出しポインタの属性情報をSLNGL
    Eに設定し、 前記構造体と共に前記読出しポインタが2本生成される
    場合には、その読出しポインタの属性情報をDOUBL
    Eに設定し、 前記構造体と共に前記読出しポインタが3本以上生成さ
    れる場合には、その読出しポインタの属性情報をMAN
    Yに設定し、 属性情報をSLNGLEに設定した読出しポインタがコ
    ピーにより3本以上に増加する場合には、各読出しポイ
    ンタの属性情報をDOUBLEに変更し、 属性情報をDOUBLEに設定した読出しポインタがコ
    ピーにより2本に増加する場合には、各読出しポインタ
    の属性情報をMANYに変更し、 前記構造体への書込みが行なわれたときは構造体の属性
    情報をSINGLEとし、 属性情報をSLNGLEに設定した読出しポインタによ
    り構造体の読出しがあったときは、その構造体が参照さ
    れなくなったことを検出し、 属性情報をDOUBLEに設定した読出しポインタによ
    り構造体の読出しがあったときは、構造体の属性情報が
    SINGLEならDOUBLEに変更し、 属性情報をDOUBLEに設定した読出しポインタによ
    り属性情報がDOUBLEの構造体の読出しがあったと
    きは、その構造体は参照されなくなったことを検出する
    ことを特徴とする無効データ検出方法。
JP6136693A 1993-02-26 1993-02-26 無効データ検出方法 Expired - Lifetime JPH07104814B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6136693A JPH07104814B2 (ja) 1993-02-26 1993-02-26 無効データ検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6136693A JPH07104814B2 (ja) 1993-02-26 1993-02-26 無効データ検出方法

Publications (2)

Publication Number Publication Date
JPH06250917A true JPH06250917A (ja) 1994-09-09
JPH07104814B2 JPH07104814B2 (ja) 1995-11-13

Family

ID=13169101

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6136693A Expired - Lifetime JPH07104814B2 (ja) 1993-02-26 1993-02-26 無効データ検出方法

Country Status (1)

Country Link
JP (1) JPH07104814B2 (ja)

Also Published As

Publication number Publication date
JPH07104814B2 (ja) 1995-11-13

Similar Documents

Publication Publication Date Title
US4403285A (en) System for automatically releasing a dead lock state in a data processing system
KR920010475A (ko) 병렬처리 장치 및 그의 병렬처리 방법
JPH06250917A (ja) 無効データ検出方法
CN106648476A (zh) 一种生产者消费者模式优化方法及系统
JPS63200257A (ja) コンピユ−タのプログラムロ−ド方式
US20020004811A1 (en) Systems, Methods and computer program products for controlling and visualizing processes
JPS5834856B2 (ja) キオクセイギヨソウチ
JPH0247735A (ja) 計算機装置
JP4976328B2 (ja) 著者決定装置、その制御方法及びプログラム
US8688662B2 (en) Copy on access to locked objects
JPH0410143A (ja) ガーベジ・コレクション方法
JPH04195565A (ja) ダンプ出力方式
JPS60254335A (ja) ソフトウエアテストにおける多重処理方式
JPS6095658A (ja) 仮想記憶制御方法
JPS62264335A (ja) 資源管理装置
CN114020491A (zh) 一种并行任务数据交换方法、装置、电子设备及存储介质
CN119597545A (zh) 一种共享数据编辑方法、装置、设备及存储介质
JPH0744356A (ja) ソート処理装置および方法
JPH0471029A (ja) 複写装置の制御装置
CN118174980A (zh) 一种报文处理方法、装置、电子设备、存储介质及车辆
JPH0756835A (ja) 通信処理方式
JPS6361699B2 (ja)
JPH0391055A (ja) ハードウエアロックのセット方法、ハードウエアロック制御装置、ハードウエアロックの検出方法と装置
JPS60549A (ja) メモリ試験方式
JPS61123953A (ja) 仮想化オプジエクト制御方式

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term