JPS59119447A - プログラムの動的結合方法 - Google Patents
プログラムの動的結合方法Info
- Publication number
- JPS59119447A JPS59119447A JP22937482A JP22937482A JPS59119447A JP S59119447 A JPS59119447 A JP S59119447A JP 22937482 A JP22937482 A JP 22937482A JP 22937482 A JP22937482 A JP 22937482A JP S59119447 A JPS59119447 A JP S59119447A
- Authority
- JP
- Japan
- Prior art keywords
- dynamic
- program
- management routine
- executed
- load module
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は、動的結合非サポートのオペレーティング・シ
ステムで動的結合を可能にするプログラムの動的結合方
法に関するものである。
ステムで動的結合を可能にするプログラムの動的結合方
法に関するものである。
成るオペレーティング・システム、例えば富士通hO8
IV/F4で許されているプログラムの構造には、静的
構造と動的構造とが存在する。静的構造とは、プログラ
ムの実行に必要なモジュールをリンケージ電エディタに
よって単一のロード・モジュールに結合しておく構造を
言い、動的構造とは、幾つかに分けてロード・モジュー
ルを作成しておき、そのプログラムの実行時に制御プロ
ダラムのサポートの下で必要に応じてプログラムを仮想
記憶上にロードし、実行させたり、制御を移すような構
造を言う。静的構造は単純構造とオーバレイ構造に分け
られ、動的構造は動的プログラム構造と動的リンク(L
INK;結合)構造に分けられる。第1図(イ)、(ロ
)、(ハ)、に)はそnぞれ単純構゛造、オーバレイ構
造、動的プログラム構造、動的リンク構造の概要を示す
ものである。単純構造とは、実行開始時にプログラム全
体が仮想記憶上にロードされ、実行きれるものである。
IV/F4で許されているプログラムの構造には、静的
構造と動的構造とが存在する。静的構造とは、プログラ
ムの実行に必要なモジュールをリンケージ電エディタに
よって単一のロード・モジュールに結合しておく構造を
言い、動的構造とは、幾つかに分けてロード・モジュー
ルを作成しておき、そのプログラムの実行時に制御プロ
ダラムのサポートの下で必要に応じてプログラムを仮想
記憶上にロードし、実行させたり、制御を移すような構
造を言う。静的構造は単純構造とオーバレイ構造に分け
られ、動的構造は動的プログラム構造と動的リンク(L
INK;結合)構造に分けられる。第1図(イ)、(ロ
)、(ハ)、に)はそnぞれ単純構゛造、オーバレイ構
造、動的プログラム構造、動的リンク構造の概要を示す
ものである。単純構造とは、実行開始時にプログラム全
体が仮想記憶上にロードされ、実行きれるものである。
オーバレイ構造とは、複数のセグメントから成シ、各セ
グメントの先頭アドレスが他のセグメントと引き続くか
、他のセグメントと同一のものを言う。動的プログラム
構造とは、スーパバイザのプログラム管理がサポートす
る各種のマクロ命令(ATTACH%LINK、XCT
L、LOAD、DELETE、CALL、RETURN
) を使用して、他のロード・モジュールをロードし
たシ、マルチタスク処理を行うなど、プログラムの論理
上で意誠的に他のモジュールの呼出しや消去の制御勾M
Uを行う構造を言う。動的リンク構造とは、ロード・モ
ジュール作成時、分岐に対する未解決な外部参照があれ
ば、実行時にスーパバイザのプログラム管理が必要なモ
ジュールを動的に組込むための準備を行い、実際に必要
になった時点で組込み、制御を移すような構造を言う。
グメントの先頭アドレスが他のセグメントと引き続くか
、他のセグメントと同一のものを言う。動的プログラム
構造とは、スーパバイザのプログラム管理がサポートす
る各種のマクロ命令(ATTACH%LINK、XCT
L、LOAD、DELETE、CALL、RETURN
) を使用して、他のロード・モジュールをロードし
たシ、マルチタスク処理を行うなど、プログラムの論理
上で意誠的に他のモジュールの呼出しや消去の制御勾M
Uを行う構造を言う。動的リンク構造とは、ロード・モ
ジュール作成時、分岐に対する未解決な外部参照があれ
ば、実行時にスーパバイザのプログラム管理が必要なモ
ジュールを動的に組込むための準備を行い、実際に必要
になった時点で組込み、制御を移すような構造を言う。
このため、リンク愉エディト時にDYNAMICオプ7
=Iンを指定すると、リンケージ・エディタによってD
ALTAB (Dynamic L(tsking T
a−blm )が作ら扛る〇 第2図は動的リンク構造のロード・モジー−ルの作成を
説明する図である。第2図において、Sはソース・プロ
グラム、OMはオブジェクト・モジュール%LMはロー
ド蕾モジュールをそれぞ扛示している。ソース・プログ
ラムSをコンパイルすると、オブジェクト1モジユール
OMが作成される。ソース・プログラムSのCALL
B (Bはプログラムを示す)という部分は、 Li2.=V(B) R15 とコンパイルさnる。こ\で L 15.=V(B) は、Vタイプのアドレス定数を第15番目の汎用レジス
タにロードせよ、という命令を示しておシ、また R15 は、第15査目の汎用レジスタの内容で指定はれる番地
へ分岐せよ、という命令を示している。オブジェク)−
モジュールOMを08IV/F4のリンケージ−エディ
タで処理すると、ロード・モジュールT、 Mが得られ
る。リンケージ・ニブイトするとき先に述べたようIC
DYNAMICと指定すると、Li2.=V(Bン RL5 という命令列に対応してDALTABが作成さn−bこ
の場合、第15番目の汎用レジスタの内容はDALTA
B の先頭アドレスを示す。
=Iンを指定すると、リンケージ・エディタによってD
ALTAB (Dynamic L(tsking T
a−blm )が作ら扛る〇 第2図は動的リンク構造のロード・モジー−ルの作成を
説明する図である。第2図において、Sはソース・プロ
グラム、OMはオブジェクト・モジュール%LMはロー
ド蕾モジュールをそれぞ扛示している。ソース・プログ
ラムSをコンパイルすると、オブジェクト1モジユール
OMが作成される。ソース・プログラムSのCALL
B (Bはプログラムを示す)という部分は、 Li2.=V(B) R15 とコンパイルさnる。こ\で L 15.=V(B) は、Vタイプのアドレス定数を第15番目の汎用レジス
タにロードせよ、という命令を示しておシ、また R15 は、第15査目の汎用レジスタの内容で指定はれる番地
へ分岐せよ、という命令を示している。オブジェク)−
モジュールOMを08IV/F4のリンケージ−エディ
タで処理すると、ロード・モジュールT、 Mが得られ
る。リンケージ・ニブイトするとき先に述べたようIC
DYNAMICと指定すると、Li2.=V(Bン RL5 という命令列に対応してDALTABが作成さn−bこ
の場合、第15番目の汎用レジスタの内容はDALTA
B の先頭アドレスを示す。
第3図はDALTABの構成を示すものである。
第3図において、
B diap 1 (0、15)
は、第15番目の汎用レジスタの内容に変位Cd1ap
1)を加えて得られるアドレスに分岐せよ、という命
令である。この場合、第15番目の汎用レジスタの内容
にdisp 1 を加えたものは、DALTABの最
後の項目の先頭アドレスを示す。富士通の08IV/F
4の場合s S V C45で指定されるモジュールは
、エントリ名で指定されるロード・モジュールをシステ
ム・ライブラリから取出して仮想記憶上にローディング
すると共に、そのロード・モジュールの仮想記憶上の先
頭アドレスをDALTABをリンク先アドレス部に書込
む機能をW L、 テイル。
1)を加えて得られるアドレスに分岐せよ、という命
令である。この場合、第15番目の汎用レジスタの内容
にdisp 1 を加えたものは、DALTABの最
後の項目の先頭アドレスを示す。富士通の08IV/F
4の場合s S V C45で指定されるモジュールは
、エントリ名で指定されるロード・モジュールをシステ
ム・ライブラリから取出して仮想記憶上にローディング
すると共に、そのロード・モジュールの仮想記憶上の先
頭アドレスをDALTABをリンク先アドレス部に書込
む機能をW L、 テイル。
S V C45の処理が完了した後、
L 15.4 (0、15)−
という命令が実行さnる。この命令は、第15査目の汎
用レジスタの内容に数値4を加えて得られるアドレスの
内容を第15査目の汎用レジスタにロードせよ、という
命令である。このロード命令が実行さ扛ると、DALT
ABのリンク先アドレス部の内容が第15番目の汎用レ
ジスタにロードされる。
用レジスタの内容に数値4を加えて得られるアドレスの
内容を第15査目の汎用レジスタにロードせよ、という
命令である。このロード命令が実行さ扛ると、DALT
ABのリンク先アドレス部の内容が第15番目の汎用レ
ジスタにロードされる。
このロード命令が実行された後、
R15
という命令が実行される。この命令は、第15番目の汎
用レジスタの内容で示されるアドレスに分岐せよ、とい
う命令である。上記のよ゛うにしてロード・モジュール
Bに1■u御が渡さnる。
用レジスタの内容で示されるアドレスに分岐せよ、とい
う命令である。上記のよ゛うにしてロード・モジュール
Bに1■u御が渡さnる。
上述のよりに、富士通の08IV/F4は動的リンク(
動的結合ン°をサポートする機能を有しているが、IB
M社のos、例えばMVSは動的リンクをサポートする
機能を有していない。IBM社のO8の下においては、
グログラみAとプログラムBとを結合する場合、LOA
D Bというマクロ命令を発行はれた後にC″ALL
Bというマクロ命令が発行されるようにプログラム
Aを作成する必要がある。LOAD Bというマクロ
命令は、プローグラムBを仮想記憶上にローディングし
、その先頭アドレスを所定領域にセットするためのもの
である。IBM社のMVSは動的リンクをサポートする
機能を有していないので、富士通の08IV/F4を想
定したプログラムは、IBM社のMVS下で実行するこ
とは出来ない。ところで、プログラムの作成には相当の
時間と費用と人手とを要¥るので、動的リンクをサポー
トする機能を有するO8を想定して作成されたプログラ
ムを動的リンクをサポートしないO8下で実行できるよ
うにすることが望まれる。
動的結合ン°をサポートする機能を有しているが、IB
M社のos、例えばMVSは動的リンクをサポートする
機能を有していない。IBM社のO8の下においては、
グログラみAとプログラムBとを結合する場合、LOA
D Bというマクロ命令を発行はれた後にC″ALL
Bというマクロ命令が発行されるようにプログラム
Aを作成する必要がある。LOAD Bというマクロ
命令は、プローグラムBを仮想記憶上にローディングし
、その先頭アドレスを所定領域にセットするためのもの
である。IBM社のMVSは動的リンクをサポートする
機能を有していないので、富士通の08IV/F4を想
定したプログラムは、IBM社のMVS下で実行するこ
とは出来ない。ところで、プログラムの作成には相当の
時間と費用と人手とを要¥るので、動的リンクをサポー
トする機能を有するO8を想定して作成されたプログラ
ムを動的リンクをサポートしないO8下で実行できるよ
うにすることが望まれる。
本発明は、上記の考MVc基づくものであって、動的リ
ンクをサポートする機能を有するO8を想定して作成さ
nたプログラムを、動的リンクをサポート己ないO8下
で実行できるようにしたプログラムの動的結合方法を提
供することを目的としている。
ンクをサポートする機能を有するO8を想定して作成さ
nたプログラムを、動的リンクをサポート己ないO8下
で実行できるようにしたプログラムの動的結合方法を提
供することを目的としている。
そしてそのため1本発明のプログラムの動的結合方法ば
、 動的リンクをサポートする機能を有するオペレーティン
グ・システム081を想定して作成され庭プログラムを
、動的リンクをサポートしない他のオペレーティング0
システムO82の下で実行させるためのプログラムの動
的結合方法であって。
、 動的リンクをサポートする機能を有するオペレーティン
グ・システム081を想定して作成され庭プログラムを
、動的リンクをサポートしない他のオペレーティング0
システムO82の下で実行させるためのプログラムの動
的結合方法であって。
ダイナミック・リンケージ・テーブルを作成するための
リンケージ中エディタおよび該ダイナミックOリンケー
ジΦテーブルで指定されたロード・モジュールを仮想記
、憶上にローディングしその先頭アドレスを上記ダイナ
ミック・リンケージ伽テーブルに書込むための管理ルー
チンを上記オペレーティング・システムO82をもつ計
算機システムに組込み、上記管理ルーチンに対して上記
オペレーティング・システムO82に既に存在するSV
C番号とは異なるSVC番号を与、え、上記ダイナミッ
ク・リンケージ・テーブルを作成する際、上記異なるS
VC番号がダイナミック9リンケージ・テーブルに書込
まれるようにしたことを特徴とするものである。
リンケージ中エディタおよび該ダイナミックOリンケー
ジΦテーブルで指定されたロード・モジュールを仮想記
、憶上にローディングしその先頭アドレスを上記ダイナ
ミック・リンケージ伽テーブルに書込むための管理ルー
チンを上記オペレーティング・システムO82をもつ計
算機システムに組込み、上記管理ルーチンに対して上記
オペレーティング・システムO82に既に存在するSV
C番号とは異なるSVC番号を与、え、上記ダイナミッ
ク・リンケージ・テーブルを作成する際、上記異なるS
VC番号がダイナミック9リンケージ・テーブルに書込
まれるようにしたことを特徴とするものである。
以下、本発明を実施例で以て具体的に説明する。
IBM社のMVSは動的リンクをサポートする機能を有
していないので、富士通のリンケージ−エディタをIB
M社の計算機システムに組込む0そして、富士通の08
IV/F4を想定して作成されたンース・プログラムを
IBMの計算機システムを用いてコンパイルし、コンパ
イルして得うしたオブジェク)−モジュールを結合編集
するとき、富士通のリンケージ・エディタを呼出して結
合編集を行う。そうすると、CALL B (Bはプ
ログラム名)というマクロ命令に対応してDALTA
Bが作成される。この場合、DALTABに記入される
SvC番号は、5VC45でハナく例えば5VC100
とされる。富士通のS V C45で指定される管理ル
ーチンは、指定さ扛たロード・モジュールを仮想記憶上
にローディングし、その先頭アドレスを所定領域に書込
む機能を有している。ところで、IBM社ノMV S
モS V C45トいう管理ルーチンを有しているが、
このS V C45で指定される管理ルーチンは、オー
バレイの管理機能を有しているものでアリ、富士通の0
8IV/F4の5vC45で指定される管理ルーチンの
ように、ロード・モジュールを仮想記憶上にローディン
グし、その先頭アドレスを所定領域に書込む機能を有し
ていない。そこで、富士通の5VC45で指定される管
理ルーチンを、IBM社の計算機システムにSVC10
0という番号を与えて組込んでおく。そうすると、IB
M社の計算機システムでDAI、TABを有するシログ
ラムを実行する」助合、DALTABが実行きれると、
SVC100で指定さnる管理ルーチン(富士通の5V
C45で指定される管理ルーチン)に制御が渡され、所
望のロード・モジュールが仮想記憶上にローティングさ
扛、そしてその先頭アドレスが所定領域に書込−1牡ろ
。そして、所望のロード・モジュールが実行さ扛る。
していないので、富士通のリンケージ−エディタをIB
M社の計算機システムに組込む0そして、富士通の08
IV/F4を想定して作成されたンース・プログラムを
IBMの計算機システムを用いてコンパイルし、コンパ
イルして得うしたオブジェク)−モジュールを結合編集
するとき、富士通のリンケージ・エディタを呼出して結
合編集を行う。そうすると、CALL B (Bはプ
ログラム名)というマクロ命令に対応してDALTA
Bが作成される。この場合、DALTABに記入される
SvC番号は、5VC45でハナく例えば5VC100
とされる。富士通のS V C45で指定される管理ル
ーチンは、指定さ扛たロード・モジュールを仮想記憶上
にローディングし、その先頭アドレスを所定領域に書込
む機能を有している。ところで、IBM社ノMV S
モS V C45トいう管理ルーチンを有しているが、
このS V C45で指定される管理ルーチンは、オー
バレイの管理機能を有しているものでアリ、富士通の0
8IV/F4の5vC45で指定される管理ルーチンの
ように、ロード・モジュールを仮想記憶上にローディン
グし、その先頭アドレスを所定領域に書込む機能を有し
ていない。そこで、富士通の5VC45で指定される管
理ルーチンを、IBM社の計算機システムにSVC10
0という番号を与えて組込んでおく。そうすると、IB
M社の計算機システムでDAI、TABを有するシログ
ラムを実行する」助合、DALTABが実行きれると、
SVC100で指定さnる管理ルーチン(富士通の5V
C45で指定される管理ルーチン)に制御が渡され、所
望のロード・モジュールが仮想記憶上にローティングさ
扛、そしてその先頭アドレスが所定領域に書込−1牡ろ
。そして、所望のロード・モジュールが実行さ扛る。
以上の説明から明らかなように、本発明によれは、動的
リンクをサポートする機能をもつO8を想定して作成さ
れたプログラムを、動的リンクをサポートしないO8下
で実行することが出来ろ。
リンクをサポートする機能をもつO8を想定して作成さ
れたプログラムを、動的リンクをサポートしないO8下
で実行することが出来ろ。
第1図はプログラムの構造を示す図、第2図は動的リン
ク構造のロード・モジュールの作成を説明する図、第3
図はDALTABの構成を示す図である。 S・・・ソース・プログラム、OM・・・オフ゛ジエク
ト・モジュール、LM・・ロード・モジュール。 特許出願人 富士通株式会社 代理人弁理士 京 谷 四 部
ク構造のロード・モジュールの作成を説明する図、第3
図はDALTABの構成を示す図である。 S・・・ソース・プログラム、OM・・・オフ゛ジエク
ト・モジュール、LM・・ロード・モジュール。 特許出願人 富士通株式会社 代理人弁理士 京 谷 四 部
Claims (1)
- 【特許請求の範囲】 動的リンクをサポートする機能を有するオペレーティン
グ・システムO8Iを想定して作成されたプログラムを
、動的リンクをサポートしない他のオペレーティング1
システム082の下で実行させるためのプログラムの動
的結合方法であって、ダイナミック・リンケージ・テー
ブルを作成するためのリンケージ・エディタおよび該ダ
イナミック・リンケージ・テーブルで指定さnたロード
・モジュールを仮想記憶上にローディングしその先頭ア
ドレスを上記ダイナミック・リンケージ・テーブルに書
込むための管理ルーチンを上記オペレーティング・シス
テム082をもつ計算機システムに組込み、上記管理ル
ーチンに対して上記オペレーティング・システム082
に既に存在するSVC番号とは異なるSVC番号を与え
、上記ダイナミック・リンケージ・テーブルを作成する
際。 上記具なるSVC番号がダイナミック・リンケージ・テ
ーブルに書込まれるようにしたことを特徴とするプログ
ラムの動的結合方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22937482A JPS59119447A (ja) | 1982-12-27 | 1982-12-27 | プログラムの動的結合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22937482A JPS59119447A (ja) | 1982-12-27 | 1982-12-27 | プログラムの動的結合方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS59119447A true JPS59119447A (ja) | 1984-07-10 |
Family
ID=16891166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22937482A Pending JPS59119447A (ja) | 1982-12-27 | 1982-12-27 | プログラムの動的結合方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59119447A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4926214A (en) * | 1987-11-16 | 1990-05-15 | Mita Industrial Co., Ltd. | Original-holding cover |
JP2010506252A (ja) * | 2006-10-02 | 2010-02-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラムコード変換に関して動的にリンクされた関数呼び出しを行うための方法及び装置 |
US8402410B2 (en) | 2007-08-27 | 2013-03-19 | Samsung Electronics Co., Ltd. | Method and apparatus for managing configuration memory of reconfigurable hardware |
-
1982
- 1982-12-27 JP JP22937482A patent/JPS59119447A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4926214A (en) * | 1987-11-16 | 1990-05-15 | Mita Industrial Co., Ltd. | Original-holding cover |
JP2010506252A (ja) * | 2006-10-02 | 2010-02-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プログラムコード変換に関して動的にリンクされた関数呼び出しを行うための方法及び装置 |
US8402410B2 (en) | 2007-08-27 | 2013-03-19 | Samsung Electronics Co., Ltd. | Method and apparatus for managing configuration memory of reconfigurable hardware |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0537309B1 (en) | System and method for preserving source instruction atomicity in translated program code | |
Kilburn et al. | One-level storage system | |
US5522072A (en) | Arrangement for efficiently transferring program execution between subprograms | |
JPH0223894B2 (ja) | ||
Pankhurst | Operating systems: Program overlay techniques | |
JPS59119447A (ja) | プログラムの動的結合方法 | |
JPH065515B2 (ja) | キャッシュ再ロード・オーバーヘッドを減少させる方法およびコンピュータ・システム | |
JPH0221610B2 (ja) | ||
JPH0754467B2 (ja) | データ処理装置 | |
JPS6116336A (ja) | Fortran入出力制御処理方式 | |
JPH0242527A (ja) | プログラムのリンケージ方式 | |
JPS6232497B2 (ja) | ||
JP2572435B2 (ja) | デマンドページング計算機の命令実行方法 | |
JPH0465717A (ja) | プログラム呼び出し方法 | |
JPH0115101B2 (ja) | ||
JPS6325372B2 (ja) | ||
Rosin | An approach to executive system maintenance in disk-based systems | |
JPS62145327A (ja) | 共有サブル−チン結合方式 | |
JP2601541B2 (ja) | Fortran入出力並び処理方式 | |
JPS60176144A (ja) | レジスタフアイル装置 | |
Schoeffler et al. | A virtual memory organisation for minicomputer process control software | |
JPS63173129A (ja) | 情報処理装置 | |
JPH021017A (ja) | プログラム結合制御方式 | |
Van Sciver | Safeguard Data‐Processing System: Systems Programming in PL/1 | |
White et al. | Design of an integrated programming and operating system, Part VI: Implementation on the 7040/44 data processing system |