JPS59180736A - Program linking system - Google Patents

Program linking system

Info

Publication number
JPS59180736A
JPS59180736A JP5550183A JP5550183A JPS59180736A JP S59180736 A JPS59180736 A JP S59180736A JP 5550183 A JP5550183 A JP 5550183A JP 5550183 A JP5550183 A JP 5550183A JP S59180736 A JPS59180736 A JP S59180736A
Authority
JP
Japan
Prior art keywords
load module
control unit
address
routine
storage device
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
JP5550183A
Other languages
Japanese (ja)
Other versions
JPH0221610B2 (en
Inventor
Katsumi Hayashi
林 克已
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 JP5550183A priority Critical patent/JPS59180736A/en
Publication of JPS59180736A publication Critical patent/JPS59180736A/en
Publication of JPH0221610B2 publication Critical patent/JPH0221610B2/ja
Granted legal-status Critical Current

Links

Abstract

PURPOSE:To make the physical structure and logical calling structure of a program independent, by solving the corresponding between a load module and the program at the time of compiling. CONSTITUTION:When a load module is called, the calling side program obtains an objective routine address based on the address of the called load module control unit and that of a control section table. When the load module is not loaded into a virtual storage device at this time, the control is handed over to a dispatching routine and, after the load module is loaded into the virtual storage device, the objective routine is called. When the processing is a static connection, the objective routine is directly called, because the routine is already loaded. Moreover, it is possible to realize the same function as overlay by utilizing the counter of the load module control unit.

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、プログラムの物理構造と論理的な呼出し構造
を独立できるようにしたプログラムのリンケージ方式に
関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to a program linkage system that allows the physical structure and logical call structure of a program to be independent.

〔従来技術と問題点〕[Conventional technology and problems]

従来技術においては、プログラム間の呼出し関係は、独
立して管理できなかった。このため、ロード・モジュー
ル構成を変えるようなチューニング(ttLnin!1
 )を実現するためには、プログラムの修正が必要とさ
れた。また、動的リンク構造のプログラムでは、ロード
・モジュールのローディング時期とプログラム・リンケ
ージの対応が密接すぎた。
In the prior art, calling relationships between programs could not be managed independently. For this reason, tuning that changes the load module configuration (ttLnin!1
), a modification of the program was required. Furthermore, in a program with a dynamic link structure, the loading timing of a load module and the program linkage corresponded too closely.

〔発明の目的〕[Purpose of the invention]

本発明は、上記の考察に基づくものであって、ロード会
モジュールとプログラムの対応をコンパイル時に解決す
ることにより、プログラムの物理構造と論理的な呼出し
構造を独立させ得るようになったプログラムのリンケー
ジ方式を提供することを目的としている。
The present invention is based on the above consideration, and the present invention is a program linkage system that makes it possible to make the physical structure of the program and the logical call structure independent by resolving the correspondence between the load module and the program at the time of compiling. The purpose is to provide a method.

〔発明の構成〕[Structure of the invention]

そしてそのため、本発明のプログラムのリンケージ方式
は、ロード・モジュールφアドレス記入欄、ロード・モ
ジュール名記入欄および処理指定記入欄を含むロード−
モジュール制御単位を複数個有するロード・モジュール
表と、指定されたロード・モジュールを仮想記憶装置上
にローディングし当該ロード・モジュールを対応するロ
ード・モジュール制御単位につなぐためのダミー・モジ
ュールを予め用意し、上記ロード・モジュール表を仮想
記憶装置上に開設する際、ロード・モジュール制御単位
の処理指定記入欄が静的結合を指定している場合には、
当該ロード・モジュール制御単位のロード・モジュール
名記入欄で指定されるロード・モジュールを仮想記憶装
置上にローディソゲして当該ローディング・アドレスを
尚該ロード拳モジュール制御単位のロード・モジュール
拳アドレス記入欄に記入し、ロード・モジュール制御単
位の処理指定記入欄が動的結合を指定している場合には
仮想記憶装置上にローディングされたダミー・モジュー
ルのローディング・アドレスを当該ロード・モジュール
制御単位のロード・モジュール・アドレス記入欄に記入
することを特徴とするものである。
Therefore, the program linkage method of the present invention provides a load module φ address entry field, a load module name entry field, and a process specification entry field.
A load module table having multiple module control units and a dummy module for loading a specified load module onto a virtual storage device and connecting the load module to a corresponding load module control unit are prepared in advance. , when opening the above load module table on a virtual storage device, if the processing specification field of the load module control unit specifies static binding,
Load the load module specified in the load module name entry field of the load module control unit into the virtual storage device and enter the loading address in the load module address entry field of the load module control unit. If the processing specification field of the load module control unit specifies dynamic binding, the loading address of the dummy module loaded on the virtual storage device is used as the load address of the load module control unit. It is characterized by filling in the module address entry field.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明を図面を参照しつつ説明する。 Hereinafter, the present invention will be explained with reference to the drawings.

第1図は本発明におけるリンケージを説明するものであ
る。第1図において、LMTはロード・モジュール表、
LMCUはロード・モジュール制御単位、LMはロード
・モジュール、CTはC5ECT(コントロール舎セク
ション)表をそれぞれ示している。ロード・モジュール
表LMTは複数のロード・モジュール制御単位LMCU
を有しており、各ロード・モジュール制御単位LMCU
はロード・モジュール・アドレス記入欄、ロード・モジ
ュール名記入欄、処理指定記入欄、カウント欄を有して
おり、ロード・モジュール拳アドレスは対応するロード
・モジュールの先頭アドレスを示している。ロード・モ
ジュールLMは、C5ECT表CTおよび複数のルーチ
ン(コントロール・セクション)を有しており、C5E
CT表CTは複数のC8ECTアドレス記入欄を有して
いる。C5ECTアドレス記入欄の内容は、対応するル
ーチンの先頭アドレスを示している。
FIG. 1 explains the linkage in the present invention. In Figure 1, LMT is a load module table,
LMCU represents a load module control unit, LM represents a load module, and CT represents a C5ECT (control section) table. Load module table LMT contains multiple load module control units LMCU
Each load module control unit LMCU
has a load module address entry field, a load module name entry field, a process specification entry field, and a count field, and the load module address indicates the start address of the corresponding load module. The load module LM has a C5ECT table CT and several routines (control sections), and a C5ECT table CT and several routines (control sections).
The CT table CT has a plurality of C8ECT address entry columns. The contents of the C5ECT address entry field indicate the start address of the corresponding routine.

第2図はロード・モジュール表LMTを開設する際の処
理を示すものである。先ず、ロード・モジュール表LM
Tを仮想記憶装置上にローディングする。次に、先頭の
ロード・モジュール制御単位LMCUの処理指定記入欄
が静的結合を指示しているか否かを調べる。T(真)で
ある場合には、ロード・モジュール名記入欄の内容で指
定されたロード・モジュールをローディソゲし、このア
ドレスをロード・モジュール・アドレス記入欄に書込む
。F(偽)であれば、ロード・モジュール・アドレス記
入欄にディスパッチャ・ロード・モジュール(ダミー・
モジュール)のアドレスを記入する。
FIG. 2 shows the processing when opening the load module table LMT. First, load module table LM
Load T onto virtual storage. Next, it is checked whether the processing specification field of the first load module control unit LMCU indicates static coupling. If T (true), the load module specified by the contents of the load module name entry field is loaded, and this address is written in the load module address entry field. If F (false), enter the dispatcher load module (dummy) in the load module address entry field.
module) address.

