JPS60230237A - 電算機プログラムのロ−デイング方法 - Google Patents
電算機プログラムのロ−デイング方法Info
- Publication number
- JPS60230237A JPS60230237A JP8410084A JP8410084A JPS60230237A JP S60230237 A JPS60230237 A JP S60230237A JP 8410084 A JP8410084 A JP 8410084A JP 8410084 A JP8410084 A JP 8410084A JP S60230237 A JPS60230237 A JP S60230237A
- Authority
- JP
- Japan
- Prior art keywords
- program
- management table
- loading
- level
- registration number
- 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
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(発明の利用分野)
本発明は、ストアードブログラム方式の電算機システム
において、プログラムやデータなどをメモリにローディ
ングする方法に関する。
において、プログラムやデータなどをメモリにローディ
ングする方法に関する。
特に、本発明は、サブルーチンなどの下位プログラムを
ローディングする際に、前記下位プログラムが未定義状
態でありても,前記ローディングを支障なく実施するこ
とのできる電算機プログラムのローディング方法に関す
る。
ローディングする際に、前記下位プログラムが未定義状
態でありても,前記ローディングを支障なく実施するこ
とのできる電算機プログラムのローディング方法に関す
る。
(発明の背景》
第1図は、ストアードブログラム方式の電算機システム
における、プログラムローディング部分の従来の概略構
成を示すブロック図である〇プログラムのローディング
は、プログラム11。
における、プログラムローディング部分の従来の概略構
成を示すブロック図である〇プログラムのローディング
は、プログラム11。
12・・・・・・1lよりなる上位プログラム群1と、
前記上位プログラム群1によってコール(call)さ
れる複数のプログラム21.22・・・・・・2Jヨリ
f.にる下位プログラム群2と、前記両者の間に介在す
る間接リンク管理テーブル3と、公知の従来のローダ4
とによって実行される〇 なお、この場合、後述するように、 (1)上位プログラムim (たりし、1≦m≦l)の
ローディング時にコールしている下位プログラムin(
たゾし、1≦n≦j》の所在アドレスを、その命令部に
埋め込む直接リンク形式と、(2)下位プログラムin
の所在アドレスを管理する間接リンク管理テーブル3を
介して、そのテーブルに登録された番号を、上位プログ
ラムlmの命令部に埋め込む間接リンク形式、 とが知られている〇 第3図は、従来のプログラムローディング方法を説明す
るための概略図であり、同図において、第1図と同一の
符号は、同一または同等部分をあらわしている。
前記上位プログラム群1によってコール(call)さ
れる複数のプログラム21.22・・・・・・2Jヨリ
f.にる下位プログラム群2と、前記両者の間に介在す
る間接リンク管理テーブル3と、公知の従来のローダ4
とによって実行される〇 なお、この場合、後述するように、 (1)上位プログラムim (たりし、1≦m≦l)の
ローディング時にコールしている下位プログラムin(
たゾし、1≦n≦j》の所在アドレスを、その命令部に
埋め込む直接リンク形式と、(2)下位プログラムin
の所在アドレスを管理する間接リンク管理テーブル3を
介して、そのテーブルに登録された番号を、上位プログ
ラムlmの命令部に埋め込む間接リンク形式、 とが知られている〇 第3図は、従来のプログラムローディング方法を説明す
るための概略図であり、同図において、第1図と同一の
符号は、同一または同等部分をあらわしている。
第3図により、上位プログラム11を例にとって、その
ローディングの過程を説明する〇上位プログラム11は
、直接リンク形式の下位プログラムX21 (その所在
アドレスは/0人;なお記号「/」は16進法であるこ
とを表わしている)と、間接リンク形式の下位プログラ
ムY22(その所在アドレスは/OB)とをコールして
いる0 まず、下位プログラムX21については、上位プログラ
ム11の中で前記下位プログラムX21をコールしてい
る部分の命令部111と112に、前記下位プログラム
X21の所在アドレス(/ OA)が埋め込まれる。
ローディングの過程を説明する〇上位プログラム11は
、直接リンク形式の下位プログラムX21 (その所在
アドレスは/0人;なお記号「/」は16進法であるこ
とを表わしている)と、間接リンク形式の下位プログラ
ムY22(その所在アドレスは/OB)とをコールして
いる0 まず、下位プログラムX21については、上位プログラ
ム11の中で前記下位プログラムX21をコールしてい
る部分の命令部111と112に、前記下位プログラム
X21の所在アドレス(/ OA)が埋め込まれる。
なお、この時、下位プログラムX21は直接リンク形式
であるため、間接リンクフラグαとしては、図示のよう
に、O#が埋め込まれる。
であるため、間接リンクフラグαとしては、図示のよう
に、O#が埋め込まれる。
また、他の下位プログラムY22については、上位プロ
グラム11の中でプログラムY22をコールしている部
分の命令部113に、間接リンク管理テーブル3の帥配
下位プログラムYに対応する登録番号欄のデータ (こ
の場合は“1″)が埋め込まれる。
グラム11の中でプログラムY22をコールしている部
分の命令部113に、間接リンク管理テーブル3の帥配
下位プログラムYに対応する登録番号欄のデータ (こ
の場合は“1″)が埋め込まれる。
同時tこ、間接リンクフラグαとしては、間接リンク形
式であることを示すフラグ″″1#が書き込まれる。
式であることを示すフラグ″″1#が書き込まれる。
なお、間接リンク管理テーブル3のプログラム名称欄3
2と所在アドレス欄33とには、下位プログラムY22
の名称および所在アドレスがそれぞれ登録されており、
さらに当該プログラムの登録番号を示す間接リンク登録
番号欄31には、その登録番号″″1”が埋め込才れて
いる。
2と所在アドレス欄33とには、下位プログラムY22
の名称および所在アドレスがそれぞれ登録されており、
さらに当該プログラムの登録番号を示す間接リンク登録
番号欄31には、その登録番号″″1”が埋め込才れて
いる。
上位プログラムのローディング時における、従来のロー
ダ4の処理の流れを示したのが第10図のフローチャー
トである。
ダ4の処理の流れを示したのが第10図のフローチャー
トである。
まず処理41で、上位プログラムの中でコールされてい
る下位プログラムが、既にローディング済みであるか、
あるいは、間接リンク管理テーブル3に登録済みである
かを判定する〇 そして、前記のどちらかの条件を満たしていれば、正常
として、処理42へ進み、゛公知側方式による直接リン
ク形式、あるいは間接リンク形式で、当該上位プログラ
ムのローディングは完了する。
る下位プログラムが、既にローディング済みであるか、
あるいは、間接リンク管理テーブル3に登録済みである
かを判定する〇 そして、前記のどちらかの条件を満たしていれば、正常
として、処理42へ進み、゛公知側方式による直接リン
ク形式、あるいは間接リンク形式で、当該上位プログラ
ムのローディングは完了する。
しかし、下位プログラムが前述の2条件のいずれも満た
さない時は、処理43でエラー処理を行なう0すなわち
、この場合は、当該上位プログラムのローディングは不
可能となってしまう。
さない時は、処理43でエラー処理を行なう0すなわち
、この場合は、当該上位プログラムのローディングは不
可能となってしまう。
このように、従来のプログラムのローディング方法では
、上位プログラムをローディングする場合は、その上位
プログラムがコールする下位プログラムが、全てローデ
ィング済みであるか、あるいは間接リンク管理テーブル
に登録されていることが、必要とされていに0 このために、プログラムのローディング手順についても
、上位プログラムと下位ブロクラムノ相互関係をg織し
た上で、それぞれのローディング順序を決定する必要が
あった。
、上位プログラムをローディングする場合は、その上位
プログラムがコールする下位プログラムが、全てローデ
ィング済みであるか、あるいは間接リンク管理テーブル
に登録されていることが、必要とされていに0 このために、プログラムのローディング手順についても
、上位プログラムと下位ブロクラムノ相互関係をg織し
た上で、それぞれのローディング順序を決定する必要が
あった。
したがりて、プログラムのローディングに熟練。
と長時間を要し、プログラムの生産向上のさまたげとな
っていた。
っていた。
具体的な例で言うと、システム全体で約1000個のプ
ログラムを持つ中規模システムでは、プログラムのロー
ディング手順を決定して、ローディングを完了するまで
には、最低3日間は必要であり、これらがデバッグ効率
やプログラム生産性の低下を招いているのが、現状であ
る◇ (発明の目的) 本発明の目的は、前記した従来の問題点を解決し、プロ
グラムのローディングの際に上位プログラムと下位プロ
グラムのローディング順序の前後関係を意識することな
く、容易にローディングを行なうことのできる電算機プ
ログラムのローディング方法を提供することにある。
ログラムを持つ中規模システムでは、プログラムのロー
ディング手順を決定して、ローディングを完了するまで
には、最低3日間は必要であり、これらがデバッグ効率
やプログラム生産性の低下を招いているのが、現状であ
る◇ (発明の目的) 本発明の目的は、前記した従来の問題点を解決し、プロ
グラムのローディングの際に上位プログラムと下位プロ
グラムのローディング順序の前後関係を意識することな
く、容易にローディングを行なうことのできる電算機プ
ログラムのローディング方法を提供することにある。
(発明の概要)
本発明の特徴は、上位プログラムのローディングの際に
未定義であった下位プログラムについて、その下位プロ
グラムを一時的に拡張管理テーブル6に自動登録し、そ
の登録番号によって上位プログラムのローディングを暫
定的に完了させておき、あとで未定義であった下位プロ
グラムのローディング時にその所在アドレス等の情報を
拡張管理テーブルに記憶させ、最終的にリンク決定プロ
グラム5を用いて上位プログラムと下位プログラムを結
び付けるようにした点にある。
未定義であった下位プログラムについて、その下位プロ
グラムを一時的に拡張管理テーブル6に自動登録し、そ
の登録番号によって上位プログラムのローディングを暫
定的に完了させておき、あとで未定義であった下位プロ
グラムのローディング時にその所在アドレス等の情報を
拡張管理テーブルに記憶させ、最終的にリンク決定プロ
グラム5を用いて上位プログラムと下位プログラムを結
び付けるようにした点にある。
本発明の他の特徴は、上位プログラムのローディングの
時に未定義でありた下位プログラムについては、これを
自動的に間接リンク管理テーブルに登録し、その下位プ
ログラムが本来は直接リンク形式のものであっても、間
接リンクプログラムと同様に取扱うようIこした点にあ
る。
時に未定義でありた下位プログラムについては、これを
自動的に間接リンク管理テーブルに登録し、その下位プ
ログラムが本来は直接リンク形式のものであっても、間
接リンクプログラムと同様に取扱うようIこした点にあ
る。
(発明の実施例)
以下、本発明の一実施例を第2図、第4図〜第9図およ
び第11図、第12図により説明する。
び第11図、第12図により説明する。
第2図は、本発明の一実施例による、プログラムローデ
ィング部分の概略構成を示すブロック図である。
ィング部分の概略構成を示すブロック図である。
第1図との対比から明らかなよ・うに、この実施例は、
第1図に示した従来のプログラムローディング方式にお
ける計算機システム構成に、リンク決定プログラム5と
拡張管理テーブル6とを付加し、従来のローダ4の代り
に、暫定リンクサポートローダ7を設けたものに相当す
る0 次に、本発明による独立ローディング方法の一実施例に
ついて、その動作手順を説明する0第4図は、ローディ
ングしようとしているプログラム間のリンケージの一例
を示したものである0この例では、プログラム人23と
プログラム025は直接リンク形式プログラムであり、
プログラムB24とプログラムB26は間接リンク形式
プログラムであると仮定するO また、前記プログラムB24とプログラムB26の間接
リンク管理テーブル3への登録番号は、第4図に示した
ように、それぞれ1と2であると仮定する〇 前述のような関係にあるプログラム人〜Eの、本発明に
よるローディング順序の一例を示したのが第5図(b)
である0 本発明によれば、図から明らかであり、また後で詳述す
るように、そのローディング順序を考慮することなく、
図示のように、プログラム人→B→CnD−+1の順序
で、あるいはその他の任意の順序でローディングするこ
とができる0なお、第5図(、)は、対比のために、従
来の方法によるローディング順序の一例を示したもので
ある。
第1図に示した従来のプログラムローディング方式にお
ける計算機システム構成に、リンク決定プログラム5と
拡張管理テーブル6とを付加し、従来のローダ4の代り
に、暫定リンクサポートローダ7を設けたものに相当す
る0 次に、本発明による独立ローディング方法の一実施例に
ついて、その動作手順を説明する0第4図は、ローディ
ングしようとしているプログラム間のリンケージの一例
を示したものである0この例では、プログラム人23と
プログラム025は直接リンク形式プログラムであり、
プログラムB24とプログラムB26は間接リンク形式
プログラムであると仮定するO また、前記プログラムB24とプログラムB26の間接
リンク管理テーブル3への登録番号は、第4図に示した
ように、それぞれ1と2であると仮定する〇 前述のような関係にあるプログラム人〜Eの、本発明に
よるローディング順序の一例を示したのが第5図(b)
である0 本発明によれば、図から明らかであり、また後で詳述す
るように、そのローディング順序を考慮することなく、
図示のように、プログラム人→B→CnD−+1の順序
で、あるいはその他の任意の順序でローディングするこ
とができる0なお、第5図(、)は、対比のために、従
来の方法によるローディング順序の一例を示したもので
ある。
従来法によれば、最初にどのプログラムをローディング
するにせよ、その中でコールされているプログラムが未
定義、未登録であるので、同図の冒頭(最上部)に示す
ように、最初にダミープログラムをローディングしてお
くことが必要であるOまた。そのローディング順序も十
分に検討しないと、幾つものダミープログラムをローデ
ィングしなければならないようになり、ローディング手
順が複雑となり、長時間を要することになる0第5図(
b)の順序によるプログラムA〜Bのローディング手順
を、第6図と第7図を参照して説明する〇 第6図は、前記5つのプログラム人〜Eの全てをローデ
ィングし終った後の、間接リンク管理テーブル3、拡張
管理テーブル6、および各プログラムの下位プログラム
をコールしている部分の内容を示したものである0同図
において、第2図および第4因と同一の符号は同一また
は同等部分を示している〇 この場合のローディング手順のアルゴリズムはつぎのと
おりである0 (1)各プログラムのローディング時に未定義である下
位プログラム(例えば、プログラム人をローディングす
る時にコールされるプログラムB)については、拡張管
理テーブル6の空いている登録番号(例えば、番号”1
”)の所に、前記下位プログラム名称(例えば、″B”
)をセットする〇(2)同時に、上位プログラムの中の
下位プログラムをコールしている部分、例えば、プログ
ラム人23の場合についていえば、プログラムB24を
コールしている部分の命令部231に、拡張管理テーブ
ル6上での前記下位プログラム(例えば″B”)の登録
番号(この例では″1“)をセットし、さらlこその暫
定リンクフラグβにも@1“(暫定リンクであることを
表わす)をセットする。
するにせよ、その中でコールされているプログラムが未
定義、未登録であるので、同図の冒頭(最上部)に示す
ように、最初にダミープログラムをローディングしてお
くことが必要であるOまた。そのローディング順序も十
分に検討しないと、幾つものダミープログラムをローデ
ィングしなければならないようになり、ローディング手
順が複雑となり、長時間を要することになる0第5図(
b)の順序によるプログラムA〜Bのローディング手順
を、第6図と第7図を参照して説明する〇 第6図は、前記5つのプログラム人〜Eの全てをローデ
ィングし終った後の、間接リンク管理テーブル3、拡張
管理テーブル6、および各プログラムの下位プログラム
をコールしている部分の内容を示したものである0同図
において、第2図および第4因と同一の符号は同一また
は同等部分を示している〇 この場合のローディング手順のアルゴリズムはつぎのと
おりである0 (1)各プログラムのローディング時に未定義である下
位プログラム(例えば、プログラム人をローディングす
る時にコールされるプログラムB)については、拡張管
理テーブル6の空いている登録番号(例えば、番号”1
”)の所に、前記下位プログラム名称(例えば、″B”
)をセットする〇(2)同時に、上位プログラムの中の
下位プログラムをコールしている部分、例えば、プログ
ラム人23の場合についていえば、プログラムB24を
コールしている部分の命令部231に、拡張管理テーブ
ル6上での前記下位プログラム(例えば″B”)の登録
番号(この例では″1“)をセットし、さらlこその暫
定リンクフラグβにも@1“(暫定リンクであることを
表わす)をセットする。
(3)当初未定義であったプログラムをローディングす
る際には、拡張管理テーブル6のプログラム名称欄63
より該当プログラム名称を探し出し。
る際には、拡張管理テーブル6のプログラム名称欄63
より該当プログラム名称を探し出し。
(3−1)このプログラムが直接リンク形式プログラム
(例えば、プログラムc24)の場合は、前記拡張管理
テーブル6の所在アドレス欄64に、当初未定義であり
た該当プログラムの所在アドレス(例えば、/CO)を
書込み、さらに、間接りンク指示フラグ欄62には、直
接リンクであることを示すフラグ0#を書き込み、一方
、 (3−2)このプログラムが、間接リンク形式のプログ
ラムの場合は、 ピ)間接リンク管理テーブル3内の空き登録番号(プロ
グラムEの場合は%階−「)に対応するプログラム名称
欄32詔よび所在アドレス欄33に当初未定義であった
プログラムの名称と所在アドレスを書き込み、 ←)前記拡張管理テーブル6の所在アドレス欄64には
、当初未定義であったプログラムの間接リンク管理テー
ブル3への登録番号(例えば、プログラムI!126の
場合、間接登録番号@2#)を書き込み、f→また、同
時に、間接リンク指示フラグ欄62には、間接リンクで
あることを示す″1”をセットする。
(例えば、プログラムc24)の場合は、前記拡張管理
テーブル6の所在アドレス欄64に、当初未定義であり
た該当プログラムの所在アドレス(例えば、/CO)を
書込み、さらに、間接りンク指示フラグ欄62には、直
接リンクであることを示すフラグ0#を書き込み、一方
、 (3−2)このプログラムが、間接リンク形式のプログ
ラムの場合は、 ピ)間接リンク管理テーブル3内の空き登録番号(プロ
グラムEの場合は%階−「)に対応するプログラム名称
欄32詔よび所在アドレス欄33に当初未定義であった
プログラムの名称と所在アドレスを書き込み、 ←)前記拡張管理テーブル6の所在アドレス欄64には
、当初未定義であったプログラムの間接リンク管理テー
ブル3への登録番号(例えば、プログラムI!126の
場合、間接登録番号@2#)を書き込み、f→また、同
時に、間接リンク指示フラグ欄62には、間接リンクで
あることを示す″1”をセットする。
以上のような手順にしたがえば、前記5つのプログラム
A〜Eについて、そのローディング順序を考慮すること
なしに、暫定的にローディングを完了することができる
0しかし、この場合は、そのあとで、これらのプログラ
ム間の結び付けを行う必要がある。その結び付けを行な
うのがリンク決定プログラムである。
A〜Eについて、そのローディング順序を考慮すること
なしに、暫定的にローディングを完了することができる
0しかし、この場合は、そのあとで、これらのプログラ
ム間の結び付けを行う必要がある。その結び付けを行な
うのがリンク決定プログラムである。
前記リンク決定プログラム5を実行した後の、間接リン
ク管理テーブル3、拡張管理テーブル6、および各プロ
グラムの下位プログラムをコールしている部分の内容を
示したものが第7図である0リンク決定プログラム5は
、各プログラムについて、 (1)暫定リンクフラグβに″1“がセットしであるコ
ール命令を見つけ出し。
ク管理テーブル3、拡張管理テーブル6、および各プロ
グラムの下位プログラムをコールしている部分の内容を
示したものが第7図である0リンク決定プログラム5は
、各プログラムについて、 (1)暫定リンクフラグβに″1“がセットしであるコ
ール命令を見つけ出し。
(2)その命令部に埋め込んである暫定登録番号から、
対応する拡張管理テーブル6内の所在アドレス欄64の
情報をとり出し、 (3)これを、プログラム側の命令部lこ埋め込んであ
る暫定登録番号の代わりに、プログラムに埋め込・)、
正式コール命令とする0 この場合、拡張管理テーブル6の間接リンク指示フラグ
欄62を見て、直接リンク形式か間接リンク形式かを判
断し、正式命令に置き替える。
対応する拡張管理テーブル6内の所在アドレス欄64の
情報をとり出し、 (3)これを、プログラム側の命令部lこ埋め込んであ
る暫定登録番号の代わりに、プログラムに埋め込・)、
正式コール命令とする0 この場合、拡張管理テーブル6の間接リンク指示フラグ
欄62を見て、直接リンク形式か間接リンク形式かを判
断し、正式命令に置き替える。
以上の動作をプログラムA23に着目して第8図、第9
図によりさらに詳しく、かつ具体的に説明する〇 まず、第4図に示すリンケージ関係にあるプログラム人
23を、一番最初にローディングしようとする場合、コ
ールしている間接リンク形式の下位プログラムB24が
未定義である。
図によりさらに詳しく、かつ具体的に説明する〇 まず、第4図に示すリンケージ関係にあるプログラム人
23を、一番最初にローディングしようとする場合、コ
ールしている間接リンク形式の下位プログラムB24が
未定義である。
このため、従来のローディング方式では、ここでエラー
となる。そして、プログラム人は、下位プログラムB2
4が間接リンク管理テーブル3に登録されない限り、ロ
ーディングされることができない。
となる。そして、プログラム人は、下位プログラムB2
4が間接リンク管理テーブル3に登録されない限り、ロ
ーディングされることができない。
これに対して1本発明によるローディング方式では、つ
ぎのような手順によって、プログラムA23を暫定的に
ロードすることができる。
ぎのような手順によって、プログラムA23を暫定的に
ロードすることができる。
(1)第8図に示す様に、拡張管理テーブル6内の空い
ている登録番号(ここではNnt)に対応するプログラ
ム名称欄63にプログラム名称″″B”を書き込み、 (2)プログラムA23の中のプログラムBをコールし
ている命令部231に、拡張管理テーブル6への登録番
号”1#をセリトン、 (3)さらに、前記コール部分の暫定リンクフラグβに
も、暫定リンクであることを示すフラグ1”をセットす
る。
ている登録番号(ここではNnt)に対応するプログラ
ム名称欄63にプログラム名称″″B”を書き込み、 (2)プログラムA23の中のプログラムBをコールし
ている命令部231に、拡張管理テーブル6への登録番
号”1#をセリトン、 (3)さらに、前記コール部分の暫定リンクフラグβに
も、暫定リンクであることを示すフラグ1”をセットす
る。
そのあとでプログラムB24をローディングした時には
、このプログラムBが間接リンク形式のプログラムであ
るから、第9図の様に、(4)間接リンク管理テーブル
3内の、空いている登録番号″1”のプログラム名称欄
32に、該当のプログラム名“B”を書き込み、また (5)その所在アドレス欄33には該当プログラムBの
所在アドレスである”/BO”を書き込み、−(6)拡
張管理テーブル6内の、前述のプログラムB24の名称
が登録しである登録番号@1#に対応する所在アドレス
欄64に、プログラムB24の間接リンク管理テーブル
3への登録番号′″1”を書き込み、また (7)該当する間接リンク指示フラグ欄62にも、間接
リンク形式であることを示すフラグ1”をセットする。
、このプログラムBが間接リンク形式のプログラムであ
るから、第9図の様に、(4)間接リンク管理テーブル
3内の、空いている登録番号″1”のプログラム名称欄
32に、該当のプログラム名“B”を書き込み、また (5)その所在アドレス欄33には該当プログラムBの
所在アドレスである”/BO”を書き込み、−(6)拡
張管理テーブル6内の、前述のプログラムB24の名称
が登録しである登録番号@1#に対応する所在アドレス
欄64に、プログラムB24の間接リンク管理テーブル
3への登録番号′″1”を書き込み、また (7)該当する間接リンク指示フラグ欄62にも、間接
リンク形式であることを示すフラグ1”をセットする。
つぎに、プログラムB24をローディングする時は、こ
こでコールするプログラムCが未定義である。したがっ
て、第9図に示したように、まず(1)拡張管理テーブ
ル6内の空いている登録番号@2#に対応するプログラ
ム名称欄63にプログラム名@C”を書込み、 (2)プログラムB24中の、プログラムCをコールし
ている命令部24に、前記登録番号@2#を書込み、さ
らに (3)前記コール部分の暫定フラグβにもフラグ″″1
#をセットする。
こでコールするプログラムCが未定義である。したがっ
て、第9図に示したように、まず(1)拡張管理テーブ
ル6内の空いている登録番号@2#に対応するプログラ
ム名称欄63にプログラム名@C”を書込み、 (2)プログラムB24中の、プログラムCをコールし
ている命令部24に、前記登録番号@2#を書込み、さ
らに (3)前記コール部分の暫定フラグβにもフラグ″″1
#をセットする。
その後で、プログラムC25をロードする際に、拡張管
理テーブル6を検索して、そこに“C#が登録されてい
ることを検知したときには、(4)このプログラムC2
5は直接リンク形式であるから、間接リンク管理テーブ
ル3への登録は行なわず、 (5)第6図に示したように、拡張管理テーブル6の該
当する所在アドレス(または間接リンク管理テーブル登
録番号)欄64に、当該プログラムCの所在アドレス@
/Co’をセットする。
理テーブル6を検索して、そこに“C#が登録されてい
ることを検知したときには、(4)このプログラムC2
5は直接リンク形式であるから、間接リンク管理テーブ
ル3への登録は行なわず、 (5)第6図に示したように、拡張管理テーブル6の該
当する所在アドレス(または間接リンク管理テーブル登
録番号)欄64に、当該プログラムCの所在アドレス@
/Co’をセットする。
なお、この場合、間接リンク指示フラグ欄62゜のフラ
グは10”のままとする。
グは10”のままとする。
この状態で、プログラム人23とプログラムB24との
結び付け、およびプログラムB24とプログラムC25
との結び付けが可能となる。プログラム人23およびB
24について、リンク決定プログラム5によりプログラ
ムの結び付けを行うと、プログラムA23およびB24
内の命令部231および、241の内容は、第6図の暫
定リンク命令から、第7図の正式命令に入れ替わる。
結び付け、およびプログラムB24とプログラムC25
との結び付けが可能となる。プログラム人23およびB
24について、リンク決定プログラム5によりプログラ
ムの結び付けを行うと、プログラムA23およびB24
内の命令部231および、241の内容は、第6図の暫
定リンク命令から、第7図の正式命令に入れ替わる。
次に、本発明による暫定リンクサポートローダ7および
リンク決定プログラム5の処理の流れを、第11図およ
び第12図を用いて説明する。
リンク決定プログラム5の処理の流れを、第11図およ
び第12図を用いて説明する。
第11図は、暫定リンクサポートローダ7の処理の流れ
であり、従来のローダのエラー処理(第10図の処理4
3)の代わりに点線枠内の処理を用意したものである。
であり、従来のローダのエラー処理(第10図の処理4
3)の代わりに点線枠内の処理を用意したものである。
まず処理71で、上位プログラムがコールしている下位
プログラム(サブルーチン)が、既にローディング済み
であるか、あるいは間接リンク管理テーブル3に登録済
みであるかを判定する。
プログラム(サブルーチン)が、既にローディング済み
であるか、あるいは間接リンク管理テーブル3に登録済
みであるかを判定する。
そして、そのどちらかの条件を満たせば、処理77で、
従来方式によるローディングを行い、処理72〜処理7
4をスキップする。
従来方式によるローディングを行い、処理72〜処理7
4をスキップする。
そうでなければ−すなわち、処理71の2条件のどちら
にも該当しないときは、次の処理72で、今、未定義で
あった下位プログラムが拡張管理テーブル6に登録済で
あるか否か判定する〇拡張管理テーブル6に登録済であ
れば、処理73をスキップして処理74へ進む〇一方、
未登録であれば処理73へ進み、該当未定義下位プログ
ラムを、前述した手順で、拡張管理テーブル6に自動的
に登録する〇 処理74では、上位プログラムの中で、未定義である下
位プログラムをコールしている命令部に、拡張管理テー
ブル6に自動登録された時の登録番号を埋め込み、同時
に、前記上位プログラムのコール部の暫定リンクフラグ
βを″1#(暫定リンク形式)としておく。
にも該当しないときは、次の処理72で、今、未定義で
あった下位プログラムが拡張管理テーブル6に登録済で
あるか否か判定する〇拡張管理テーブル6に登録済であ
れば、処理73をスキップして処理74へ進む〇一方、
未登録であれば処理73へ進み、該当未定義下位プログ
ラムを、前述した手順で、拡張管理テーブル6に自動的
に登録する〇 処理74では、上位プログラムの中で、未定義である下
位プログラムをコールしている命令部に、拡張管理テー
ブル6に自動登録された時の登録番号を埋め込み、同時
に、前記上位プログラムのコール部の暫定リンクフラグ
βを″1#(暫定リンク形式)としておく。
処理75では、いまローディングを行った上位プログラ
ムが、更に上位のプログラムからコールされているか否
か一換言すれば、本プログラムが拡張管理テーブル6に
登録済であるか否かを判定し、登録済でなければ、その
まま処理は終了する〇一方、登録済であれば、いまロー
ディングした上位プログラムが直接リンク形式か、間接
リンク形式かにしたがって、拡張管理テーブル6の登録
されている番号に対応する所在アドレス欄64に、本プ
ログラムの所在アドレスまたは間接リンク登録番号を記
憶させ、処理を終了させる。
ムが、更に上位のプログラムからコールされているか否
か一換言すれば、本プログラムが拡張管理テーブル6に
登録済であるか否かを判定し、登録済でなければ、その
まま処理は終了する〇一方、登録済であれば、いまロー
ディングした上位プログラムが直接リンク形式か、間接
リンク形式かにしたがって、拡張管理テーブル6の登録
されている番号に対応する所在アドレス欄64に、本プ
ログラムの所在アドレスまたは間接リンク登録番号を記
憶させ、処理を終了させる。
すなわち、前述したように、いまローディングした上位
プログラムが直接リンク形式のものであるときは、拡張
管理テーブル6の所在アドレス(または間接リンク登録
番号)欄64に、その所在アドレスを書込む。
プログラムが直接リンク形式のものであるときは、拡張
管理テーブル6の所在アドレス(または間接リンク登録
番号)欄64に、その所在アドレスを書込む。
反対に、この上位プログラムが間接リンク形式のもので
あるときは、拡張管理テーブル6の所在アドレス(また
は間接リンク登録番号)欄64に、当該上位プログラム
の間接リンク管理テーブル3への登録番号を書込む・ さらに、この場合は、拡張管理テーブル6の間接リンク
指示フラグ欄62を″1”にして間接リンク形式である
ことを指示すると共に、間接リンク管理テーブル3の空
き番号に該当するプログラム名称欄3216よび所在ア
ドレス欄33に、プログラム名と所在アドレスをそれぞ
れ書込む0次に、第12図を参照して、リンク決定プロ
グラムの処理の流れを説明する。
あるときは、拡張管理テーブル6の所在アドレス(また
は間接リンク登録番号)欄64に、当該上位プログラム
の間接リンク管理テーブル3への登録番号を書込む・ さらに、この場合は、拡張管理テーブル6の間接リンク
指示フラグ欄62を″1”にして間接リンク形式である
ことを指示すると共に、間接リンク管理テーブル3の空
き番号に該当するプログラム名称欄3216よび所在ア
ドレス欄33に、プログラム名と所在アドレスをそれぞ
れ書込む0次に、第12図を参照して、リンク決定プロ
グラムの処理の流れを説明する。
まず処理51で、該当の(いまローディングした)上位
プログラムの中に、暫定リンクフラグβが@l#である
暫定リンク命令があるか否かを判定する。暫定リンクが
無い場合は、処理52〜処理54はスキップし、何もし
ないで終わる。
プログラムの中に、暫定リンクフラグβが@l#である
暫定リンク命令があるか否かを判定する。暫定リンクが
無い場合は、処理52〜処理54はスキップし、何もし
ないで終わる。
暫定リンク命令がある場合には、処理52で、該当の暫
定リンク命令部分に埋め込まれた登録番号に対応する拡
張管理テーブル6の所在アドレス欄64に、所在アドレ
スまたは間接リンク登録番号が登録済みであるか判定す
る。
定リンク命令部分に埋め込まれた登録番号に対応する拡
張管理テーブル6の所在アドレス欄64に、所在アドレ
スまたは間接リンク登録番号が登録済みであるか判定す
る。
登録済でなければ、処理54でエラー処理を行なう。
一方、登録済であれば、前記上位プログラムの暫定リン
ク命令部分に、所在アドレスあるいは間接リンク登録番
号を埋め込み、正式命令として処理を終了させる。
ク命令部分に、所在アドレスあるいは間接リンク登録番
号を埋め込み、正式命令として処理を終了させる。
(変形例)
本発明は、帥記した一実施例に限定されることなく、例
えば、つぎのように変形して実施することができる。
えば、つぎのように変形して実施することができる。
(1) リンク決定プログラムや拡張管理テーブルを持
たずに、拡張管理テーブルを間接リンク管理テーブルに
一体化させ、未定義の下位プログラムについては、自動
的に間接リンク形式のプログラムとする・ すなわち、上位プログラムのローディング時に、そのプ
ログラムがコールしている下位プログラムが予め登録(
または定義)されていないときは、(イ)前記下位ブー
ロダラム名を間接リンク管理テーブル3の空き登録番号
に対応するプログラム名称欄32に登録し、 ←)前記上位プログラムのコール部分の命令部に前記登
録番号を埋込み、 e今その後、前記下位プログラムをローディングすると
き、前記登録番号に対応する間接リンク管理テーブル3
の所在アドレス欄33に、前記下位プログラムの絶対ア
ドレスを書込む。
たずに、拡張管理テーブルを間接リンク管理テーブルに
一体化させ、未定義の下位プログラムについては、自動
的に間接リンク形式のプログラムとする・ すなわち、上位プログラムのローディング時に、そのプ
ログラムがコールしている下位プログラムが予め登録(
または定義)されていないときは、(イ)前記下位ブー
ロダラム名を間接リンク管理テーブル3の空き登録番号
に対応するプログラム名称欄32に登録し、 ←)前記上位プログラムのコール部分の命令部に前記登
録番号を埋込み、 e今その後、前記下位プログラムをローディングすると
き、前記登録番号に対応する間接リンク管理テーブル3
の所在アドレス欄33に、前記下位プログラムの絶対ア
ドレスを書込む。
(2)現在、暫定リンク命令を持っている上位プログラ
ムの名称や、拡張管理テーブル6内の情報を、ドキュメ
ントとして出力できる機能を、リンク決定プログラムに
追加的に持たせる。
ムの名称や、拡張管理テーブル6内の情報を、ドキュメ
ントとして出力できる機能を、リンク決定プログラムに
追加的に持たせる。
このようにすることにより、暫定的にローディングした
プログラムをリストアツブし、デパックに役立てること
ができる0 (3)拡張管理テーブル6に、登録されている下位プロ
グラムをコールしている上位プログラムの名称を記憶さ
せる欄を追加する0そして、リンク決定プログラムの代
わりに、ローダが未定義の下位プログラムをローディン
グするとき、自動的に今まで暫定的であった上位・下位
プログラム間の結び付けを行わせる。
プログラムをリストアツブし、デパックに役立てること
ができる0 (3)拡張管理テーブル6に、登録されている下位プロ
グラムをコールしている上位プログラムの名称を記憶さ
せる欄を追加する0そして、リンク決定プログラムの代
わりに、ローダが未定義の下位プログラムをローディン
グするとき、自動的に今まで暫定的であった上位・下位
プログラム間の結び付けを行わせる。
(発明の効果)
本発明によれば、プログラムローディング時に、上位プ
ログラムと下位プログラムのローディング順序を意識す
ることなくローディングできるので、システムの規模の
増大に伴うローディング順序の思考時間の増大を軽減で
き、゛かつローディング順序の前後関係誤りによる後戻
り作業を削除できるO従りて、ローディング作業時間は
大巾に短縮され、デバッグ効率、生産性の向上が計れる
0具体的な例でいえば、システム全体で約1000個の
プログラムを持つ中規模システムの場合、従来のローデ
ィング方式では3日間かかる作業時間を1日に短縮でき
る効果がある。
ログラムと下位プログラムのローディング順序を意識す
ることなくローディングできるので、システムの規模の
増大に伴うローディング順序の思考時間の増大を軽減で
き、゛かつローディング順序の前後関係誤りによる後戻
り作業を削除できるO従りて、ローディング作業時間は
大巾に短縮され、デバッグ効率、生産性の向上が計れる
0具体的な例でいえば、システム全体で約1000個の
プログラムを持つ中規模システムの場合、従来のローデ
ィング方式では3日間かかる作業時間を1日に短縮でき
る効果がある。
第1図と第2図は、それぞれ従来および本発明によるプ
ログラムローディング方式におけるシステム構成の概略
を示すブロック図、第3図は従来のプログラムリンク方
式を示した概念図、第4図は本発明の一実施例を説明す
る為のプログラムリンケージの一例を示した説明図、第
5図は、第4図のリンケージ関係を有するプログラムに
対する従来方式と本発明方式による各ローディング手順
の比較を示した概略図、第6図は、本発明方法に。 より、第4図のリンケージ関係にある全てのプログラム
をローディングした後の各プログラムおよび管理テーブ
ルの状態を示す図、第7図は、第6図の状態からリンク
決定プログラムが動作した後の、各プログラムおよび管
理テーブルの状態を示す図、第8図は、プログラム人と
プログラムBとが第4図に示したリンケージ関係にある
とき、プログラム人がローディングされた後の、プログ
ラム人および管理テーブルの状態を示す図、第9図は、
第8図の状態からプログラムBがローディングされた後
の、プログラム人、Bおよび管理テーブルの状態を示す
図、第10図は従来のローダの処理手順を示す流れ図、
第11図は本発明による暫定リンクサポートローダの処
理手順を示す流れ図、第12図は本発明によるリンク決
定プログラムの処理手順を示す流れ図である0 (符号の説明) 1・・・上位プログラム群、2・・・下位プログラム群
、111〜113,231,241,251゜261・
・・他のプログラムAをCALL l、ている命令部分
、3・・・間接リンク管理テーブル、31・・・登録番
号欄、32・・・プログラム名称欄、33・・・所在ア
ドレス欄、5・・・リンク決定プログラム、6・・・拡
張管理テーブル、61・・・登録番号欄、62・・・間
接リンク指示フラグ欄、63・・・プログラム名称欄、
64・・・所在アドレス(または間接リンク管理テーブ
ル登録番号)欄、1・・・暫定リンクサポートローダ、
a・・・間接リンクフラグ、β・・・暫定リンクフラグ
。 代理人 弁理士 平 木 道 人 第 9 21 61 62 63 64 第10図 才 11 図
ログラムローディング方式におけるシステム構成の概略
を示すブロック図、第3図は従来のプログラムリンク方
式を示した概念図、第4図は本発明の一実施例を説明す
る為のプログラムリンケージの一例を示した説明図、第
5図は、第4図のリンケージ関係を有するプログラムに
対する従来方式と本発明方式による各ローディング手順
の比較を示した概略図、第6図は、本発明方法に。 より、第4図のリンケージ関係にある全てのプログラム
をローディングした後の各プログラムおよび管理テーブ
ルの状態を示す図、第7図は、第6図の状態からリンク
決定プログラムが動作した後の、各プログラムおよび管
理テーブルの状態を示す図、第8図は、プログラム人と
プログラムBとが第4図に示したリンケージ関係にある
とき、プログラム人がローディングされた後の、プログ
ラム人および管理テーブルの状態を示す図、第9図は、
第8図の状態からプログラムBがローディングされた後
の、プログラム人、Bおよび管理テーブルの状態を示す
図、第10図は従来のローダの処理手順を示す流れ図、
第11図は本発明による暫定リンクサポートローダの処
理手順を示す流れ図、第12図は本発明によるリンク決
定プログラムの処理手順を示す流れ図である0 (符号の説明) 1・・・上位プログラム群、2・・・下位プログラム群
、111〜113,231,241,251゜261・
・・他のプログラムAをCALL l、ている命令部分
、3・・・間接リンク管理テーブル、31・・・登録番
号欄、32・・・プログラム名称欄、33・・・所在ア
ドレス欄、5・・・リンク決定プログラム、6・・・拡
張管理テーブル、61・・・登録番号欄、62・・・間
接リンク指示フラグ欄、63・・・プログラム名称欄、
64・・・所在アドレス(または間接リンク管理テーブ
ル登録番号)欄、1・・・暫定リンクサポートローダ、
a・・・間接リンクフラグ、β・・・暫定リンクフラグ
。 代理人 弁理士 平 木 道 人 第 9 21 61 62 63 64 第10図 才 11 図
Claims (4)
- (1) 未定義の下位プログラムをコールする上位プロ
グラムのローディング方法でありで、前記下位プログラ
ム名を間接リンク管理テーブルの空き登録番号に対応す
るプログラム名称欄に登録する工程と、前記上位プログ
ラムのコール部分の命令部に前記間接リンク管理テーブ
ルへの登録番号を埋込む工程と、その後、前記下位プロ
グラムをローディングするときに、前記登録番号に対応
する間接リンク管理テーブルの所在アドレス欄に帥配下
位プログラムの絶対アドレスを書込む工程とを含むこと
を特徴とする電算機プログラムのローディング方法。 - (2) 未定義の下位プログラムをコールする上位プロ
グラムのローディング方法であって、帥配下位プログラ
ム名を拡張管理テーブルの空き登録番号に対応するプロ
グラム名称機に登録する工程と、前記上位プログラムの
コール部分の命令部に前記拡張管理テーブルへの登録番
号を埋込む工程と、その後、前記下位プログラムをロー
ディングするときに、前記下位プログラムが直接リンク
形式のプログラムであるならば、前記登録番号に対応す
る拡張管理テーブルの所在アドレス欄に、前記下位プロ
グラムの絶対アドレスを書込み、一方、前記下位プログ
ラムが間接リンク形式のプログラムであるならば、前記
登録番号に対応する拡張管理テーブルの所在アドレス欄
に、前記下位プログラムの間接リンク管理テーブルへの
登録番号を書込むと共に、前記拡張管理テーブルの間接
リンク指示フラグ欄に、間接リンクを示すフラグを書込
む工程と、前記下位プログラムが間接リンク形式のプロ
グラムであるときは、間接リンク管理テーブルのプログ
ラム名称欄および所在アドレス欄に、そのプログラム名
称および絶対アドレスをそれぞれ書込む工程と、拡張管
理テーブルに登録された直接リンク形式のプログラムを
コールしている上位プログラムの該当コール部の命令部
に、拡張管理テーブルの所在アドレス欄に書込まれた当
該下位プログラムの絶対アドレスを埋込む工程と、間接
リンク管理テーブルに登録された間接リンク形式のプロ
グラムをコールしている上位プログラムの該当コール部
の命令部に、間接リンク管理テーブルへの当該下位プロ
グラムの登録番号を埋込む工程とを含むことを特徴とす
る電算機プログラムのローディング方法。 - (3)上位プログラムをローディングするときに、当該
上位プログラムに暫定リンク命令が含まれているときは
、その命令部の内容に基づいて拡張管理テーブルを参照
し、その所在アドレス(または間接リンク管理テーブル
登録番号)欄の内容として埋込むことを特徴とする特許 2項記載の電算機プログラムのローディング方法。 - (4) 下位プログラムをローディングするときに、当
該下位プログラムが拡張管理テーブルに登録されている
か否かを、拡張管理テーブルの上位プログラム名称欄の
検索によって判定することを特徴とする前記特許請求の
範囲第2項記載の電算機プログラムのローディング方法
0
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8410084A JPS60230237A (ja) | 1984-04-27 | 1984-04-27 | 電算機プログラムのロ−デイング方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8410084A JPS60230237A (ja) | 1984-04-27 | 1984-04-27 | 電算機プログラムのロ−デイング方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS60230237A true JPS60230237A (ja) | 1985-11-15 |
Family
ID=13821093
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8410084A Pending JPS60230237A (ja) | 1984-04-27 | 1984-04-27 | 電算機プログラムのロ−デイング方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS60230237A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63280338A (ja) * | 1987-05-13 | 1988-11-17 | Mitsubishi Electric Corp | 論理型言語の結合方式 |
| JPH01270145A (ja) * | 1988-04-22 | 1989-10-27 | Nippon Telegr & Teleph Corp <Ntt> | 事象発生通知方式 |
| JPH02193223A (ja) * | 1989-01-20 | 1990-07-30 | Fujitsu Ltd | プログラム番号呼出方式 |
-
1984
- 1984-04-27 JP JP8410084A patent/JPS60230237A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63280338A (ja) * | 1987-05-13 | 1988-11-17 | Mitsubishi Electric Corp | 論理型言語の結合方式 |
| JPH01270145A (ja) * | 1988-04-22 | 1989-10-27 | Nippon Telegr & Teleph Corp <Ntt> | 事象発生通知方式 |
| JPH02193223A (ja) * | 1989-01-20 | 1990-07-30 | Fujitsu Ltd | プログラム番号呼出方式 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4449180A (en) | Sequence program inputting device | |
| US5623661A (en) | System for and method of providing delta-versioning of the contents of PCTE file objects | |
| CN112416860B (zh) | 数据回滚更新方法、装置、计算机设备和存储介质 | |
| JP2003501741A (ja) | 様々なソース言語の実行メディアへの移植 | |
| JPS60230237A (ja) | 電算機プログラムのロ−デイング方法 | |
| US5519860A (en) | Central processor index sort followed by direct record sort and write by an intelligent control unit | |
| JPH04360246A (ja) | ファイル圧縮装置 | |
| CN117950669A (zh) | 热补丁生成方法、装置、电子设备、存储介质 | |
| JP2000122876A (ja) | 情報処理装置 | |
| JPH0327474A (ja) | 半導体集積回路用ネットリストの修正方法 | |
| US20050149270A1 (en) | Componentware creating method, apparatus and recording medium | |
| JP3428253B2 (ja) | シーケンサ | |
| JPS62293434A (ja) | 分岐先予測制御方式 | |
| JPH0256663A (ja) | ロツクデータ設定装置 | |
| JPH0512087A (ja) | 更新前ジヤーナルの出力方式 | |
| JP3090048B2 (ja) | 標準プログラムの機能拡張方法及び方式 | |
| CN116028113A (zh) | 一种新版设计器兼容旧版流程的方法、系统、设备及介质 | |
| JPH0561936A (ja) | 論理回路の階層展開方法 | |
| CN119166409A (zh) | 一种基于arinc653的机载软件故障日志记录方法 | |
| JP3722854B2 (ja) | データ編集装置 | |
| CN117055938A (zh) | 一种函数级热补丁自动提取与在轨注入方法、系统及设备 | |
| JP3298163B2 (ja) | プログラム管理方法 | |
| CN116841657A (zh) | 接口函数调用方法和装置 | |
| CN119149115A (zh) | 一种基于自反射机制的动态指令转换调试方法 | |
| CN115794194A (zh) | 自动检查和更新管理引擎布局的方法、装置、终端及介质 |