JPH01307825A - インターフェイスモジュールを介する動的リンク実行方式 - Google Patents
インターフェイスモジュールを介する動的リンク実行方式Info
- Publication number
- JPH01307825A JPH01307825A JP63139858A JP13985888A JPH01307825A JP H01307825 A JPH01307825 A JP H01307825A JP 63139858 A JP63139858 A JP 63139858A JP 13985888 A JP13985888 A JP 13985888A JP H01307825 A JPH01307825 A JP H01307825A
- Authority
- JP
- Japan
- Prior art keywords
- program
- dynamic link
- descriptor
- interface module
- control table
- 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
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、情報処理における動的リンク実行方式に関す
る。
る。
従来、動的リンクを行うには、毎回システムモジュール
を呼び出し、その中で動的リンク制御テーブルをサーチ
していた。その時、目的のプログラムが既に動的リンク
されていて、動的リンク制御テーブル中に見つかれば、
その中に格納されている先頭アドレスを返す。又、動的
リンクがされておらず、動的リンク制御テーブル中に見
つからないと、目的のプログラムを記憶空間にロードし
て、そのプログラムの情報を動的リンク制御テーブルに
登録してから、先頭アドレスを返す。
を呼び出し、その中で動的リンク制御テーブルをサーチ
していた。その時、目的のプログラムが既に動的リンク
されていて、動的リンク制御テーブル中に見つかれば、
その中に格納されている先頭アドレスを返す。又、動的
リンクがされておらず、動的リンク制御テーブル中に見
つからないと、目的のプログラムを記憶空間にロードし
て、そのプログラムの情報を動的リンク制御テーブルに
登録してから、先頭アドレスを返す。
その後、動的リンク要求を出したプログラムは、システ
ムモジュールから返された先頭アドレスをプログラムデ
ィスクリプタに代入してからコール(CALL)命令を
実行し、目的のプログラムに制御を渡す。
ムモジュールから返された先頭アドレスをプログラムデ
ィスクリプタに代入してからコール(CALL)命令を
実行し、目的のプログラムに制御を渡す。
このような動的リンク実行方式では、既に動的リンクさ
れているプログラムに対しても動的リンク制御テーブル
をサーチしなければならず、1つのプログラムに対する
動的リンク要求の回数に比例してオーバーヘッドが増加
する。
れているプログラムに対しても動的リンク制御テーブル
をサーチしなければならず、1つのプログラムに対する
動的リンク要求の回数に比例してオーバーヘッドが増加
する。
本発明は、汎用電子計算機システムにおいて、動的リン
クを行おうとする第1のプログラム(以下プログラムA
)の作成時に、一緒に組み込まれたインターフェイスモ
ジュールがプログラムAからの引数をもとに動的リンク
要求を出す動的リンク要求手段と、 この動的リンク要求手段から要求のあった第2のプログ
ラム(以下プログラムB)を記憶空間にロードして、そ
の情報を動的リンク制御テーブルに登録するプログラム
ローディング手段と、プログラムA中にあるインターフ
ェイスモジュールを指しているプログラムディスクリプ
タの情報をプログラムディスクリプタ管理テーブルに登
録して、そのプログラムディスクリプタが前記プログラ
ムロープインク手段によりロードされたプログラムBを
指すように修正するプログラムディスクリプタ交換手段
とを含むことを特徴とする。
クを行おうとする第1のプログラム(以下プログラムA
)の作成時に、一緒に組み込まれたインターフェイスモ
ジュールがプログラムAからの引数をもとに動的リンク
要求を出す動的リンク要求手段と、 この動的リンク要求手段から要求のあった第2のプログ
ラム(以下プログラムB)を記憶空間にロードして、そ
の情報を動的リンク制御テーブルに登録するプログラム
ローディング手段と、プログラムA中にあるインターフ
ェイスモジュールを指しているプログラムディスクリプ
タの情報をプログラムディスクリプタ管理テーブルに登
録して、そのプログラムディスクリプタが前記プログラ
ムロープインク手段によりロードされたプログラムBを
指すように修正するプログラムディスクリプタ交換手段
とを含むことを特徴とする。
本発明は、前記問題点を上記手段によって解決するもの
である。
である。
次に、本発明について図面を参照して詳細に説明する。
第1図を参照すると、本発明の一実施例は、記憶空間1
とプログラムA2、プログラムディスクリプタ3、プロ
グラム名4、インターフェイスモジュール5、動的リン
クを行おうとするプログラムA2の作成時に、一緒に組
み込まれたインターフェイスモジュール5がプログラム
A2からの引数をもとに動的リンク要求を出す動的リン
ク要求手段6、プログラムBll、動的リンク制御テー
ブル9、この動的リンク要求手段6から要求のあったプ
ログラムBllを記憶空間1にロードして、その情報を
動的リンク制御テーブル9に登録するプログラムローデ
ィング手段7、プログラムディスクリプタ管理テーブル
10、プログラムA中にあるインターフェイスモジュー
ル5を指しているプログラムディスクリプタの情報をプ
ログラムディスクリプタ管理テーブル10に登録して、
そのプログラムディスクリプタがロードされたプログラ
ムBllを指すように修正するプログラムディスクリプ
タ変換手段8、およびプログラムライフラリ12から構
成される。
とプログラムA2、プログラムディスクリプタ3、プロ
グラム名4、インターフェイスモジュール5、動的リン
クを行おうとするプログラムA2の作成時に、一緒に組
み込まれたインターフェイスモジュール5がプログラム
A2からの引数をもとに動的リンク要求を出す動的リン
ク要求手段6、プログラムBll、動的リンク制御テー
ブル9、この動的リンク要求手段6から要求のあったプ
ログラムBllを記憶空間1にロードして、その情報を
動的リンク制御テーブル9に登録するプログラムローデ
ィング手段7、プログラムディスクリプタ管理テーブル
10、プログラムA中にあるインターフェイスモジュー
ル5を指しているプログラムディスクリプタの情報をプ
ログラムディスクリプタ管理テーブル10に登録して、
そのプログラムディスクリプタがロードされたプログラ
ムBllを指すように修正するプログラムディスクリプ
タ変換手段8、およびプログラムライフラリ12から構
成される。
第2図を参照すると、まず、動的リンク要求手段6は、
プログラムAからの引数の個数をもとめ(ステップ21
)、最後の引数からプログラムBの名前4を取得しくス
テップ22)、プログラムA中のプログラムディスクリ
プタ3を取得する(ステップ23)。次に、そのプログ
ラムの名前4とプログラムディスクリプタ3を引数に動
的リンクのシステムモジュールが呼び出され(ステップ
24)、動的リンクされた後、プログラムAで再度コー
ル(CALL)命令が実行される(ステップ25)。
プログラムAからの引数の個数をもとめ(ステップ21
)、最後の引数からプログラムBの名前4を取得しくス
テップ22)、プログラムA中のプログラムディスクリ
プタ3を取得する(ステップ23)。次に、そのプログ
ラムの名前4とプログラムディスクリプタ3を引数に動
的リンクのシステムモジュールが呼び出され(ステップ
24)、動的リンクされた後、プログラムAで再度コー
ル(CALL)命令が実行される(ステップ25)。
また、プログラムローディング手段7は、従来の方法と
同じ方法で問題はない。よって、ここで詳細を示すのは
省略する。
同じ方法で問題はない。よって、ここで詳細を示すのは
省略する。
さらに、第3図を参照すると、プログラムディスクリプ
タ変換手段8は、プログラムディスクリプタ管理テーブ
ル9から空きエントリを取得しくステップ31)、取得
したエントリにインターフェイスモジュール5から渡さ
れたプログラムディスクリプタ3のアドレスをセットし
くステップ32)、そのプログラムディスクリプタ3の
現在値も取得したエントリにセットしくステップ33)
、ロードしたプログラムBIOの先頭アドレスを取得し
くステップ35)、その値をプログラムディスクリプタ
3にセットする(ステップ36)。
タ変換手段8は、プログラムディスクリプタ管理テーブ
ル9から空きエントリを取得しくステップ31)、取得
したエントリにインターフェイスモジュール5から渡さ
れたプログラムディスクリプタ3のアドレスをセットし
くステップ32)、そのプログラムディスクリプタ3の
現在値も取得したエントリにセットしくステップ33)
、ロードしたプログラムBIOの先頭アドレスを取得し
くステップ35)、その値をプログラムディスクリプタ
3にセットする(ステップ36)。
これにより、今後このコール(CALL)命令が実行さ
れると直接プログラムBIOが呼び出されるようになる
。
れると直接プログラムBIOが呼び出されるようになる
。
本発明は、動的リンク実行方式において、同一プログラ
ムに対する2度目以降の動的リンク要求は、システムモ
ジュールを呼ばないようにする。
ムに対する2度目以降の動的リンク要求は、システムモ
ジュールを呼ばないようにする。
これにより、2度目以降の動的リンク制御テーブルのサ
ーチによるオーバーヘッドがなくなるという効果がある
。
ーチによるオーバーヘッドがなくなるという効果がある
。
第1図は本発明の一実施例の構成を示す図、第2図は第
1の動的リンク要求手段6の構成を示す図、および第3
図は第1図のプログラムディスクリプタ変換手段8の構
成を示す図である。 第1図から第3図において、1・・・・・・記憶空間、
2・・・・・・プログラムA、3・・・・・・プログラ
ムディスクリプタ、4・・・・・・プログラム名、5・
・・・・・インターフェイスモジュール、6・・・・・
・動的リンク要求手段、7・・・・・・プログラムロー
ディング手段、訃・・・・・プログラムディスクリプタ
変換手段、9・・・・・・動的リンク制御テーブル、1
0・・・・・・プログラムディスクリプタ管理テーブル
、11・・・・・・プログラムB、12・・・・・・プ
ログラムライブラリ。 代理人 弁理士 内 原 晋 毫2図 第3五
1の動的リンク要求手段6の構成を示す図、および第3
図は第1図のプログラムディスクリプタ変換手段8の構
成を示す図である。 第1図から第3図において、1・・・・・・記憶空間、
2・・・・・・プログラムA、3・・・・・・プログラ
ムディスクリプタ、4・・・・・・プログラム名、5・
・・・・・インターフェイスモジュール、6・・・・・
・動的リンク要求手段、7・・・・・・プログラムロー
ディング手段、訃・・・・・プログラムディスクリプタ
変換手段、9・・・・・・動的リンク制御テーブル、1
0・・・・・・プログラムディスクリプタ管理テーブル
、11・・・・・・プログラムB、12・・・・・・プ
ログラムライブラリ。 代理人 弁理士 内 原 晋 毫2図 第3五
Claims (1)
- 【特許請求の範囲】 動的リンクを行おうとする第1のプログラムの作成時に
、一緒に組み込まれたインターフェイスモジュールが第
1のプログラムの情報をもとに動的リンク要求を出力す
る動的リンク要求手段と、この動的リンク要求手段から
要求の対象となる第2のプログラムを記憶空間にロード
して、その情報を動的リンク制御テーブルに登録するプ
ログラムローディング手段と、 第1のプログラム中にあるインターフェイスモジュール
を指しているプログラムディスクリプタの情報をプログ
ラムディスクリプタ管理テーブルに登録して、そのプロ
グラムディスクリプタが前記プログラムローディング手
段によりロードされた第2のプログラムを指すように修
正するプログラムディスクリプタ変換手段とを含むこと
を特徴とするインターフェイスモジュールを介する動的
リンク実行方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63139858A JPH01307825A (ja) | 1988-06-06 | 1988-06-06 | インターフェイスモジュールを介する動的リンク実行方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63139858A JPH01307825A (ja) | 1988-06-06 | 1988-06-06 | インターフェイスモジュールを介する動的リンク実行方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01307825A true JPH01307825A (ja) | 1989-12-12 |
Family
ID=15255178
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63139858A Pending JPH01307825A (ja) | 1988-06-06 | 1988-06-06 | インターフェイスモジュールを介する動的リンク実行方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01307825A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5339430A (en) * | 1992-07-01 | 1994-08-16 | Telefonaktiebolaget L M Ericsson | System for dynamic run-time binding of software modules in a computer system |
| JPH08106378A (ja) * | 1994-10-07 | 1996-04-23 | Nec Corp | ロードモジュール高速結合方式 |
| US7506316B2 (en) | 2001-02-01 | 2009-03-17 | International Business Machines Corporation | Method and system for managing shared-library executables |
-
1988
- 1988-06-06 JP JP63139858A patent/JPH01307825A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5339430A (en) * | 1992-07-01 | 1994-08-16 | Telefonaktiebolaget L M Ericsson | System for dynamic run-time binding of software modules in a computer system |
| CN1047450C (zh) * | 1992-07-01 | 1999-12-15 | L·M·埃利克逊电话股份有限公司 | 计算机系统中的动态联编方法及其装置 |
| KR100303548B1 (ko) * | 1992-07-01 | 2001-11-22 | 에를링 블로메, 타게 뢰브그렌 | 컴퓨터시스템내에서소프트웨어모듈들을프로그램실행중동적으로결합시키는방법및그장치 |
| JPH08106378A (ja) * | 1994-10-07 | 1996-04-23 | Nec Corp | ロードモジュール高速結合方式 |
| US7506316B2 (en) | 2001-02-01 | 2009-03-17 | International Business Machines Corporation | Method and system for managing shared-library executables |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4949255A (en) | Message interface and method for recursive calling between interpretive and compiled computer processes | |
| JP2666847B2 (ja) | 異種言語間連絡方式 | |
| JP4562918B2 (ja) | インタプリティブ・ランタイム環境のためのコンパイル・プログラムの生成 | |
| US7171663B2 (en) | External event interrupt for server-side programs | |
| WO2016192556A1 (zh) | 接口调用方法、装置及终端 | |
| CN114911586A (zh) | 任务调度方法、装置及系统 | |
| CN114610404B (zh) | 基于应用框架的组件调用方法、装置和计算机设备 | |
| US12210854B2 (en) | Methods and apparatuses for providing a function as a service platform | |
| US9207956B2 (en) | Class loading device for a java runtime environment, cluster system and method of executing a function | |
| US6289391B1 (en) | System and method for performing external procedure calls from a server program to a client program while both are running in a heterogeneous computer | |
| CN112650502A (zh) | 批处理任务处理方法、装置、计算机设备和存储介质 | |
| JPH01307825A (ja) | インターフェイスモジュールを介する動的リンク実行方式 | |
| CN108647087B (zh) | 实现php内核可重入的方法、装置、服务器和存储介质 | |
| EP0417916B1 (en) | Procedure state descriptor system for digital data processors | |
| JP5382624B2 (ja) | マルチプロセッサ制御装置、その方法及びそのプログラム | |
| JP3241214B2 (ja) | 分散処理装置及びプロセス実行方法 | |
| Endo et al. | ComposableThreads: Rethinking User-level Threads with Composability and Parametricity in C++ | |
| CN116909547B (zh) | 基于axi框架的业务功能在线开发方法、实现方法及设备 | |
| Lu et al. | Developing a concurrent service orchestration engine in ccr | |
| US20090019159A1 (en) | Transparently externalizing plug-in computation to cluster | |
| Li et al. | A bpf-based task scheduling scheme for heterogeneous multiprocessor systems | |
| JP7271957B2 (ja) | 動的リンク装置、動的ロード装置、計算機システム、動的リンク方法、動的ロード方法、動的リンクプログラム、および動的ロードプログラム | |
| JPS63106047A (ja) | 動的サブル−チン呼び出し方式 | |
| CN105893092B (zh) | Com组件处理方法和装置 | |
| CN118778977A (zh) | 模板交接方法、装置、电子设备及计算机可读存储介质 |