JPH0341847B2 - - Google Patents

Info

Publication number
JPH0341847B2
JPH0341847B2 JP15501989A JP15501989A JPH0341847B2 JP H0341847 B2 JPH0341847 B2 JP H0341847B2 JP 15501989 A JP15501989 A JP 15501989A JP 15501989 A JP15501989 A JP 15501989A JP H0341847 B2 JPH0341847 B2 JP H0341847B2
Authority
JP
Japan
Prior art keywords
load module
routine
address
entry field
control unit
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
Application number
JP15501989A
Other languages
English (en)
Other versions
JPH0242527A (ja
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 filed Critical
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

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、計算機システム、特にプログラムの
物理構造と論理的な呼出し構造を独立できるよう
になつた計算機システムにおけるプログラムのリ
ンケージ方式に関するものである。
〔従来技術と問題点〕
従来技術においては、プログラム間の呼出し関
係は、独立して管理できなかつた。このため、ロ
ード・モジユール構成を変えるようなチユーニン
グ(tuning)を実現するためには、プログラムの
修正が必要とされた。また、動的リンク構造のプ
ログラムでは、ロード・モジユールのローデイン
グ時期とプログラム・リンケージの対応が密接す
ぎた。
〔発明の目的〕
本発明は、上記の考案に基づくものであつて、
ロード・モジユールとプログラムの対応をコンパ
イル時に解決することにより、プログラムの物理
構造と論理的な呼出し構造を独立させ得るように
なつたプログラムのリンケージ方式を提供するこ
とを目的としている。
〔発明の構成〕
そしてそのため、本発明のプログラムのリンケ
ージ方式は、 呼出し対象の目的ルーチンを含むロード・モジ
ユールが呼出し時に仮想記憶装置上にローデイン
グされ、目的ルーチンに制御が渡されるようにな
つた計算機システムにおいて、 ロード・モジユール・アドレス記入欄、ロー
ド・モジユール名記入欄および処理指定記入欄を
有するロード・モジユール制御単位を複数個有す
るロード・モジユール表と、 ロード・モジユール表開設処理手段と、 デイスパツチング・ルーチンと、 ダミー・モジユールと、 ロード・モジユールの中に配置されたルーチン
呼出手段と を具備し、 ロード・モジユール表開設時処理手段は、ロー
ド・モジユール表を仮想記憶装置上にローデイン
グし、ロード・モジユール制御単位の処理指定記
入欄が静的結合を指定している場合には当該ロー
ド・モジユール名記入欄で指定されるロード・モ
ジユールを仮想記憶装置上にローデイングして当
該ローデイング・アドレスを当該ロード・モジユ
ール制御単位のロード・モジユール・アドレス記
入欄に記入し、ロード・モジユール制御単位の処
理指定記入欄が動的結合を指定している場合には
仮想記憶装置上にローデイングされたダミー・モ
ジユールのローデイング・アドレスを当該ロー
ド・モジユール・アドレス記入欄に記入するよう
に構成され、 デイスパツチング・ルーチンは、指定されたロ
ード・モジユール制御単位のロード・モジユール
名記入欄に記入された名前のロード・モジユール
を仮想記憶装置上にローデイングし、当該ロー
ド・モジユールの中における指定されたルーチン
に制御を渡すように構成され、 ダミー・モジユールは、デイスパツチング・ル
ーチンに制御を渡すように構成され、 ルーチン呼出手段は、ロード・モジユール指定
情報で指定されるロード・モジユール制御単位の
ロード・モジユール・アドレス記入欄の値および
CSECTアドレス記入欄指定情報によつて定まる
CSECTアドレス記入欄の値を読み出し、読み出
したアドレスを入口点アドレスとするルーチンに
制御を渡すように構成されている ことを特徴とするものである。
〔発明の効果〕
以下、本発明を図面を参照しつつ説明する。
第1図は本発明におけるリンケージを説明する
ものである。第1図において、LMTはロード・
モジユール表、LMCUはロード・モジユール制
御単位、LMはロード・モジユール、CTは
CSECT(コントロール・セクシヨン)表をそれぞ
れ示している。ロード・モジユール表LMTは複
数のロード・モジユール制御単位LMCUを有し
ており、各ロード・モジユール制御単位LMCU
はロード・モジユール・アドレス記入欄、ロー
ド・モジユール名記入欄、処理指定記入欄、カウ
ント欄を有しており、ロード・モジユール・アド
レスは対応するロード・モジユールの先頭アドレ
スを示している。ロード・モジユールLMは
CSECT表CTおよび複数のルーチンを有してお
り、CSECT表CTは複数のCSECTアドレス記入
欄を有している。CSECTアドレス記入欄の内容
は、対応するルーチンの先頭アドレスを示してい
る。
第2図はロード・モジユール表LMTを開設す
る際の処理を示すものである。先ず、ロード・モ
ジユール表LMTをライプブリから仮想記憶装置
上にローデイングする。次に、先頭のロード・モ
ジユール制御単位LMCUの処理指定記入欄が静
的結合を指示しているか否かを調べる。T(真)
である場合には、ロード・モジユール名記入欄の
内容で指定されたロード・モジユールをライブラ
リから仮想記憶装置上にローデイングし、このア
ドレスをロード・モジユール・アドレス記入欄に
書込む。F(偽)であれば、ロード・モジユー
ル・アドレス記入欄にデイスパツチヤ・ロード・
モジユール(ダミー・モジユール)のアドレスを
記入する。このような処理を全てのロード・モジ
ユール制御単位LMCUについて行う。上記のよ
うな処理を行う手段をロード・モジユール表開設
時処理手段と言う。ロード・モジユール表開設時
処理手段は、計算機システムの中に存在する。
次に、ロード・モジユールの呼出しについて説
明する。呼出し元のプログラムは、呼出すべきロ
ード・モジユール制御単位のアドレス及び
CSECT表のアドレス(共に相対アドレス)を知
つているものとする。目的とするルーチンのアド
レスは、ロード・モジユール制御単位LMCUの
アドレス→ロード・モジユールLMのアドレス→
CSECTアドレスをたどることによつて知ること
が出来る。この際、ロード・モジユールLMが仮
想記憶装置上にローデイングされていないと、ダ
ミー・モジユールからデイスパツチング・ルーチ
ンに制御が渡り、デイスパツチング・ルーチンが
呼出されたロード・モジユールをライブラリから
仮想記憶装置上にロードした後、目的のルーチン
に制御を渡す。処理が静的結合のものは、既にロ
ード済であるので、直接呼び出される。なお、上
述のロード・モジユール呼出しの手続をの手続
という。第3図はこのデイスパツチング・ルーチ
ンの処理を示すフローチヤートである。復帰時は
直接呼出し元へ戻る。
ロード・モジユール制御単位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図のよう
に、削除指定を枝分かれの所で行うことによつて
一部を先に削除することも可能である。
〔発明の効果〕 以上の説明から明らかなように、本発明によれ
ば、ロード・モジユール構成の実働プログラムが
出来上つた後、少ない工数でチユーニングするこ
とが出来る。
【図面の簡単な説明】
第1図は本発明におけるリンケージを説明する
図、第2図はロード・モジユール表開設の際の処
理を示す図、第3図はデイスパツチング・ルーチ
ンの1例を説明する図、第4図はオーバレイを実
現する場合の呼び出し側を説明する図、第5図は
オーバレイ機能を実現する場合のロード・モジユ
ール表の構成を示す図、第6図はオーバレイ機能
を実現するためのデイスパツチング・ルーチンの
1例を示す図、第7図は第4図の削除手順による
処理を示す図、第8図はrecursionを許す場合の
呼び出し手順の1例を示す図、第9図は枝分かれ
を示す図である。 LMT……ロード・モジユール表、LMCU……
ロード・モジユール制御単位、LM……ロード・
モジユール、CT……CSECT(コントロール・セ
クシヨン)表。

Claims (1)

  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 JPH0242527A (ja) 1990-02-13
JPH0341847B2 true 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
JPH0242527A (ja) 1990-02-13

Similar Documents

Publication Publication Date Title
JP2569092B2 (ja) 入出力機器制御プログラムのアドレス解決方法
US4104718A (en) System for protecting shared files in a multiprogrammed computer
US4300192A (en) Method and means for storing and accessing information in a shared access multiprogrammed data processing system
US5365606A (en) Virtual software machine running multiple program modules in a single address space of a target computer
EP0342362B1 (en) Virtual machine architecture independent program loader
US5754795A (en) Method for communication between processors of a multi-processor system
US7089242B1 (en) Method, system, program, and data structure for controlling access to sensitive functions
GB2268292A (en) Error handling in a state-free system
JPH0341847B2 (ja)
JPH0221610B2 (ja)
EP0417916B1 (en) Procedure state descriptor system for digital data processors
JPS6232497B2 (ja)
Maher Problems of storage allocation in a multiprocessor multiprogrammed system
JPH01207824A (ja) モジュール結合制御方式
JPS5856153A (ja) サブル−チンリタ−ン方式
JPS62145327A (ja) 共有サブル−チン結合方式
JPS59119447A (ja) プログラムの動的結合方法
JPS6337439B2 (ja)
KR950005242B1 (ko) 범용 운영체제에서의 칠(chill) 병렬 처리를 위한 공유변수 처리 방법
JP2561306B2 (ja) プログラムモジュール間制御移行方式
JPS60198661A (ja) 入出力制御方式
JPH02231639A (ja) サービスプログラム呼出し方式
JPH0337213B2 (ja)
Steines Microdare for RSX-11M
JPH0675757A (ja) 仮想空間常駐プログラムのリンク方式