JPS583042A - プログラム実行方式 - Google Patents
プログラム実行方式Info
- Publication number
- JPS583042A JPS583042A JP10199981A JP10199981A JPS583042A JP S583042 A JPS583042 A JP S583042A JP 10199981 A JP10199981 A JP 10199981A JP 10199981 A JP10199981 A JP 10199981A JP S583042 A JPS583042 A JP S583042A
- Authority
- JP
- Japan
- Prior art keywords
- address
- object module
- program
- correspondence table
- main memory
- 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
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
- 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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
本発明は、電子計算機を使用して成るジープを処理させ
る際のプログラム実行方式に関し、プログラム実行を動
的に効率的に行ない、高速処理できるようにするもので
ある。
る際のプログラム実行方式に関し、プログラム実行を動
的に効率的に行ない、高速処理できるようにするもので
ある。
第1図は原始プログラムとして作成されたプログラムが
、実際に実行されるまでの過程を例示したもので、原始
プログラムが言語プロセッサで翻訳されてなるオブジェ
クトモジエールA、B及びロードモジュールCがリンケ
ージエディタで結合されて、新たなロードモジニールと
なり、スーパバイザによって記憶装置に読み込まれ、実
行される。
、実際に実行されるまでの過程を例示したもので、原始
プログラムが言語プロセッサで翻訳されてなるオブジェ
クトモジエールA、B及びロードモジュールCがリンケ
ージエディタで結合されて、新たなロードモジニールと
なり、スーパバイザによって記憶装置に読み込まれ、実
行される。
リンケージエディタの役割は、言語プロセサから出力さ
れたオブジェクトモジエールを、スーパバイザが記憶装
置に読み込んで実行できるような形式に炙換する機能の
ほかに、成る1つのプログラムを実行する際に翻訳単位
の興−る他のプログラムを呼び出して結合したりするこ
ともできる。
れたオブジェクトモジエールを、スーパバイザが記憶装
置に読み込んで実行できるような形式に炙換する機能の
ほかに、成る1つのプログラムを実行する際に翻訳単位
の興−る他のプログラムを呼び出して結合したりするこ
ともできる。
このように一方のプログラムから翻訳単位の興なる他の
プログラムを呼び込んで結合するリンケージ処理を高速
で行う方式として、ダイナミックリンクがある。これは
、プログラムの実行中に必要になった時点で必要なロー
ドモジュールを呼び出してリンクするもので、スーパバ
イザは、プログラムから要求されたロードモジュールを
ライブラリ中から捜し出して記憶装置にローディングし
、そのエントリイに制御を渡すことによって行なわれる
。
プログラムを呼び込んで結合するリンケージ処理を高速
で行う方式として、ダイナミックリンクがある。これは
、プログラムの実行中に必要になった時点で必要なロー
ドモジュールを呼び出してリンクするもので、スーパバ
イザは、プログラムから要求されたロードモジュールを
ライブラリ中から捜し出して記憶装置にローディングし
、そのエントリイに制御を渡すことによって行なわれる
。
ところがこの方式は、スーパバイザコール番号とアドレ
スの対応テーブルで行なうので、原始プログラムの更新
が頻繁に行なわれるテスト工程なトノ際は、プログラム
のファイルメンテナンスつまり原始プログラムを訂正し
それを翻訳してオブジェクトモジュールを得る作業の作
業量が多くなり、リンケージ処理の高速化の妨げとなっ
ている。
スの対応テーブルで行なうので、原始プログラムの更新
が頻繁に行なわれるテスト工程なトノ際は、プログラム
のファイルメンテナンスつまり原始プログラムを訂正し
それを翻訳してオブジェクトモジュールを得る作業の作
業量が多くなり、リンケージ処理の高速化の妨げとなっ
ている。
即ちプログラムを実行した後、呼び出される方のロード
モジュールにバグが有ることがわかったりした場合は、
デバッグした後再度リンケージ処理し直してから、ロー
ド及び実行しなければならないので、処理が二重になり
、処理速度を低下させ°−る。
モジュールにバグが有ることがわかったりした場合は、
デバッグした後再度リンケージ処理し直してから、ロー
ド及び実行しなければならないので、処理が二重になり
、処理速度を低下させ°−る。
本発明は、従来のダイナミックリンケージ処理における
このような問題を解決し、更に高速化を実現することを
目的とする。この目的を達成するために本発明は、オブ
ジェクトモジx −1kが格納されたファイルから計算
機の主記憶装置にローディングする際に、1つのオブジ
ェクトモジエールをローディングする度に、そのローデ
ィングしたオブジェクトモジュールの゛外部エントリイ
名とその主記憶装置中におけるアドレスとの対応テーブ
ルを作成して同主記憶装瞳に記憶しておき、プログラム
の実行時に、アドレス未解決割り込みが発生したら、オ
ブジェクトモジュールから飛び先エントリイ名を求めて
、当該飛ビット先エントリイ名から前記の対応テーブル
を検索して飛び先アドレスを求め、対応アドレスへブラ
ンチする方式を採っている。
このような問題を解決し、更に高速化を実現することを
目的とする。この目的を達成するために本発明は、オブ
ジェクトモジx −1kが格納されたファイルから計算
機の主記憶装置にローディングする際に、1つのオブジ
ェクトモジエールをローディングする度に、そのローデ
ィングしたオブジェクトモジュールの゛外部エントリイ
名とその主記憶装置中におけるアドレスとの対応テーブ
ルを作成して同主記憶装瞳に記憶しておき、プログラム
の実行時に、アドレス未解決割り込みが発生したら、オ
ブジェクトモジュールから飛び先エントリイ名を求めて
、当該飛ビット先エントリイ名から前記の対応テーブル
を検索して飛び先アドレスを求め、対応アドレスへブラ
ンチする方式を採っている。
次に本発明によるプログラム実行方式の実施例を説明す
る。第2図のようにファイル1に、翻訳単位の興なる複
数のオブジェクトモジュール○M1〜OM3が格納され
ており、これらの各オブジェクトモジエールOMI−O
M3が、第3図のように計算機の主記憶装置I2にロー
ドされる際に、オブジェクトモジュールOMI〜OM3
のエントリイ名とアドレスとの対応テーブル3が作成さ
れ、岬憶される。この対応テーブル3の内容は、第4図
のように、各オブジェクトモジエールOM1〜′、・・ 0、M3のエントリイ名と、それらが読み込まれた、′
1 主記憶装置中のアドレスとが対応している。
る。第2図のようにファイル1に、翻訳単位の興なる複
数のオブジェクトモジュール○M1〜OM3が格納され
ており、これらの各オブジェクトモジエールOMI−O
M3が、第3図のように計算機の主記憶装置I2にロー
ドされる際に、オブジェクトモジュールOMI〜OM3
のエントリイ名とアドレスとの対応テーブル3が作成さ
れ、岬憶される。この対応テーブル3の内容は、第4図
のように、各オブジェクトモジエールOM1〜′、・・ 0、M3のエントリイ名と、それらが読み込まれた、′
1 主記憶装置中のアドレスとが対応している。
鴇
、第5図はこの対応テーブル3の作成手順を示すフロー
チャートであり、オブジェクトモジュール″。
チャートであり、オブジェクトモジュール″。
を1つローディングする度に、オブジェクトモジモール
のエントリイ名とその記録先のアドレスの対応テーブル
が作成され、当該主記憶装置に記憶さ、p 、4 、、
この動作の繰り返しによって、各オブジェクトモジュー
ルOMI〜OM3とその対応チーで、ル、カ、主記憶装
置に記憶され、第6図のようにグロ、テ、ラムの実行時
に、この対応テーブルを検索することによって、ブラン
チ先が求められる。
のエントリイ名とその記録先のアドレスの対応テーブル
が作成され、当該主記憶装置に記憶さ、p 、4 、、
この動作の繰り返しによって、各オブジェクトモジュー
ルOMI〜OM3とその対応チーで、ル、カ、主記憶装
置に記憶され、第6図のようにグロ、テ、ラムの実行時
に、この対応テーブルを検索することによって、ブラン
チ先が求められる。
!7甲は、前記の対応テーブル作成動作を更にpb<示
したフローチャートで、(イ)のように、12のファイ
ル1中に格納されている複数のオプ−4、−22 5− ジ萬りトモジュールOMI〜OMnの夫々は、(ロ)の
ようにオブジェクトプログラム部4とその外部エントリ
イ名及び相対アドレス部41.42・・・から成ってい
る。これらのオブジェクトモジュールOMI〜OMnを
ローディングする際に、(ハ)に示すフローチャートの
ように対応テーブルが作成される。即ち、各オブジェク
トモジュールのエントリイには、パラメータとしてファ
イル名、先頭ローディングオブジェクトモジニール名等
が設定されており、指定ファイル内から先頭ローディン
グオブジェクトモジュールをサーチして、(ニ)の主記
憶装w2にローディングする。そしてこのとき、ローデ
ィングしたオブジェクトモジュールの外部エントリイ名
とそのアドレスとの対応テーブル3を作成し、(ニ)の
主記憶装置f2に記憶させる。31の欄が外部エントリ
イ名、32の欄がそのアドレスである。対応テーブル3
の外部エントリイのアドレスは、オブジェクトプログラ
ム部4のメモリローディングアドレスとオブジェクトモ
ジュール内の外部エントリイ相対アドレ6一 ス(オブジェクプログラム内)より求められる。
したフローチャートで、(イ)のように、12のファイ
ル1中に格納されている複数のオプ−4、−22 5− ジ萬りトモジュールOMI〜OMnの夫々は、(ロ)の
ようにオブジェクトプログラム部4とその外部エントリ
イ名及び相対アドレス部41.42・・・から成ってい
る。これらのオブジェクトモジュールOMI〜OMnを
ローディングする際に、(ハ)に示すフローチャートの
ように対応テーブルが作成される。即ち、各オブジェク
トモジュールのエントリイには、パラメータとしてファ
イル名、先頭ローディングオブジェクトモジニール名等
が設定されており、指定ファイル内から先頭ローディン
グオブジェクトモジュールをサーチして、(ニ)の主記
憶装w2にローディングする。そしてこのとき、ローデ
ィングしたオブジェクトモジュールの外部エントリイ名
とそのアドレスとの対応テーブル3を作成し、(ニ)の
主記憶装置f2に記憶させる。31の欄が外部エントリ
イ名、32の欄がそのアドレスである。対応テーブル3
の外部エントリイのアドレスは、オブジェクトプログラ
ム部4のメモリローディングアドレスとオブジェクトモ
ジュール内の外部エントリイ相対アドレ6一 ス(オブジェクプログラム内)より求められる。
次に当該ファイル中に、他のオブジェクトモジエールが
有るか判断され、をれば再度当該オブジェクトモジュー
ルの主記憶装[2へのローディングが行なわれると共に
、ローディングしたオブジェクトモジュールの外部エン
トリイ名とそのアドレスとの対応テーブル3を作成する
。そしてこのローディングと対°応テーブル3の作成の
動作が、他のオブジェクトモジエールが無くなるまで繰
り返される。他のオブジェクトモジュールが無くなると
、ローディングした先頭のオブジェク、トモジュールに
制御が移行してローディングが終了する。
有るか判断され、をれば再度当該オブジェクトモジュー
ルの主記憶装[2へのローディングが行なわれると共に
、ローディングしたオブジェクトモジュールの外部エン
トリイ名とそのアドレスとの対応テーブル3を作成する
。そしてこのローディングと対°応テーブル3の作成の
動作が、他のオブジェクトモジエールが無くなるまで繰
り返される。他のオブジェクトモジュールが無くなると
、ローディングした先頭のオブジェク、トモジュールに
制御が移行してローディングが終了する。
このようにしてオブジェクトモジュールOMI〜OMn
のローディングと対応テーブル作成が行われ、次にこの
プログラムを実行するときは、第6図のように、プログ
ラム走行中にアドレス未解決の割り込みが発生すると、
オブジェクトプログラムから飛び先エンFリイ名を求め
て、対応テーブル3から該飛び先エン1リイ名に対応す
るエン)リイをサーチし、有ればその対応アドレスヘプ
ントリイ名が無い場合は、プログラム実行不能として強
制的に実行を中止する。
のローディングと対応テーブル作成が行われ、次にこの
プログラムを実行するときは、第6図のように、プログ
ラム走行中にアドレス未解決の割り込みが発生すると、
オブジェクトプログラムから飛び先エンFリイ名を求め
て、対応テーブル3から該飛び先エン1リイ名に対応す
るエン)リイをサーチし、有ればその対応アドレスヘプ
ントリイ名が無い場合は、プログラム実行不能として強
制的に実行を中止する。
1 以上の□ように本発明によれば、オプジ1クトモク
トモジェーにをローディングする度に、そのローディン
グしたオブジェクトモジエールの外部エンド、リイ名と
その主記憶装置中におけるアドレスとの対応テーブルを
作成して同主記憶装璽に記憶しておき、プログラムの実
行時に、アドレス未解決割り込みが発生したら、オブジ
ェクトモジュールから飛び先ユントリイ名を求めて、当
該飛ビット先エントリイ名から前記の対応テーブルを検
索して飛び先アドレスを求め、対応アドレスへブランチ
讐る一層を採っている。そのため、呼び出したオブジェ
クトモジュール内にバグが有ったりしても、そのオブジ
ェクトモジエールのみをデバッグして主記憶装置の同一
アドレスに読み込めばよいので、従来に比べてファイル
メンテナンスの作業量が軽減されると共に、ダイナミッ
クリンケージ処理が一層高速化される。
トモジェーにをローディングする度に、そのローディン
グしたオブジェクトモジエールの外部エンド、リイ名と
その主記憶装置中におけるアドレスとの対応テーブルを
作成して同主記憶装璽に記憶しておき、プログラムの実
行時に、アドレス未解決割り込みが発生したら、オブジ
ェクトモジュールから飛び先ユントリイ名を求めて、当
該飛ビット先エントリイ名から前記の対応テーブルを検
索して飛び先アドレスを求め、対応アドレスへブランチ
讐る一層を採っている。そのため、呼び出したオブジェ
クトモジュール内にバグが有ったりしても、そのオブジ
ェクトモジエールのみをデバッグして主記憶装置の同一
アドレスに読み込めばよいので、従来に比べてファイル
メンテナンスの作業量が軽減されると共に、ダイナミッ
クリンケージ処理が一層高速化される。
第1図は通常の事始プログラムの作成からプログラム実
行までの過程を示すフローチャート、第2図以下は本発
明によるプログラム実行方式の実施例を示す図で、第2
図はファイルへのオブジェクトモジュールの格納状態を
示す図、第3図l1プログラムローディング状態を示す
図、IJ4図番1対応テーブルを示す図、第5図はプロ
グラムローディング動作のフローチャート、第6図はプ
ログラム実行動作のフローチ中−F、第7図は対応テー
ブル作成動作の詳細を示すフローチャートである。 図において、1はファイル、2は計算機の主記憶装置、
3は対応テーブル、OMI〜QMn番嘘オブジェクトモ
ジ1−ル、4はオブジェクトプログラム部、41.42
・・・は外部エンドt)イ名及び相対アドレス部である
。 特許出願人 富士通株式会社代理人 弁理士
青 柳 稔9−
行までの過程を示すフローチャート、第2図以下は本発
明によるプログラム実行方式の実施例を示す図で、第2
図はファイルへのオブジェクトモジュールの格納状態を
示す図、第3図l1プログラムローディング状態を示す
図、IJ4図番1対応テーブルを示す図、第5図はプロ
グラムローディング動作のフローチャート、第6図はプ
ログラム実行動作のフローチ中−F、第7図は対応テー
ブル作成動作の詳細を示すフローチャートである。 図において、1はファイル、2は計算機の主記憶装置、
3は対応テーブル、OMI〜QMn番嘘オブジェクトモ
ジ1−ル、4はオブジェクトプログラム部、41.42
・・・は外部エンドt)イ名及び相対アドレス部である
。 特許出願人 富士通株式会社代理人 弁理士
青 柳 稔9−
Claims (1)
- オブジェクトモジュールが格納されたファイルから計算
機の主記憶装置にローディングする際に、1つのオブジ
ェクトモジユールをローディングする度に、そのローデ
ィングしたオブジェクトモジュールの外部エントリイ名
とその主記憶装置中におけるアドレスとの対応テーブル
を作成して同主記憶装贋に記憶しておき、プログラムの
実行時に、アドレス未解決割り込みが発生したら、オブ
ジェクトモジ1−ルから飛び先エントリイ名を求めて、
当amビー/ )先エントリイ名から前記の対応テーブ
ルを検索して飛び先アドレスを求め、対応アドレスへブ
ランチすることを特徴とするプログラム実行方式。
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 true JPS583042A (ja) | 1983-01-08 |
JPH0128414B2 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) |
Cited By (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
Cited By (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> | マルチ・タスク環境における動的リンク識別子供給方法 |
Also Published As
Publication number | Publication date |
---|---|
JPH0128414B2 (ja) | 1989-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5291601A (en) | Shared libraries implemented with linking program loader | |
CA1159151A (en) | Cellular network processors | |
JPH0760380B2 (ja) | プログラム呼び出し装置 | |
JP2927180B2 (ja) | 情報処理プログラムのデバッグ方法およびそのためのデバッガ | |
US5065400A (en) | Method for editing and executing computer programs | |
Anderson | A computer for direct execution of algorithmic languages | |
EP0406028A2 (en) | Incremental compiler for source code development system | |
JPS583042A (ja) | プログラム実行方式 | |
JPH0934711A (ja) | オブジェクト・ロード方法及びコンピュータ・システム | |
US5819081A (en) | Method of executing a branch instruction of jumping to a subroutine in a pipeline control system | |
JP3461185B2 (ja) | ロードモジュールへのソースコード行番号登録方法および装置 | |
JPS63626A (ja) | プログラム管理装置 | |
JP2727023B2 (ja) | 情報処理装置 | |
JP3293821B2 (ja) | 動的リンクシステム | |
JPH06131212A (ja) | 他のプログラムによるターゲットプログラムの呼び出しに関してターゲットプログラムの実行を追跡するコンピュータ制御方法 | |
JP2721377B2 (ja) | Basicプログラム圧縮方法 | |
JPH01207824A (ja) | モジュール結合制御方式 | |
Kneen | A Users Guide to the IBM Linkage Editor | |
JPH0675757A (ja) | 仮想空間常駐プログラムのリンク方式 | |
JPH01258029A (ja) | データ処理装置 | |
JPH0667942A (ja) | ログ採取方式 | |
JPH04147340A (ja) | データ管理呼出方式 | |
JP3263123B2 (ja) | データ処理システムにおけるソート処理方式 | |
JPH08320813A (ja) | プログラムシミュレータ装置及びプログラムデバッグ方法 | |
Van Sciver | Safeguard Data‐Processing System: Systems Programming in PL/1 |