JPH0242527A - プログラムのリンケージ方式 - Google Patents

プログラムのリンケージ方式

Info

Publication number
JPH0242527A
JPH0242527A JP15501989A JP15501989A JPH0242527A JP H0242527 A JPH0242527 A JP H0242527A JP 15501989 A JP15501989 A JP 15501989A JP 15501989 A JP15501989 A JP 15501989A JP H0242527 A JPH0242527 A JP H0242527A
Authority
JP
Japan
Prior art keywords
load module
routine
module
address
load
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
JP15501989A
Other languages
English (en)
Other versions
JPH0341847B2 (ja
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 JP15501989A priority Critical patent/JPH0242527A/ja
Publication of JPH0242527A publication Critical patent/JPH0242527A/ja
Publication of JPH0341847B2 publication Critical patent/JPH0341847B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、計算機システム、特にプログラムの物理構造
と論理的な呼出し構造を独立できるようになった計算機
システムにおけるプログラムのリンケージ方式に関する
ものである。
〔従来技術と問題点〕
従来技術においては、プログラム間の呼出し関係は、独
立して管理できなかった。このため、ロード・モジュー
ル構成を変えるようなチューニング(juning)を
実現するためには、プログラムの修正が必要とされた。
また、動的リンク構造のプログラムでは、ロード・モジ
ュールのローディング時期とプログラム・リンケージの
対応が密接すぎた。
〔発明の目的〕
本発明は、上記の考察に基づくものであって、ロード・
モジュールとプログラムの対応をコンパイル時に解決す
ることにより、プログラムの物理構造と論理的な呼出し
構造を独立させ得るようになったプログラムのリンケー
ジ方式を提供することを目的としている。
〔発明の構成〕
そしてそのため、本発明のプログラムのリンケージ方式
は、 呼出し対象の目的ルーチンを含むロード・モジュールが
呼出し時に仮想記憶装置上にローディングされ、目的ル
ーチンに制御が渡されるようになった計算機システムに
おいて、 ロード・モジュール・アドレス記入欄、ロード・モジュ
ール名記入欄および処理指定記入欄を有するロード・モ
ジュール制御単位を複数個有するロード・モジュール表
と、 ロード・モジュール表開設時処理手段と、ディスパッチ
ング・ルーチンと、 ダミー・モジュールと、 ロード・モジュールの中に配置されたルーチン呼出手段
と を具備し、 ロード・モジュール表開設時処理手段は、ロード・モジ
ュール表を仮想記憶装置上にローディングし、ロード・
モジュール制御単位の処理指定記入欄が静的結合を指定
している場合には当該ロード・モジュール名記入欄で指
定されるロード・モジュールを仮想記憶装置上にローデ
ィングして当1亥ローディング・アドレスを当該ロード
・モジュール制J単位のロード・モジュール・アドレス
記入欄に記入し、ロード・モジュール制御単位の処理指
定記入欄が動的結合を指定している場合には仮想記憶装
置上にローディングされたダミー・モジュールのローデ
ィング・アドレスを当該ロード・モジュール・アドレス
記入欄に記入するように構成され、 ディスパッチング・ルーチンは、指定されたロード・モ
ジュール制御単位のロード・モジュール名記入欄に記入
された名前のロード・モジュールを仮想記憶装置上にロ
ーディングし、当該ロード・モジュールの中における指
定されたルーチンに制御を渡すように構成され、 ダミー・モジュールは、ディスパッチング・ルーチンに
制御を渡すように構成され、 ルーチン呼出手段は、ロード・モジュール指定情報で特
定されるロード・モジュール制御単位のロード・モジュ
ール・アドレス記入欄の値およびCSECTアドレス記
入欄指定情報によって定まるCSECTアドレス記入欄
の値を読み出し、読み出したアドレスを入口点アドレス
とするルーチンに制御を渡すように構成されている ことを特徴とするものである。
〔発明の実施例] 以下、本発明を図面を参照しつつ説明する。
第1図は本発明におけるリンケージを説明するものであ
る。第1図において、LMTはロード・モジュール表、
LMCUはロード・モジュール制御単位、LMはロード
・モジュール、CTはC8ECT (コントロール・セ
クション)表をそれぞれ示している。ロード・モジュー
ル表LMTは複数のロード・モジュール制御単位LMC
Uを有しており、各ロード・モジュール制御単位L M
 CUはロード・モジュール・アドレス記入欄、ロード