このよう外処理を全てのロード・モジュール制御単位L
MCUについて行う。
This external processing is performed on all load module control units L.
Let's talk about MCU.

次に、ロード・モジュールの呼出しについて説明する。Next, calling a load module will be explained.

呼出し元のプログラムは、呼出すべきロード・モジュー
ル制御単位のアドレス及びC5ECT表のアドレス(共
に相対アドレス)を知っているものとする。目的とする
ルーチンのアドレスは、ロート・モジエール制御単位L
MCUのアドレス→ロード・モジュールLMのアドレス
→C5ECTアドレスをたどることによって知ることが
出来る。
It is assumed that the calling program knows the address of the load module control unit to be called and the address of the C5ECT table (both relative addresses). The address of the target routine is the Roth-Mosier control unit L.
This can be determined by tracing the MCU address→load module LM address→C5ECT address.

エールからディスパッチング・ルーチンに制御が渡り、
ディスパッチング・ルーチンが呼出されたロード・モジ
ュールを仮想記憶装置上にロードした後、目的のルーチ
ンを呼び出す。処理が静的結合のものは、既にロード済
であるので、直接呼び出される。々お、上述のロード・
モジュール呼出しの手続を■の手続という。第3図はと
のディスパッチング・ルーチンの処理を示すフローチャ
ートである。復帰時は直接呼出し元へ戻る。
Control passes from the yell to the dispatching routine,
After the dispatching routine loads the called load module onto the virtual storage device, it calls the target routine. Static binding processes are already loaded, so they are called directly. Well, the above-mentioned load
The procedure for calling a module is called the procedure ■. FIG. 3 is a flowchart showing the processing of the dispatching routine. When returning, it returns directly to the caller.

