JPH0128414B2 - - Google Patents
Info
- Publication number
- JPH0128414B2 JPH0128414B2 JP10199981A JP10199981A JPH0128414B2 JP H0128414 B2 JPH0128414 B2 JP H0128414B2 JP 10199981 A JP10199981 A JP 10199981A JP 10199981 A JP10199981 A JP 10199981A JP H0128414 B2 JPH0128414 B2 JP H0128414B2
- Authority
- JP
- Japan
- Prior art keywords
- object module
- address
- correspondence table
- program
- loaded
- 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
Links
- 238000000034 method Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 235000021162 brunch Nutrition 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Description
【発明の詳細な説明】
本発明は、電子計算機を使用して或るジヨブを
処理させる際のプログラム実行方式に関し、プロ
グラム実行を動的に効率的に行ない、高速処理で
きるようにするものである。
処理させる際のプログラム実行方式に関し、プロ
グラム実行を動的に効率的に行ない、高速処理で
きるようにするものである。
第1図は原始プログラムとして作成されたプロ
グラムが、実際に実行されるまでの過程を例示し
たもので、原始プログラムが言語プロセツサで翻
訳されてなるオブジエクトモジユールA,B及び
ロードモジユールCがリンケージエデイタで結合
されて、新たなロードモジユールとなり、スーパ
バイザによつて記憶装置に読み込まれ、実行され
る。
グラムが、実際に実行されるまでの過程を例示し
たもので、原始プログラムが言語プロセツサで翻
訳されてなるオブジエクトモジユールA,B及び
ロードモジユールCがリンケージエデイタで結合
されて、新たなロードモジユールとなり、スーパ
バイザによつて記憶装置に読み込まれ、実行され
る。
リンケージエデイタの役割は、言語プロセサか
ら出力されたオブジエクトモジユールを、スーパ
バイザが記憶装置に読み込んで実行できるような
形式に変換する機能のほかに、或る1つのプログ
ラムを実行する際に翻訳単位の異なる他のプログ
ラムを呼び出して結合したりすることもできる。
このように一方のプログラムから翻訳単位の異な
る他のプログラムを呼び込んで結合するリンケー
ジ処理を高速で行う方式として、ダイナミツクリ
ンクがある。これは、プログラムの実行中に必要
になつた時点で必要なロードモジユールを呼び出
してリンクするもので、スーパバイザは、プログ
ラムから要求されたロードモジユールをライブラ
リ中から捜し出して記憶装置にローデイングし、
そのエントリイに制御を渡すことによつて行なわ
れる。
ら出力されたオブジエクトモジユールを、スーパ
バイザが記憶装置に読み込んで実行できるような
形式に変換する機能のほかに、或る1つのプログ
ラムを実行する際に翻訳単位の異なる他のプログ
ラムを呼び出して結合したりすることもできる。
このように一方のプログラムから翻訳単位の異な
る他のプログラムを呼び込んで結合するリンケー
ジ処理を高速で行う方式として、ダイナミツクリ
ンクがある。これは、プログラムの実行中に必要
になつた時点で必要なロードモジユールを呼び出
してリンクするもので、スーパバイザは、プログ
ラムから要求されたロードモジユールをライブラ
リ中から捜し出して記憶装置にローデイングし、
そのエントリイに制御を渡すことによつて行なわ
れる。
ところがこの方式は、スーパバイザコール番号
とアドレスの対応テーブルで行なうので、原始プ
ログラムの更新が頻繁に行なわれるテスト工程な
どの際は、プログラムのフアイルメンテナンスつ
まり原始プログラムを訂正しそれを翻訳してオブ
ジエクトモジユールを得る作業の作業量が多くな
り、リンケージ処理の高速化の妨げとなつてい
る。即ちプログラムを実行した後、呼び出される
方のロードモジユールにバグが有ることがわかつ
たりした場合は、デバツグした後再度リンケージ
処理し直してから、ロード及び実行しなければな
らないので、処理が二重になり、処理速度を低下
させる。
とアドレスの対応テーブルで行なうので、原始プ
ログラムの更新が頻繁に行なわれるテスト工程な
どの際は、プログラムのフアイルメンテナンスつ
まり原始プログラムを訂正しそれを翻訳してオブ
ジエクトモジユールを得る作業の作業量が多くな
り、リンケージ処理の高速化の妨げとなつてい
る。即ちプログラムを実行した後、呼び出される
方のロードモジユールにバグが有ることがわかつ
たりした場合は、デバツグした後再度リンケージ
処理し直してから、ロード及び実行しなければな
らないので、処理が二重になり、処理速度を低下
させる。
本発明は、従来のダイナミツクリンケージ処理
におけるこのような問題を解決し、更に高速化を
実現することを目的とする。この目的を達成する
ために本発明は、オブジエクトモジユールが格納
されたフアイルから計算機の主記憶装置に該オブ
ジエクトモジユールをローデイングする際に、1
つのオブジエクトモジユールをローデイングする
度に、そのローデイングしたオブジエクトモジユ
ールの、外部入口記号名である外部エントリイ名
と、主記憶装置にローデイングされたオブジエク
トモジユール内に存在する外部エントリイ(外部
入口)のアドレス、すなわち該オブジエクトモジ
ユールの主記憶装置中におけるアドレスとの対応
テーブルを作成して、該主記憶装置に記憶してお
き、プログラムの実行時に、アドレス未解決割り
込みが発生したら、オブジエクトモジユールから
分岐先の外部エントリイ名である飛び先エントリ
イ名を求めて、該飛び先エントリイ名から前記の
対応テーブルを検索して分岐先となる飛び先アド
レスを求め、該飛び先アドレスへブランチする方
式を採つている。
におけるこのような問題を解決し、更に高速化を
実現することを目的とする。この目的を達成する
ために本発明は、オブジエクトモジユールが格納
されたフアイルから計算機の主記憶装置に該オブ
ジエクトモジユールをローデイングする際に、1
つのオブジエクトモジユールをローデイングする
度に、そのローデイングしたオブジエクトモジユ
ールの、外部入口記号名である外部エントリイ名
と、主記憶装置にローデイングされたオブジエク
トモジユール内に存在する外部エントリイ(外部
入口)のアドレス、すなわち該オブジエクトモジ
ユールの主記憶装置中におけるアドレスとの対応
テーブルを作成して、該主記憶装置に記憶してお
き、プログラムの実行時に、アドレス未解決割り
込みが発生したら、オブジエクトモジユールから
分岐先の外部エントリイ名である飛び先エントリ
イ名を求めて、該飛び先エントリイ名から前記の
対応テーブルを検索して分岐先となる飛び先アド
レスを求め、該飛び先アドレスへブランチする方
式を採つている。
次に本発明によるプログラム実行方式の実施例
を説明する。第2図のようにフアイル1に、翻訳
単位の異なる複数のオブジエクトモジユールOM
1〜OM3が格納されており、これらの各オブジ
エクトモジユールOM1〜OM3が、第3図のよ
うに計算機の主記憶装置2にロードされる際に、
オブジエクトモジユールOM1〜OM3のエント
リイ名とアドレスとの対応テーブル3が作成さ
れ、記憶される。この対応テーブル3の内容は、
第4図のように、各オブジエクトモジユールOM
1〜OM3のエントリイ名と、それらが読み込ま
れた主記憶装置上のアドレスとが対応している。
を説明する。第2図のようにフアイル1に、翻訳
単位の異なる複数のオブジエクトモジユールOM
1〜OM3が格納されており、これらの各オブジ
エクトモジユールOM1〜OM3が、第3図のよ
うに計算機の主記憶装置2にロードされる際に、
オブジエクトモジユールOM1〜OM3のエント
リイ名とアドレスとの対応テーブル3が作成さ
れ、記憶される。この対応テーブル3の内容は、
第4図のように、各オブジエクトモジユールOM
1〜OM3のエントリイ名と、それらが読み込ま
れた主記憶装置上のアドレスとが対応している。
第5図はこの対応テーブル3の作成手順を示す
フローチヤートであり、オブジエクトモジユール
を1つローデイングする度に、オブジエクトモジ
ユールのエントリイ名とその記録先のアドレスの
対応テーブルが作成され、当該主記憶装置に記憶
される。この動作の繰り返しによつて、各オブジ
エクトモジユールOM1〜OM3とその対応テー
ブルが主記憶装置に記憶され、第6図のようにプ
ログラムの実行時に、この対応テーブルを検索す
ることによつて、ブランチ先が求められる。
フローチヤートであり、オブジエクトモジユール
を1つローデイングする度に、オブジエクトモジ
ユールのエントリイ名とその記録先のアドレスの
対応テーブルが作成され、当該主記憶装置に記憶
される。この動作の繰り返しによつて、各オブジ
エクトモジユールOM1〜OM3とその対応テー
ブルが主記憶装置に記憶され、第6図のようにプ
ログラムの実行時に、この対応テーブルを検索す
ることによつて、ブランチ先が求められる。
第7図は、前記の対応テーブル作成動作を更に
詳しく示したフローチヤートで、イのように1つ
のフアイル1中に格納されている複数のオブジエ
クトモジユールOM1〜OMnの夫々は、ロのよ
うにオブジエクトプログラム部4とその外部エン
トリイ名及び相対アドレス部41,42…から成
つている。これらのオブジエクトモジユールOM
1〜OMnをローデイングする際に、ハに示すフ
ローチヤートのように対応テーブルが作成され
る。即ち、各オブジエクトモジユールのエントリ
イには、パラメータとしてフアイル名、先頭ロー
デイングオブジエクトモジユール名等が設定され
ており、指定フアイル内から先頭ローデイングオ
ブジエクトモジユールをサーチして、ニの主記憶
装置2にローデイングする。そしてこのとき、ロ
ーデイングしたオブジエクトモジユールの外部エ
ントリイ名とそのアドレスとの対応テーブル3を
作成し、ニの主記憶装置2に記憶させる。31の
欄が外部エントリイ名、32の欄がそのアドレス
である。対応テーブル3の外部エントリイのアド
レスは、オブジエクトプログラム部4のメモリロ
ーデイングアドレスとオブジエクトモジユール内
の外部エントリイ相対アドレス(オブジエクプロ
グラム内)より求められる。次に当該フアイル中
に、他のオブジエクトモジユールが有るか判断さ
れ、有れば再度当該オブジエクトモジユールの主
記憶装置2へのローデイングが行なわれると共
に、ローデイングしたオブジエクトモジユールの
外部エントリイ名とそのアドレスとの対応テーブ
ル3を作成する。そしてこのローデイングと対応
テーブル3の作成の動作が、他のオブジエクトモ
ジユールが無くなるまで繰り返される。他のオブ
ジエクトモジユールが無くなると、ローデイング
した先頭のオブジエクトモジユールに制御が移行
してローデイングが終了する。
詳しく示したフローチヤートで、イのように1つ
のフアイル1中に格納されている複数のオブジエ
クトモジユールOM1〜OMnの夫々は、ロのよ
うにオブジエクトプログラム部4とその外部エン
トリイ名及び相対アドレス部41,42…から成
つている。これらのオブジエクトモジユールOM
1〜OMnをローデイングする際に、ハに示すフ
ローチヤートのように対応テーブルが作成され
る。即ち、各オブジエクトモジユールのエントリ
イには、パラメータとしてフアイル名、先頭ロー
デイングオブジエクトモジユール名等が設定され
ており、指定フアイル内から先頭ローデイングオ
ブジエクトモジユールをサーチして、ニの主記憶
装置2にローデイングする。そしてこのとき、ロ
ーデイングしたオブジエクトモジユールの外部エ
ントリイ名とそのアドレスとの対応テーブル3を
作成し、ニの主記憶装置2に記憶させる。31の
欄が外部エントリイ名、32の欄がそのアドレス
である。対応テーブル3の外部エントリイのアド
レスは、オブジエクトプログラム部4のメモリロ
ーデイングアドレスとオブジエクトモジユール内
の外部エントリイ相対アドレス(オブジエクプロ
グラム内)より求められる。次に当該フアイル中
に、他のオブジエクトモジユールが有るか判断さ
れ、有れば再度当該オブジエクトモジユールの主
記憶装置2へのローデイングが行なわれると共
に、ローデイングしたオブジエクトモジユールの
外部エントリイ名とそのアドレスとの対応テーブ
ル3を作成する。そしてこのローデイングと対応
テーブル3の作成の動作が、他のオブジエクトモ
ジユールが無くなるまで繰り返される。他のオブ
ジエクトモジユールが無くなると、ローデイング
した先頭のオブジエクトモジユールに制御が移行
してローデイングが終了する。
このようにしてオブジエクトモジユールOM1
〜OMnのローデイングと対応テーブル作成が行
われ、次にこのプログラムを実行するときは、第
6図のように、プログラム走行中にアドレス未解
決の割り込みが発生すると、オブジエクトプログ
ラムから分岐先の外部エントリイ名である飛び先
エントリイ名を求めて、対応テーブル3から該飛
び先エントリイ名に対応するエントリイをサーチ
し、有ればその対応アドレスへブランチされる。
万一対応テーブル3に対応するエントリイ名が無
い場合は、プログラム実行不能として強制的に実
行を中止する。
〜OMnのローデイングと対応テーブル作成が行
われ、次にこのプログラムを実行するときは、第
6図のように、プログラム走行中にアドレス未解
決の割り込みが発生すると、オブジエクトプログ
ラムから分岐先の外部エントリイ名である飛び先
エントリイ名を求めて、対応テーブル3から該飛
び先エントリイ名に対応するエントリイをサーチ
し、有ればその対応アドレスへブランチされる。
万一対応テーブル3に対応するエントリイ名が無
い場合は、プログラム実行不能として強制的に実
行を中止する。
以上のように本発明によれば、オブジエクトモ
ジユールが格納されたフアイルから計算機の主記
憶装置に該オブジエクトモジユールをローデイン
グする際に、1つのオブジエクトモジユールをロ
ーデイングする度に、そのローデイングしたオブ
ジエクトモジユールの、外部入口記号名である外
部エントリイ名と、主記憶装置にローデイングさ
れたオブジエクトモジユール内に存在する外部エ
ントリイ(外部入口)のアドレス、すなわち該オ
ブジエクトモジユールの主記憶装置中におけるア
ドレスとの対応テーブルを作成して、該主記憶装
置に記憶しておき、プログラムの実行時に、アド
レス未解決割り込みが発生したら、オブジエクト
モジユールから分岐先の外部エントリイ名である
飛び先エントリイ名を求めて、該飛び先エントリ
イ名から前記の対応テーブルを検索して分岐先と
なる飛び先アドレスを求め、該飛び先アドレスへ
ブランチする構成を採つている。そのため、呼び
出したオブジエクトモジユール内にバグが有つた
りしても、そのオブジエクトモジユールのみをデ
バツグして主記憶装置の同一アドレスに読み込め
ばよいので、従来に比べてフアイルメンテナンス
の作業量が軽減されると共に、ダイナミツクリン
ケージ処理が一層高速化される。
ジユールが格納されたフアイルから計算機の主記
憶装置に該オブジエクトモジユールをローデイン
グする際に、1つのオブジエクトモジユールをロ
ーデイングする度に、そのローデイングしたオブ
ジエクトモジユールの、外部入口記号名である外
部エントリイ名と、主記憶装置にローデイングさ
れたオブジエクトモジユール内に存在する外部エ
ントリイ(外部入口)のアドレス、すなわち該オ
ブジエクトモジユールの主記憶装置中におけるア
ドレスとの対応テーブルを作成して、該主記憶装
置に記憶しておき、プログラムの実行時に、アド
レス未解決割り込みが発生したら、オブジエクト
モジユールから分岐先の外部エントリイ名である
飛び先エントリイ名を求めて、該飛び先エントリ
イ名から前記の対応テーブルを検索して分岐先と
なる飛び先アドレスを求め、該飛び先アドレスへ
ブランチする構成を採つている。そのため、呼び
出したオブジエクトモジユール内にバグが有つた
りしても、そのオブジエクトモジユールのみをデ
バツグして主記憶装置の同一アドレスに読み込め
ばよいので、従来に比べてフアイルメンテナンス
の作業量が軽減されると共に、ダイナミツクリン
ケージ処理が一層高速化される。
第1図は通常の原始プログラムの作成からプロ
グラム実行までの過程を示すフローチヤート、第
2図以下は本発明によるプログラム実行方式の実
施例を示す図で、第2図はフアイルへのオブジエ
クトモジユールの格納状態を示す図、第3図はプ
ログラムローデイング状態を示す図、第4図は対
応テーブルを示す図、第5図はプログラムローデ
イング動作のフローチヤート、第6図はプログラ
ム実行動作のフローチヤート、第7図は対応テー
ブル作成動作の詳細を示すフローチヤートであ
る。 図において、1はフアイル、2は計算機の主記
憶装置、3は対応テーブル、OM1〜OMnはオ
ブジエクトモジユール、4はオブジエクトプログ
ラム部、41,42…は外部エントリイ名及び相
対アドレス部である。
グラム実行までの過程を示すフローチヤート、第
2図以下は本発明によるプログラム実行方式の実
施例を示す図で、第2図はフアイルへのオブジエ
クトモジユールの格納状態を示す図、第3図はプ
ログラムローデイング状態を示す図、第4図は対
応テーブルを示す図、第5図はプログラムローデ
イング動作のフローチヤート、第6図はプログラ
ム実行動作のフローチヤート、第7図は対応テー
ブル作成動作の詳細を示すフローチヤートであ
る。 図において、1はフアイル、2は計算機の主記
憶装置、3は対応テーブル、OM1〜OMnはオ
ブジエクトモジユール、4はオブジエクトプログ
ラム部、41,42…は外部エントリイ名及び相
対アドレス部である。
Claims (1)
- 【特許請求の範囲】 1 オブジエクトモジユールが格納されたフアイ
ルから計算機の主記憶装置に該オブジエクトモジ
ユールをローデイングする際に、 1つのオブジエクトモジユールをローデイング
する度に、そのローデイングしたオブジエクトモ
ジユールの、外部入口記号名である外部エントリ
イ名と、主記憶装置にローデイングされたオブジ
エクトモジユール内に存在する外部エントリイの
アドレス、すなわち該オブジエクトモジユールの
主記憶装置中におけるアドレスとの対応テーブル
を作成して、該主記憶装置に記憶しておき、 プログラムの実行時に、アドレス未解決割り込
みが発生したら、オブジエクトモジユールから分
岐先の外部エントリイ名である飛び先エントリイ
名を求めて、該飛び先エントリイ名から前記の対
応テーブルを検索して分岐先となる飛び先アドレ
スを求め、該飛び先アドレスヘブランチすること
を特徴とするプログラム実行方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10199981A JPS583042A (ja) | 1981-06-30 | 1981-06-30 | プログラム実行方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10199981A JPS583042A (ja) | 1981-06-30 | 1981-06-30 | プログラム実行方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS583042A JPS583042A (ja) | 1983-01-08 |
JPH0128414B2 true JPH0128414B2 (ja) | 1989-06-02 |
Family
ID=14315508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10199981A Granted JPS583042A (ja) | 1981-06-30 | 1981-06-30 | プログラム実行方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS583042A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60235250A (ja) * | 1984-05-07 | 1985-11-21 | Omron Tateisi Electronics Co | プログラムカウンタトレ−ス装置 |
JPH01263734A (ja) * | 1988-04-08 | 1989-10-20 | Internatl Business Mach Corp <Ibm> | マルチ・タスク環境における動的リンク識別子供給方法 |
-
1981
- 1981-06-30 JP JP10199981A patent/JPS583042A/ja active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS583042A (ja) | 1983-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4812975A (en) | Emulation method | |
JP2615103B2 (ja) | 仮想計算機システム | |
US8752056B2 (en) | Running native code across single or multi-core hybrid processor achitecture | |
JP2927180B2 (ja) | 情報処理プログラムのデバッグ方法およびそのためのデバッガ | |
CN106020920A (zh) | 一种jcvm解释器的预处理方法及系统 | |
US7035977B2 (en) | Method and system for stack-caching method frames | |
US5150474A (en) | Method for transferring arguments between object programs by switching address modes according to mode identifying flag | |
JP3318051B2 (ja) | 翻訳処理方法 | |
JPH0128414B2 (ja) | ||
JP2000122876A (ja) | 情報処理装置 | |
JPH0581069A (ja) | プログラムのデバツグ方法 | |
JP3637606B2 (ja) | データ処理装置 | |
JPH0293948A (ja) | 計算機システム | |
JPH06131212A (ja) | 他のプログラムによるターゲットプログラムの呼び出しに関してターゲットプログラムの実行を追跡するコンピュータ制御方法 | |
KR20050078397A (ko) | 객체지향 프로그램에서 객체 접근시 발생하는 부하를줄이기 위한 명령 변환 방법 및 연산장치 | |
JPH0675757A (ja) | 仮想空間常駐プログラムのリンク方式 | |
Kneen | A Users Guide to the IBM Linkage Editor | |
JPH0293947A (ja) | 電子計算機 | |
JP2819668B2 (ja) | 命令の最適化方式 | |
JPH07244601A (ja) | 関係データベースのアクセス方法および装置 | |
JP3424596B2 (ja) | シンボル参照情報のキャッシュ方法ならびに装置 | |
JPH0247730A (ja) | 仮想計算機システム | |
JPH04205422A (ja) | プログラム自動翻訳結合及び選択方法 | |
JPH01258029A (ja) | データ処理装置 | |
JPH04147340A (ja) | データ管理呼出方式 |