・モジュール名記入欄、処理指定記入欄、カウント欄を
存しており、ロード・モジュール・アドレスは対応する
ロード・モジュールの先頭アドレスを示している。ロー
ド・モジュールLMはCSECT表CTおよび複数のル
ーチンを有しており、CSECT表CTは複数のCSE
CTアドレス記入欄を有している。CSECTアドレス
記入欄の内容は、対応するルーチンの先頭アドレスを示
している。
第2図はロード・モジュール表LMTを開設する際の処
理を示すものである。先ず、ロード・モジュール表LM
Tをライプブリから仮想記憶装置上にローディングする
。次に、先頭のロード・モジュール制御単位LMCUの
処理指定記入欄が静的結合を指示しているか否かを調べ
る。T (真)′である場合には、ロード・モジュール
名記入欄の内容で指定されたロード・モジュールをライ
ブラリから仮想記憶装置上にローディングし、このアド
レスをロード・モジュール・アドレス記入欄に書込む。
F(偽)であれば、ロード・モジュール・アドレス記入
欄にディスパッチャ・ロード・モジュール(ダミー・モ
ジュール)のアドレスを記入する。このような処理を全
てのロード・モジュール制御単位LMCUについて行う
。上記のような処理を行う手段をロード・モジュール表
開設時処理手段と言う。ロード・モジュール表開設時処
理手段は、計算機システムの中に存在する。
次に、ロード・モジュールの呼出しについて説明する。
呼出し元のプログラムは、呼出すべきロード・モジュー
ル制御単位のアドレス及びCSECT表のアドレス(共
に相対アドレス)を知っているものとする。目的とする
ル−チンのアドレスは、ロード・モジュール制御単位L
MCUのアドレス−ロード・モジュールLMのアドレス
−CSECTアドレスをたどることによって知ることが
出来る。この際、ロード・モジュールLMが仮想記憶装
置上にローディングされていないと、ダミー・モジュー
ルからディスパッチング・ルーチンに制御が渡り、ディ
スパッチング・ルーチンが呼出されたロード・モジュー
ルをライブラリから仮想記憶装置上にロードした後、目
的のルーチンに制御を渡す。処理が静的結合のものは、
既にロード済であるので、直接呼び出される。なお、上
述のロード・モジュール呼出しの手続を■の手続という
。第3図はこのディスパッチング・ルーチンの処理を示
すフローチャートである。復帰時は直接呼出し元へ戻る
。
ロード・モジュール制御単位LMCUのカウンタを利用
してオーバレイと同様の機能も実現することができる。
第4図はオーバレイ機能を実現する場合の呼び出し側を
示すものである。この場合には、■の手続きの後に、削
除手順を呼び出すための手続きが配置される。即ち、目
的とするルーチンを呼び出し、目的とするルーチンから
復帰した時に削除手順が呼び出される。第5図はオーバ
レイ機能を実現する場合のロード・モジュール表LMT
の構成を示すものである。この場合には、ロード・モジ
ュール表LMTには共通カウンタが設けられている。第
6図はオーバレイ機能を実現するためのディスパッチン
グ・ルーチンを示すものである。このディスパッチング
・ルーチンは、最初に共通カウンタを+1し、ロード・
モジュールを読込み、共通カウンタの値を対応するロー
ド・モジュール制御単位LMCUのカウンタの値とし、
最後に目的ルーチンに制御を渡す。第7図は、第4図の
削除手順によって行われる処理を示すものであって、削
除手段は、自己のロード・モジュールのカウンタ値より
等しいか若しくは大きいカウンタ値を持つロード・モジ
ュールを仮想記憶装1土から消去し、ダミー・モジュー
ルを消去されたロード・モジュールのロード・モジュー
ル制御単位LMCUにつなぐ。なお、ロード・モジュー
ルが仮想記憶装置上にローディングされた時には、その
ロード・モジュールのロード・モジュール制御単位のロ
ード・モジュール・アドレス記入欄にローディング・ア
ドレスが書き込まれる。この処理もディスパッチング・
ルーチンによって行われる。
更に、recursionを許す場合には、呼び出し手
順は、第8図のようになる。この場合には、リンケージ
部(ロード・モジュール制御単位)にカウンタ2が追加
され、ロード時にカウンタとカウンタ2へ同じ値を入れ
る。この呼出し手順は、目的ルーチンを含むロード・モ
ジュールがロード済みか否かを調べ、T(真)の場合に
はカウンタ2の内容を−1してから■の手順を行い、F
(偽)の場合には直ちにOの手順を行い、目的ルーチン
から復帰した後にカウンタ2の値を+1し、自己のロー
ド・モジュールのカウンタがカウンタ2より小さいか否
かを調べ、T(真)の場合は削除手順を行い、F(偽)
の場合は削除手順を行わない。
これによって、オーバレイが実現できる。また、rec
ursionがあってもよい。更に、第9図のように、
削除指定を枝分かれの所で行うことによって一部を先に
削除することも可能である。
〔発明の効果〕 以上の説明から明らかなように、本発明によれば、ロー
ド・モジュール構成の実働プログラムが出来上った後、
少ない工数でチューニングすることが出来る。
【図面の簡単な説明】
第1図は本発明におけるリンケージを説明する図、第2
図はロード・モジュール表開設の際の処理を示す図、第
3図はディスバンチング・ルーチンの1例を説明する図
、第4図はオーバレイを実現する場合の呼び出し側を説
明する図、第5図はオーバレイ機能を実現する場合のロ
ード・モジュール表の構成を示す図、第6図はオーバレ
イ機能を実現するためのディスバンチング・ルーチンの
1例を示す図、第7図は第4図の削除手順による処理を
示す図、第8図はrecurs ionを許す場合の呼
び出し手順の1例を示す図、第9図は枝分かれを示す図
である。 LMT・・・ロード・モジュール表、LMCU・・・ロ
ード・モジュール制御単位、LM・・・ロード・モジュ
ール、CT・・・CSECT (コントロール・セクシ
ョン)表。 特許出願人   富士通株式会社 代理人弁理士  京 谷 四 部 第2図 羽8図 第フ図

