JPH06110678A - プログラム実行方式及び実行プログラムの動的変更方法 - Google Patents
プログラム実行方式及び実行プログラムの動的変更方法Info
- Publication number
- JPH06110678A JPH06110678A JP4261796A JP26179692A JPH06110678A JP H06110678 A JPH06110678 A JP H06110678A JP 4261796 A JP4261796 A JP 4261796A JP 26179692 A JP26179692 A JP 26179692A JP H06110678 A JPH06110678 A JP H06110678A
- Authority
- JP
- Japan
- Prior art keywords
- subroutine
- execution module
- control
- version
- execution
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/44536—Selecting among different versions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【目的】本発明は、バグ修正情報を用いて作成した新し
い実行モジュールをメモリ空間上に動的に追加ロードし
て、古いバグ修正情報適用前の実行モジュールの停止を
待たずに、実行モジュールを入れ換え可能としたことを
特徴とする。 【構成】新版のサブルーチンのオブジェクトモジュール
の外部参照を、実行モジュールのアドレス情報を用いて
解決し、追加実行モジュールを作成する追加リンク手段
(1K)と、旧版のサブルーチンを含む実行モジュール
がメモリ上にロードされ実行されている際中に、上記追
加実行モジュールをメモリ空間上に動的に追加ロードす
る追加ロード手段(1M)と、実行モジュールが旧版の
サブルーチンを呼び出した場合に、制御を新版のサブル
ーチンに渡す制御移行手段(1N)と、新版のサブルー
チンが処理を終了したとき呼び出し側に制御を戻す制御
復帰手段(1O)とを具備してなることを特徴とする。
い実行モジュールをメモリ空間上に動的に追加ロードし
て、古いバグ修正情報適用前の実行モジュールの停止を
待たずに、実行モジュールを入れ換え可能としたことを
特徴とする。 【構成】新版のサブルーチンのオブジェクトモジュール
の外部参照を、実行モジュールのアドレス情報を用いて
解決し、追加実行モジュールを作成する追加リンク手段
(1K)と、旧版のサブルーチンを含む実行モジュール
がメモリ上にロードされ実行されている際中に、上記追
加実行モジュールをメモリ空間上に動的に追加ロードす
る追加ロード手段(1M)と、実行モジュールが旧版の
サブルーチンを呼び出した場合に、制御を新版のサブル
ーチンに渡す制御移行手段(1N)と、新版のサブルー
チンが処理を終了したとき呼び出し側に制御を戻す制御
復帰手段(1O)とを具備してなることを特徴とする。
Description
【0001】
【産業上の利用分野】本発明はソフトウェア面で電子計
算機の信頼性を向上させるための電子計算機のプログラ
ム実行方式に係り、特に、バグ修正情報適用前の実行モ
ジュールの停止を待たずに修正された追加実行モジュー
ルの入れ替えを可能にしたプログラム実行方式及び実行
プログラムの動的変更方法に関する。
算機の信頼性を向上させるための電子計算機のプログラ
ム実行方式に係り、特に、バグ修正情報適用前の実行モ
ジュールの停止を待たずに修正された追加実行モジュー
ルの入れ替えを可能にしたプログラム実行方式及び実行
プログラムの動的変更方法に関する。
【0002】
【従来の技術】現在のOS、DBMS、トランザクショ
ン処理システム等の大規模ソフトウェアは、様々な処理
要求に対応するため、あるいは高度なプロセッサ、デバ
イスに対応するため、数百万行の規模に達している。
ン処理システム等の大規模ソフトウェアは、様々な処理
要求に対応するため、あるいは高度なプロセッサ、デバ
イスに対応するため、数百万行の規模に達している。
【0003】しかしソフトウェア開発技術は、数百万行
の規模のプログラムから、バグを取り除くのに十分な手
法を持ち合わせてはいない。そのため、運用中のプログ
ラムでさえ、多数のバグが内在されたまま、実行を継続
している。
の規模のプログラムから、バグを取り除くのに十分な手
法を持ち合わせてはいない。そのため、運用中のプログ
ラムでさえ、多数のバグが内在されたまま、実行を継続
している。
【0004】通常、このようなバグは、適時に発見さ
れ、バグ修正情報が作成され、プログラムに適用され、
コンパイル/リンクされ、新しい実行モジュールが作成
される。新しい実行モジュールは、古いバグ修正情報適
用前の実行モジュールの停止を待って、入れ換えが行な
われる。
れ、バグ修正情報が作成され、プログラムに適用され、
コンパイル/リンクされ、新しい実行モジュールが作成
される。新しい実行モジュールは、古いバグ修正情報適
用前の実行モジュールの停止を待って、入れ換えが行な
われる。
【0005】しかし、OS、DBMS、トランザクショ
ン処理システムといった長時間実行されるシステムで
は、実行モジュールの停止の機会は少なく、従って実行
モジュールの入れ換えの機会が少なくなり、バグ修正情
報が作成されたとしても、実際にそのバグ修正情報が適
用し難くなっている。
ン処理システムといった長時間実行されるシステムで
は、実行モジュールの停止の機会は少なく、従って実行
モジュールの入れ換えの機会が少なくなり、バグ修正情
報が作成されたとしても、実際にそのバグ修正情報が適
用し難くなっている。
【0006】今後はシステムの無停止稼働の機会が増
え、上記したような問題は益々深刻となることが予想さ
れる。フォールトトレラントシステム(fault-tolerant
system )によって、ハードウェア故障に起因したシス
テムダウンは減少させることができたが、上記したよう
なソフトウェアバグに起因したシステムダウンを減少さ
せることはできず、しかも処理の高度化と、システムの
無停止稼働に伴って、ソフトウェアバグの問題は益々深
刻になってきている。
え、上記したような問題は益々深刻となることが予想さ
れる。フォールトトレラントシステム(fault-tolerant
system )によって、ハードウェア故障に起因したシス
テムダウンは減少させることができたが、上記したよう
なソフトウェアバグに起因したシステムダウンを減少さ
せることはできず、しかも処理の高度化と、システムの
無停止稼働に伴って、ソフトウェアバグの問題は益々深
刻になってきている。
【0007】
【発明が解決しようとする課題】このように従来のソフ
トウェア開発環境に於いては、プログラムのバグを発見
し、バグ修正情報を作成し、コンパイル/リンクして新
しい実行モジュールを作成したとしても、古いバグ修正
情報適用前の実行モジュールの停止を待って、実行モジ
ュールを入れ換えなければならず、バグ修正情報の適用
には、システムの停止を伴わなければならないという問
題があった。
トウェア開発環境に於いては、プログラムのバグを発見
し、バグ修正情報を作成し、コンパイル/リンクして新
しい実行モジュールを作成したとしても、古いバグ修正
情報適用前の実行モジュールの停止を待って、実行モジ
ュールを入れ換えなければならず、バグ修正情報の適用
には、システムの停止を伴わなければならないという問
題があった。
【0008】本発明は上記したような従来技術の欠点を
除去し、プログラムのバグを発見し、バグ修正情報を作
成し、コンパイル/リンクして新しい実行モジュールを
作成した場合に、古いバグ修正情報適用前の実行モジュ
ールの停止を待たずに、実行モジュールを入れ換え、バ
グ修正情報の適用に、システムの停止を伴うことを不要
とした、プログラム実行方式を提供することを目的とす
る。
除去し、プログラムのバグを発見し、バグ修正情報を作
成し、コンパイル/リンクして新しい実行モジュールを
作成した場合に、古いバグ修正情報適用前の実行モジュ
ールの停止を待たずに、実行モジュールを入れ換え、バ
グ修正情報の適用に、システムの停止を伴うことを不要
とした、プログラム実行方式を提供することを目的とす
る。
【0009】
【課題を解決するための手段】上記目的を達成するため
に、本発明に於いては、ソースプログラムをコンパイル
/リンクして実行モジュールを作成し、この実行モジュ
ールをメモリ上にロードして実行する電子計算機システ
ムに於いて、
に、本発明に於いては、ソースプログラムをコンパイル
/リンクして実行モジュールを作成し、この実行モジュ
ールをメモリ上にロードして実行する電子計算機システ
ムに於いて、
【0010】上記プログラム中の一部のサブルーチンの
みを更新/コンパイルして新版のサブルーチンのオブジ
ェクトモジュールを作成し、このオブジェクトモジュー
ルの外部参照を、実行モジュールのアドレス情報を用い
て解決し、追加実行モジュールを作成する追加リンク手
段(図1符号1k、及び図2参照)と、
みを更新/コンパイルして新版のサブルーチンのオブジ
ェクトモジュールを作成し、このオブジェクトモジュー
ルの外部参照を、実行モジュールのアドレス情報を用い
て解決し、追加実行モジュールを作成する追加リンク手
段(図1符号1k、及び図2参照)と、
【0011】旧版のサブルーチンを含む実行モジュール
がメモリ上にロードされ実行されている際中に、上記追
加実行モジュールをメモリ空間上に動的に追加ロードす
る追加ロード手段(図1符号1M、及び図3参照)と、
実行モジュールが旧版のサブルーチンを呼び出した場合
に、制御を新版のサブルーチンに渡す制御移行手段(図
1符号1N、及び図4参照)と、
がメモリ上にロードされ実行されている際中に、上記追
加実行モジュールをメモリ空間上に動的に追加ロードす
る追加ロード手段(図1符号1M、及び図3参照)と、
実行モジュールが旧版のサブルーチンを呼び出した場合
に、制御を新版のサブルーチンに渡す制御移行手段(図
1符号1N、及び図4参照)と、
【0012】上記新版のサブルーチンが処理を終了して
呼び出し側に制御を戻す際に正常に制御を呼び出し側に
戻す制御復帰手段(図1符号1O参照)と、旧版のサブ
ルーチン中で実行中の処理はそのまま処理を継続する制
御継続手段(図1符号1P参照)とを具備してなること
を特徴とする。
呼び出し側に制御を戻す際に正常に制御を呼び出し側に
戻す制御復帰手段(図1符号1O参照)と、旧版のサブ
ルーチン中で実行中の処理はそのまま処理を継続する制
御継続手段(図1符号1P参照)とを具備してなること
を特徴とする。
【0013】更に本発明は、実行モジュールが旧版のサ
ブルーチンを呼び出した場合に、制御を新版のサブルー
チンに渡す制御移行手段を解消し、再び制御を旧版のサ
ブルーチンに戻す制御移行解消手段(図5符号5Q参
照)を付加したことを特徴とする。
ブルーチンを呼び出した場合に、制御を新版のサブルー
チンに渡す制御移行手段を解消し、再び制御を旧版のサ
ブルーチンに戻す制御移行解消手段(図5符号5Q参
照)を付加したことを特徴とする。
【0014】更に本発明は、メモリ上に追加ロードされ
た追加実行モジュールからなる新版サブルーチンと、実
行モジュールによって制御を移行された旧版サブルーチ
ンを世代管理する世代管理手段(図6符号6R参照)を
付加したことを特徴とする。
た追加実行モジュールからなる新版サブルーチンと、実
行モジュールによって制御を移行された旧版サブルーチ
ンを世代管理する世代管理手段(図6符号6R参照)を
付加したことを特徴とする。
【0015】更に本発明は、指定した時刻から、任意の
版のサブルーチンへの制御移行手段を適用するための時
刻管理手段(図7符号7S参照)を付加したことを特徴
とする。
版のサブルーチンへの制御移行手段を適用するための時
刻管理手段(図7符号7S参照)を付加したことを特徴
とする。
【0016】
【作用】上記構成に於いて、追加リンク手段(1k)は、
バグ修正情報をもとに作成された新版のサブルーチンの
オブジェクトモジュール(図1符号1J)の外部参照を
実行モジュールのアドレス情報を用いて決定(解決)
し、追加実行モジュール(1L)を作成する。この追加
実行モジュールは追加ロード手段(1M)により、旧版
のサブルーチンを含む実行モジュールがメモリ上にロー
ドされ実行されている際に、メモリ空間上に動的に追加
ロードされる。そして実行モジュールが旧版のサブルー
チンを呼び出した際に、制御移行手段(1N)により、
制御が新版のサブルーチンに渡される。又、上記新版の
サブルーチンが処理を終了する際は、制御復帰手段(1
O)により、制御が呼び出し側に戻される。又、旧版の
サブルーチン中で実行中の処理は制御継続手段(1P)
により、そのまま処理が継続される。
バグ修正情報をもとに作成された新版のサブルーチンの
オブジェクトモジュール(図1符号1J)の外部参照を
実行モジュールのアドレス情報を用いて決定(解決)
し、追加実行モジュール(1L)を作成する。この追加
実行モジュールは追加ロード手段(1M)により、旧版
のサブルーチンを含む実行モジュールがメモリ上にロー
ドされ実行されている際に、メモリ空間上に動的に追加
ロードされる。そして実行モジュールが旧版のサブルー
チンを呼び出した際に、制御移行手段(1N)により、
制御が新版のサブルーチンに渡される。又、上記新版の
サブルーチンが処理を終了する際は、制御復帰手段(1
O)により、制御が呼び出し側に戻される。又、旧版の
サブルーチン中で実行中の処理は制御継続手段(1P)
により、そのまま処理が継続される。
【0017】このようにして、プログラムのバグを発見
し、バグ修正情報を作成し、コンパイル/リンクして新
しい実行モジュールを作成した場合に、古いバグ修正情
報適用前の実行モジュールの停止を待たずに実行モジュ
ールを入れ換えるプログラム実行手段が実現される。こ
れにより、バグ修正情報の適用に、システムの停止を伴
うことを不要としたプログラム実行方式が実現できる。
し、バグ修正情報を作成し、コンパイル/リンクして新
しい実行モジュールを作成した場合に、古いバグ修正情
報適用前の実行モジュールの停止を待たずに実行モジュ
ールを入れ換えるプログラム実行手段が実現される。こ
れにより、バグ修正情報の適用に、システムの停止を伴
うことを不要としたプログラム実行方式が実現できる。
【0018】又、本発明によれば、上記バグ修正情報が
不適切であったとき、古いバグ修正情報適用前の実行モ
ジュールに制御を戻す際に、システムの停止を伴うこと
を不要としたプログラム実行方式が実現できる。
不適切であったとき、古いバグ修正情報適用前の実行モ
ジュールに制御を戻す際に、システムの停止を伴うこと
を不要としたプログラム実行方式が実現できる。
【0019】
【実施例】以下図面を参照して本発明の一実施例を説明
する。図1は本発明の第1実施例の構成を示す図であ
る。
する。図1は本発明の第1実施例の構成を示す図であ
る。
【0020】ここでは、3つのサブルーチン[A],
[B],[C]からなるソースプログラム(1A)をコ
ンパイル(1B)し、オブジェクトモジュール(1C)
を作成し、更にそれをリンク(1D)して、実行モジュ
ール(1E)を作成し、それをメモリ空間(1G)上に
ロード(1F)し、実行している。
[B],[C]からなるソースプログラム(1A)をコ
ンパイル(1B)し、オブジェクトモジュール(1C)
を作成し、更にそれをリンク(1D)して、実行モジュ
ール(1E)を作成し、それをメモリ空間(1G)上に
ロード(1F)し、実行している。
【0021】ここで、ソースプログラム(1A)中のサ
ブルーチン[B]にバグが発見されると、そのバグ修正
情報を作成し、更にバグ修正情報を用いてサブルーチン
[B]を修正し、新たなサブルーチン[B′]を作成す
る。
ブルーチン[B]にバグが発見されると、そのバグ修正
情報を作成し、更にバグ修正情報を用いてサブルーチン
[B]を修正し、新たなサブルーチン[B′]を作成す
る。
【0022】このサブルーチン[B′]が作成される
と、サブルーチン[B′]を含むソースプログラム(1
H)をコンパイル(1I)して、オブジェクトモジュー
ル(1J)を作成する。
と、サブルーチン[B′]を含むソースプログラム(1
H)をコンパイル(1I)して、オブジェクトモジュー
ル(1J)を作成する。
【0023】このオブジェクトモジュール(1J)中の
サブルーチン[B′]からの外部参照が、オブジェクト
モジュール(1C)中のサブルーチン[B]からの外部
参照と同様になるように、追加リンク手段(1K)によ
って、追加実行モジュール(1L)を作成する。
サブルーチン[B′]からの外部参照が、オブジェクト
モジュール(1C)中のサブルーチン[B]からの外部
参照と同様になるように、追加リンク手段(1K)によ
って、追加実行モジュール(1L)を作成する。
【0024】この追加実行モジュール(1L)は、追加
ロード手段(1M)によって、プログラム[A]、
[B]、[C]を含む実行モジュール(1E)がロード
されているメモリ空間(1G)上に、[B′]を他と重
ならないようロードする。
ロード手段(1M)によって、プログラム[A]、
[B]、[C]を含む実行モジュール(1E)がロード
されているメモリ空間(1G)上に、[B′]を他と重
ならないようロードする。
【0025】更に、メモリ空間(1G)上に既にロード
されている、実行モジュール[B]のエントリポイント
のマシン命令を、トラップ命令、あるいは不正命令に置
き換える。
されている、実行モジュール[B]のエントリポイント
のマシン命令を、トラップ命令、あるいは不正命令に置
き換える。
【0026】これにより、以降に実行モジュール[B]
が呼び出された場合は、[B]のエントリポイントのマ
シン命令が、トラップ命令、又は不正命令に置き換えら
れているので、トラップが発生する。
が呼び出された場合は、[B]のエントリポイントのマ
シン命令が、トラップ命令、又は不正命令に置き換えら
れているので、トラップが発生する。
【0027】トラップが発生した場合は、制御移行手段
(1N)により、実行モジュール[B]の代わりに、サ
ブルーチン[B′]が呼ばれたかのように、制御を
[B′]に移す。サブルーチン[B′]の実行が終了し
た場合には、制御復帰手段(1O)によって、呼び出し
た側に制御を戻す。
(1N)により、実行モジュール[B]の代わりに、サ
ブルーチン[B′]が呼ばれたかのように、制御を
[B′]に移す。サブルーチン[B′]の実行が終了し
た場合には、制御復帰手段(1O)によって、呼び出し
た側に制御を戻す。
【0028】尚、追加実行モジュール(1L)をメモリ
空間(1G)上に追加ロードしたとき、サブルーチン
[B]が実行中であった場合には、サブルーチン[B]
の実行は継続しなければならない。そのために、メモリ
空間(1G)上にロードされていたサブルーチン[B]
は、エントリポイントを除き、制御継続手段(1P)に
よって、そのままの状態にしておく。
空間(1G)上に追加ロードしたとき、サブルーチン
[B]が実行中であった場合には、サブルーチン[B]
の実行は継続しなければならない。そのために、メモリ
空間(1G)上にロードされていたサブルーチン[B]
は、エントリポイントを除き、制御継続手段(1P)に
よって、そのままの状態にしておく。
【0029】上記した手段により、追加実行モジュール
(1L)をメモリ空間(1G)上に追加ロードしたと
き、サブルーチン[B]が実行中であったとしても、サ
ブルーチン[B]が呼び出し側に制御を戻すまでは、サ
ブルーチン[B]が実行され続けるが、サブルーチン
[B]が呼び出し側に制御を戻した以降は、サブルーチ
ン[B′]が実行されるようになり、長時間、実行を続
けるシステムに於いても、システムを停止させることな
く、プログラムのバグ修正を行なうことが可能となる。
(1L)をメモリ空間(1G)上に追加ロードしたと
き、サブルーチン[B]が実行中であったとしても、サ
ブルーチン[B]が呼び出し側に制御を戻すまでは、サ
ブルーチン[B]が実行され続けるが、サブルーチン
[B]が呼び出し側に制御を戻した以降は、サブルーチ
ン[B′]が実行されるようになり、長時間、実行を続
けるシステムに於いても、システムを停止させることな
く、プログラムのバグ修正を行なうことが可能となる。
【0030】図2は本発明が適用されるプログラム実行
方式に於いて、バグ修正情報を適用したサブルーチンの
オブジェクトモジュールの外部参照を、基のサブルーチ
ンを含む実行モジュールを用いて解決する、追加リンク
の処理の流れを説明するフローチャートである。
方式に於いて、バグ修正情報を適用したサブルーチンの
オブジェクトモジュールの外部参照を、基のサブルーチ
ンを含む実行モジュールを用いて解決する、追加リンク
の処理の流れを説明するフローチャートである。
【0031】図2に示す追加リンク手段(1K)の処理
に於いては、先ずオブジェクトモジュール(1J)中に
未解決の外部参照が存在するか否かを検査する(ステッ
プ2A)。ここで、未解決の外部参照情報が存在すると
き(ステップ2AーYes )は、既に存在する実行モジュ
ール(1E)の外部参照情報に合わせて外部参照を解決
(決定)する(ステップ2B)。そして、上記ステップ
2Aの処理に戻る。全ての外部参照を解決したならば
(ステップ2AーNo)、解決された外部参照情報に基づ
いて、追加実行モジュール(1L)を作成する。
に於いては、先ずオブジェクトモジュール(1J)中に
未解決の外部参照が存在するか否かを検査する(ステッ
プ2A)。ここで、未解決の外部参照情報が存在すると
き(ステップ2AーYes )は、既に存在する実行モジュ
ール(1E)の外部参照情報に合わせて外部参照を解決
(決定)する(ステップ2B)。そして、上記ステップ
2Aの処理に戻る。全ての外部参照を解決したならば
(ステップ2AーNo)、解決された外部参照情報に基づ
いて、追加実行モジュール(1L)を作成する。
【0032】図3は本発明が適用されるプログラム実行
方式に於いて、上記追加リンク手段(1K)によって作
成された追加実行モジュールを、既に実行モジュールが
ロードされているメモリ空間上に追加ロードする、追加
ロード処理の流れを説明するフローチャートである。
方式に於いて、上記追加リンク手段(1K)によって作
成された追加実行モジュールを、既に実行モジュールが
ロードされているメモリ空間上に追加ロードする、追加
ロード処理の流れを説明するフローチャートである。
【0033】図3に示す追加ロード手段(1M)の処理
に於いては、現在、実行されている実行モジュール(1
E)がロードされているメモリ空間上にて、追加実行モ
ジュール(1L)をロードできる大きさの空き領域を探
す(ステップ3A)。そして、探した空き領域に、追加
実行モジュール(1L)をロードする(ステップ3
B)。
に於いては、現在、実行されている実行モジュール(1
E)がロードされているメモリ空間上にて、追加実行モ
ジュール(1L)をロードできる大きさの空き領域を探
す(ステップ3A)。そして、探した空き領域に、追加
実行モジュール(1L)をロードする(ステップ3
B)。
【0034】次に、追加実行モジュール(1L)によっ
て機能を置き換えられるメモリ空間上に既にロードされ
ているサブルーチンのエントリポイントのマシン命令を
トラップ命令あるいは不正命令に置き換える(ステップ
3C)。
て機能を置き換えられるメモリ空間上に既にロードされ
ているサブルーチンのエントリポイントのマシン命令を
トラップ命令あるいは不正命令に置き換える(ステップ
3C)。
【0035】図4は本発明が適用されるプログラム実行
方式に於いて、上記追加ロード手段によって、既に実行
モジュール(1E)がロードされているメモリ空間上に
追加実行モジュール(1L)を追加ロードして処理を再
開した後、バグ修正情報を適用する前のサブルーチンが
呼び出された場合に、制御をバグ修正情報を適用したサ
ブルーチンに移行する際の処理の流れを説明するフロー
チャートである。
方式に於いて、上記追加ロード手段によって、既に実行
モジュール(1E)がロードされているメモリ空間上に
追加実行モジュール(1L)を追加ロードして処理を再
開した後、バグ修正情報を適用する前のサブルーチンが
呼び出された場合に、制御をバグ修正情報を適用したサ
ブルーチンに移行する際の処理の流れを説明するフロー
チャートである。
【0036】図4に示す制御移行手段(1N)の処理に
於いては、発生したトラップを検出し(ステップ4
A)、検出したトラップが、バグ修正情報を適用したサ
ブルーチンによって置き換えられたサブルーチンのエン
トリポイントで発生したか否かを検査する(ステップ4
B)。
於いては、発生したトラップを検出し(ステップ4
A)、検出したトラップが、バグ修正情報を適用したサ
ブルーチンによって置き換えられたサブルーチンのエン
トリポイントで発生したか否かを検査する(ステップ4
B)。
【0037】ここで、検出したトラップがバグ修正情報
を適用したサブルーチンによって置き換えられたサブル
ーチンのエントリポイントで発生したものでないときは
通常のトラップ処理を実行する(ステップ4C)。
を適用したサブルーチンによって置き換えられたサブル
ーチンのエントリポイントで発生したものでないときは
通常のトラップ処理を実行する(ステップ4C)。
【0038】又、検出したトラップがバグ修正情報を適
用したサブルーチンによって置き換えられたサブルーチ
ンのエントリポイントで発生したものであるときは制御
を新しいサブルーチンに移す(ステップ4D)。
用したサブルーチンによって置き換えられたサブルーチ
ンのエントリポイントで発生したものであるときは制御
を新しいサブルーチンに移す(ステップ4D)。
【0039】尚、上記した第1実施例に於いては、制御
復帰手段、制御継続手段は特に設定せずとも、追加ロー
ド手段(1M)、制御移行手段(1N)がその一部処理
機能として実現している。
復帰手段、制御継続手段は特に設定せずとも、追加ロー
ド手段(1M)、制御移行手段(1N)がその一部処理
機能として実現している。
【0040】本発明の第2実施例として、追加ロード手
段(1M)に於いて、追加実行モジュール(1L)によ
って機能を置き換えられる、メモリ空間上に既にロード
されているサブルーチンのエントリポイントのマシン命
令を、トラップ命令あるいは不正命令に代わり、無条件
分岐命令に置き換える。
段(1M)に於いて、追加実行モジュール(1L)によ
って機能を置き換えられる、メモリ空間上に既にロード
されているサブルーチンのエントリポイントのマシン命
令を、トラップ命令あるいは不正命令に代わり、無条件
分岐命令に置き換える。
【0041】この場合は、制御移行手段(1N)も、よ
り単純になり、バグ修正情報を適用する前のサブルーチ
ンが呼び出された場合に、トラップ操作を介さずに、直
接、制御をバグ修正情報を適用したサブルーチンに移行
することが可能となる。但しこの手段による実施の可能
性は、無条件分岐命令が条件コード(CONDITION CODE)
を変更しない等、マシンの特性に依存する。
り単純になり、バグ修正情報を適用する前のサブルーチ
ンが呼び出された場合に、トラップ操作を介さずに、直
接、制御をバグ修正情報を適用したサブルーチンに移行
することが可能となる。但しこの手段による実施の可能
性は、無条件分岐命令が条件コード(CONDITION CODE)
を変更しない等、マシンの特性に依存する。
【0042】本発明の第3実施例として、追加ロード手
段(1M)に於いて、追加実行モジュール(1L)によ
って機能を置き換えられる、メモリ空間上に既にロード
されているサブルーチンのエントリポイントのマシン命
令を、トラップ命令あるいは不正命令に代わり、上記サ
ブルーチンを呼び出す側の分岐先アドレスを書き換える
手段に置き換える。
段(1M)に於いて、追加実行モジュール(1L)によ
って機能を置き換えられる、メモリ空間上に既にロード
されているサブルーチンのエントリポイントのマシン命
令を、トラップ命令あるいは不正命令に代わり、上記サ
ブルーチンを呼び出す側の分岐先アドレスを書き換える
手段に置き換える。
【0043】この場合は、制御移行手段(1N)も、よ
り単純になり、バグ修正情報を適用する前のサブルーチ
ンを呼び出す代わりに、バグ修正情報を適用したサブル
ーチンを呼び出すことになる。但しこの手段による実施
の可能性は、サブルーチンのエントリポイントを変数と
して格納しない等、言語の特性に依存する。
り単純になり、バグ修正情報を適用する前のサブルーチ
ンを呼び出す代わりに、バグ修正情報を適用したサブル
ーチンを呼び出すことになる。但しこの手段による実施
の可能性は、サブルーチンのエントリポイントを変数と
して格納しない等、言語の特性に依存する。
【0044】本発明の第4実施例として、追加ロード手
段(1M)に於いて、追加実行モジュール(1L)によ
って機能を置き換えられる、メモリ空間上に既にロード
されているサブルーチンのエントリポイントのマシン命
令をトラップ命令あるいは不正命令に代わり、上記サブ
ルーチンを呼び出すための分岐先アドレスを格納したテ
ーブルを書き換える手段に置き換える。
段(1M)に於いて、追加実行モジュール(1L)によ
って機能を置き換えられる、メモリ空間上に既にロード
されているサブルーチンのエントリポイントのマシン命
令をトラップ命令あるいは不正命令に代わり、上記サブ
ルーチンを呼び出すための分岐先アドレスを格納したテ
ーブルを書き換える手段に置き換える。
【0045】この場合に於いても、制御移行手段(1
N)が単純になり、バグ修正情報を適用する前のサブル
ーチンを呼び出す代わりに、バグ修正情報を適用したサ
ブルーチンを呼び出すことになる。但しこの手段を実施
するためには、全てのサブルーチンのエントリポイント
をテーブル内に格納し、間接呼び出しを行なわなければ
ならず、プログラム構築法に依存する。図5は本発明の
第5実施例を示す構成図である。
N)が単純になり、バグ修正情報を適用する前のサブル
ーチンを呼び出す代わりに、バグ修正情報を適用したサ
ブルーチンを呼び出すことになる。但しこの手段を実施
するためには、全てのサブルーチンのエントリポイント
をテーブル内に格納し、間接呼び出しを行なわなければ
ならず、プログラム構築法に依存する。図5は本発明の
第5実施例を示す構成図である。
【0046】この第5実施例では、上記した図1に示す
第1実施例に、更に、旧版のサブルーチンから新版のサ
ブルーチンに渡した制御を、再び旧版のサブルーチンに
戻す、制御移行解消手段(5Q)を加えている。
第1実施例に、更に、旧版のサブルーチンから新版のサ
ブルーチンに渡した制御を、再び旧版のサブルーチンに
戻す、制御移行解消手段(5Q)を加えている。
【0047】新版のサブルーチンに於ける修正が不適切
であった場合には、この制御移行解消手段(5Q)を使
用することにより、新版のサブルーチンへの移行を中止
し、再び旧版のサブルーチンに制御を戻すことが可能と
なる。図6は本発明の第6実施例を示す構成図である。
であった場合には、この制御移行解消手段(5Q)を使
用することにより、新版のサブルーチンへの移行を中止
し、再び旧版のサブルーチンに制御を戻すことが可能と
なる。図6は本発明の第6実施例を示す構成図である。
【0048】この第6実施例では、上記した第5実施例
に、更に、追加実行モジュールからなる新版のサブルー
チンと、この実行モジュールによって制御を移行された
旧版サブルーチンを世代管理する世代管理手段(6R)
を加えている。
に、更に、追加実行モジュールからなる新版のサブルー
チンと、この実行モジュールによって制御を移行された
旧版サブルーチンを世代管理する世代管理手段(6R)
を加えている。
【0049】修正を加えたサブルーチンに更に修正を加
えたり、新版のサブルーチンに於ける修正が数世代に渡
って不適切であった場合には、世代管理手段(6R)を
使用することにより、新版のサブルーチンへの移行を中
止し、数世代に渡った旧版のサブルーチンに制御を戻す
ことが可能となる。図7は本発明の第7実施例を示す構
成図である。
えたり、新版のサブルーチンに於ける修正が数世代に渡
って不適切であった場合には、世代管理手段(6R)を
使用することにより、新版のサブルーチンへの移行を中
止し、数世代に渡った旧版のサブルーチンに制御を戻す
ことが可能となる。図7は本発明の第7実施例を示す構
成図である。
【0050】この第7実施例では、上記した第6実施例
に、更に、指定した時刻から、任意のサブルーチンへの
制御移行手段を適用するための時刻管理手段(7S)を
加えている。
に、更に、指定した時刻から、任意のサブルーチンへの
制御移行手段を適用するための時刻管理手段(7S)を
加えている。
【0051】新版のサブルーチンへの移行時刻や、旧版
のサブルーチンへの復帰時刻を指定する場合には、時刻
管理手段(7S)を使用することにより、指定した時刻
から、任意の版のサブルーチンへの制御移行手段を適用
することが可能となる。
のサブルーチンへの復帰時刻を指定する場合には、時刻
管理手段(7S)を使用することにより、指定した時刻
から、任意の版のサブルーチンへの制御移行手段を適用
することが可能となる。
【0052】
【発明の効果】以上詳記したように本発明によれば、プ
ログラムのバグを発見しバグ修正情報を作成し、コンパ
イル/リンクして新しい実行モジュールを作成した場合
に、古いバグ修正情報適用前の実行モジュールの停止を
待たずに、実行モジュールを入れ換え、バグ修正情報の
適用に、システムの停止を伴うことを不要としたプログ
ラム実行方式が実現できる。更にこのバグ修正情報が不
適切であった場合に、古いバグ修正情報適用前の実行モ
ジュールに制御を戻す際に、システムの停止を伴うこと
を不要としたプログラム実行方式が実現できる。
ログラムのバグを発見しバグ修正情報を作成し、コンパ
イル/リンクして新しい実行モジュールを作成した場合
に、古いバグ修正情報適用前の実行モジュールの停止を
待たずに、実行モジュールを入れ換え、バグ修正情報の
適用に、システムの停止を伴うことを不要としたプログ
ラム実行方式が実現できる。更にこのバグ修正情報が不
適切であった場合に、古いバグ修正情報適用前の実行モ
ジュールに制御を戻す際に、システムの停止を伴うこと
を不要としたプログラム実行方式が実現できる。
【図1】本発明の第1実施例を説明するための全体の構
成を示す図。
成を示す図。
【図2】図1の実施例に於ける追加リンク処理を説明す
るための流れ図。
るための流れ図。
【図3】図1の実施例に於ける追加ロード処理を説明す
るための流れ図。
るための流れ図。
【図4】図1の実施例に於ける、制御をバグ修正情報を
適用したサブルーチンに移行する処理を説明するための
流れ図。
適用したサブルーチンに移行する処理を説明するための
流れ図。
【図5】本発明の第5実施例を説明するための全体の構
成を示す図。
成を示す図。
【図6】本発明の第6実施例を説明するための全体の構
成を示す図。
成を示す図。
【図7】本発明の第7実施例を説明するための全体の構
成を示す図。
成を示す図。
1A…サブルーチン[A],[B],[C]を含むソー
スプログラム、1B…コンパイル手段、1C…サブルー
チン[A],[B],[C]を含むオブジェクトプログ
ラム、1D…リンク手段、1E…サブルーチン[A],
[B],[C]を含む実行モジュール、1F…実行モジ
ュールをメモリ上にロードするロード手段、1G…実行
モジュールのロードされたメモリ空間、1H…サブルー
チン[B]にバグ修正情報を適用したサブルーチン
[B′]を含むソースプログラム、1I…コンパイル手
段、1J…サブルーチン[B]にバグ修正情報を適用し
たサブルーチン[B′]を含むオブジェクトモジュー
ル、1K…追加リンク手段、1L…サブルーチンBにバ
グ修正情報を適用したサブルーチン[B′]を含む追加
実行モジュール、1M…追加ロード手段、1N…制御移
行手段、1O…制御復帰手段、1P…制御継続手段、5
A…サブルーチン[A],[B],[C]を含むソース
プログラム、5B…コンパイルするための手段、5C…
サブルーチン[A],[B],[C]を含むオブジェク
トプログラム、5D…リンク手段、5E…サブルーチン
[A],[B],[C]を含む実行モジュール、5F…
実行モジュールをメモリ上にロードするロード手段、5
G…実行モジュールのロードされたメモリ空間、5H…
サブルーチンBにバグ修正情報を適用したサブルーチン
[B′]を含むソースプログラム、5I…コンパイル手
段、5J…サブルーチン[B]にバグ修正情報を適用し
たサブルーチン[B′]を含むオブジェクトモジュー
ル、5K…追加リンク手段、5L…サブルーチン[B]
にバグ修正情報を適用したサブルーチン[B′]を含む
追加実行モジュール、5M…追加ロード手段、5N…制
御移行手段、5O…制御復帰手段、5P…制御継続手
段、5Q…制御移行解消手段、6A…サブルーチン
[A],[B],[C]を含むソースプログラム、6B
…コンパイル手段、6C…サブルーチン[A],
[B],[C]を含むオブジェクトプログラム、6D…
リンク手段、6E…サブルーチン[A],[B],
[C]を含む実行モジュール、6F…実行モジュールを
メモリ上にロードするロード手段、6G…実行モジュー
ルのロードされたメモリ空間、6H…サブルーチン
[B]にバグ修正情報を適用したサブルーチン[B′]
を含むソースプログラム、6I…コンパイル手段、6J
…サブルーチン[B]にバグ修正情報を適用したサブル
ーチン[B′]を含むオブジェクトモジュール、6K…
追加リンク手段、6L…サブルーチン[B]にバグ修正
情報を適用したサブルーチン[B′]を含む追加実行モ
ジュール、6M…追加ロード手段、6N…制御移行手
段、6O…制御復帰手段、6P…制御継続手段、6Q…
制御移行解消手段、6R…世代管理手段、7A…サブル
ーチン[A],[B],[C]を含むソースプログラ
ム、7B…コンパイル手段、7C…サブルーチン
[A],[B],[C]を含むオブジェクトプログラ
ム、7D…リンク手段、7E…サブルーチン[A],
[B],[C]を含む実行モジュール、7F…実行モジ
ュールをメモリ上にロードするロード手段、7G…実行
モジュールのロードされたメモリ空間、7H…サブルー
チン[B]にバグ修正情報を適用したサブルーチン
[B′]を含むソースプログラム、7I…コンパイル手
段、7J…サブルーチン[B]にバグ修正情報を適用し
たサブルーチン[B′]を含むオブジェクトモジュー
ル、7K…追加リンク手段、7L…サブルーチン[B]
にバグ修正情報を適用したサブルーチン[B′]を含む
追加実行モジュール、7M…追加ロード手段、7N…制
御移行手段、7O…制御復帰手段、7P…制御継続手
段、7Q…制御移行解消手段、7R…世代管理手段、7
S…時刻管理手段。
スプログラム、1B…コンパイル手段、1C…サブルー
チン[A],[B],[C]を含むオブジェクトプログ
ラム、1D…リンク手段、1E…サブルーチン[A],
[B],[C]を含む実行モジュール、1F…実行モジ
ュールをメモリ上にロードするロード手段、1G…実行
モジュールのロードされたメモリ空間、1H…サブルー
チン[B]にバグ修正情報を適用したサブルーチン
[B′]を含むソースプログラム、1I…コンパイル手
段、1J…サブルーチン[B]にバグ修正情報を適用し
たサブルーチン[B′]を含むオブジェクトモジュー
ル、1K…追加リンク手段、1L…サブルーチンBにバ
グ修正情報を適用したサブルーチン[B′]を含む追加
実行モジュール、1M…追加ロード手段、1N…制御移
行手段、1O…制御復帰手段、1P…制御継続手段、5
A…サブルーチン[A],[B],[C]を含むソース
プログラム、5B…コンパイルするための手段、5C…
サブルーチン[A],[B],[C]を含むオブジェク
トプログラム、5D…リンク手段、5E…サブルーチン
[A],[B],[C]を含む実行モジュール、5F…
実行モジュールをメモリ上にロードするロード手段、5
G…実行モジュールのロードされたメモリ空間、5H…
サブルーチンBにバグ修正情報を適用したサブルーチン
[B′]を含むソースプログラム、5I…コンパイル手
段、5J…サブルーチン[B]にバグ修正情報を適用し
たサブルーチン[B′]を含むオブジェクトモジュー
ル、5K…追加リンク手段、5L…サブルーチン[B]
にバグ修正情報を適用したサブルーチン[B′]を含む
追加実行モジュール、5M…追加ロード手段、5N…制
御移行手段、5O…制御復帰手段、5P…制御継続手
段、5Q…制御移行解消手段、6A…サブルーチン
[A],[B],[C]を含むソースプログラム、6B
…コンパイル手段、6C…サブルーチン[A],
[B],[C]を含むオブジェクトプログラム、6D…
リンク手段、6E…サブルーチン[A],[B],
[C]を含む実行モジュール、6F…実行モジュールを
メモリ上にロードするロード手段、6G…実行モジュー
ルのロードされたメモリ空間、6H…サブルーチン
[B]にバグ修正情報を適用したサブルーチン[B′]
を含むソースプログラム、6I…コンパイル手段、6J
…サブルーチン[B]にバグ修正情報を適用したサブル
ーチン[B′]を含むオブジェクトモジュール、6K…
追加リンク手段、6L…サブルーチン[B]にバグ修正
情報を適用したサブルーチン[B′]を含む追加実行モ
ジュール、6M…追加ロード手段、6N…制御移行手
段、6O…制御復帰手段、6P…制御継続手段、6Q…
制御移行解消手段、6R…世代管理手段、7A…サブル
ーチン[A],[B],[C]を含むソースプログラ
ム、7B…コンパイル手段、7C…サブルーチン
[A],[B],[C]を含むオブジェクトプログラ
ム、7D…リンク手段、7E…サブルーチン[A],
[B],[C]を含む実行モジュール、7F…実行モジ
ュールをメモリ上にロードするロード手段、7G…実行
モジュールのロードされたメモリ空間、7H…サブルー
チン[B]にバグ修正情報を適用したサブルーチン
[B′]を含むソースプログラム、7I…コンパイル手
段、7J…サブルーチン[B]にバグ修正情報を適用し
たサブルーチン[B′]を含むオブジェクトモジュー
ル、7K…追加リンク手段、7L…サブルーチン[B]
にバグ修正情報を適用したサブルーチン[B′]を含む
追加実行モジュール、7M…追加ロード手段、7N…制
御移行手段、7O…制御復帰手段、7P…制御継続手
段、7Q…制御移行解消手段、7R…世代管理手段、7
S…時刻管理手段。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 飯島 徹 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝総合研究所内 (72)発明者 亀井 信義 神奈川県川崎市幸区堀川町66番2 東芝シ ーエーイーシステムズ株式会社内
Claims (5)
- 【請求項1】 ソースプログラムをコンパイルしリンク
して実行モジュールを作成し、この実行モジュールをメ
モリ上にロードして実行する電子計算機システムに於い
て、 上記ソースプログラム中の一部のサブルーチンのみを更
新しコンパイルして新版のサブルーチンのオブジェクト
モジュールを作成し、このオブジェクトモジュールの外
部参照を実行モジュールのアドレス情報を用いて決定
し、追加実行モジュールを作成する追加リンク手段と、 旧版のサブルーチンを含む実行モジュールがメモリ上に
ロードされ実行されている際に、上記追加実行モジュー
ルをメモリ空間上に動的に追加ロードする追加ロード手
段と、 上記実行モジュールが旧版のサブルーチンを呼び出した
とき、制御を新版のサブルーチンに渡す制御移行手段
と、 上記新版のサブルーチンが処理を終了したとき、制御を
呼び出し側に戻す制御復帰手段とを具備してなることを
特徴とするプログラム実行方式。 - 【請求項2】 実行モジュールが旧版のサブルーチンを
呼び出した場合には、制御を新版のサブルーチンに渡す
制御移行手段を解消し、再び制御を旧版のサブルーチン
に戻す制御移行解消手段を具備したことを特徴とする請
求項1記載のプログラム実行方式。 - 【請求項3】 メモリ上に追加ロードされた、追加実行
モジュールからなる新版サブルーチンと、この実行モジ
ュールによって制御を移行された旧版サブルーチンとを
世代管理する世代管理手段を具備したことを特徴とする
請求項1又は2記載のプログラム実行方式。 - 【請求項4】 指定した時刻から任意の版のサブルーチ
ンへの制御移行手段を適用するための時刻管理手段を具
備したことを特徴とする請求項1又は2又は3記載のプ
ログラム実行方式。 - 【請求項5】 処理の実行に供されるプログラム中のバ
グをもつ一部のサブルーチンを対象にバグ修正情報を参
照して新版のサブルーチンのオブジェクトモジュールを
作成する工程と、 上記オブジェクトモジュールの外部参照を実行モジュー
ルのアドレスを用いて決定し追加実行モジュールを作成
する工程と、 旧版のサブルーチンを含む実行モジュールがメモリ上に
ロードされ実行されている際に上記追加実行モジュール
をメモリ空間上に追加ロードする工程と、 上記実行モジュールが旧版のサブルーチンを呼び出した
際に制御を上記新版のサブルーチンに受け渡す工程とを
もつ実行プログラムの動的変更方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4261796A JPH06110678A (ja) | 1992-09-30 | 1992-09-30 | プログラム実行方式及び実行プログラムの動的変更方法 |
| US08/128,645 US5495612A (en) | 1992-09-30 | 1993-09-30 | System for dynamically changing an execution program and method for doing the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4261796A JPH06110678A (ja) | 1992-09-30 | 1992-09-30 | プログラム実行方式及び実行プログラムの動的変更方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06110678A true JPH06110678A (ja) | 1994-04-22 |
Family
ID=17366837
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4261796A Pending JPH06110678A (ja) | 1992-09-30 | 1992-09-30 | プログラム実行方式及び実行プログラムの動的変更方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5495612A (ja) |
| JP (1) | JPH06110678A (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5963741A (en) * | 1997-01-29 | 1999-10-05 | Nec Corporation | Information processor which rewrites instructions in program to dynamically change program structure and method therefor |
| JP2005107803A (ja) * | 2003-09-30 | 2005-04-21 | Hitachi Ltd | システム更新方法、および、それを実行するための計算機システム |
| JP2006293673A (ja) * | 2005-04-11 | 2006-10-26 | Toshiba Corp | マイクロプロセッサおよびその制御方法 |
| JP2009288858A (ja) * | 2008-05-27 | 2009-12-10 | Fuji Xerox Co Ltd | 追加実行可能情報生成装置、情報処理装置、及びプログラム |
| US8561047B2 (en) | 2008-07-23 | 2013-10-15 | Fujitsu Limited | Object linkage device for linking objects in statically linked executable program file, method of linking objects, and computer readable storage medium storing program thereof |
| JP2021002317A (ja) * | 2019-06-21 | 2021-01-07 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | アプリケーションをアップグレードするための方法、装置、デバイスならびに記憶媒体 |
Families Citing this family (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5682533A (en) * | 1994-09-27 | 1997-10-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Updating software within a telecommunications switch without interrupting existing communication and neither moving nor converting data |
| AU4466896A (en) * | 1994-12-13 | 1996-07-03 | Novell, Inc. | Method and apparatus to update or change a network directory |
| US6112253A (en) * | 1995-10-12 | 2000-08-29 | International Business Machines Corporation | Object-oriented method maintenance mechanism that does not require cessation of the computer system or its programs |
| US6112025A (en) * | 1996-03-25 | 2000-08-29 | Sun Microsystems, Inc. | System and method for dynamic program linking |
| DE19620888A1 (de) * | 1996-05-23 | 1997-11-27 | Siemens Ag | Verfahren zur Aktualisierung eines Teils eines Programmcodes, wobei der Programmcode in einer Interpreter-Programmiersprache vorliegt, während der Ausführung des Programmcodes, durch einen Rechner |
| US6052778A (en) * | 1997-01-13 | 2000-04-18 | International Business Machines Corporation | Embedded system having dynamically linked dynamic loader and method for linking dynamic loader shared libraries and application programs |
| US6363436B1 (en) | 1997-01-27 | 2002-03-26 | International Business Machines Corporation | Method and system for loading libraries into embedded systems |
| JP3836928B2 (ja) * | 1997-02-26 | 2006-10-25 | 株式会社日立製作所 | データベース処理方法 |
| JP3277139B2 (ja) * | 1997-03-13 | 2002-04-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 入力ビット列暗号化装置及び方法 |
| AU1809599A (en) * | 1997-12-11 | 1999-06-28 | Digits Corp. | Object code analysis and remediation system and method |
| US6668373B1 (en) * | 1998-11-23 | 2003-12-23 | Willard H. Wattenburg | System, apparatus and method for expanding the range of decimal numbers of any length in existing data bases and computer programs |
| US7140005B2 (en) * | 1998-12-21 | 2006-11-21 | Intel Corporation | Method and apparatus to test an instruction sequence |
| FR2789193B1 (fr) * | 1999-01-29 | 2001-08-10 | Bull Sa | Procede pour modifier le comportement d'une machine informatique |
| JP2000347900A (ja) * | 1999-06-02 | 2000-12-15 | Fujitsu Ltd | 入力パラメータ生成装置、その方法及び記録媒体 |
| US6658658B1 (en) * | 2000-02-17 | 2003-12-02 | International Business Machines Corporation | Implicit forwarding and resolving of a reference made by an importing module to an exporting module for a specified export |
| US6711572B2 (en) | 2000-06-14 | 2004-03-23 | Xosoft Inc. | File system for distributing content in a data network and related methods |
| FR2820221B1 (fr) * | 2001-02-01 | 2004-08-20 | Cimai Technology | Procede et systeme pour gerer des executables a bibliotheques partagees |
| US7031989B2 (en) * | 2001-02-26 | 2006-04-18 | International Business Machines Corporation | Dynamic seamless reconfiguration of executing parallel software |
| US20020174257A1 (en) * | 2001-05-03 | 2002-11-21 | International Business Machines Corporation | Application assisted executable exports |
| US7844734B2 (en) * | 2002-11-18 | 2010-11-30 | Innopath Software, Inc. | Dynamic addressing (DA) using a centralized DA manager |
| US20040111721A1 (en) * | 2002-12-09 | 2004-06-10 | Sun Microsystems, Inc. | Method for branch slamming as a safe mechanism for binary code editing |
| JP2005301801A (ja) * | 2004-04-14 | 2005-10-27 | Nec Corp | 情報処理装置、メモリ管理装置、およびプログラム |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5408665A (en) * | 1993-04-30 | 1995-04-18 | Borland International, Inc. | System and methods for linking compiled code with extended dictionary support |
-
1992
- 1992-09-30 JP JP4261796A patent/JPH06110678A/ja active Pending
-
1993
- 1993-09-30 US US08/128,645 patent/US5495612A/en not_active Expired - Lifetime
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5963741A (en) * | 1997-01-29 | 1999-10-05 | Nec Corporation | Information processor which rewrites instructions in program to dynamically change program structure and method therefor |
| JP2005107803A (ja) * | 2003-09-30 | 2005-04-21 | Hitachi Ltd | システム更新方法、および、それを実行するための計算機システム |
| US7500234B2 (en) | 2003-09-30 | 2009-03-03 | Hitachi, Ltd. | System-updating method and computer system adopting the method |
| JP2006293673A (ja) * | 2005-04-11 | 2006-10-26 | Toshiba Corp | マイクロプロセッサおよびその制御方法 |
| JP2009288858A (ja) * | 2008-05-27 | 2009-12-10 | Fuji Xerox Co Ltd | 追加実行可能情報生成装置、情報処理装置、及びプログラム |
| US8561047B2 (en) | 2008-07-23 | 2013-10-15 | Fujitsu Limited | Object linkage device for linking objects in statically linked executable program file, method of linking objects, and computer readable storage medium storing program thereof |
| JP2021002317A (ja) * | 2019-06-21 | 2021-01-07 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | アプリケーションをアップグレードするための方法、装置、デバイスならびに記憶媒体 |
| US11281445B2 (en) | 2019-06-21 | 2022-03-22 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method, apparatus, device and storage medium for upgrading application |
Also Published As
| Publication number | Publication date |
|---|---|
| US5495612A (en) | 1996-02-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH06110678A (ja) | プログラム実行方式及び実行プログラムの動的変更方法 | |
| KR100303548B1 (ko) | 컴퓨터시스템내에서소프트웨어모듈들을프로그램실행중동적으로결합시키는방법및그장치 | |
| US6374268B1 (en) | Methods and systems for an incremental file system | |
| US9015659B2 (en) | Method, computer program product, and system for non-blocking dynamic update of statically typed class-based object-oriented software | |
| Knoop et al. | Partial dead code elimination | |
| US7784044B2 (en) | Patching of in-use functions on a running computer system | |
| US7603663B2 (en) | Apparatus and methods for restoring synchronization to object-oriented software applications in managed runtime environments | |
| EP0855056B1 (en) | Object-oriented method maintenance mechanism that does not require cessation of the computer system | |
| EP2005300A1 (en) | Apparatus and method for capabilities verification and restriction of managed applications in an execution environment | |
| US6502122B1 (en) | Method and apparatus for executing transaction programs in parallel | |
| US7409538B2 (en) | Update in-use flash memory without external interfaces | |
| US6256751B1 (en) | Restoring checkpointed processes without restoring attributes of external data referenced by the processes | |
| US20070006202A1 (en) | Dynamic mapping of shared libraries | |
| US6957367B2 (en) | System and method for controlling activity of temporary files in a computer system | |
| JP2005063435A (ja) | ソフトウェアフォールトを封じ込める方法およびシステム | |
| US20020073409A1 (en) | Telecommunications platform with processor cluster and method of operation thereof | |
| JPH07152551A (ja) | コンピュータシステムおよびプログラム実行方法 | |
| JPH0895772A (ja) | 計算機システム及びプログラム置換方法 | |
| JP3019915B2 (ja) | 手続き呼出し方法 | |
| JP2001034595A (ja) | 複数システム間業務統合方法および装置 | |
| JP3079228B2 (ja) | 基本プログラム実行方法 | |
| JPH0877068A (ja) | マルチプロセッサシステム及びメモリアロケーション最適化方法 | |
| JPH03286230A (ja) | メモリ領域の自動退避/復元方式 | |
| Valk | Condor and Condor Flocking under Linux | |
| JPH07248950A (ja) | 資源の更新連携方法 |