JPH0221610B2 - - Google Patents
Info
- Publication number
- JPH0221610B2 JPH0221610B2 JP58055501A JP5550183A JPH0221610B2 JP H0221610 B2 JPH0221610 B2 JP H0221610B2 JP 58055501 A JP58055501 A JP 58055501A JP 5550183 A JP5550183 A JP 5550183A JP H0221610 B2 JPH0221610 B2 JP H0221610B2
- Authority
- JP
- Japan
- Prior art keywords
- load module
- control unit
- field
- value
- address
- 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
Links
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は、プログラムの物理構造と論理的な呼
出し構造を独立できるようにした計算機システム
におけるプログラムのリンケージ方式に関するも
のである。
出し構造を独立できるようにした計算機システム
におけるプログラムのリンケージ方式に関するも
のである。
従来技術においては、プログラム間の呼出し関
係は、独立して管理できなかつた。このため、ロ
ード・モジユール構成を変えるようなチユーニン
グ(tuning)を実現するためには、プログラムの
修正が必要とされた。また、動的リンク構造のプ
ログラムでは、ロード・モジユールのローデイン
グ時期とプログラム・リンケージの対応が密接す
ぎた。
係は、独立して管理できなかつた。このため、ロ
ード・モジユール構成を変えるようなチユーニン
グ(tuning)を実現するためには、プログラムの
修正が必要とされた。また、動的リンク構造のプ
ログラムでは、ロード・モジユールのローデイン
グ時期とプログラム・リンケージの対応が密接す
ぎた。
本発明は、上記の考察に基づくものであつて、
ロード・モジユールとプログラムの対応をコンパ
イル時に解決することにより、プログラムの物理
構造と論理的な呼出し構造を独立させ得ると共
に、計算機の仮想記憶装置上からのロード・モジ
ユールの削除を木目細く行い得るようになつた計
算機システムにおけるプログラムのリンケージ方
式を提供することを目的としている。
ロード・モジユールとプログラムの対応をコンパ
イル時に解決することにより、プログラムの物理
構造と論理的な呼出し構造を独立させ得ると共
に、計算機の仮想記憶装置上からのロード・モジ
ユールの削除を木目細く行い得るようになつた計
算機システムにおけるプログラムのリンケージ方
式を提供することを目的としている。
そしてそのため、本発明の第1番目の発明の計
算機システムにおけるプログラムのリンケージ方
式は、 ロード・モジユール・アドレス記入欄、ロー
ド・モジユール名記入欄、処理指定記入欄及びカ
ウント欄を有するロード・モジユール制御単位を
複数個有するロード・モジユール表と、 デイスパツチング手段と、 共通カウンタと、 共通カウンタを更新する更新手段と、 デイスパツチング手段に制御を渡すダミー・モ
ジユールと、 ロード・モジユール表開設時処理手段と、 ロード・モジユールの中に配置されたルーチン
呼出手段と、 ロード・モジユールの中に配置された削除手段
と を具備し、 ロード・モジユール表開設時処理手段は、ロー
ド・モジユール表を仮想記憶装置上にローデイン
グし、ロード・モジユール制御単位の処理指定記
入欄が静的結合を指定している場合には当該ロー
ド・モジユール制御単位のロード・モジユール名
記入欄で指定されるロード・モジユールを仮想記
憶装置上にローデイングして当該ローデイング・
アドレスを当該ロード・モジユール制御単位のロ
ード・モジユール・アドレス記入欄に記入し、ロ
ード・モジユール制御単位の処理指定記入欄が動
的結合を指定している場合には仮想記憶装置上に
ローデイングされたダミー・モジユールのローデ
イング・アドレスを当該ロード・モジユール・ア
ドレス記入欄に記入するように構成され、 デイスパツチング手段は、指定されたロード・
モジユール制御単位のロード・モジユール名記入
欄に記入された名前のロード・モジユールを仮想
記憶装置上にローデイングし、共通カウンタの値
を当該ロード・モジユール制御単位のカウント欄
に記入し、当該ロード・モジユールの中における
指定されたルーチンに制御を渡すように構成さ
れ、 ルーチン呼出手段は、ロード・モジユール指定
情報で特定されるロード・モジユール制御単位の
ロード・モジユール・アドレス記入欄の値および
CSECTアドレス記入欄指定情報によつて定まる
CSECTアドレス記入欄の値を読み出し、読み出
した値を入口点アドレスとするルーチンに制御を
渡すように構成され、 削除手段は、ロード・モジユール制御単位のカ
ウント欄を参照して、仮想記憶装置上から削除す
べきロード・モジユールを見出し、見出したロー
ド・モジユールを仮想記憶装置上から削除するよ
う構成されている ことを特徴とするものである。
算機システムにおけるプログラムのリンケージ方
式は、 ロード・モジユール・アドレス記入欄、ロー
ド・モジユール名記入欄、処理指定記入欄及びカ
ウント欄を有するロード・モジユール制御単位を
複数個有するロード・モジユール表と、 デイスパツチング手段と、 共通カウンタと、 共通カウンタを更新する更新手段と、 デイスパツチング手段に制御を渡すダミー・モ
ジユールと、 ロード・モジユール表開設時処理手段と、 ロード・モジユールの中に配置されたルーチン
呼出手段と、 ロード・モジユールの中に配置された削除手段
と を具備し、 ロード・モジユール表開設時処理手段は、ロー
ド・モジユール表を仮想記憶装置上にローデイン
グし、ロード・モジユール制御単位の処理指定記
入欄が静的結合を指定している場合には当該ロー
ド・モジユール制御単位のロード・モジユール名
記入欄で指定されるロード・モジユールを仮想記
憶装置上にローデイングして当該ローデイング・
アドレスを当該ロード・モジユール制御単位のロ
ード・モジユール・アドレス記入欄に記入し、ロ
ード・モジユール制御単位の処理指定記入欄が動
的結合を指定している場合には仮想記憶装置上に
ローデイングされたダミー・モジユールのローデ
イング・アドレスを当該ロード・モジユール・ア
ドレス記入欄に記入するように構成され、 デイスパツチング手段は、指定されたロード・
モジユール制御単位のロード・モジユール名記入
欄に記入された名前のロード・モジユールを仮想
記憶装置上にローデイングし、共通カウンタの値
を当該ロード・モジユール制御単位のカウント欄
に記入し、当該ロード・モジユールの中における
指定されたルーチンに制御を渡すように構成さ
れ、 ルーチン呼出手段は、ロード・モジユール指定
情報で特定されるロード・モジユール制御単位の
ロード・モジユール・アドレス記入欄の値および
CSECTアドレス記入欄指定情報によつて定まる
CSECTアドレス記入欄の値を読み出し、読み出
した値を入口点アドレスとするルーチンに制御を
渡すように構成され、 削除手段は、ロード・モジユール制御単位のカ
ウント欄を参照して、仮想記憶装置上から削除す
べきロード・モジユールを見出し、見出したロー
ド・モジユールを仮想記憶装置上から削除するよ
う構成されている ことを特徴とするものである。
また、本発明の第2番目の発明の計算機システ
ムにおけるプログラムのリンケージ方式は、 ロード・モジユール・アドレス記入欄、ロー
ド・モジユール名記入欄、処理指定記入欄、第1
カウント欄及び第2カウント欄を有するロード・
モジユール制御単位を複数個有するロード・モジ
ユール表と、 デイスパツチング手段と、 共通カウンタと、 デイスパツチング手段に制御を渡すダミー・モ
ジユールと、 ロード・モジユール表開設時処理手段と、 ロード・モジユールの中に配置されたルーチン
呼出前処理手段と、 ロード・モジユールの中に配置されたルーチン
呼出手段と、 ロード・モジユールの中に配置された削除前処
理手段と、 ロード・モジユールの中に配置された削除手段
と を具備し、 ロード・モジユール表開設時処理手段は、ロー
ド・モジユール表を仮想記憶装置上にローデイン
グし、ロード・モジユール制御単位の処理指定記
入欄が静的結合を指定している場合には当該ロー
ド・モジユール制御単位のロード・モジユール名
記入欄で指定されるロード・モジユールを仮想記
憶装置上にローデイングして当該ローデイング・
アドレスを当該ロード・モジユール制御単位のロ
ード・モジユール・アドレス記入欄に記入し、ロ
ード・モジユール制御単位の処理指定記入欄が動
的結合を指定している場合には仮想記憶装置上に
ローデイングされたダミー・モジユールのローデ
イング・アドレスを当該ロード・モジユール・ア
ドレス記入欄に記入するように構成され、 デイスパツチング手段は、共通カウンタの値を
+1し、指定されたロード・モジユール制御単位
のロード・モジユール名記入欄に記入された名前
のロード・モジユールを仮想記憶装置上にローデ
イングし、共通カウンタの値を当該ロード・モジ
ユール制御単位のカウント欄に記入し、当該ロー
ド・モジユールの中における指定されたルーチン
に制御を渡すように構成され、 ルーチン呼出前処理手段は、呼出すべき目的ル
ーチンが既にロード済か否かを調べ、ロード済の
場合には自己の属するロード・モジユールに対応
するロード・モジユール制御単位の第2カウント
欄の値を−1するように構成され、 ルーチン呼出手段は、ロード・モジユール指定
情報で特定されるロード・モジユール制御単位の
ロード・モジユール・アドレス記入欄の値および
CSECTアドレス記入欄指定情報によつて定まる
CSECTアドレス記入欄の値を読み出し、読み出
した値を入口点アドレスとするルーチンに制御を
渡すように構成され、 削除前処理手段は、自己が属するロード・モジ
ユールに対応するロード・モジユール制御単位の
第2カウント欄の値を+1し、第2カウント欄の
値が第1カウント欄の値よりも大きい場合には削
除手段に制御を渡すように構成され、 削除手段は、自己が属するロード・モジユール
のロード・モジユール制御単位の第1カウント値
と等しいか、もしくは大きい第1カウント値を持
つロード・モジユール制御単位を見出し、見出し
たロード・モジユール制御単位のロード・モジユ
ールを仮想記憶装置上から削除するように構成さ
れている ことを特徴とするものである。
ムにおけるプログラムのリンケージ方式は、 ロード・モジユール・アドレス記入欄、ロー
ド・モジユール名記入欄、処理指定記入欄、第1
カウント欄及び第2カウント欄を有するロード・
モジユール制御単位を複数個有するロード・モジ
ユール表と、 デイスパツチング手段と、 共通カウンタと、 デイスパツチング手段に制御を渡すダミー・モ
ジユールと、 ロード・モジユール表開設時処理手段と、 ロード・モジユールの中に配置されたルーチン
呼出前処理手段と、 ロード・モジユールの中に配置されたルーチン
呼出手段と、 ロード・モジユールの中に配置された削除前処
理手段と、 ロード・モジユールの中に配置された削除手段
と を具備し、 ロード・モジユール表開設時処理手段は、ロー
ド・モジユール表を仮想記憶装置上にローデイン
グし、ロード・モジユール制御単位の処理指定記
入欄が静的結合を指定している場合には当該ロー
ド・モジユール制御単位のロード・モジユール名
記入欄で指定されるロード・モジユールを仮想記
憶装置上にローデイングして当該ローデイング・
アドレスを当該ロード・モジユール制御単位のロ
ード・モジユール・アドレス記入欄に記入し、ロ
ード・モジユール制御単位の処理指定記入欄が動
的結合を指定している場合には仮想記憶装置上に
ローデイングされたダミー・モジユールのローデ
イング・アドレスを当該ロード・モジユール・ア
ドレス記入欄に記入するように構成され、 デイスパツチング手段は、共通カウンタの値を
+1し、指定されたロード・モジユール制御単位
のロード・モジユール名記入欄に記入された名前
のロード・モジユールを仮想記憶装置上にローデ
イングし、共通カウンタの値を当該ロード・モジ
ユール制御単位のカウント欄に記入し、当該ロー
ド・モジユールの中における指定されたルーチン
に制御を渡すように構成され、 ルーチン呼出前処理手段は、呼出すべき目的ル
ーチンが既にロード済か否かを調べ、ロード済の
場合には自己の属するロード・モジユールに対応
するロード・モジユール制御単位の第2カウント
欄の値を−1するように構成され、 ルーチン呼出手段は、ロード・モジユール指定
情報で特定されるロード・モジユール制御単位の
ロード・モジユール・アドレス記入欄の値および
CSECTアドレス記入欄指定情報によつて定まる
CSECTアドレス記入欄の値を読み出し、読み出
した値を入口点アドレスとするルーチンに制御を
渡すように構成され、 削除前処理手段は、自己が属するロード・モジ
ユールに対応するロード・モジユール制御単位の
第2カウント欄の値を+1し、第2カウント欄の
値が第1カウント欄の値よりも大きい場合には削
除手段に制御を渡すように構成され、 削除手段は、自己が属するロード・モジユール
のロード・モジユール制御単位の第1カウント値
と等しいか、もしくは大きい第1カウント値を持
つロード・モジユール制御単位を見出し、見出し
たロード・モジユール制御単位のロード・モジユ
ールを仮想記憶装置上から削除するように構成さ
れている ことを特徴とするものである。
以下、本発明を図面を参照しつつ説明する。
第1図は本発明におけるリンケージを説明する
ものである。第1図において、LMTはロード・
モジユール表、LMCUはロード・モジユール制
御単位、LMはロード・モジユール、CTは
CSECT(コントロール・セクシヨン)表をそれぞ
れ示している。ロード・モジユール表LMTは複
数のロード・モジユール制御単位LMCUを有し
ており、各ロード・モジユール制御単位LMCU
はロード・モジユール・アドレス記入欄、ロー
ド・モジユール名記入欄、処理指定記入欄、カウ
ント欄を有しており、ロード・モジユール・アド
レスは対応するロード・モジユールの先頭アドレ
スを示している。ロード・モジユールLMは
CSECT表CTおよび複数のルーチンを有してお
り、CSECT表CTは複数のCSECTアドレス記入
欄を有している。CSECTアドレス記入欄の内容
は、対応するルーチンの先頭アドレスを示してい
る。
ものである。第1図において、LMTはロード・
モジユール表、LMCUはロード・モジユール制
御単位、LMはロード・モジユール、CTは
CSECT(コントロール・セクシヨン)表をそれぞ
れ示している。ロード・モジユール表LMTは複
数のロード・モジユール制御単位LMCUを有し
ており、各ロード・モジユール制御単位LMCU
はロード・モジユール・アドレス記入欄、ロー
ド・モジユール名記入欄、処理指定記入欄、カウ
ント欄を有しており、ロード・モジユール・アド
レスは対応するロード・モジユールの先頭アドレ
スを示している。ロード・モジユールLMは
CSECT表CTおよび複数のルーチンを有してお
り、CSECT表CTは複数のCSECTアドレス記入
欄を有している。CSECTアドレス記入欄の内容
は、対応するルーチンの先頭アドレスを示してい
る。
第2図はロード・モジユール表LMTを開設す
る際の処理を示すものである。最初に、ロード・
モジユール表LMTをライブラリから仮想記憶装
置上にローデイングする。次に、先頭のロード・
モジユール制御単位LMCUの処理指定記入欄が
静的結合を指示しているか否かを調べる。T(真)
である場合には、ロード・モジユール名記入欄の
内容で指定されたロード・モジユールをライブラ
リから仮想記憶装置上にローデイングし、このア
ドレスをロード・モジユール・アドレス記入欄に
書込む。F(偽)であれば、ロード・モジユー
ル・アドレス記入欄にデイスパツチヤ・ロード・
モジユール(ダミー・モジユール)のアドレスを
記入する。このような処理を全てのロード・モジ
ユール制御単位LMCUについて行う。上記のよ
うな処理を行う手段をロード・モジユール表開設
時処理手段と言う。このロード・モジユール表開
設時処理手段は、計算機システムの中に存在す
る。
る際の処理を示すものである。最初に、ロード・
モジユール表LMTをライブラリから仮想記憶装
置上にローデイングする。次に、先頭のロード・
モジユール制御単位LMCUの処理指定記入欄が
静的結合を指示しているか否かを調べる。T(真)
である場合には、ロード・モジユール名記入欄の
内容で指定されたロード・モジユールをライブラ
リから仮想記憶装置上にローデイングし、このア
ドレスをロード・モジユール・アドレス記入欄に
書込む。F(偽)であれば、ロード・モジユー
ル・アドレス記入欄にデイスパツチヤ・ロード・
モジユール(ダミー・モジユール)のアドレスを
記入する。このような処理を全てのロード・モジ
ユール制御単位LMCUについて行う。上記のよ
うな処理を行う手段をロード・モジユール表開設
時処理手段と言う。このロード・モジユール表開
設時処理手段は、計算機システムの中に存在す
る。
次に、ロード・モジユールの呼出しについて説
明する。呼出し元のプログラムは、呼出すべきロ
ード・モジユール制御単位のアドレス及び
CSECT表のアドレス(共に相対アドレス)を知
つているものとする。目的とするルーチンのアド
レスは、ロード・モジユール制御単位LMCUの
アドレス→ロード・モジユールLMのアドレス→
CSECTアドレスをたどることによつて知ること
が出来る。この際、ロード・モジユールLMが仮
想記憶装置上にローデイングされていないと、ダ
ミー・モジユールからデイスパツチング・ルーチ
ンに制御が渡り、デイスパツチング・ルーチンが
呼出されたロード・モジユールをライブラリから
仮想記憶装置上にロードした後、目的のルーチン
を呼び出す。処理が静的結合のものは、既にロー
ド済であるので、直接呼び出される。なお、上述
のロード・モジユール呼出しの手続をの手続と
いう。第3図はこのデイスパツチング・ルーチン
の処理を示すフローチヤートである。復帰時は直
接呼出し元へ戻る。
明する。呼出し元のプログラムは、呼出すべきロ
ード・モジユール制御単位のアドレス及び
CSECT表のアドレス(共に相対アドレス)を知
つているものとする。目的とするルーチンのアド
レスは、ロード・モジユール制御単位LMCUの
アドレス→ロード・モジユールLMのアドレス→
CSECTアドレスをたどることによつて知ること
が出来る。この際、ロード・モジユールLMが仮
想記憶装置上にローデイングされていないと、ダ
ミー・モジユールからデイスパツチング・ルーチ
ンに制御が渡り、デイスパツチング・ルーチンが
呼出されたロード・モジユールをライブラリから
仮想記憶装置上にロードした後、目的のルーチン
を呼び出す。処理が静的結合のものは、既にロー
ド済であるので、直接呼び出される。なお、上述
のロード・モジユール呼出しの手続をの手続と
いう。第3図はこのデイスパツチング・ルーチン
の処理を示すフローチヤートである。復帰時は直
接呼出し元へ戻る。
ロード・モジユール制御単位LMCUのカウン
タを利用してオーバレイと同様の機能も実現する
ことができる。第4図はオーバレイ機能を実現す
る場合の呼び出し側を示すものである。この場合
には、の手続きの後に、削除手順を呼び出すた
めの手続きが配置される。即ち、目的とするルー
チンを呼び出し、目的とするルーチンから復帰し
た時に削除手順が呼び出される。第5図はオーバ
レイ機能を実現する場合のロード・モジユール表
LMTの構成を示すものである。この場合には、
ロード・モジユール表LMTには共通カウンタが
設けられている。第6図はオーバレイ機能を実現
するためのデイスパツチング・ルーチンを示すも
のである。このデイスパツチング・ルーチンは、
最初に共通カウンタを+1し、ロード・モジユー
ルを読込み、共通カウンタの値を対応するロー
ド・モジユール制御単位LMCUのカウンタの値
とし、最後に目的ルーチンに制御を渡す。第7図
は、第4図の削除手順によつて行われる処理を示
すものであつて、削除手段は、自己のロード・モ
ジユールのカウンタ値より等しいか若しくは大き
いカウンタ値を持つロード・モジユールを仮想記
憶装置上から消去し、ダミー・モジユールを消去
されたロード・モジユールのロード・モジユール
制御単位LMCUにつなぐ。なお、ロード・モジ
ユールが仮想記憶装置上にローデイングされた時
には、そのロード・モジユールのロード・モジユ
ール制御単位のロード・モジユール・アドレス記
入欄にローデイング・アドレスが書き込まれる。
その処理もデイスパツチング・ルーチンによつて
行われる。
タを利用してオーバレイと同様の機能も実現する
ことができる。第4図はオーバレイ機能を実現す
る場合の呼び出し側を示すものである。この場合
には、の手続きの後に、削除手順を呼び出すた
めの手続きが配置される。即ち、目的とするルー
チンを呼び出し、目的とするルーチンから復帰し
た時に削除手順が呼び出される。第5図はオーバ
レイ機能を実現する場合のロード・モジユール表
LMTの構成を示すものである。この場合には、
ロード・モジユール表LMTには共通カウンタが
設けられている。第6図はオーバレイ機能を実現
するためのデイスパツチング・ルーチンを示すも
のである。このデイスパツチング・ルーチンは、
最初に共通カウンタを+1し、ロード・モジユー
ルを読込み、共通カウンタの値を対応するロー
ド・モジユール制御単位LMCUのカウンタの値
とし、最後に目的ルーチンに制御を渡す。第7図
は、第4図の削除手順によつて行われる処理を示
すものであつて、削除手段は、自己のロード・モ
ジユールのカウンタ値より等しいか若しくは大き
いカウンタ値を持つロード・モジユールを仮想記
憶装置上から消去し、ダミー・モジユールを消去
されたロード・モジユールのロード・モジユール
制御単位LMCUにつなぐ。なお、ロード・モジ
ユールが仮想記憶装置上にローデイングされた時
には、そのロード・モジユールのロード・モジユ
ール制御単位のロード・モジユール・アドレス記
入欄にローデイング・アドレスが書き込まれる。
その処理もデイスパツチング・ルーチンによつて
行われる。
更に、recursionを許す場合には、呼び出し手
順は、第8図のようになる。この場合には、リン
ケージ部(ロード・モジユール制御単位)にカウ
ンタ2が追加され、ロード時にカウンタとカウン
タ2へ同じ値を入れる。この呼出し手順は、目的
ルーチンを含むロード・モジユールがロード済み
か否かを調べ、T(真)の場合にはカウンタ2の
内容を−1してからの手順を行い、F(偽)の
場合には直ちにの手順を行い、目的ルーチンか
ら復帰した後にカウンタ2の値を+1し、自己の
ロード・モジユールのカウンタがカウンタ2より
小さいか否かを調べ、T(真)の場合は削除手順
を行い、F(偽)の場合は削除手順を行わない。
これによつて、オーバレイが実現できる。また、
recursionがあつてもよい。更に、第9図のよう
に、削除指定を枝分かれの所で行うことによつて
一部を先に削除することも可能である。
順は、第8図のようになる。この場合には、リン
ケージ部(ロード・モジユール制御単位)にカウ
ンタ2が追加され、ロード時にカウンタとカウン
タ2へ同じ値を入れる。この呼出し手順は、目的
ルーチンを含むロード・モジユールがロード済み
か否かを調べ、T(真)の場合にはカウンタ2の
内容を−1してからの手順を行い、F(偽)の
場合には直ちにの手順を行い、目的ルーチンか
ら復帰した後にカウンタ2の値を+1し、自己の
ロード・モジユールのカウンタがカウンタ2より
小さいか否かを調べ、T(真)の場合は削除手順
を行い、F(偽)の場合は削除手順を行わない。
これによつて、オーバレイが実現できる。また、
recursionがあつてもよい。更に、第9図のよう
に、削除指定を枝分かれの所で行うことによつて
一部を先に削除することも可能である。
以上の説明から明らかなように、本発明によれ
ば、ロード・モジユール構成の実働プログラムが
出来上つた後、少ない工数でチユーニングするこ
とが出来る。また、本発明によれば、木目細かい
削除処理を行うことが出来る。
ば、ロード・モジユール構成の実働プログラムが
出来上つた後、少ない工数でチユーニングするこ
とが出来る。また、本発明によれば、木目細かい
削除処理を行うことが出来る。
第1図は本発明におけるリンケージを説明する
図、第2図はロード・モジユール表開設の際の処
理を示す図、第3図はデイスパツチング・ルーチ
ンの1例を説明する図、第4図はオーバレイを実
現する場合の呼び出し側を説明する図、第5図は
オーバレイ機能を実現する場合のロード・モジユ
ール表の構成を示す図、第6図はオーバレイ機能
を実現するためのデイスパツチング・ルーチンの
1例を示す図、第7図は第4図の削除手順による
処理を示す図、第8図はrecursionを許す場合の
呼び出し手順の1例を示す図、第9図は枝分かれ
を示す図である。 LMT……ロード・モジユール表、LMCU……
ロード・モジユール制御単位、LM……ロード・
モジユール、CT……CSECT表。
図、第2図はロード・モジユール表開設の際の処
理を示す図、第3図はデイスパツチング・ルーチ
ンの1例を説明する図、第4図はオーバレイを実
現する場合の呼び出し側を説明する図、第5図は
オーバレイ機能を実現する場合のロード・モジユ
ール表の構成を示す図、第6図はオーバレイ機能
を実現するためのデイスパツチング・ルーチンの
1例を示す図、第7図は第4図の削除手順による
処理を示す図、第8図はrecursionを許す場合の
呼び出し手順の1例を示す図、第9図は枝分かれ
を示す図である。 LMT……ロード・モジユール表、LMCU……
ロード・モジユール制御単位、LM……ロード・
モジユール、CT……CSECT表。
Claims (1)
- 【特許請求の範囲】 1 ロード・モジユール・アドレス記入欄、ロー
ド・モジユール名記入欄、処理指定記入欄及びカ
ウント欄を有するロード・モジユール制御単位を
複数個有するロード・モジユール表と、 デイスパツチング手段と、 共通カウンタと、 共通カウンタを更新する更新手段と、 デイスパツチング手段に制御を渡すダミー・モ
ジユールと、 ロード・モジユール表開設時処理手段と、 ロード・モジユールの中に配置されたルーチン
呼出手段と、 ロード・モジユールの中に配置された削除手段
と を具備し、 ロード・モジユール表開設時処理手段は、ロー
ド・モジユール表を仮想記憶装置上にローデイン
グし、ロード・モジユール制御単位の処理指定記
入欄が静的結合を指定している場合には当該ロー
ド・モジユール制御単位のロード・モジユール名
記入欄で指定されるロード・モジユールを仮想記
憶装置上にローデイングして当該ローデイング・
アドレスを当該ロード・モジユール制御単位のロ
ード・モジユール・アドレス記入欄に記入し、ロ
ード・モジユール制御単位の処理指定記入欄が動
的結合を指定している場合には仮想記憶装置上に
ローデイングされたダミー・モジユールのローデ
イング・アドレスを当該ロード・モジユール・ア
ドレス記入欄に記入するように構成され、 デイスパツチング手段は、指定されたロード・
モジユール制御単位のロード・モジユール名記入
欄に記入された名前のロード・モジユールを仮想
記憶装置上にローデイングし、共通カウンタの値
を当該ロード・モジユール制御単位のカウント欄
に記入し、当該ロード・モジユールの中における
指定されたルーチンに制御を渡すように構成さ
れ、 ルーチン呼出手段は、ロード・モジユール指定
情報で特定されるロード・モジユール制御単位の
ロード・モジユール・アドレス記入欄の値および
CSECTアドレス記入欄指定情報によつて定まる
CSECTアドレス記入欄の値を読み出し、読み出
した値を入口点アドレスとするルーチンに制御を
渡すように構成され、 削除手段は、ロード・モジユール制御単位のカ
ウント欄を参照して、仮想記憶装置上から削除す
べきロード・モジユールを見出し、見出したロー
ド・モジユールを仮想記憶装置上から削除するよ
う構成されている ことを特徴とする計算機システムにおけるプログ
ラムのリンケージ方式。 2 デイスパツチング手段は、共通カウンタの値
を+1し、指定されたロード・モジユール制御単
位のロード・モジユール名記入欄に記入された名
前のロード・モジユールを仮想記憶装置上にロー
デイングし、共通カウンタの値を当該ロード・モ
ジユール制御単位のカウント欄に記入し、当該ロ
ード・モジユールの中における指定されたルーチ
ンに制御を渡すように構成され、 削除手段は、自己が属するロード・モジユール
のロード・モジユール制御単位のカウント欄の値
と等しいか若しくは大きいカウント欄の値を持つ
ロード・モジユール制御単位を見出し、見出した
ロード・モジユール制御単位のロード・モジユー
ルを仮想記憶装置上から削除するよう構成されて
いる ことを特徴とする特許請求の範囲第1項記載の計
算機システムにおけるプログラムのリンケージ方
式。 3 ロード・モジユール・アドレス記入欄、ロー
ド・モジユール名記入欄、処理指定記入欄、第1
カウント欄及び第2カウント欄を有するロード・
モジユール制御単位を複数個有するロード・モジ
ユール表と、 デイスパツチング手段と、 共通カウンタと、 デイスパツチング手段に制御を渡すダミー・モ
ジユールと、 ロード・モジユール表開設時処理手段と、 ロード・モジユールの中に配置されたルーチン
呼出前処理手段と、 ロード・モジユールの中に配置されたルーチン
呼出手段と、 ロード・モジユールの中に配置された削除前処
理手段と、 ロード・モジユールの中に配置された削除手段
と を具備し、 ロード・モジユール表開設時処理手段は、ロー
ド・モジユール表を仮想記憶装置上にローデイン
グし、ロード・モジユール制御単位の処理指定記
入欄が静的結合を指定している場合には当該ロー
ド・モジユール制御単位のロード・モジユール名
記入欄で指定されるロード・モジユールを仮想記
憶装置上にローデイングして当該ローデイング・
アドレスを当該ロード・モジユール制御単位のロ
ード・モジユール・アドレス記入欄に記入し、ロ
ード・モジユール制御単位の処理指定記入欄が動
的結合を指定している場合には仮想記憶装置上に
ローデイングされたダミー・モジユールのローデ
イング・アドレスを当該ロード・モジユール・ア
ドレス記入欄に記入するように構成され、 デイスパツチング手段は、共通カウンタの値を
+1し、指定されたロード・モジユール制御単位
のロード・モジユール名記入欄に記入された名前
のロード・モジユールを仮想記憶装置上にローデ
イングし、共通カウンタの値を当該ロード・モジ
ユール制御単位のカウント欄に記入し、当該ロー
ド・モジユールの中における指定されたルーチン
に制御を渡すように構成され、 ルーチン呼出前処理手段は、呼出すべき目的ル
ーチンが既にロード済か否かを調べ、ロード済の
場合には自己の属するロード・モジユールに対応
するロード・モジユール制御単位の第2カウント
欄の値を−1するように構成され、 ルーチン呼出手段は、ロード・モジユール指定
情報で特定されるロード・モジユール制御単位の
ロード・モジユール・アドレス記入欄の値および
CSECTアドレス記入欄指定情報によつて定まる
CSECTアドレス記入欄の値を読み出し、読み出
した値を入口点アドレスとするルーチンに制御を
渡すように構成され、 削除前処理手段は、自己が属するロード・モジ
ユールに対応するロード・モジユール制御単位の
第2カウント欄の値を+1し、第2カウント欄の
値が第1カウント欄の値よりも大きい場合には削
除手段に制御を渡すように構成され、 削除手段は、自己が属するロード・モジユール
のロード・モジユール制御単位の第1カウント値
と等しいか、もしくは大きい第1カウント値を持
つロード・モジユール制御単位を見出し、見出し
たロード・モジユール制御単位のロード・モジユ
ールを仮想記憶装置上から削除するように構成さ
れている ことを特徴とする計算機システムにおけるプログ
ラムのリンケージ方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5550183A JPS59180736A (ja) | 1983-03-31 | 1983-03-31 | 計算機システムにおけるプログラムのリンケージ方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5550183A JPS59180736A (ja) | 1983-03-31 | 1983-03-31 | 計算機システムにおけるプログラムのリンケージ方式 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15501989A Division JPH0242527A (ja) | 1989-06-17 | 1989-06-17 | プログラムのリンケージ方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS59180736A JPS59180736A (ja) | 1984-10-13 |
| JPH0221610B2 true JPH0221610B2 (ja) | 1990-05-15 |
Family
ID=13000397
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5550183A Granted JPS59180736A (ja) | 1983-03-31 | 1983-03-31 | 計算機システムにおけるプログラムのリンケージ方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS59180736A (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61128336A (ja) * | 1984-11-28 | 1986-06-16 | Fujitsu Ltd | サブプログラム非常駐化方式 |
| JPS6269316A (ja) * | 1985-09-20 | 1987-03-30 | Fujitsu Ltd | オ−バレイ代行制御方式 |
| JPH03161835A (ja) * | 1989-11-20 | 1991-07-11 | Fujitsu Ltd | プログラムの動的ローディング処理方式 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5794847A (en) * | 1980-12-03 | 1982-06-12 | Fujitsu Ltd | Connecting system of program |
-
1983
- 1983-03-31 JP JP5550183A patent/JPS59180736A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS59180736A (ja) | 1984-10-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2569092B2 (ja) | 入出力機器制御プログラムのアドレス解決方法 | |
| US4104718A (en) | System for protecting shared files in a multiprogrammed computer | |
| Arden et al. | Program and addressing structure in a time-sharing environment | |
| EP0342362B1 (en) | Virtual machine architecture independent program loader | |
| US5553286A (en) | System and method for preparing a computer program for execution | |
| US5379407A (en) | Error handling in a state-free system | |
| JPH0221610B2 (ja) | ||
| JP2555920B2 (ja) | オンラインリアルタイム処理装置 | |
| JPH0341847B2 (ja) | ||
| JPS585848A (ja) | プログラム呼出し制御方式 | |
| JPS59119447A (ja) | プログラムの動的結合方法 | |
| JPH0465717A (ja) | プログラム呼び出し方法 | |
| JP2990609B2 (ja) | 計算機システム | |
| JPH01207824A (ja) | モジュール結合制御方式 | |
| JPS5947341B2 (ja) | 索引順編成フアイルの動的排他制御方式 | |
| JPS62145327A (ja) | 共有サブル−チン結合方式 | |
| JPH0344328B2 (ja) | ||
| JPH0452491B2 (ja) | ||
| JPH0432419B2 (ja) | ||
| JPS60198661A (ja) | 入出力制御方式 | |
| JPH0327439A (ja) | プログラムの共有モジュール管理方式 | |
| JPS62171034A (ja) | サブル−チン・リンク方式 | |
| JPH02115958A (ja) | データ転送制御方式 | |
| JPH02118727A (ja) | システムサブルーチン呼出し方式 | |
| JPS6337439B2 (ja) |