JPH0581033A - プログラム間共有データ管理装置 - Google Patents

プログラム間共有データ管理装置

Info

Publication number
JPH0581033A
JPH0581033A JP26894691A JP26894691A JPH0581033A JP H0581033 A JPH0581033 A JP H0581033A JP 26894691 A JP26894691 A JP 26894691A JP 26894691 A JP26894691 A JP 26894691A JP H0581033 A JPH0581033 A JP H0581033A
Authority
JP
Japan
Prior art keywords
program
data
inter
shared data
programs
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
JP26894691A
Other languages
English (en)
Inventor
Shinji Yoshihara
信二 吉原
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP26894691A priority Critical patent/JPH0581033A/ja
Publication of JPH0581033A publication Critical patent/JPH0581033A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 複数のプログラムで共有されるデータの利用
プログラム数を管理し、それに従い、データ領域の再確
保なしに、初期値の再設定を可能にする。 【構成】 プログラム間共有データ6,7 を有するプログ
ラム4,5 のロード時、同一データ検索手段10は共有デー
タが既に記憶空間上にロードされているか否かを管理テ
ーブル3で調べ、ロードされていない場合データ登録手
段11はそれらの初期値をロードし、管理テーブル3にデ
ータ6,7 の名前32, 現在の利用プログラム数33, データ
アドレス34を登録する。プログラム4,5 の削除時、利用
プログラム削除手段13はデータ6,7 に対応する利用プロ
グラム数33を1だけ減少させる。利用プログラム数検索
手段14は管理テーブル3から利用プログラム数33とデー
タアドレス34とを検索し、プログラム間共有データ再ロ
ード手段15は利用プログラム数33が0であるプログラム
間共有データのデータアドレス34に初期値を再ロードす
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は汎用電子計算機システム
におけるプログラム間共有データ管理装置に関する。
【0002】
【従来の技術】動的リンクにかかる複数のプログラムを
同一記憶空間上にロードし、その際に同一アドレスのデ
ータを各プログラムから参照することによりプログラム
間のデータ共有を実現している汎用電子計算機システム
では、実行の終了した各プログラムを記憶空間から削除
し、再び実行を必要とするときにロードするといったこ
とが繰り返される。
【0003】ところで、従来のこの種の汎用電子計算機
システムにはプログラム間共有データの利用状況を一括
して管理するといった思想は存在しない。また、一般に
同一名の複数のデータを同じ記憶空間上に割り付けるこ
とはできない。
【0004】
【発明が解決しようとする課題】従って、実行を終了し
た複数のプログラムを記憶空間から削除する際、それら
の間で共有されていたプログラム間共有データを記憶空
間上に残すようにしても、プログラム間共有データの利
用状況が分からないので再ロードの契機を認識できず、
当然のことながらそのプログラム間共有データに対し初
期値をロードすることはできない。また、初期値を持つ
同一名のプログラム間共有データを別のところにロード
することもできない。
【0005】このため、従来は、複数のプログラム間で
共有できるプログラム間共有データは初期値を持たない
データに限定されるという問題点があった。
【0006】本発明はこのような従来の問題点を解決し
たもので、その目的は、初期値を持つデータをプログラ
ム間共有データとして扱えるようにするために、プログ
ラム間共有データが確保されている元のデータ領域に対
し初期値の再ロードを行う契機を知るための管理情報を
一括して管理することができるプログラム間共有データ
管理装置を提供し、更にその契機の到来時に自動的に元
のデータ領域に対し初期値の再ロードを行うプログラム
間共有データ管理装置を提供することにある。
【0007】
【課題を解決するための手段】本発明は、プログラム間
共有データが確保されている元のデータ領域に対し初期
値の再ロードを行う契機を知るための管理情報を一括し
て管理し得るようにするために、記憶空間上に存在する
プログラム間共有データ毎にその名前と利用プログラム
数と記憶空間上のアドレスとを保持する管理テーブル
と、プログラム間共有データを有するプログラムのロー
ド時、そのプログラム間共有データが既に記憶空間上に
ロードされているか否かを前記管理テーブルを検索して
調べる同一データ検索手段と、この同一データ検索手段
で記憶空間上にロードされていないことが判明したプロ
グラム間共有データを記憶空間にロードし、必要な情報
を前記管理テーブルに登録する登録手段と、プログラム
間共有データを有するプログラムの削除時、そのプログ
ラム間共有データに対応する前記管理テーブル中の利用
プログラム数を更新する利用プログラム削除手段とを備
えている。
【0008】また、元のデータ領域に対し初期値の再ロ
ードが行えるようにするために、前記管理テーブルから
プログラム間共有データの利用プログラム数と記憶空間
上のアドレスとを検索する利用プログラム数検索手段
と、この利用プログラム数検索手段によって検索された
利用プログラム数が0であるプログラム間共有データの
記憶空間上のアドレスに初期値をロードするプログラム
間共有データ再ロード手段とを備えている。
【0009】
【作用】本発明のプログラム間共有データ管理装置にお
いては、管理テーブルが記憶空間上に存在するプログラ
ム間共有データ毎にその名前と利用プログラム数と記憶
空間上のアドレスとを保持し、プログラム間共有データ
を有するプログラムのロード時、同一データ検索手段が
そのプログラム間共有データが既に記憶空間上にロード
されているか否かを前記管理テーブルを検索して調べ、
ロードされていないことが判明した場合には登録手段が
プログラム間共有データを記憶空間にロードし、必要な
情報つまりそのプログラム間共有データのデータ名,現
在の利用プログラム数,記憶空間上のアドレスを前記管
理テーブルに登録する。
【0010】他方、プログラム間共有データを有するプ
ログラムの削除時、プログラム削除手段がそのプログラ
ム間共有データに対応する前記管理テーブル中の利用プ
ログラム数を1だけ減少させる。ここで、利用プログラ
ム数が0になったプログラム間共有データは全てのプロ
グラムによる利用が終了したことになるので、初期値を
再ロードしても良いことになる。
【0011】そこで、利用プログラム数検索手段が管理
テーブルからプログラム間共有データの利用プログラム
数と記憶空間上のアドレスとを検索し、プログラム間共
有データ再ロード手段が、利用プログラム数が0である
プログラム間共有データの記憶空間上のアドレスに初期
値をロードする。
【0012】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
【0013】図1を参照すると、本発明の一実施例のプ
ログラム間共有データ管理装置は、動的リンクにかかる
複数のプログラムを同一の記憶空間上にロードし、その
際に同一アドレスのデータを各プログラムから参照する
ことによりプログラム間のデータ共有を実現している汎
用電子計算機システムにおいて、管理部1とプログラム
管理テーブル2とプログラム間共有データ管理テーブル
3とを備えている。
【0014】プログラム間共有データ管理テーブル3
は、記憶空間上に存在するプログラム間共有データに関
する管理情報を保持するテーブルであり、本実施例で
は、記憶空間上に存在するプログラム間共有データの数
(プログラム間共有データ数)31と、各プログラム間
共有データの名前(データ名)32と、各プログラム間
共有データを利用しているプログラムの数(利用プログ
ラム数)33と、各プログラム間共有データの記憶空間
上のアドレス(データアドレス)34とを保持してい
る。
【0015】プログラム管理テーブル2は、プログラム
間共有データを有するプログラムに関する管理情報を保
持するテーブルであり、本実施例では、プログラム数2
1と、各プログラムの名前(プログラム名)22と、各
プログラムがどのプログラム間共有データを利用してい
るかをプログラム間共有データ管理テーブル3の該当エ
ントリを指し示すことによって特定するデータリンク2
3とを保持している。
【0016】管理部1は、プログラム間共有データを有
するプログラムのロード時や削除時等にプログラム管理
テーブル2およびプログラム間共有データ管理テーブル
3を参照,更新等してプログラム間共有データの管理を
行うものであり、本実施例では、同一データ検索手段1
0,データ登録手段11,利用プログラム登録手段1
2,利用プログラム削除手段13,利用プログラム数検
索手段14,プログラム間共有データ再ロード手段15
および制御手段16とで構成されている。
【0017】同一データ検索手段10は、プログラム間
共有データを有するプログラムのロード時に、そのプロ
グラム間共有データが既に記憶空間上にロードされてい
るか否かをプログラム間共有データ管理テーブル3を検
索して調べる手段である。
【0018】図2は、ロード対象プログラムが有する1
つのプログラム間共有データに関し同一データ検索手段
10が行う処理の一例を示すフローチャートである。
【0019】図2を参照すると、同一データ検索手段1
0は、処理すべき1つのプログラム間共有データのデー
タ名を変数NAMEに設定し(ステップ101)、変数
Nを1に初期化し(ステップ102)、変数Nの値がプ
ログラム間共有データ管理テーブル3のプログラム間共
有データ数31より大きいか否かを判定し(ステップ1
03)、大きければ、今回処理したプログラム間共有デ
ータは記憶空間上に存在しないことになるので、見つか
らないという結果を出力する。
【0020】変数Nの値がプログラム間共有データ数3
1以下であれば、プログラム間共有データ管理テーブル
3のN番目のプログラム間共有データのデータ名32を
変数NAME2に設定し(ステップ104)、この変数
NAME2と変数NAMEとを比較する(ステップ10
5)。一致したら、今回処理したプログラム間共有デー
タは記憶空間上に既に存在することになるので、見つか
ったという結果を出力する。
【0021】ステップ105で双方の変数の内容が相違
した場合、Nを+1して(ステップ106)、ステップ
103へ進み、上述した処理を繰り返す。
【0022】このようにして同一データ検索手段10
は、同一名のプログラム間共有データが存在するか否か
をプログラム間共有データ管理テーブル3に登録されて
いるデータ名32と1つずつ比較することにより検出し
ている。
【0023】次に図1のデータ登録手段11は、同一デ
ータ検索手段10で記憶空間上に存在しないことが判明
したプログラム間共有データを記憶空間にロードし、必
要な情報をプログラム間共有データ管理テーブル3に登
録する手段である。
【0024】図3は、存在しなかった1つのプログラム
間共有データに関しデータ登録手段11が行う処理の一
例を示すフローチャートである。
【0025】図3を参照すると、データ登録手段11
は、プログラム間共有データをロードするためのデータ
領域を記憶空間に確保し(ステップ111)、そのデー
タ領域に当該プログラム間共有データの初期値をロード
する(ステップ112)。
【0026】次に、プログラム間共有データ管理テーブ
ル3のプログラム間共有データ数31の値を変数Sに設
定し(ステップ113)、プログラム間共有データ管理
テーブル3のS+1番目のデータ名32に、ステップ1
12でロードしたプログラム間共有データのデータ名を
セットする(ステップ114)。
【0027】次に、そのセットしたデータ名32に対応
する利用プログラム数33に0をセットし(ステップ1
15)、更にそのデータ名32に対応するデータアドレ
ス34にステップ111で確保したデータ領域の先頭ア
ドレスを設定する(ステップ116)。そして、プログ
ラム間共有データ数31の値をS+1の値に変更し(ス
テップ117)、1つのプログラム間共有データに関す
る処理を終了する。
【0028】次に図1の利用プログラム登録手段12
は、プログラム間共有データを有するプログラムのロー
ド時に、そのプログラムがどのプログラム間共有データ
を利用しているのかをプログラム管理テーブル2に登録
し、また、そのプログラム間共有データの利用プログラ
ム数をプログラム間共有データ管理テーブル3に登録す
る手段である。
【0029】図4は、ロード対象プログラムが有する全
てのプログラム間共有データに関し利用プログラム登録
手段12が行う処理の一例を示すフローチャートであ
る。
【0030】図4を参照すると、利用プログラム登録手
段12は、変数Nに1を設定し(ステップ121)、そ
の値とロード対象プログラムが有するプログラム間共有
データの個数(データ個数)とを比較し(ステップ12
2)、変数Nの値がデータ個数を超えていれば、すなわ
ち全てのプログラム間共有データに関する処理を終えて
いれば、処理を終了する。
【0031】変数Nの値がデータ個数を超えていない場
合、N番目のデータ名でプログラム間共有データ管理テ
ーブル3を検索し(ステップ123)、見つけたデータ
名32に対応する利用プログラム数33の値を1上げる
(ステップ124)。
【0032】次に、プログラム管理テーブル2の該当プ
ログラム名22からステップ123で見つけたデータ名
32にデータリンク23を張る(ステップ125)。そ
して変数Nを+1して(ステップ126)、ステップ1
22に戻り、上述した処理を繰り返す。
【0033】次に図1の利用プログラム削除手段13
は、プログラム間共有データを有するプログラムの削除
時、そのプログラム間共有データに対応するプログラム
間共有データ管理テーブル3中の利用プログラム数33
を1減少させる等の処理を行う手段である。
【0034】図5は、削除対象プログラムが有する全て
のプログラム間共有データに関し利用プログラム削除手
段13が行う処理の一例を示すフローチャートである。
【0035】図5を参照すると、利用プログラム削除手
段13は、変数Nに1を設定し(ステップ131)、そ
の値と削除対象プログラムが有するプログラム間共有デ
ータの個数(データ個数)とを比較し(ステップ13
2)、変数Nの値がデータ個数を超えていれば、すなわ
ち全てのプログラム間共有データに関する処理を終えて
いれば、処理を終了する。
【0036】変数Nの値がデータ個数を超えていない場
合、プログラム管理テーブル2の削除対象プログラムの
プログラム名22に対応するN番目のデータリンク23
を求め(ステップ133)、そのデータリンク23が指
すプログラム間共有データ管理テーブル3中の利用プロ
グラム数33を1減少させる(ステップ134)。そし
て変数Nを+1し(ステップ135)、ステップ132
に戻って上述した処理を繰り返す。
【0037】次に図1の利用プログラム数検索手段14
は、プログラム間共有データ管理テーブル3からプログ
ラム間共有データの利用プログラム数33とデータアド
レス34とを検索する手段である。
【0038】図6は、或る1つのプログラム間共有デー
タに関し利用プログラム数検索手段14が行う処理の一
例を示すフローチャートである。
【0039】図6を参照すると、利用プログラム数検索
手段14は、今回処理するプログラム間共有データのデ
ータ名(対象データ名)を変数NAMEに設定し(ステ
ップ141)、この変数NAMEに設定された対象デー
タ名と同一のデータ名32をプログラム間共有データ管
理テーブル3から検索する(ステップ142)。
【0040】そして、検索して得たデータ名32に対応
する利用プログラム数33を変数CNTに設定し(ステ
ップ143)、同じく対応するデータアドレス34を変
数ADRに設定する(ステップ144)。
【0041】次に図1のプログラム間共有データ再ロー
ド手段15は、利用プログラム数検索手段14によって
検索された利用プログラム数33が0であるプログラム
間共有データの内容を初期設定する手段である。
【0042】図7はプログラム間共有データ再ロード手
段15の処理の一例を示すフローチャートである。
【0043】図7を参照すると、プログラム間共有デー
タ再ロード手段15は、利用プログラム数検索手段14
により設定された変数CNTの値が0か否か、即ち利用
プログラム数33が0か否かを判定し(ステップ15
1)、0でなければ処理を終了する。
【0044】他方、利用プログラム数33が0であれ
ば、利用プログラム数検索手段14により設定された変
数ADRの指す記憶空間上のアドレス、すなわち元のプ
ログラム間共有データのあった場所に初期値をロードし
(ステップ152)、処理を終了する。
【0045】次に図1の制御手段16は、プログラム間
共有データを有するプログラムのロード時や削除時に管
理部1内の各手段10〜15の起動等を制御することに
より、管理部1全体の制御を司る手段である。
【0046】以下、上述のように構成された本実施例の
動作を、図1に示すような「CALL B」によりプロ
グラム名Bのプログラム5を呼び出し、また「D1=D
1+10」によりデータ名D1のプログラム間共有デー
タ6を利用しているプログラム4と、「D1=0」によ
りプログラム間共有データ6を利用し、「D2=0」に
よりデータ名D2のプログラム間共有データ7を利用し
ているプログラム5とが、プログラム4,プログラム5
の順にロードされ、その後、プログラム5,プログラム
4の順に削除された状況を想定し、順を追って説明す
る。
【0047】プログラム4のロード時、管理部1の制御
手段16は、先ず、同一データ検索手段10を起動す
る。
【0048】同一データ検索手段10は、プログラム4
が有するプログラム間共有データのデータ名D1を変数
NAMEに設定し(図2のステップ101)、変数Nを
1に設定し(ステップ102)、変数Nの値がプログラ
ム間共有データ管理テーブル3のプログラム間共有デー
タ数31を超えているか否かを判定する(ステップ10
3)。
【0049】何れのプログラムもロードされていない初
期の状態においては、プログラム間共有データ数31は
0になっている。また、データ名32,利用プログラム
数33,データアドレス34も未設定であり、プログラ
ム管理テーブル2のプログラム数21は0に設定され、
データリンク23も未設定になっている。
【0050】従って、ステップ103の判定結果はYE
Sとなり、同一データ検索手段10は見つからない旨を
制御手段16に通知する。
【0051】この通知を受けた制御手段16は、データ
登録手段11を起動する。
【0052】データ登録手段11は、先ず、記憶空間上
にデータ領域を確保し(図3のステップ111)、そこ
にデータ名D1のプログラム間共有データの初期値をロ
ードする(ステップ112)。これで、図1のプログラ
ム間共有データ6が記憶空間上に置かれたことになる。
【0053】次にデータ登録手段11は、プログラム間
共有データ管理テーブル3のプログラム間共有データ数
31の値(今の場合0)を変数Sに設定し(ステップ1
13)、S+1即ち1番目のデータ名32にデータ名D
1をセットし(ステップ114)、同じく1番目の利用
プログラム数33に0をセットし(ステップ115)、
同じく1番目のデータアドレス34にプログラム間共有
データ6の先頭アドレスをセットする(ステップ11
6)。
【0054】そして、プログラム間共有データ数31に
1を設定し(ステップ117)、処理を終了する。
【0055】制御手段16はデータ登録手段11の処理
が終わると、プログラム4の有する次のプログラム間共
有データに関する制御に進むが、プログラム4は他にプ
ログラム間共有データを有しないため、同一データ検索
手段10,データ登録手段11による同一データ検索,
データ登録の制御を終え、次に利用プログラム登録手段
12を起動する。
【0056】利用プログラム登録手段12は、変数Nに
1を設定し(図4のステップ121)、変数Nの値が今
回ロードされたプログラム4の有するプログラム間共有
データの個数(今の場合1)を超えたか否かを判定する
(ステップ122)。今の場合は超えていないので、N
番目すなわち1番目のデータ名D1でプログラム間共有
データ管理テーブル3を検索し(ステップ123)、得
たデータ名32に対応するプログラム数を1上げて、1
とする(ステップ124)。
【0057】次に、プログラム管理テーブル2のプログ
ラム名22にプログラム名Aが設定されていなければプ
ログラム名Aを設定し、それに対応するN番目すなわち
1番目のデータリンク23に、上記検索して見つけたプ
ログラム間共有データ管理テーブル3のデータ名D1の
エントリ箇所へのデータリンクを張る(ステップ12
5)。
【0058】そして、変数Nを+1して2とし、ステッ
プ122に進み、ここで変数Nの値がデータ個数1を超
えたことを検出して処理を終了する。
【0059】なお、図4のフローチャートには示されて
いないが、利用プログラム登録手段12は、プログラム
管理テーブル2のプログラム数21を1増加させること
により、0から1とするものである。
【0060】以上で、管理部1はプログラム4のロード
時のプログラム間共有データに関する管理動作を終え
る。
【0061】次にプログラム5のロード時、管理部1の
制御手段16は、前述と同様に先ず、同一データ検索手
段10を起動する。
【0062】同一データ検索手段10は、プログラム5
が有するプログラム間共有データのデータ名D1を変数
NAMEに設定し(図2のステップ101)、変数Nを
1に設定し(ステップ102)、変数Nの値がプログラ
ム間共有データ管理テーブル3のプログラム間共有デー
タ数31を超えているか否かを判定する(ステップ10
3)。
【0063】プログラム4がロードされている現状で
は、プログラム間共有データ数31は1になっており、
変数Nの値1を超えていないので、同一データ検索手段
10は、変数NAME2にプログラム間共有データ管理
テーブル3のN番目すなわち1番目のデータ名D1を設
定し(ステップ104)、変数NAMEと変数NAME
2とを比較する(ステップ105)。この結果、両者は
一致するので、同一データ検索手段10は見つかった旨
を制御手段16に通知する。
【0064】制御手段16はこの通知を受けると、デー
タ名D1のプログラム間共有データ6は既に記憶空間に
存在するためデータ登録は不要と判断し、プログラム5
が有するデータ名D2の次のプログラム間共有データを
処理するために再び同一データ検索手段10を起動す
る。
【0065】同一データ検索手段10は、再び図2の処
理を実行するが、データ名D2は未だプログラム間共有
データ管理テーブル3に登録されていないので、ステッ
プ106で変数Nを+1して2とした後のステップ10
3で変数Nの値2がプログラム間共有データ数31の値
1を超えたことを判定し、見つからない旨を制御手段1
6に通知する。
【0066】この通知を受けた制御手段16は、データ
登録手段11を起動する。
【0067】データ登録手段11は、前述と同様に先
ず、記憶空間上にデータ領域を確保し(図3のステップ
111)、そこにデータ名D2のプログラム間共有デー
タの初期値をロードする(ステップ112)。これで、
図1のプログラム間共有データ7が記憶空間上に置かれ
たことになる。
【0068】次に、プログラム間共有データ数31の値
(今の場合1)を変数Sに設定し(ステップ113)、
プログラム間共有データ管理テーブル3のS+1即ち2
番目のデータ名32にデータ名D2をセットし(ステッ
プ114)、同じく2番目の利用プログラム数33に0
をセットし(ステップ115)、同じく2番目のデータ
アドレス34にプログラム間共有データ7の先頭アドレ
スをセットする(ステップ116)。そして、プログラ
ム間共有データ数31に2を設定し(ステップ11
7)、処理を終了する。
【0069】制御手段16はデータ登録手段11の処理
が終わると、プログラム5の有する次のプログラム間共
有データに関する制御に進むが、プログラム5は他にプ
ログラム間共有データを有しないため、同一データ検索
手段10,データ登録手段11による同一データ検索,
データ登録の制御を終え、次に利用プログラム登録手段
12を起動する。
【0070】利用プログラム登録手段12は、変数Nに
1を設定し(図4のステップ121)、変数Nの値が今
回ロードされたプログラム4の有するプログラム間共有
データの個数(今の場合2)を超えたか否かを判定する
(ステップ122)。今の場合は超えていないので、N
番目すなわち1番目のデータ名D1でプログラム間共有
データ管理テーブル3を検索し(ステップ123)、得
たデータ名32に対応する利用プログラム数33を1上
げて、2とする(ステップ124)。
【0071】次に、プログラム管理テーブル2のプログ
ラム名22にプログラム名Bが設定されていなければプ
ログラム名Bを設定し、それに対応するN番目すなわち
1番目のデータリンク23に、上記検索して見つけたプ
ログラム間共有データ管理テーブル3のデータ名D1の
エントリ箇所へのデータリンクを張る(ステップ12
5)。
【0072】そして、変数Nを+1して2とし(ステッ
プ126)、ステップ122に進み、未だデータ個数2
を超えていないので、ステップ123〜126の処理を
実行する。これにより、プログラム間共有データ管理テ
ーブル3のデータ名D2に対応する利用プログラム数3
3が1に変更され、また、プログラム管理テーブル2の
プログラム名Bに対応する2番目のデータリンク23に
プログラム間共有データ管理テーブル3のデータ名D2
へのデータリンクが張られる。そして、N+1した次の
ステップ122で、変数Nの値がデータ個数1を超えた
ことを検出して処理を終了する。
【0073】なお、上述と同様に利用プログラム登録手
段12は、プログラム管理テーブル2のプログラム数2
1を1増加させることにより、1から2とするものであ
る。
【0074】以上で、管理部1はプログラム5のロード
時のプログラム間共有データに関する管理動作を終え
る。図1のプログラム管理テーブル2およびプログラム
間共有データ管理テーブル3の内容はこの時点の内容を
示している。
【0075】さて、プログラム4,5の実行が行われ、
その後、実行終了したプログラム5が削除される場合、
管理部1の制御手段16は利用プログラム削除手段13
を起動する。
【0076】利用プログラム削除手段13は、変数Nに
1を設定し(図5のステップ131)、変数Nの値が削
除対象のプログラム5の有するプログラム間共有データ
数2を超えたか否かを判定する(ステップ132)。
【0077】この結果は超えていないので、プログラム
管理テーブル2から削除対象のプログラム5のプログラ
ム名Bに対応するN番目すなわち1番目のデータリンク
23を求め(ステップ133)、それが指すプログラム
間共有データ管理テーブル3のデータ名D1に対応する
利用プログラム数33を1下げ、1とする(ステップ1
34)。
【0078】そして、変数Nを+1して2とし(ステッ
プ135)、ステップ132に戻り、未だデータ個数2
を超えていないので、ステップ133,134を実行す
る。これにより、プログラム間共有データ管理テーブル
3のデータ名D2に対応する利用プログラム数33が1
下げられ、0となる。その後、N=3にしてステップ1
32に進み、ここでデータ個数2を超えたことを判定
し、処理を終了する。
【0079】なお、図5のフローチャートには示してい
ないが、利用プログラム削除手段13はプログラム管理
テーブル2のプログラム数21を1減じて1とし、また
プログラム名Bに対応する不要なデータリンク23を削
除するものである。
【0080】制御手段16は利用プログラム削除手段1
3の処理が終了すると、削除対象のプログラム5の有す
る1番目のプログラム間共有データ6のデータ名D1を
指定して利用プログラム数検索手段14を起動する。
【0081】データ名D1に関し起動された利用プログ
ラム数検索手段14は、変数NAMEにデータ名D1を
設定し(図6のステップ141)、このデータ名D1で
プログラム間共有データ管理テーブル3を検索し(ステ
ップ142)、データ名D1を示すデータ名32に対応
する利用プログラム数33(今の場合1)を変数CNT
に設定し(ステップ143)、同じく対応するデータア
ドレス34を変数ADRに設定し(ステップ144)、
処理を終了する。
【0082】制御手段16は、利用プログラム数検索手
段14の処理が終わると、プログラム間共有データ再ロ
ード手段15を起動する。
【0083】プログラム間共有データ再ロード手段15
は、変数CNTの値が0か否かを判定し(図7のステッ
プ151)、0でなければ処理を終える。今の場合、変
数CNTの値は1なので、処理を終えることになる。
【0084】制御手段16は、次に2番目のプログラム
間共有データ7のデータ名D2を指定して利用プログラ
ム数検索手段14を起動し、その処理終了後にプログラ
ム間共有データ再ロード手段15を起動する。
【0085】データ名D2に関し起動された利用プログ
ラム数検索手段14は、図6の処理を行う。これによ
り、変数CNTに0が、変数ADRにデータ名D2のプ
ログラム間共有データ7のデータアドレスが設定され
る。
【0086】また、図7の処理を実行するプログラム間
共有データ再ロード手段15では、変数CNTの値が0
なので、変数ADRに設定されたデータアドレスの箇所
に、初期値をロードする(ステップ152)。これによ
り、プログラム間共有データ7の初期設定が行われたこ
とになる。
【0087】制御手段16は削除対象のプログラム5の
有する全てのプログラム間共有データに関し利用プログ
ラム数検索手段14,プログラム間共有データ再ロード
手段15による処理を終えると、プログラム5の削除時
の管理動作を終了する。
【0088】次にプログラム4が削除される場合も管理
部1の制御手段16は利用プログラム削除手段13を起
動する。
【0089】利用プログラム削除手段13は、変数Nに
1を設定し(図5のステップ131)、変数Nの値が削
除対象のプログラム4の有するプログラム間共有データ
数1を超えたか否かを判定する(ステップ132)。
【0090】この結果は超えていないので、プログラム
管理テーブル2から削除対象のプログラム4のプログラ
ム名Aに対応するN番目すなわち1番目のデータリンク
23を求め(ステップ133)、それが指すプログラム
間共有データ管理テーブル3のデータ名D1に対応する
利用プログラム数33を1下げ、0とする。
【0091】そして、変数Nを+1して2とし、ステッ
プ132に戻り、ここでデータ個数1を超えたことを判
定し、処理を終了する。
【0092】なお、図5のフローチャートには示してい
ないが、利用プログラム削除手段13はプログラム管理
テーブル2のプログラム数21を1減じて0とし、また
プログラム名Aに対応する不要なデータリンク23を削
除するものである。
【0093】制御手段16は利用プログラム削除手段1
3の処理が終了すると、削除対象のプログラム4の有す
る1番目のプログラム間共有データ6のデータ名D1を
指定して利用プログラム数検索手段14を起動する。
【0094】データ名D1に関し起動された利用プログ
ラム数検索手段14は、変数NAMEにデータ名D1を
設定し(図6のステップ141)、このデータ名D1で
プログラム間共有データ管理テーブル3を検索し(ステ
ップ142)、データ名D1を示すデータ名32に対応
する利用プログラム数33(今の場合0)を変数CNT
に設定し(ステップ143)、同じく対応するデータア
ドレス34を変数ADRに設定し(ステップ144)、
処理を終了する。
【0095】制御手段16は、利用プログラム数検索手
段14の処理が終わると、プログラム間共有データ再ロ
ード手段15を起動する。
【0096】プログラム間共有データ再ロード手段15
は、変数CNTの値が0か否かを判定し(ステップ15
1)、今の場合、変数0になっているので、変数ADR
に設定されたデータアドレスの箇所に、初期値をロード
する(ステップ152)。これにより、プログラム間共
有データ6の初期設定が行われたことになる。
【0097】制御手段16は削除対象のプログラム4の
有する全てのプログラム間共有データに関し利用プログ
ラム数検索手段14,プログラム間共有データ再ロード
手段15による処理を終えると、プログラム4の削除時
の管理動作を終了する。
【0098】
【発明の効果】以上説明したように、本発明のプログラ
ム間共有データ管理装置によれば、プログラム間共有デ
ータの利用プログラム数を一括して管理しているので、
プログラム間共有データを再ロードする契機が判明し、
この契機で初期値を再ロードすることにより、プログラ
ム間共有データに対する初期値の再設定が可能になり、
初期値を持つデータであってもプログラム間共有データ
として扱うことができる効果がある。
【0099】また、データ領域の再確保を行わず、元の
プログラム間共有データのデータ領域に初期値を再ロー
ドするので、ガーベジコレクション等の領域管理問題を
起こすことはない。
【図面の簡単な説明】
【図1】本発明の一実施例の構成図である。
【図2】同一データ検索手段の処理の一例を示すフロー
チャートである。
【図3】データ登録手段の処理の一例を示すフローチャ
ートである。
【図4】利用プログラム登録手段の処理の一例を示すフ
ローチャートである。
【図5】利用プログラム削除手段の処理の一例を示すフ
ローチャートである。
【図6】利用プログラム数検索手段の処理の一例を示す
フローチャートである。
【図7】プログラム間共有データ再ロード手段の処理の
一例を示すフローチャートである。
【符号の説明】 1…管理部 10…同一データ検索手段 11…データ登録手段 12…利用プログラム登録手段 13…利用プログラム削除手段 14…利用プログラム数検索手段 15…プログラム間共有データ再ロード手段 16…制御手段 2…プログラム管理テーブル 21…プログラム数 22…プログラム名 23…データリンク 3…プログラム間共有データ管理テーブル 31…プログラム間共有データ数 32…データ名 33…利用プログラム数 34…データアドレス 4,5…プログラム 6,7…プログラム間共有データ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 記憶空間上に存在するプログラム間共有
    データ毎にその名前と利用プログラム数と記憶空間上の
    アドレスとを保持する管理テーブルと、 プログラム間共有データを有するプログラムのロード
    時、そのプログラム間共有データが既に記憶空間上にロ
    ードされているか否かを前記管理テーブルを検索して調
    べる同一データ検索手段と、 該同一データ検索手段で記憶空間上にロードされていな
    いことが判明したプログラム間共有データを記憶空間に
    ロードし、必要な情報を前記管理テーブルに登録する登
    録手段と、 プログラム間共有データを有するプログラムの削除時、
    そのプログラム間共有データに対応する前記管理テーブ
    ル中の利用プログラム数を更新する利用プログラム削除
    手段とを含むプログラム間共有データ管理装置。
  2. 【請求項2】 前記管理テーブルからプログラム間共有
    データの利用プログラム数と記憶空間上のアドレスとを
    検索する利用プログラム数検索手段と、 該利用プログラム数検索手段によって検索された利用プ
    ログラム数が0であるプログラム間共有データの記憶空
    間上のアドレスに初期値をロードするプログラム間共有
    データ再ロード手段とを含む請求項1記載のプログラム
    間共有データ管理装置。