ロード・モジュール制御単位LMCUのカウンタを利用
してオーバレイと同様の機能も実現することができる。
A function similar to an overlay can also be realized using the counter of the load module control unit LMCU.

第4図はオーバレイ機能を実現する場合の呼び出し側を
示すものである。この場合には、■の手続の後に、削除
手順を呼び出すだめの手続きが配置される。第5図はオ
ーバレイ機能を実現する場合のロード・モジュール表L
MTの構成を示す亀のである。この場合には、ロード・
モジュール表LMTには共通カウンタが設けられている
。第6図はオーバレイ機能を実現するためのディスパッ
チング拳ルーチンを示すものである。
FIG. 4 shows the calling side when implementing the overlay function. In this case, a procedure to call the deletion procedure is placed after the procedure (2). Figure 5 shows the load module table L when realizing the overlay function.
This is a turtle showing the configuration of MT. In this case, the load
A common counter is provided in the module table LMT. FIG. 6 shows a dispatching routine for implementing the overlay function.

このディスパッチング・ルーチンは、最初に共通カウン
タを+1し、ロード・モジュールを読み込み、共通カウ
ンタの値を対応するロード・モジュール制御単位LMC
Uのカウンタの値とし、最後に目的ルーチンに制御を渡
す。第7図は、第4図の削除手順によって行われる処理
を示すものであって、削除手段は、対応するロード・モ
ジュールのカウンタ値より等しいか若しくは大きいカウ
ンタ値を持つロード・モジュールを仮想記憶装置上から
消去し、ダミー−モジニールを消去されたロード0モジ
ユールのロード・モジュール制御単位LMCUにつなぐ
This dispatching routine first increments the common counter by 1, reads the load module, and transfers the value of the common counter to the corresponding load module control unit LMC.
Set the value of U's counter, and finally transfer control to the target routine. FIG. 7 shows the processing performed by the deletion procedure in FIG. Erase from above and connect the dummy module to the load module control unit LMCU of the erased load 0 module.

更に、r ecursionを許す場合には、呼出し手
順は、第8図のようになる。この場合には、リンケージ
部にカウンタ2が追加され、ロード時にカウンタとカウ
ンタ2へ同じ値を入れる。この呼出し手順は、目的ルー
チンを含むロード・モジュールがロード済みか否かを調
べ、T(真)の場合にはカウンタ2の内容を−1してか
ら■の手順を行い、F(偽)の場合には直ちに■の手順
を行い、カウンタ2の値を+1し、対応するロード・モ
ジュールのカウンタがカウンタ2より小さいか否かを調
べ、T(真)の場合は削除手順を行い、F(偽)の場合
は削除手順を行わない。これによって、オーバレイが実
現できる。また、rgcttγ5ionがあってもよい
Furthermore, if recursion is allowed, the calling procedure is as shown in FIG. In this case, a counter 2 is added to the linkage section, and the same value is entered into the counter and counter 2 at the time of loading. This calling procedure checks whether the load module containing the target routine has been loaded or not. If T (true), the contents of counter 2 are decremented by 1, and then the procedure (■) is performed, and if F (false), In this case, immediately perform the procedure ■, add 1 to the value of counter 2, check whether the counter of the corresponding load module is smaller than counter 2, and if T (true), perform the deletion procedure, and then False), do not perform the deletion procedure. This allows overlay to be achieved. Furthermore, rgcttγ5ion may also be present.

