JPH09204307A - Program dynamic link device and method - Google Patents
Program dynamic link device and methodInfo
- Publication number
- JPH09204307A JPH09204307A JP8012888A JP1288896A JPH09204307A JP H09204307 A JPH09204307 A JP H09204307A JP 8012888 A JP8012888 A JP 8012888A JP 1288896 A JP1288896 A JP 1288896A JP H09204307 A JPH09204307 A JP H09204307A
- Authority
- JP
- Japan
- Prior art keywords
- program
- execution start
- start address
- jump
- identifier
- 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)【要約】
【課題】 動的リンク要求が生じたとき、リンク先の異
言語開発のプログラムの識別子および開始アドレスを管
理するテーブルを作成して、リンクを実行する装置およ
び方法にある。
【解決手段】 オペレーティングシステムで実行される
プログラムによって発行されるリンク要求を受ける動的
リンク装置1は、リック先のプログラムを仮想記憶にロ
ードするロード手段11と、該プログラムの識別子と開
始アドレスを登録する実行開始アドレステーブル2を作
成するテーブル作成手段12とを含む。
(57) Abstract: A device and a method for executing a link by creating a table for managing an identifier and a start address of a program of a different language development of a link destination when a dynamic link request occurs. Kind Code: A1 A dynamic link device 1 that receives a link request issued by a program executed by an operating system registers load means 11 for loading a program at a lick destination into virtual memory, and an identifier and a start address of the program. And a table creating means 12 for creating the execution start address table 2.
Description
【0001】[0001]
【発明の属する技術分野】この発明はプログラムの動的
プログラムリンクに関し、特に異種言語で開発されたプ
ログラムを動的リンクするジャンプ処理を行なうプログ
ラム動的リンク装置およびそれの方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to dynamic program linking of programs, and more particularly to a program dynamic linking apparatus and method for performing jump processing for dynamically linking programs developed in different languages.
【0002】[0002]
【従来の技術】従来の技術では、ジャンプ元プログラム
の言語が、ジャンプ先プログラムの異なる言語で開発さ
れたプログラムへのジャンプ処理をサポートしていない
場合、ジャンプ元プログラムはジャンプ先プログラムの
実行開始アドレスを取得する手段がサポートされないた
め、ジャンプ元プログラムはジャンプ先プログラムにジ
ャンプ処理を行うことができなかった。これの問題を解
決している特開平4−282724号公報によれば、自
ロードモジュール内のジャンプ先及びシステム内一意の
絶対アドレスを設定する検索情報テーブルと実際に処理
を行うオブジェクトとを有するロードモジュール、なら
びにプログラム間の連結編集プログラムによりジャンプ
先のロードモジュールのアドレスをジャンプ元のロード
モジュールに設定し、ジャンプ元のオブジェクトの情報
によって、該検索情報テーブルを検索し、ジャンプ先ア
ドレスを取得すること、とを開示している。該公報で
は、ジャンプ元にジャンプ先アドレスをあらかじめ検索
情報テーブルとして備える必要があり、動的リンクに対
して移行先が限られる。また仮想記憶に対しては絶対ア
ドレスを確定できない問題がある。2. Description of the Related Art In the prior art, when the language of the jump source program does not support jump processing to a program developed in a different language of the jump destination program, the jump source program is the execution start address of the jump destination program. The jump source program could not perform the jump process to the jump destination program because the means for acquiring the is not supported. According to Japanese Patent Laid-Open No. 4-2872424, which solves this problem, a load having a search information table for setting a jump destination in its own load module and an absolute address unique in the system, and an object to be actually processed. The address of the jump destination load module is set in the jump source load module by the module and the link editing program between programs, and the search information table is searched by the information of the jump source object to obtain the jump destination address. , And are disclosed. In this publication, the jump source address must be provided in advance as a search information table in the jump source, and the migration destination is limited for the dynamic link. There is also a problem that the absolute address cannot be determined for the virtual memory.
【0003】[0003]
【発明が解決しようとする課題】ジャンプ元プログラム
が動的にジャンプ先プログラムをリンクするとき、リン
ク要求によって、ジャンプ先プログラムをロードして、
該プログラムの識別子と仮想記憶上のアドレスを確定登
録する実行開始アドレス管理テーブルを作成し、動的リ
ンクできるジャンプ先プログラムの制限をなくする。When the jump source program dynamically links the jump destination program, the jump destination program is loaded by a link request,
An execution start address management table is created in which the identifier of the program and the address on the virtual memory are fixedly registered, and the jump destination program that can be dynamically linked is not restricted.
【0004】[0004]
【課題を解決するための手段】この発明の目的は、ジャ
ンプ元プログラムから動的リンク要求が出されて、ジャ
ンプ先プログラムのロードを行う際、互いのプログラム
で共有される仮想記憶内に実行開始アドレス管理テーブ
ルを作成し、異言語間におけるプログラム識別子をキー
に利用して動的リンクするジャンプ先プログラムの実行
開始アドレスを実行開始アドレス管理テーブルに登録し
て、ジャンプ先プログラムをリンクすることにある。An object of the present invention is to start execution in a virtual memory shared by mutual programs when a jump source program issues a dynamic link request to load a jump destination program. An address management table is created, and the execution start address of a jump destination program that is dynamically linked by using a program identifier between different languages as a key is registered in the execution start address management table to link the jump destination programs. .
【0005】そのため、この発明のオペレーティングシ
ステムによって実行させられる第1のプログラムが異種
言語によって開発された第2のプログラムを動的リンク
して実行させるプログラム動的リンク装置は、第1のプ
ログラムの動的リンク要求を受けて第2のプログラムを
ロードする手段と、前記第2のプログラムの識別子と前
記第2のプログラムの実行開始アドレスとを前記動的リ
ンク要求および前記ロードする手段から取得して管理す
るテーブルを作成する手段と、を有することを特徴とす
る。Therefore, the program dynamic linking device for dynamically linking the first program executed by the operating system of the present invention with the second program developed by a different language to execute the program is the operation of the first program. For receiving the second program in response to the dynamic link request, the identifier of the second program and the execution start address of the second program are acquired and managed from the dynamic link request and the means for loading. And a means for creating a table.
【0006】更にこの発明のオペレーティングシステム
によって実行させられる第1のプログラムが異種言語に
よって開発された第2のプログラムを動的リンクする方
法は、前記第1のプログラムから前記第2のプログラム
の動的リンク要求するステップと、前記動的リンク要求
に基づいて、前記第2のプログラムをロードし、前記第
2のプログラムの識別子と実行開始アドレスを管理する
実行開始管理アドレステーブルを作成するステップと、
前記動的リンク要求対象の第2のプログラムの識別子に
基づいて、実行開始管理アドレステーブルを検索するス
テップと、前記第2のプログラムの識別子に対応する実
行開始アドレスを前記実行開始管理アドレステーブルか
ら取得するステップと、前記実行開始アドレスにジャン
プして前記第2のプログラムを実行開始させるステップ
と、を含むことを特徴とする。Further, a method of dynamically linking a first program executed by an operating system of the present invention with a second program developed by a heterogeneous language is a method of dynamically linking the first program to the second program. Requesting a link, and loading the second program based on the dynamic link request, and creating an execution start management address table for managing an identifier and an execution start address of the second program,
Searching the execution start management address table based on the identifier of the second program for which the dynamic link request is made; and obtaining the execution start address corresponding to the identifier of the second program from the execution start management address table. And a step of jumping to the execution start address and starting execution of the second program.
【0007】[0007]
【発明の実施の形態】この発明について、図面を参照し
て説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described with reference to the drawings.
【0008】この発明の一実施例のシステム構成を示す
図1を参照すると、動的リンク装置1は、ジャンプ先プ
ログラム群3のジャンプ先プログラム31乃至3nを仮
想記憶上に読み込みを行うロード手段11と、ロード手
段11で読み込まれた該プログラム31乃至3nの識別
子であるキー番号を実行開始アドレス管理テーブル2の
キー211乃至21nに、仮想記憶上の該プログラム3
1乃至3nの実行開始アドレスを実行開始アドレス管理
テーブル2の実行開始アドレス221乃至22nに、そ
れぞれ登録するテーブル作成手段12と、を備える。Referring to FIG. 1 showing the system configuration of an embodiment of the present invention, the dynamic link device 1 loads the jump destination programs 31 to 3n of the jump destination program group 3 onto the virtual memory 11 by loading means 11. And the key number, which is the identifier of the programs 31 to 3n read by the loading means 11, is stored in the keys 211 to 21n of the execution start address management table 2 as the program 3 on the virtual storage.
The table creating means 12 is provided for registering the execution start addresses 1 to 3n in the execution start addresses 221 to 22n of the execution start address management table 2, respectively.
【0009】次に、動的リンク装置1の動作の流れを示
す図2と、ジャンプ元プログラムの動作を示す図3とを
援用して、図1の実施例の動作を説明すると、ロード手
段11は、ジャンプ元プログラムの開始によって、リン
ク要求が発行されてロード手段11を起動する。ロード
手段11はジャンプ先プログラム群31乃至3nを仮想
記憶に読み込む(図2のステップ71)。テーブル作成
手段12は、実行開始アドレス管理テーブル2を共有し
ている仮想記憶上に作成し、ジャンプ先プログラムモジ
ュール31乃至3nに与えられた識別子のプログラム番
号をキー位置211乃至21nに、該プログラムの実行
開始アドレスをキー位置211乃至21nに対応した実
行開始アドレス221乃至22nに、それぞれ登録する
(図2のステップ72)。以降は、ジャンプ先プログラ
ム31乃至3nの数だけ繰り返される(図2のステップ
73のYES)。動的リンク装置1が実行を終えると
(図2のステップ73のNO)、ジャンプ先となるプロ
グラム群の本体は仮想記憶上にすべて読み込まれ、個々
のジャンプ先プログラム31乃至3nの実行開始アドレ
ス221乃至22nとキーであるプログラム番号211
乃至21nは実行開始アドレス管理テーブル2に登録さ
れることになる。Next, the operation of the embodiment shown in FIG. 1 will be described with reference to FIG. 2 showing the operation flow of the dynamic link device 1 and FIG. 3 showing the operation of the jump source program. When the jump source program is started, a link request is issued and the loading means 11 is activated. The loading means 11 reads the jump destination program groups 31 to 3n into the virtual memory (step 71 in FIG. 2). The table creating means 12 creates the execution start address management table 2 on the shared virtual memory, and assigns the program number of the identifier given to the jump destination program module 31 to 3n to the key positions 211 to 21n of the program. The execution start addresses are registered in the execution start addresses 221 to 22n corresponding to the key positions 211 to 21n, respectively (step 72 in FIG. 2). After that, the processes are repeated by the number of the jump destination programs 31 to 3n (YES in step 73 of FIG. 2). When the dynamic link device 1 finishes executing (NO in step 73 of FIG. 2), the main bodies of the jump destination programs are all read in the virtual memory, and the execution start addresses 221 of the individual jump destination programs 31 to 3n are read. To 22n and a program number 211 which is a key
21n are registered in the execution start address management table 2.
【0010】ジャンプ元のプログラムの動作の流れを示
す図3を参照すると、ジャンプ元プログラムからジャン
プ先プログラムへジャンプ処理を開始する場合(図3の
ステップ4)、まずジャンプ元プログラム自身のジャン
プ処理へ、個々のジャンプ先プログラム31乃至3nに
与えたプログラム番号1乃至nをキーとして、実行開始
アドレス管理テーブル2を検索し(ステップ74)、実
行開始アドレス管理テーブル2からジャンプ先プログラ
ムの実行開始アドレス221乃至22nから該当アドレ
スを取得する(ステップ75)。ジャンプ元プログラム
は上述のステップ74およびステップ75の処理によっ
て、ジャンプ先プログラムの実行開始アドレスを取得す
ることが可能になる(図3のステップ5)。ジャンプ元
プログラムは、取得したジャンプ先プログラムの実行開
始アドレスによってジャンプし(ステップ76)、ジャ
ンプ先プログラムの処理を実行させる(図3のステップ
6)。Referring to FIG. 3 showing the flow of the operation of the jump source program, when the jump processing from the jump source program to the jump destination program is started (step 4 in FIG. 3), first the jump processing of the jump source program itself is performed. , The execution start address management table 2 is searched using the program numbers 1 to n given to the individual jump destination programs 31 to 3n as keys (step 74), and the execution start address 221 of the jump destination program is searched from the execution start address management table 2. Through 22n, the corresponding address is acquired (step 75). The jump source program can obtain the execution start address of the jump destination program by the processes of steps 74 and 75 described above (step 5 of FIG. 3). The jump source program jumps at the execution start address of the obtained jump destination program (step 76) and executes the processing of the jump destination program (step 6 in FIG. 3).
【0011】以上の説明によれば、この発明が異種言語
によるプログラムを動的にリンクして実行を開始できる
ことは、説明の通りであるが、また同種言語のプログラ
ムの動的リンクにも適用できることは、明きらかであ
る。According to the above description, the present invention can dynamically link programs of different languages to start execution, but it can also be applied to dynamic linking of programs of the same language. Is clear.
【0012】[0012]
【発明の効果】以上説明したとおり、この発明によれ
ば、動的リンクのためのジャンプ先プログラムのロード
時に、プログラム間で共有される仮想記憶領域に作成さ
れる実行開始アドレス管理テーブルを参照して、開発言
語の違いにかかわらず、実アドレスを取得できるので、
異言語で開発されたプログラム間のジャンプ処理ができ
る。As described above, according to the present invention, when the jump destination program for dynamic linking is loaded, the execution start address management table created in the virtual storage area shared by the programs is referred to. And you can get the real address regardless of the development language.
Jump processing between programs developed in different languages is possible.
【0013】また、この発明によれば、異言語間でジャ
ンプ処理が可能となることで、既に作成済みのプログラ
ムがある場合、新規にプログラムを作成する必要が無く
なるので、開発規模を縮小することができる。Further, according to the present invention, jump processing between different languages is possible, so that there is no need to create a new program when there is a program already created, so the development scale can be reduced. You can
【図1】この発明の一実施例のシステム構成を示す図で
ある。FIG. 1 is a diagram showing a system configuration of an embodiment of the present invention.
【図2】動的リンク方法のステップを示す図である。FIG. 2 is a diagram showing the steps of a dynamic linking method.
【図3】図1の動的リンク手段に対するジャンプ元のプ
ログラムの動作の流れを示す図である。FIG. 3 is a diagram showing a flow of operations of a jump source program for the dynamic linking means of FIG. 1;
1 動的リンク装置 2 実行開始アドレス管理テーブル 3 ジャンプ先プログラム群 11 ロード手段 12 テーブル作成手段 31〜3n ジャンプ先プログラム1〜n 211〜21n ジャンプ先プログラム1〜nの識別キ
ー番号 212〜22n ジャンプ先プログラム1〜nの実行
開始アドレス1 Dynamic Link Device 2 Execution Start Address Management Table 3 Jump Destination Program Group 11 Loading Means 12 Table Creating Means 31 to 3n Jump Destination Programs 1 to n 211 to 21n Identification Key Numbers of Jump Destination Programs 1 to n 212 to 22n Jump Destinations Execution start address of programs 1-n
Claims (2)
させられる第1のプログラムが異種言語によって開発さ
れた第2のプログラムを動的リンクして実行させるプロ
グラム動的リンク装置にあって、 第1のプログラムの動的リンク要求を受けて第2のプロ
グラムをロードする手段と、 前記第2のプログラムの識別子と前記第2のプログラム
の実行開始アドレスとを前記動的リンク要求および前記
ロードする手段から取得して管理するテーブルを作成す
る手段と、 を有することを特徴とするプログラム動的リンク装置。1. A program dynamic linking device for dynamically linking and executing a second program developed by a heterogeneous language, wherein a first program executed by an operating system dynamically executes the first program. A means for receiving a link request and loading the second program, and an identifier of the second program and an execution start address of the second program are acquired and managed from the dynamic link request and the loading means. A program dynamic linking device comprising: a means for creating a table.
させられる第1のプログラムが異種言語によって開発さ
れた第2のプログラムを動的リンクする方法にあって、 前記第1のプログラムから前記第2のプログラムの動的
リンク要求するステップと、 前記動的リンク要求に基づいて、前記第2のプログラム
をロードし、前記第2のプログラムの識別子と実行開始
アドレスを管理する実行開始管理アドレステーブルを作
成するステップと、 前記動的リンク要求対象の第2のプログラムの識別子に
基づいて、実行開始管理アドレステーブルを検索するス
テップと、 前記第2のプログラムの識別子に対応する実行開始アド
レスを前記実行開始管理アドレステーブルから取得する
ステップと、 前記実行開始アドレスにジャンプして前記第2のプログ
ラムを実行開始させるステップと、 を含むことを特徴とするプログラム動的リンク方法。2. A method for dynamically linking a first program executed by an operating system with a second program developed in a heterogeneous language, wherein the first program dynamically links the second program. Requesting a link, loading the second program based on the dynamic link request, and creating an execution start management address table for managing an identifier and an execution start address of the second program, Searching the execution start management address table based on the identifier of the second program that is the target of the dynamic link; and acquiring the execution start address corresponding to the identifier of the second program from the execution start management address table. And jumping to the execution start address Program dynamic linking method, which comprises the steps of initiating execution of the ram, the.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8012888A JPH09204307A (en) | 1996-01-29 | 1996-01-29 | Program dynamic link device and method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8012888A JPH09204307A (en) | 1996-01-29 | 1996-01-29 | Program dynamic link device and method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09204307A true JPH09204307A (en) | 1997-08-05 |
Family
ID=11817948
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8012888A Pending JPH09204307A (en) | 1996-01-29 | 1996-01-29 | Program dynamic link device and method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09204307A (en) |
-
1996
- 1996-01-29 JP JP8012888A patent/JPH09204307A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0588907A (en) | Compilation method under distributed environment | |
| JPH0644235B2 (en) | How to operate a computer system | |
| US6636884B2 (en) | Method and system for controlling parallel execution of jobs | |
| JPH09204307A (en) | Program dynamic link device and method | |
| JPH08235112A (en) | Distributed job management method for computer system | |
| JPH08123697A (en) | Emulation speeding-up system | |
| JP2001044412A (en) | Semiconductor simulation equipment | |
| US7234142B1 (en) | Task processing system | |
| JP2002373077A (en) | Method and device for retrieving execution time library, dynamic linker and program | |
| CN111752564B (en) | Method, device, equipment and storage medium for generating business code package | |
| JPH0877118A (en) | Distributed processing apparatus and process execution method | |
| JP3693311B2 (en) | Distributed processing system | |
| JP2907665B2 (en) | Acquisition storage area management method | |
| JP2003085013A (en) | PDM system and method for creating system connection program | |
| JPH05233231A (en) | Method for managing library | |
| JPS6270944A (en) | Collecting system for trace information | |
| JPH024485A (en) | Apparatus for processing mail | |
| JPH05241890A (en) | Data trace system | |
| JPH0784842A (en) | Relative record batch read system | |
| JP2000330776A (en) | Program creation method, its execution device, and recording medium recording its processing program | |
| JPH08234995A (en) | Program converter | |
| JPH09330242A (en) | Test instruction sequence generation method for information processing equipment | |
| JPH11259431A (en) | Computer-readable recording medium recording distributed processing method and network distributed processing program | |
| JPH0231269A (en) | Multi-scheduling controlling system | |
| JPH05233313A (en) | Symbol table processing system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19990323 |