Claims (1)

  1. 【特許請求の範囲】  呼出し対象の目的ルーチンを含むロード・モジュール
    が呼出し時に仮想記憶装置上にローディングされ、目的
    ルーチンに制御が渡されるようになった計算機システム
    において、 ロード・モジュール・アドレス記入欄、ロード・モジュ
    ール名記入欄および処理指定記入欄を有するロード・モ
    ジュール制御単位を複数個有するロード・モジュール表
    と、 ロード・モジュール表開設時処理手段と、 ディスパッチング・ルーチンと、 ダミー・モジュールと、 ロード・モジュールの中に配置されたルーチン呼出手段
    と を具備し、 ロード・モジュール表開設時処理手段は、ロード・モジ
    ュール表を仮想記憶装置上にローディングし、ロード・
    モジュール制御単位の処理指定記入欄が静的結合を指定
    している場合には当該ロード・モジュール名記入欄で指
    定されるロード・モジュールを仮想記憶装置上にローデ
    ィングして当該ローディング・アドレスを当該ロード・
    モジュール制御単位のロード・モジュール・アドレス記
    入欄に記入し、ロード・モジュール制御単位の処理指定
    記入欄が動的結合を指定している場合には仮想記憶装置
    上にローディングされたダミー・モジュールのローディ
    ング・アドレスを当該ロード・モジュール・アドレス記
    入欄に記入するように構成され、 ディスパッチング・ルーチンは、指定されたロード・モ
    ジュール制御単位のロード・モジュール名記入欄に記入
    された名前のロード・モジュールを仮想記憶装置上にロ
    ーディングし、当該ロード・モジュールの中における指
    定されたルーチンに制御を渡すように構成され、 ダミー・モジュールは、ディスパッチング・ルーチンに
    制御を渡すように構成され、 ルーチン呼出手段は、ロード・モジュール指定情報で特
    定されるロード・モジュール制御単位のロード・モジュ
    ール・アドレス記入欄の値およびCSECTアドレス記
    入欄指定情報によって定まるCSECTアドレス記入欄
    の値を読み出し、読み出したアドレスを入口点アドレス
    とするルーチンに制御を渡すように構成されている ことを特徴とするプログラムのリンケージ方式。
JP15501989A 1989-06-17 1989-06-17 プログラムのリンケージ方式 Granted JPH0242527A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15501989A JPH0242527A (ja) 1989-06-17 1989-06-17 プログラムのリンケージ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15501989A JPH0242527A (ja) 1989-06-17 1989-06-17 プログラムのリンケージ方式

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP5550183A Division JPS59180736A (ja) 1983-03-31 1983-03-31 計算機システムにおけるプログラムのリンケージ方式

Publications (2)

Publication Number Publication Date
JPH0242527A true JPH0242527A (ja) 1990-02-13
JPH0341847B2 JPH0341847B2 (ja) 1991-06-25

Family

ID=15596897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15501989A Granted JPH0242527A (ja) 1989-06-17 1989-06-17 プログラムのリンケージ方式

Country Status (1)

Country Link
JP (1) JPH0242527A (ja)

Also Published As

Publication number Publication date
JPH0341847B2 (ja) 1991-06-25

Similar Documents

Publication Publication Date Title
JP2569092B2 (ja) 入出力機器制御プログラムのアドレス解決方法
US5379407A (en) Error handling in a state-free system
JPH0221610B2 (ja)
JPH0341847B2 (ja)
JPS585848A (ja) プログラム呼出し制御方式
JPS58168164A (ja) 区分編成フアイルの作成方法
JPS59119447A (ja) プログラムの動的結合方法
JPS6312300B2 (ja)
JPS5947341B2 (ja) 索引順編成フアイルの動的排他制御方式
JPH0465717A (ja) プログラム呼び出し方法
JPH02303294A (ja) 交換機の加入者データアクセス方式
JPH03246645A (ja) データ管理方式
JPS62216042A (ja) デ−タ領域のメモリ割付方式
JPS62163147A (ja) 動的呼出しプログラムの処理方式
JPS60198661A (ja) 入出力制御方式
JPH01207824A (ja) モジュール結合制御方式
JPS63205727A (ja) 磁気デイスク制御チヤネル
JPS62171034A (ja) サブル−チン・リンク方式
JPS62145327A (ja) 共有サブル−チン結合方式
JPS58117049A (ja) ロ−ドモジユ−ルの分割ロ−ド方式
JPS63257034A (ja) バンクを用いたプログラムオ−バレイ方式
JPS6387690A (ja) 光デイスク媒体装着制御装置
JPS59174960A (ja) 管理フアイルのアクセス方式
JPS59133656A (ja) デ−タ処理方式
CN118333835A (zh) 一种基于cuda api的计算资源兼容方法