更に、第9図のように、削除指定を枝分かれの所で行う
ことによって一部を先に削除することも可能である。
Furthermore, as shown in FIG. 9, it is also possible to delete a part first by specifying deletion at a branch point.

第8図の呼出し手順の代りに第10図のような呼出し手
順を用いることが出来る。この呼出し手順はカウンタ2
を持たずに共通カウンタ(第6図の共通カウンタとは別
の)を持ち、ロード済みなら共通カウンタを+1し、復
帰時に−1を行って「共通カウンタ=カウンタ」となっ
た場合に該当するロード・モジュールを仮想記憶装置上
から消去するものである。
A calling procedure such as that shown in FIG. 10 can be used instead of the calling procedure shown in FIG. This calling procedure is for counter 2.
This corresponds to the case where the common counter (separate from the common counter in Figure 6) is present without having a common counter (different from the common counter in Figure 6), the common counter is incremented by 1 if it has been loaded, and the common counter is incremented by -1 when returning, so that "common counter = counter". This erases the load module from the virtual storage device.

〔発明の効果〕〔Effect of the invention〕

以上の説明から明らかなように、本発明によれば、ロー
ド・モジュール構成の実働プログラムが出来上った後、
少ない工数でチューニングするととが出来る。
As is clear from the above explanation, according to the present invention, after the production program with the load module configuration is completed,
This can be achieved by tuning with less man-hours.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明におけるリンケージを説明する 図、第
2図はロード・モジュール表開設の際の処理を示す図、
第3図はディスパッチング・ルーチンの1例を説明する
図、第4図はオーバレイを実現する場合の呼び出し側を
説明する図、第5図はオーバレイ機能を実現する場合の
ロード・モジュール表の構成を示す図、第6図はオーバ
レイ機能を実現するだめのディスパッチング−ルーチン
の1例を示す図、第7図は第4図の削除手順による処理
を示す図、第8図はrectLrsitrLを許す場合
の呼出し手順の1例を示す図、第9図は枝分かれを示す
図、第10図はτecu、rzionを許す場合の呼出
し手順の他側を示す図である。 LMT・・・ロード・モジュール表、LMCU・・・ロ
ード・モジュール制御単位、LM・・・ロード・モジュ
ール、CT・・・C3ECT(コントロール・セクンせ
ン)表。 特許出願人 富士通株式会社 代理人弁理士 京 谷 四 部 才8図 才to図 オヲ図 203
Figure 1 is a diagram explaining linkage in the present invention, Figure 2 is a diagram showing processing when opening a load module table,
Figure 3 is a diagram explaining an example of a dispatching routine, Figure 4 is a diagram explaining the caller when implementing an overlay function, and Figure 5 is a diagram explaining the structure of a load module table when implementing an overlay function. , Figure 6 is a diagram showing an example of a dispatching routine to implement the overlay function, Figure 7 is a diagram showing processing according to the deletion procedure in Figure 4, and Figure 8 is a diagram showing a case where rectLrsitrL is allowed. FIG. 9 is a diagram showing branching, and FIG. 10 is a diagram showing the other side of the calling procedure when τecu and rzion are allowed. LMT...Load module table, LMCU...Load module control unit, LM...Load module, CT...C3ECT (control sequence) table. Patent Applicant: Fujitsu Ltd. Representative Patent Attorney Kyotani Shibu Sai 8 Figure 203

Claims (1)