JP26894691A 1991-09-20 1991-09-20 プログラム間共有データ管理装置 Pending JPH0581033A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26894691A JPH0581033A (ja) 1991-09-20 1991-09-20 プログラム間共有データ管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26894691A JPH0581033A (ja) 1991-09-20 1991-09-20 プログラム間共有データ管理装置

Publications (1)

Publication Number Publication Date
JPH0581033A true JPH0581033A (ja) 1993-04-02

Family

ID=17465487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26894691A Pending JPH0581033A (ja) 1991-09-20 1991-09-20 プログラム間共有データ管理装置

Country Status (1)

Country Link
JP (1) JPH0581033A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0822393A (ja) * 1994-07-07 1996-01-23 Nec Corp 動的ローディング制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0822393A (ja) * 1994-07-07 1996-01-23 Nec Corp 動的ローディング制御装置

Similar Documents

Publication Publication Date Title
US7031989B2 (en) Dynamic seamless reconfiguration of executing parallel software
US6304867B1 (en) System and method for enhanced performance of a relational database management system through the use of application-specific memory-resident data
EP0848324A2 (en) Using three-state references to manage access to referenced objects
JPH0644085A (ja) アクセスを実行する方法及び装置並びにコンピュータシステム
JP3701890B2 (ja) 圧縮メモリ・システムの再利用スペース予約
US7752399B2 (en) Exclusion control method and information processing apparatus
US8719274B1 (en) Method, system, and apparatus for providing generic database services within an extensible firmware interface environment
US5524214A (en) System for modification of dynamic buffer allocation by comparing modification request with current allocation and updating allocation based upon comparison discrepancy
GB2320343A (en) computer system with checkpoint facility
JPH0581033A (ja) プログラム間共有データ管理装置
US20080127194A1 (en) Job allocation program and job allocation method
JP2003528390A (ja) インタプリタによりコンピュータプログラムを実行する方法、コンピュータシステムならびにコンピュータプログラムプロダクト
JP3110185B2 (ja) 計算機システム
US6085264A (en) Accounting-information outputting device
US5642510A (en) Catalog management system using a catalog pool, pool management table and pool number data table
US8527484B2 (en) Accessing a data structure
JPH06348666A (ja) 計算機システムにおけるプログラム実行負荷分散方法
JP3030030B2 (ja) 領域管理処理方式
JP2787107B2 (ja) バッファ制御方式及び装置
Sciore et al. Memory Management
JPH0512029A (ja) 管理テーブル使用によるプログラムのロードシステム
JP3099429B2 (ja) Ipl処理におけるファイルデータの保存方法
JPS63196956A (ja) フアイル排他方式
CN116257519A (zh) 一种数据读写的方法、装置、计算机设备及存储介质
JP2003316560A (ja) ジョブ処理装置