【特許請求の範囲】[Claims] ロード・モジュール・アドレス記入欄、ロード・モジュ
ール名記入欄および処理指定記入欄を含むロード・モジ
ュール制御単位を複数個有するロード・モジュール表と
、指定されたロード・モジュールを仮想記憶装置上にロ
ーディングし当該ロード・モジュールを対応するロード
・モジュール制御単位につなぐためのダミー・モジュー
ルを予め用意し、上記ロード・モジュール表を仮想記憶
装置上に開設する際、ロード拳モジュール制御単位の処
理指定記入欄が静的結合を指定している場合には当該ロ
ード・モジュール制御単位のロード・モジュール名記入
欄で指定されるロード・モジュールを仮想記憶装置上に
ローディングして当該ローディング拳アドレスを当該ロ
ード拳モジュール制御単位のロード拳モジュール・アド
レス記入欄に記入し、ロード・モジュール制御単位の処
理指定記入欄が動的結合を指定している場合には仮想記
憶装置上にローディングされたダミー〇モジュールのロ
ーディング・アドレスを当該ロード・モジュール制御単
位のロード・モジュールΦアドレス記入欄に記入するこ
とを特徴とするプログラムのリンケージ方式。
A load module table that has multiple load module control units including a load module address entry field, a load module name entry field, and a processing specification entry field, and a load module table that loads a specified load module onto a virtual storage device. When preparing a dummy module in advance to connect the load module to the corresponding load module control unit and opening the above load module table on the virtual storage device, the processing specification entry field for the load module control unit is If static binding is specified, the load module specified in the load module name field of the load module control unit is loaded onto the virtual storage device, and the loading address is sent to the load module control unit. Enter the loading address of the dummy 〇 module loaded on the virtual storage device if the processing specification entry field of the load module control unit specifies dynamic binding. A program linkage method characterized in that the following is entered in a load module Φ address entry column of the load module control unit.
JP5550183A 1983-03-31 1983-03-31 Program linking system Granted JPS59180736A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5550183A JPS59180736A (en) 1983-03-31 1983-03-31 Program linking system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5550183A JPS59180736A (en) 1983-03-31 1983-03-31 Program linking system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP15501989A Division JPH0242527A (en) 1989-06-17 1989-06-17 Linkage system for program

Publications (2)

Publication Number Publication Date
JPS59180736A true JPS59180736A (en) 1984-10-13
JPH0221610B2 JPH0221610B2 (en) 1990-05-15

Family

ID=13000397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5550183A Granted JPS59180736A (en) 1983-03-31 1983-03-31 Program linking system

Country Status (1)

Country Link
JP (1) JPS59180736A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61128336A (en) * 1984-11-28 1986-06-16 Fujitsu Ltd Nonresident system of subprogram
JPS6269316A (en) * 1985-09-20 1987-03-30 Fujitsu Ltd Control system for substitute of overlay
JPH03161835A (en) * 1989-11-20 1991-07-11 Fujitsu Ltd Dynamic loading processing system for program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5794847A (en) * 1980-12-03 1982-06-12 Fujitsu Ltd Connecting system of program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5794847A (en) * 1980-12-03 1982-06-12 Fujitsu Ltd Connecting system of program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61128336A (en) * 1984-11-28 1986-06-16 Fujitsu Ltd Nonresident system of subprogram
JPS6269316A (en) * 1985-09-20 1987-03-30 Fujitsu Ltd Control system for substitute of overlay
JPH03161835A (en) * 1989-11-20 1991-07-11 Fujitsu Ltd Dynamic loading processing system for program

Also Published As

Publication number Publication date
JPH0221610B2 (en) 1990-05-15

Similar Documents

Publication Publication Date Title
JPS59180736A (en) Program linking system
JPH0341847B2 (en)
JPS6232497B2 (en)
DE69219538T2 (en) IMPROVED SYSTEM AND METHOD FOR DETERMINING CROSS-BORDER CALLING COMMANDS AND STORAGE DATA, IN PARTICULAR FOR CODE INTERFACE EXECUTION IN THE MULTIPLE CODE EXECUTION AND TROUBLESHOOTING SYSTEM OF A MULTIPLE COMPUTER ARCHITECTURE
JPH04308940A (en) Automatic assignment management system for resource in virtual computer system
JPS62171033A (en) Subroutine managament system
JPH0465717A (en) Method for accessing program
JPS6337439B2 (en)
JPH0731595B2 (en) Online load module replacement method
JPH03210631A (en) Inter-module connecting system
JPH0437928A (en) Data processing method
JPS6257015A (en) Input information control system
JPH02303294A (en) Subscriber data access system for exchange
JPS61224041A (en) Data processing device
JPS60198661A (en) Input and output control system
JPS59119447A (en) Dynamic linking method of program
JPH0157874B2 (en)
JPH02196333A (en) Subroutine calling system
JPS6197765A (en) Program load system of information processor
JPS61121558A (en) Specifying system of number of times of automatic morning call
JPH0335342A (en) Transfer system for inter-independent program take-over information
JPH0675757A (en) Link system for virtual space resident program
JPH0327439A (en) Shared module managing system for program
JPS60222934A (en) Microprogram control processing system under table control
JPS61112207A (en) Device start-stop control system