JPH0895772A - Computer system and program substituting method - Google Patents

Computer system and program substituting method

Info

Publication number
JPH0895772A
JPH0895772A JP22761394A JP22761394A JPH0895772A JP H0895772 A JPH0895772 A JP H0895772A JP 22761394 A JP22761394 A JP 22761394A JP 22761394 A JP22761394 A JP 22761394A JP H0895772 A JPH0895772 A JP H0895772A
Authority
JP
Japan
Prior art keywords
program
data structure
data
execution
executed
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
Application number
JP22761394A
Other languages
Japanese (ja)
Inventor
Hideaki Hirayama
秀昭 平山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP22761394A priority Critical patent/JPH0895772A/en
Publication of JPH0895772A publication Critical patent/JPH0895772A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

PURPOSE: To perform the partial substitution of a program in execution without stopping the system. CONSTITUTION: This computer system is equipped with a data structure/ program additional loading means 30 which additionally loads the data structure of the program in execution and part of a modified program, a program execution temporarily stopping means 44 which temporarily stops the program in execution, a data converting and moving means 32 which converts data from the data structure that the program in execution at a stop uses to the additionally loaded structure and moves them, a program control shifting means 36 which modifies part of the program in execution so that control is transferred to the additionally loaded program when the control is passed to the program in execution, and a program execution restarting means 46 which restarts the execution of the temporarily stopped program after the movement of the data and the modification of the program are completed.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、ソフトウェア面で計算
機システムの信頼性を向上させるための、計算機システ
ムのプログラム置換方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer system program replacement method for improving the reliability of a computer system in terms of software.

【0002】[0002]

【従来の技術】現在のOS(オペレーティングシステ
ム)、DBMS(データベースマネージメントシステ
ム)、トランザクション処理システム、といった大規模
ソフトウェアは、様々な処理要求に対応するため、数百
万行の規模に達している。
2. Description of the Related Art Large-scale software such as the current OS (operating system), DBMS (database management system), and transaction processing system has reached the scale of several million lines in order to meet various processing requests.

【0003】しかし、現在のソフトウェア開発技術は、
数百万行の規模のプログラムから、バグを取り除くため
のに十分な手法を持ち合わせてはいない。そのため、実
際の運用中のプログラムでさえ、バグが内在されたま
ま、実行が継続されている可能性がある。
However, the current software development technology is
We don't have enough techniques to remove bugs from programs with millions of lines. Therefore, it is possible that even a program that is actually operating will continue to run with the bug inherent.

【0004】通常、このようなバグは適時発見され、修
正すべき内容を示すバグ修正情報が作成される。バグ修
正情報は、プログラムに適用され、改めてコンパイル/
リンクされ、新しい実行モジュールが作成される。
Usually, such a bug is discovered in a timely manner, and bug correction information indicating the contents to be corrected is created. The bug fix information is applied to the program and compiled /
Linked and new execution module created.

【0005】従来、バグが修正された新しい実行モジュ
ールは、バグ修正情報適用前の古い実行モジュールの停
止を待って、入れ換えが行なわれている。しかしOS、
DBMS、トランザクション処理システムといった長時
間実行されるシステムでは、実行モジュールの停止の機
会が少ないため、実行モジュールの入れ換えの機会もま
た少ない。従って、バグ修正情報が作成されたとして
も、実際にそのバグ修正情報をプログラムに適用するこ
とが困難になっている。
Conventionally, a new execution module in which a bug is fixed is replaced after waiting for the old execution module before the bug correction information is applied. But OS,
In a long-running system such as a DBMS and a transaction processing system, since the execution modules are rarely stopped, the execution modules are not frequently replaced. Therefore, even if the bug correction information is created, it is difficult to actually apply the bug correction information to the program.

【0006】今後はシステムの無停止稼働の機会が増
え、上記の様な問題は益々深刻となることが予想され
る。フォールトトレラントシステムによって、ハードウ
ェア故障に起因したシステムダウンは減少させることが
できたとしても、この様なソフトウェアバグに起因した
システムダウンを減少させることは難しく、しかも処理
の高度化と、システムの無停止稼働化に伴って、ソフト
ウェアバグの問題は益々深刻になってきている。
[0006] In the future, it is expected that the chances of non-stop operation of the system will increase, and the above problems will become more serious. Even if the fault-tolerant system can reduce the system down caused by the hardware failure, it is difficult to reduce the system down caused by such a software bug. The problem of software bugs has become more and more serious with the suspension of operations.

【0007】[0007]

【発明が解決しようとする課題】このように従来のソフ
トウェア開発環境においては、プログラムのバグを発見
し、バグ修正情報を作成し、コンパイル/リンクして新
しい実行モジュールを作成したとしても、バグ修正情報
適用前の古い実行モジュールが停止される機会を待っ
て、実行モジュールを入れ換えなければならなかった。
すなわち、バグ修正情報のプログラムに対する適用に
は、システムの停止を伴い、バグを検出した時点で逐次
修正することができなかったために、計算機システムの
信頼性の向上を迅速に図ることができないという問題が
あった。
As described above, in the conventional software development environment, even if a bug of a program is found, bug correction information is created, and a new execution module is created by compiling / linking, bug correction is performed. The execution module had to be replaced after waiting for the opportunity to stop the old execution module before applying the information.
In other words, applying the bug correction information to the program involves stopping the system, and since the bugs could not be sequentially corrected when they were detected, the reliability of the computer system could not be improved quickly. was there.

【0008】本発明は前記のような事情を考慮してなさ
れたもので、システムを停止させることなく、実行中の
プログラムの部分的な置換を行なうことが可能なプログ
ラム置換方法を提供することを目的とする。
The present invention has been made in consideration of the above circumstances, and it is an object of the present invention to provide a program replacement method capable of partially replacing a program being executed without stopping the system. To aim.

【0009】[0009]

【課題を解決するための手段】本発明は、実行中のプロ
グラムのデータ構造と変更された前記プログラムの一部
を追加ロードするデータ構造/プログラム追加ロード手
段と、前記実行中のプログラムを一時的に停止させるプ
ログラム実行一時停止手段と、前記プログラム実行一時
停止手段によって停止された実行中のプログラムが使用
していたデータ構造から、前記データ構造/プログラム
追加ロード手段によって追加ロードされたデータ構造へ
データを変換して移動させるデータ変換移動手段と、前
記プログラム実行一時停止手段によって停止された前記
実行中のプログラムを、同プログラムに制御が渡った場
合に、前記データ構造/プログラム追加ロード手段によ
って追加ロードされたプログラムに制御が移るように前
記実行中のプログラムの一部を変更するプログラム制御
移行手段と、前記データ変換移動手段によるデータの移
動、及び前記プログラム制御移行手段によるプログラム
の変更が完了した後、前記プログラム実行一時停止手段
によって一時的に停止されていたプログラムの実行を再
開させるプログラム実行再開手段とを具備したことを特
徴とする。
According to the present invention, there is provided a data structure / program additional loading means for additionally loading a data structure of a program being executed and a part of the changed program, and a temporary execution of the program being executed. To the data structure additionally loaded by the data structure / program additional loading means from the data structure used by the program execution suspension means to be stopped by the program execution suspension means and the program being executed stopped by the program execution suspension means. And a data conversion moving means for converting and moving the program, and the program under execution stopped by the program execution temporary stopping means, when control is passed to the program, additional loading is performed by the data structure / program additional loading means. The running program so that control is transferred to the executed program. After the program control transfer means for changing a part of the program, the data transfer by the data conversion transfer means, and the program change by the program control transfer means are completed, the program execution temporary stop means temporarily stops. And a program execution resuming means for resuming execution of the conventional program.

【0010】また、前記データ構造/プログラム追加ロ
ード手段によって追加ロードされる前のデータ構造にア
クセスされた場合にトラップを発生させ、前記追加ロー
ドされたデータ構造に対してデータアクセスされるよう
にアクセスを変換する追加ロード前データアクセス手段
と、前記追加ロード前データアクセス手段による変換に
よってアクセスが完了した場合に、トラップから復帰さ
せるための追加ロード前データアクセス完了手段とをさ
らに具備したことを特徴とする。
Further, a trap is generated when the data structure before being additionally loaded by the data structure / program additional loading means is accessed, and the data structure is accessed so that the additional loaded data structure is accessed. And a pre-additional data access completion unit for returning from a trap when the access is completed by the conversion by the pre-additional data access unit. To do.

【0011】また、前記データ変換移動手段によってデ
ータが移動された追加ロードされたデータ構造から、前
記実行中のプログラムが使用していたデータ構造に、デ
ータを逆変換して移動させるデータ逆変換移動手段と、
前記実行中のプログラムに制御が渡った場合に、追加ロ
ードされたプログラムに制御を渡さないように前記実行
中のプログラムの一部を変更するプログラム制御移行中
止手段と、前記データ構造/プログラム追加ロード手段
によって追加ロードされたデータ構造とプログラムをア
ンロードする追加データ構造/プログラムアンロード手
段とをさらに具備したことを特徴とする。
Further, a data reverse conversion move for reversely converting and moving the data from the additionally loaded data structure to which the data has been moved by the data converting / moving means to the data structure used by the program being executed. Means and
Program control transfer stopping means for changing a part of the program being executed so as not to transfer control to the additionally loaded program when the program being executed is given control, and the data structure / program additional load It further comprises a data structure additionally loaded by the means and an additional data structure / program unloading means for unloading the program.

【0012】[0012]

【作用】このような構成によれば、プログラムのバグを
発見し、バグ修正情報を作成し、コンパイル/リンクし
て新しい実行モジュール(プログラム)を作成した場合
に、バグ修正情報適用前の古い実行モジュールの停止、
すなわちシステムの停止を待たずに、実行モジュールの
入れ換えが実行される。
With this configuration, when a bug in a program is found, bug fix information is created, and a new execution module (program) is created by compiling / linking, old execution before applying the bug fix information is performed. Stop the module,
That is, the execution modules are replaced without waiting for the system to stop.

【0013】プログラムの入れ換えに伴うデータ構造の
変更に対しては、元のデータ構造に対するアクセスがあ
った場合に、変換後のデータ構造に対するアクセスに変
換されるため、実行モジュール(プログラム)と共に、
データに関しても入れ換えが実行される。
With respect to the change of the data structure due to the replacement of the program, when the original data structure is accessed, it is converted into the access to the converted data structure. Therefore, together with the execution module (program),
The data is also replaced.

【0014】また、バグ修正情報が不適切であった場合
等には、バグ修正情報適用前の実行モジュールに制御を
戻して、少なくとも前の状態よりも悪くなってしまうこ
とを回避するが、その際にもシステム停止を伴うことが
不要とされる。
Further, when the bug correction information is inappropriate, the control is returned to the execution module before the bug correction information is applied, and at least it is prevented from becoming worse than the previous state. In this case, it is not necessary to stop the system.

【0015】[0015]

【実施例】以下、図面を参照して本発明の一実施例を説
明する。図1は本実施例に係わる計算機システムの概略
構成を示すブロック図である。計算機システム10に
は、プロセッサ12、メモリ14、及び記憶装置16が
設けられている。
An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing a schematic configuration of a computer system according to this embodiment. The computer system 10 is provided with a processor 12, a memory 14, and a storage device 16.

【0016】メモリ14には、プロセッサ12にロード
されて実行されるプログラムや各種データ等が格納され
る。図1においては、本発明によるプログラム置換を行
なう前には、実行中のプログラム18が格納されている
ものとする。実行中のプログラム18は、命令列からな
るプログラム20と、命令列によって処理されるデータ
構造22からなるものとする。また、プログラム置換の
実行時には、追加ロードされたプログラムとデータ構造
の一部24(追加ロードされたプログラム26、及び追
加ロードされたデータ構造28からなる)が格納され
る。
The memory 14 stores programs and various data loaded and executed by the processor 12. In FIG. 1, it is assumed that the program 18 being executed is stored before the program replacement according to the present invention. The program 18 being executed is assumed to be composed of a program 20 including an instruction sequence and a data structure 22 processed by the instruction sequence. Further, when the program replacement is executed, the additionally loaded program and a part of the data structure 24 (consisting of the additionally loaded program 26 and the additionally loaded data structure 28) are stored.

【0017】また、メモリ14には、本発明によるプロ
グラム置換機能を実現するプログラム置換プログラム
が、例えばOS(オペレーティングシステム)の一部と
して格納されている。プログラム置換機能については後
述する。また、メモリ14には、プログラム置換に伴っ
て、実行中のプログラムの一部(プログラム置換前の元
の命令)が格納される。
Further, the memory 14 stores a program replacement program for realizing the program replacement function according to the present invention, for example, as a part of an OS (operating system). The program replacement function will be described later. Further, the memory 14 stores a part of the program being executed (the original instruction before the program replacement) as the program is replaced.

【0018】記憶装置16は、例えばハードディスク装
置等によって構成されるもので、メモリ14中に格納さ
れた実行中のプログラム18に対応する、ソースプログ
ラム上で更新されコンパイル/リンクされたプログラム
18a等が格納されているものとする。
The storage device 16 is composed of, for example, a hard disk device or the like, and stores a program 18a updated and compiled / linked on the source program, which corresponds to the program 18 being executed stored in the memory 14. It is assumed to be stored.

【0019】図2は、プログラム置換プログラムによっ
て実現されるプログラム置換機能の構成を示すブロック
図である。図2に示すように、プログラム置換機能は、
データ構造/プログラム追加ロード手段30、データ変
換移動手段32、プログラム制御移行手段36、追加デ
ータ構造/プログラムアンロード手段38、データ逆変
換移動手段40、プログラム制御移行中止手段42、プ
ログラム実行一時停止手段44、プログラム実行再開手
段46、追加ロード前データアクセス手段48、及び追
加ロード前データアクセス完了手段52によって構成さ
れる。
FIG. 2 is a block diagram showing the structure of the program replacement function realized by the program replacement program. As shown in FIG. 2, the program replacement function is
Data structure / program additional loading means 30, data conversion moving means 32, program control transfer means 36, additional data structure / program unloading means 38, data reverse conversion moving means 40, program control transfer stopping means 42, program execution temporary stopping means 44, program execution resuming means 46, pre-additional data access means 48, and pre-additional data access completion means 52.

【0020】データ構造/プログラム追加ロード手段3
0、データ変換移動手段32、及びプログラム制御移行
手段36は、実行中のプログラムを置換する際に機能す
るプログラム置換部54を構成する。
Data structure / program additional loading means 3
0, the data conversion moving means 32, and the program control transfer means 36 constitute a program replacement unit 54 that functions when replacing the program being executed.

【0021】また、追加データ構造/プログラムアンロ
ード手段38、データ逆変換移動手段40、及びプログ
ラム制御移行中止手段42は、プログラム置換部54の
各機能によって置換されたプログラムを元の状態に戻す
プログラム逆置換部56を構成する。
Further, the additional data structure / program unloading means 38, the data reverse conversion moving means 40, and the program control transition stopping means 42 are programs for returning the program replaced by each function of the program replacing section 54 to the original state. The reverse replacement unit 56 is configured.

【0022】データ構造/プログラム追加ロード手段3
0は、実行中のプログラム18に対して置換すべきプロ
グラム18aをメモリ14にロード(追加ロードされた
プログラム26、及び追加ロードされたデータ構造2
8)するものである。
Data structure / program additional loading means 3
0 loads the program 18a to be replaced with respect to the running program 18 into the memory 14 (the additionally loaded program 26 and the additionally loaded data structure 2).
8) to do.

【0023】データ変換移動手段32は、プログラム置
換を実行する際に、実行中のプログラム18のデータ構
造22のデータを、データ構造/プログラム追加ロード
手段30によってメモリ14に追加ロードされたデータ
構造28に変換して書き込むと共に、実行中のプログラ
ムのデータ構造28に関してはアクセス禁止状態にする
ものである。データ変換移動手段32は、データ構造を
変換する際に変換規則に関する情報(変換規則情報3
4)を参照し、また変換規則情報34に基づいて変換し
て書き込んだデータが存在する位置に関する情報(移動
規則情報50)を作成する。なお、移動規則情報50
は、追加ロード前データアクセス手段48によってアク
セス変換を行なう際に参照されるものである。
When executing the program replacement, the data conversion / moving means 32 additionally loads the data of the data structure 22 of the program 18 being executed into the memory 14 by the data structure / program additional loading means 30. The data structure 28 of the program being executed is converted into and written into, and the access is prohibited. The data conversion moving means 32 converts the data structure into information about conversion rules (conversion rule information 3).
4) is referred to, and based on the conversion rule information 34, the information (movement rule information 50) regarding the position where the converted and written data exists is created. The movement rule information 50
Is referred to when the access conversion is performed by the pre-additional data access unit 48.

【0024】プログラム制御移行手段36は、実行中の
プログラム18中の置換されるべきプログラムの命令が
実行されず、データ構造/プログラム追加ロード手段3
0によってメモリ14に追加ロードされたプログラムが
実行されるように、プログラムの命令の一部を変更する
ものである。
The program control transfer means 36 does not execute the instruction of the program to be replaced in the running program 18, and the data structure / program additional loading means 3
A part of the instructions of the program is changed so that the program additionally loaded in the memory 14 by 0 is executed.

【0025】追加データ構造/プログラムアンロード手
段38は、プログラム置換のためにデータ構造/プログ
ラム追加ロード手段30によって追加ロードされたデー
タ構造とプログラムの一部24を、例えば誤りが含まれ
ていたために追加ロードされたプログラム/データ構造
の実行が中止された際にアンロードするものである。
The additional data structure / program unloading means 38 includes the data structure and the part 24 of the program additionally loaded by the data structure / program additional loading means 30 for program replacement, for example, because an error is included. It is to be unloaded when the execution of the additionally loaded program / data structure is stopped.

【0026】データ逆変換移動手段40は、置換された
プログラムを元のプログラムに戻す場合に、追加ロード
されたデータ構造28中のデータを読み込み、元々のデ
ータ構造22に逆変換して書き込むと共に、元のデータ
構造22がアクセスができるようにアクセス許可状態に
するものである。
When the replaced program is returned to the original program, the data reverse conversion moving means 40 reads the data in the additionally loaded data structure 28, reversely converts it into the original data structure 22, and writes it. The original data structure 22 is set in an access permitted state so that it can be accessed.

【0027】プログラム制御移行中止手段42は、プロ
グラム置換の際にプログラム制御移行手段36によって
変更された命令を置換前の元の命令に逆変換し、プログ
ラム置換前のプログラムが実行されるようにするもので
ある。
The program control transition stopping means 42 reversely converts the instruction changed by the program control transition means 36 into the original instruction before the replacement so that the program before the program replacement is executed. It is a thing.

【0028】プログラム実行一時停止手段44は、プロ
グラム置換部54におけるプログラム置換を行なう際、
及びプログラム逆置換部56によってプログラムの逆置
換を行なう際に、プロセッサ12による現在実行中のプ
ログラム実行を一時停止させるものである。
The program execution suspension means 44, when performing the program replacement in the program replacement section 54,
When the program reverse replacement unit 56 performs the reverse replacement of the program, the program execution currently being executed by the processor 12 is temporarily stopped.

【0029】プログラム実行再開手段46は、プログラ
ム実行一時停止手段44によって現在実行中のプログラ
ム実行が一時停止されている間に、プログラム置換部5
4におけるプログラム置換、あるいはプログラム逆置換
部56によってプログラムの逆置換が完了した後、実行
中のプログラムの実行を再開させるものである。
The program execution resuming means 46 is provided for the program replacing section 5 while the program execution currently being executed is being suspended by the program execution suspending means 44.
After the program replacement in step 4 or the program reverse replacement section 56 completes the reverse replacement of the program, the execution of the program being executed is restarted.

【0030】追加ロード前データアクセス手段48は、
アクセスが禁止されたデータにアクセスする場合に発生
されたトラップによって起動され、アクセス禁止された
データ構造へのアクセスを、追加ロードされ置換された
データ構造へのアクセスに変換するものである。
The pre-additional data access means 48 is
Triggered by a trap generated when accessing prohibited data, it converts an access to an access prohibited data structure into an access to an additionally loaded and replaced data structure.

【0031】追加ロード前データアクセス完了手段52
は、アクセスが禁止されたデータにアクセスする場合に
発生されたトラップを、追加ロード前データアクセス手
段48による変換によってアクセスを終えた後で、トラ
ップから復帰して通常の処理を再開させるものである。
Pre-additional data access completion means 52
Is for returning a trap generated when accessing the access-prohibited data by the conversion by the pre-additional data access means 48 to the normal state and returning from the trap. .

【0032】次に、本実施例の動作について、図3及び
図4に示すフローチャートを参照しながら説明する。ま
ず、実行中のプログラムの一部を置換する動作につい
て、図3を用いて説明する。
Next, the operation of this embodiment will be described with reference to the flow charts shown in FIGS. First, the operation of replacing a part of the program being executed will be described with reference to FIG.

【0033】計算機システム10では、メモリ14上に
プログラム18がロードされ、プロセッサ12によっ
て、そのプログラムを実行している。実行中のプログラ
ム18は、命令列からなるプログラムと、命令列によっ
て処理されるデータ構造からなる。ここで、実行中のプ
ログラム18のプログラムの一部20と、データ構造の
一部22に、例えばバグが検出されるなどして変更する
必要が生じたものとする。
In the computer system 10, a program 18 is loaded on the memory 14 and the processor 12 executes the program. The program 18 being executed is composed of a program including an instruction sequence and a data structure processed by the instruction sequence. Here, it is assumed that it is necessary to change the part 20 of the program 18 and the part 22 of the data structure of the program 18 being executed, for example, because a bug is detected.

【0034】そこで、変更すべきプログラムの一部20
と、データ構造の一部22のみをソースプログラム上で
更新し、コンパイル/リンクして得られたプログラム1
8aが記憶装置16に用意される。
Therefore, a part 20 of the program to be changed
And a program 1 obtained by updating / compiling / linking only a part 22 of the data structure on the source program.
8a is prepared in the storage device 16.

【0035】データ構造/プログラム追加ロード手段3
0は、記憶装置16に格納された更新されたプログラム
18aをメモリ14上に追加ロードする(ステップ
A)。メモリ14上に追加ロードされたプログラムとデ
ータ構造の一部が24である。追加ロードされたプログ
ラムとデータ構造の一部24は、追加ロードされたプロ
グラム26と、追加ロードされたデータ構造28を含ん
でいる。
Data structure / program additional loading means 3
0 additionally loads the updated program 18a stored in the storage device 16 onto the memory 14 (step A). A part of the program and data structure additionally loaded on the memory 14 is 24. The additional loaded program and data structure portion 24 includes an additional loaded program 26 and an additional loaded data structure 28.

【0036】しかし更新したプログラムとデータ構造の
一部24をメモリ14上に追加ロードしただけでは、実
行中のプログラム18自体は何の影響も受けてなく、プ
ログラムの変更を行なうという事に関しては意味が無
い。そこで、以下のようなプログラム置換の処理を実行
する。
However, simply by additionally loading the updated program and a part 24 of the data structure onto the memory 14, the program 18 being executed is not affected by anything, and the meaning of changing the program is significant. There is no. Therefore, the following program replacement processing is executed.

【0037】まず、プログラム実行一時停止手段44
は、実行中のプログラム18の実行を一時停止させる
(ステップA2)。実行中のプログラム18が停止され
ると、データ変換移動手段32は、実行中のプログラム
のデータ構造22中のデータを読み込み、変換規則情報
34に基づいて、変換後のデータ構造に対応するデータ
に変換し、追加ロードされたデータ構造28中に書き込
む(ステップA3)。そして、実行中のプログラムのデ
ータ構造22に関してはアクセスができないようにアク
セス禁止状態にする。なお、データ構造の変換規則情報
34は、変更すべきプログラムの一部20と、データ構
造の一部22のみをソースプログラム上で更新し、コン
パイル/リンクした際に作成され、プログラム置換を開
始する前に、メモリ14に格納される。変換規則情報3
4の詳細については後述する。
First, the program execution suspension means 44
Causes the execution of the running program 18 to be temporarily stopped (step A2). When the program 18 being executed is stopped, the data conversion moving means 32 reads the data in the data structure 22 of the program being executed, and based on the conversion rule information 34, changes the data corresponding to the converted data structure. The data is converted and written in the additionally loaded data structure 28 (step A3). Then, the data structure 22 of the program being executed is put in an access prohibited state so that it cannot be accessed. The data structure conversion rule information 34 is created when only the part 20 of the program to be changed and the part 22 of the data structure are updated on the source program and compiled / linked, and program replacement is started. Before, it is stored in the memory 14. Conversion rule information 3
The details of 4 will be described later.

【0038】また、プログラム制御移行手段36は、実
行中のプログラム20のプログラム置換をすべき位置を
示すエントリポイントの命令を、追加ロードされたプロ
グラム26のエントリポイントに無条件分岐する命令に
置き換える(ステップA4)。また、プログラム制御移
行手段36は、無条件分岐する命令に置換される前の元
の命令を保存しておく。
Further, the program control transfer means 36 replaces the instruction of the entry point indicating the position where the program replacement is to be performed in the program 20 being executed with an instruction that unconditionally branches to the entry point of the additionally loaded program 26 ( Step A4). The program control transfer means 36 also stores the original instruction before it is replaced with the instruction that branches unconditionally.

【0039】これによって、実行中のプログラム18の
プログラムEとデータ構造22が変更され、プログラム
/データ構造を実行する準備が完了したので、プログラ
ム実行再開手段46は、実行中のプログラム18の実行
を再開させる(ステップA5)。
As a result, the program E and the data structure 22 of the program 18 being executed are changed, and the preparation for executing the program / data structure is completed. Therefore, the program execution resuming means 46 executes the program 18 being executed. It is restarted (step A5).

【0040】図5にはプログラム置換の具体例を示して
いる。図5(a)はプログラム更新前の状態、図5
(b)はプログラム更新後の状態を示している。更新前
のプログラム20は、図5(a)に示すように、「レジ
スタの値を保存する」という命令を含む処理ルーチンで
あり、他の呼び出し側からの要求によって実行され、一
連の命令の実行が完了すると呼び出し側に戻るものであ
る。更新前のプログラム20のエントリポイントの命令
は「レジスタの値を保存する」命令となっている。
FIG. 5 shows a specific example of program replacement. FIG. 5A is a state before the program is updated, and FIG.
(B) shows the state after the program is updated. As shown in FIG. 5A, the pre-update program 20 is a processing routine including an instruction to “store the value of a register”, is executed by a request from another calling side, and executes a series of instructions. Will return to the caller when is completed. The instruction of the entry point of the program 20 before the update is the instruction of “saving the value of the register”.

【0041】前述したようなプログラム置換を実行する
と、図5(b)に示すように、更新前のプログラム20
のエントリポイントの「レジスタの値を保存する」とい
う命令は、更新後のプログラム26に無条件分岐する命
令に置換される。
When the program replacement as described above is executed, as shown in FIG.
The instruction "store the value of the register" at the entry point is replaced with an instruction that unconditionally branches to the updated program 26.

【0042】なお、プログラム置換前の命令(「レジス
タの値を保存する」)は、予め置換前に保存されてい
る。置換前の命令を保存しておくことにより、後述する
更新されたプログラムを元に戻す逆変換の処理を実行す
る際に、無条件分岐する命令に置換されてしまった更新
前のプログラムのエントリポイントの命令を元に戻すこ
とができる。
The instruction before program replacement ("save register value") is previously stored before replacement. By saving the instruction before replacement, the entry point of the program before update that has been replaced by the unconditional branch instruction when performing the reverse conversion process to restore the updated program described later Can be undone.

【0043】追加ロードされたプログラム26に制御が
移った場合は、通常通りに処理が行なわれる。また、追
加ロードされた更新後のプログラム26によって、更新
前のプログラム20に制御が渡った場合は、エントリポ
イントの命令が、追加ロードされたプログラム26のエ
ントリポイントへの無条件分岐命令に置き換えられてい
るので、プログラム20は実行されず、追加ロードされ
たプログラム26に制御が渡る。
When the control is transferred to the additionally loaded program 26, the processing is performed as usual. When control is passed to the pre-update program 20 by the additionally loaded updated program 26, the instruction at the entry point is replaced with an unconditional branch instruction to the entry point of the additionally loaded program 26. Therefore, the program 20 is not executed, and the control is transferred to the additionally loaded program 26.

【0044】これによって、プログラム20に代えてプ
ログラム26による通常通りの処理が実行される。ま
た、追加ロードされたプログラム26は、追加ロードさ
れたデータ構造28にアクセスする場合は、通常通りに
処理を実行する。
As a result, the normal processing by the program 26 instead of the program 20 is executed. Further, when the additionally loaded program 26 accesses the additionally loaded data structure 28, the additionally loaded program 26 executes the processing as usual.

【0045】ところで、元の実行中のプログラム18か
ら、置換されたデータ構造22にアクセスする場合は、
データ構造22へのアクセスがデータ変換移動手段32
によって禁止されているのでトラップが発生する。
By the way, when the replaced data structure 22 is accessed from the original running program 18,
Access to the data structure 22 is performed by the data conversion moving means 32.
Since it is prohibited by, a trap will occur.

【0046】このトラップによって追加ロード前データ
アクセス手段48が呼び出される。追加ロード前データ
アクセス手段48は、元のデータ構造22へのアクセス
を、移動規則情報50に基づいて、追加ロードされたデ
ータ構造28へのアクセスに変換する。そして、アクセ
スを終えた後で、追加ロード前データアクセス完了手段
52は、トラップから復帰させて、通常通りの処理を再
開させる。なお、移動規則情報50は、データ変換移動
手段32が追加ロードされたデータ構造28にデータを
変換して書き込む際に作成され、メモリ14に格納され
る。移動規則情報50及びアクセスの変換の詳細につい
ては後述する。
The pre-additional data access means 48 is called by this trap. The pre-additional data access unit 48 converts the access to the original data structure 22 into the access to the additionally loaded data structure 28 based on the movement rule information 50. Then, after the access is completed, the pre-additional-load data access completion means 52 returns from the trap and resumes the normal processing. The migration rule information 50 is created when the data conversion migration means 32 converts and writes data in the additionally loaded data structure 28, and is stored in the memory 14. Details of the movement rule information 50 and access conversion will be described later.

【0047】次に、置換したプログラムの実行を中止し
て、更新されたプログラムを元に戻す逆変換の動作につ
いて、図4に示すフローチャートを参照しながら説明す
る。例えば、追加ロードしたプログラム26またはデー
タ構造28に誤りが発見された場合等では、プログラム
置換を実行する前の状態に戻すことで、少なくとも元の
プログラムにおけるバグの影響を越える障害等の発生を
回避させることができる。
Next, the operation of inverse conversion for stopping the execution of the replaced program and restoring the updated program will be described with reference to the flowchart shown in FIG. For example, when an error is found in the additionally loaded program 26 or the data structure 28, by returning to the state before executing the program replacement, at least the occurrence of a failure exceeding the influence of the bug in the original program is avoided. Can be made.

【0048】追加ロードされたプログラム26/データ
構造28の実行を中止したい場合は、まず、プログラム
実行一時停止手段44によって実行中のプログラム18
(追加ロードされたデータ構造とプログラムの一部24
を含む)の実行を一時停止させる(ステップB1)。
When it is desired to stop the execution of the additionally loaded program 26 / data structure 28, first, the program 18 being executed by the program execution suspension means 44 is executed.
(Additionally loaded data structure and program part 24
Execution is suspended (step B1).

【0049】実行中のプログラム18が停止されると、
データ逆変換移動手段40は、追加ロードされたデータ
構造28中のデータを読み込み、変換規則情報34に基
づいて、元のデータ構造に対応するデータに変換し、元
のデータ構造22に逆変換して書き込む(ステップB
2)。そして、元のデータ構造22がアクセスができる
ようにアクセス許可状態にする。
When the running program 18 is stopped,
The data reverse conversion moving means 40 reads the data in the additionally loaded data structure 28, converts it into data corresponding to the original data structure based on the conversion rule information 34, and reversely converts it into the original data structure 22. Write (Step B
2). Then, the access permission state is set so that the original data structure 22 can be accessed.

【0050】また、プログラム制御移行中止手段42
は、実行中のプログラム20のエントリポイントの命令
を、無条件分岐する命令で置き換える前に保存しておい
てた元の命令に置き換える(ステップB3)。
Further, the program control transition stopping means 42
Replaces the instruction at the entry point of the program 20 being executed with the original instruction stored before the replacement with the instruction for unconditional branching (step B3).

【0051】これによって、実行中のプログラム18の
プログラム20とデータ構造22が元の状態に戻ったの
で、プログラム実行再開手段46は、実行中のプログラ
ム18の実行を再開させる(ステップB4)。
As a result, the program 20 and the data structure 22 of the program 18 being executed have returned to the original state, and the program execution resuming means 46 restarts the execution of the program 18 being executed (step B4).

【0052】追加データ構造/プログラムアンロード手
段38は、メモリ14に追加ロードしてあった更新後の
データ構造/プログラムを、記憶装置16にアンロード
する(ステップB5)。
The additional data structure / program unloading means 38 unloads the updated data structure / program additionally loaded into the memory 14 into the storage device 16 (step B5).

【0053】次に、データ構造の変換規則情報の詳細に
ついて説明する。変換規則情報は、プログラム置換に伴
う更新前のデータ構造と更新後のデータ構造との対応関
係を定義するもので、各データ毎に、データタイプとそ
れらのデータが存在する位置を示すデータ構造の先頭か
らのオフセットとの組が対応づけられて格納されてい
る。
Next, details of the conversion rule information of the data structure will be described. The conversion rule information defines the correspondence between the pre-update data structure and the post-update data structure that accompany program replacement. For each data, the data type and the data structure indicating the position where those data exist. A pair with the offset from the beginning is stored in association with each other.

【0054】図6はデータ構造の変換規則の1番目の例
を示す図である。更新前のデータ構造Aは、図6(a)
に示すように、long integer型のA1、s
hort integer型のA2、short in
teger型のA3から構成されているものとする。な
お、図6及び図7に示す例では、例えばlong in
teger型が4バイト、short integer
型が2バイトであるものとする。
FIG. 6 is a diagram showing a first example of a data structure conversion rule. The data structure A before the update is shown in FIG.
As shown in, the long integer type A1, s
A2 of short integer type, short in
It is assumed to be composed of a tger type A3. In the examples shown in FIGS. 6 and 7, for example, long in
4-byte type, short integer
Let the type be 2 bytes.

【0055】また、更新後のデータ構造aは、図6
(b)に示すように、long integer型のa
1、long integer型のa2、long i
nteger型のa3から構成されているものとする。
The updated data structure a is as shown in FIG.
As shown in (b), a long integer type a
1, long integer type a2, long i
It is assumed to be composed of an integer type a3.

【0056】この時、変換規則情報Aaは、図6(c)
に示すような関係で定義される。すなわち、データ構造
Aのオフセット0からのlong integer型の
変数は、データ構造aのオフセット0からのlong
integer型の変数に対応し、同様にしてデータ構
造Aのオフセット4からのshort integer
型の変数はデータ構造aのオフセット4からのlong
integer型の変数に対応し、データ構造Aのオ
フセット6からのshort integer型の変数
はデータ構造aのオフセット8からのlong int
eger型の変数に対応している。
At this time, the conversion rule information Aa is as shown in FIG.
It is defined by the relationship shown in. That is, the variable of the long integer type from the offset 0 of the data structure A is the long from the offset 0 of the data structure a.
Corresponding to an integer type variable, similarly, short integer from offset 4 of data structure A
Type variable is long from offset 4 in data structure a
Corresponding to the integer type variable, the short integer type variable from the offset 6 of the data structure A is the long int from the offset 8 of the data structure a.
It corresponds to the variable of the egger type.

【0057】図7はデータ構造の変換規則の2番目の例
を示す図である。更新前のデータ構造Bは、図7(a)
に示すように、long integer型のB1、l
ong integer型のB2から構成されているも
のとする。
FIG. 7 is a diagram showing a second example of the data structure conversion rule. The data structure B before the update is shown in FIG.
As shown in, the long integer type B1, l
It is assumed that it is composed of an on integer type B2.

【0058】また、更新後のデータ構造bは、図7
(b)に示すように、long integer型のb
1、long integer型のb2、long i
nteger型のb3から構成されているものとする。
The updated data structure b is shown in FIG.
As shown in (b), a long integer type b
1, long integer type b2, long i
It is assumed to be composed of an integer type b3.

【0059】この時、変換規則Bbは、図7(c)に示
すような関係で定義される。すなわち、データ構造Bの
オフセット0からのlong integer型の変数
はデータ構造bのオフセット0からのlong int
eger型の変数に対応し、データ構造Bのオフセット
4からのlong integer型の変数はデータ構
造bのオフセット4からのlong integer型
の変数に対応し、データ構造bのオフセット8からのl
ong integer型の変数は新たに追加されてい
る。
At this time, the conversion rule Bb is defined by the relationship shown in FIG. 7 (c). That is, a long integer type variable from offset 0 of data structure B is a long int from offset 0 of data structure b.
Corresponding to the variable of the integer type, the variable of the long integer type from the offset 4 of the data structure B corresponds to the variable of the long integer type from the offset 4 of the data structure b, and l from the offset 8 of the data structure b.
A new variable of the ong integer type is added.

【0060】データ変換移動手段32は、図6(c)ま
たは図7(c)に示すような変換規則情報に基づいて、
実行中のプログラム18のデータ構造22のデータを、
追加ロードされたデータ構造28に合わせて変換して書
き込むことができる。
The data conversion moving means 32, based on the conversion rule information as shown in FIG. 6C or 7C,
Data of the data structure 22 of the program 18 being executed is
It can be converted and written according to the additionally loaded data structure 28.

【0061】また、データ逆変換移動手段40は、同様
にして変換規則情報に基づいて、追加ロードされたデー
タ構造28のデータを、元のデータ構造22に合わせて
変換して書き込むことができるので、プログラム置換の
前の元の状態にすることができる。
Further, the data reverse conversion moving means 40 can similarly convert the data of the additionally loaded data structure 28 into the original data structure 22 and write it based on the conversion rule information. , Can be returned to the original state before the program replacement.

【0062】なお、図6及び図7では、integer
型のデータ型についてのみ示しているが、他のデータ型
に応用することも可能である。次に、移動規則情報、及
び追加ロードされたデータ構造へのアクセス(アクセス
の変換)について詳細を説明する。移動規則情報は、プ
ログラム置換に伴う更新前のデータ構造と更新後のデー
タ構造のそれぞれにおけるデータの位置の対応関係を定
義するもので、データが位置する開始番地とそれらのデ
ータ長との組が対応づけられて格納されている。
In FIG. 6 and FIG. 7, the integer
Only the data type of the type is shown, but it can be applied to other data types. Next, the movement rule information and access to the additionally loaded data structure (access conversion) will be described in detail. The migration rule information defines the correspondence relationship between the data positions in the pre-update data structure and the post-update data structure associated with program replacement, and the combination of the start address where the data is located and their data length. It is associated and stored.

【0063】図8は追加ロードされたデータ構造へのア
クセスの例を示す図である。なお、図8ではページ単位
でアクセス制御されるものとする。また、アクセス制御
は、例えばページ毎に設けられた保護ビットに“1”を
セットすることにより、アクセス禁止にする方式がとら
れる。
FIG. 8 is a diagram showing an example of access to the additionally loaded data structure. Note that in FIG. 8, access control is performed on a page-by-page basis. For access control, for example, a protection bit provided for each page is set to "1" to prohibit access.

【0064】図8(a)は更新前のデータ構造(データ
構造22)を含むページPで、プログラム置換に伴って
アクセス禁止状態にされているものとする。このページ
Pの中にはX番地にlong integer型の変数
からなるデータ構造Aが存在し、Y番地に2つのsho
rt integer型の変数からなるデータ構造Bが
存在している。
FIG. 8A shows a page P including the data structure (data structure 22) before update, and it is assumed that the access is prohibited due to the program replacement. In this page P, there is a data structure A consisting of long integer type variables at address X and two sho at address Y.
There is a data structure B consisting of rt integer type variables.

【0065】図8(b)は更新後のデータ構造(データ
構造28)を含むページQで、アクセス可能状態になっ
ている。このページQの中にはZ番地に2つのlong
integer型の変数からなるデータ構造bが存在
している。データ構造bは、図8(a)中のデータ構造
Bを更新したものである。
FIG. 8B shows a page Q including the updated data structure (data structure 28) in an accessible state. In this page Q, there are two longs at address Z.
There is a data structure b consisting of integer type variables. The data structure b is an update of the data structure B in FIG.

【0066】ページPはアクセス禁止状態になっている
ので、このページ上に存在する全てのデータ構造へのア
クセスにおいてトラップが発生する。トラップが発生し
た場合は、追加ロード前データアクセス手段48が呼び
出される。追加ロード前データアクセス手段48は、ト
ラップ処理の中で、図8(c)に示すような移動規則情
報Rを検査する。
Since page P is in an access prohibited state, a trap occurs when accessing all the data structures existing on this page. When the trap occurs, the pre-additional-load data access unit 48 is called. The pre-additional-load data access unit 48 checks the movement rule information R as shown in FIG. 8C during the trap processing.

【0067】追加ロード前データアクセス手段48は、
移動規則情報Rを参照して、トラップが発生した場合
に、そのページ上のデータ構造にアクセスすべきか、あ
るいはデータ構造が更新されているため他のデータ構造
にアクセスすべきかを判定することができる。
The data access means 48 before additional loading is
When the trap occurs, it is possible to determine whether to access the data structure on the page or to access another data structure because the data structure has been updated by referring to the movement rule information R. .

【0068】例えば、ページPのX番地のデータ構造A
にアクセスしてトラップが発生した場合、X番地からの
データ構造Aが移動規則Rに登録されていないので、追
加ロード前データアクセス手段48は、ページP上のX
番地のデータ構造Aにアクセスさせる。
For example, the data structure A at address X of page P
When a trap is generated by accessing the X, since the data structure A from the address X is not registered in the movement rule R, the pre-additional-load data access unit 48 uses the X on page P
The data structure A of the address is accessed.

【0069】一方、Y番地のデータ構造Bにアクセスし
てトラップが発生した場合、Y番地からのデータ構造B
が移動規則Rに登録されているので、追加ロード前デー
タアクセス手段48は、ページP上のY番地のデータ構
造Bの代わりに、ページQ上にZ番地のデータ構造bに
アクセスさせる。
On the other hand, when the data structure B of the address Y is accessed and a trap occurs, the data structure B from the address Y is accessed.
Is registered in the movement rule R, the pre-additional-load data access unit 48 causes the data structure b at address Z on page Q to be accessed instead of the data structure B at address Y on page P.

【0070】こうして、移動規則情報に応じてアクセス
を変換するので、プログラム置換を行なう際に、追加ロ
ードされたデータ構造28に対しても正しくアクセスす
ることができる。
In this way, since the access is converted according to the movement rule information, it is possible to correctly access the additionally loaded data structure 28 when the program is replaced.

【0071】このようにして、実行中のプログラム18
にバグが検出された場合に、バグ修正情報を作成し、こ
のバグ修正情報が適用されたプログラムを改めてコンパ
イル/リンクして新しい実行モジュールを作成した場合
に、実行中のプログラムが停止されるシステム停止の機
会を待つことなく、適宜、プログラム置換機能による追
加ロードされたプログラム26及びデータ構造28の置
換によって修正することができる。
In this way, the program 18 being executed is
When a bug is detected in the system, the bug fix information is created, and when the program to which this bug fix information is applied is compiled and linked again to create a new execution module, the running program is stopped. It can be corrected by replacing the additionally loaded program 26 and data structure 28 by the program replacement function without waiting for the opportunity to stop.

【0072】追加ロードされたデータ構造28に対して
は、追加ロードされる前の元のデータ構造22に対する
アクセスがあった場合にトラップを発生させて、トラッ
プ処理のなかでアクセス変換を行なうことによって、ア
クセスできるように制御される。
For the additionally loaded data structure 28, a trap is generated when the original data structure 22 before being additionally loaded is accessed, and access conversion is performed in the trap processing. Controlled to be accessible.

【0073】また、追加ロードしたプログラム26また
はデータ構造28に誤りが発見された場合でも、システ
ム停止の機会を待つことなく、バグ修正情報適用前の状
態に制御を戻すことができる。
Further, even if an error is found in the additionally loaded program 26 or data structure 28, the control can be returned to the state before applying the bug correction information without waiting for the opportunity to stop the system.

【0074】[0074]

【発明の効果】以上詳述したように本発明によれば、シ
ステムを停止させることなく、実行中のプログラムの部
分的な置換を行なうことが可能となるものである。
As described above in detail, according to the present invention, it is possible to partially replace the program being executed without stopping the system.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例に係わる計算機システムの概
略構成を示すブロック図。
FIG. 1 is a block diagram showing a schematic configuration of a computer system according to an embodiment of the present invention.

【図2】本発明によるプログラム置換機能の構成を示す
ブロック図。
FIG. 2 is a block diagram showing the configuration of a program replacement function according to the present invention.

【図3】本実施例におけるプログラム置換の動作を説明
するためのフローチャート。
FIG. 3 is a flowchart for explaining a program replacement operation in this embodiment.

【図4】本実施例におけるプログラム逆変換の動作を説
明するためのフローチャート。
FIG. 4 is a flowchart for explaining the operation of the program reverse conversion in the present embodiment.

【図5】本実施例におけるプログラム置換の具体例を示
す図。
FIG. 5 is a diagram showing a specific example of program replacement in the present embodiment.

【図6】本実施例におけるデータ構造の変換規則の1番
目の例を示す図。
FIG. 6 is a diagram showing a first example of a data structure conversion rule in the present embodiment.

【図7】本実施例におけるデータ構造の変換規則の2番
目の例を示す図。
FIG. 7 is a diagram showing a second example of a data structure conversion rule in the present embodiment.

【図8】本実施例における追加ロードされたデータ構造
へのアクセス(アクセスの変換)を説明するための図。
FIG. 8 is a diagram for explaining an access (access conversion) to an additionally loaded data structure in the present embodiment.

【符号の説明】[Explanation of symbols]

10…計算機システム、12…プロセッサ、14…メモ
リ、16…記憶装置、18…実行中のプログラム、2
0,26…プログラム、22,28…データ構造、24
…追加ロードされたプログラムとデータ構造の一部、3
0…データ構造/プログラム追加ロード手段、32…デ
ータ変換移動手段、34…変換規則情報、36…プログ
ラム制御移行手段、38…追加データ構造/プログラム
アンロード手段、40…データ逆変換移動手段、42…
プログラム制御移行中止手段、44…プログラム実行一
時停止手段、46…プログラム実行再開手段、48…追
加ロード前データアクセス手段、50…移動規則情報、
52…追加ロード前データアクセス完了手段、54…プ
ログラム置換部、56…プログラム逆置換部。
10 ... Computer system, 12 ... Processor, 14 ... Memory, 16 ... Storage device, 18 ... Running program, 2
0, 26 ... Program, 22, 28 ... Data structure, 24
… Part of the additionally loaded program and data structure, 3
0 ... Data structure / program additional loading means, 32 ... Data conversion moving means, 34 ... Conversion rule information, 36 ... Program control transfer means, 38 ... Additional data structure / program unloading means, 40 ... Data reverse conversion moving means, 42 …
Program control transition stopping means, 44 ... Program execution temporary stopping means, 46 ... Program execution restarting means, 48 ... Pre-additional data access means, 50 ... Moving rule information,
52 ... Pre-additional data access completion means, 54 ... Program replacement section, 56 ... Program reverse replacement section

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 計算機システムにおいて、 実行中のプログラムのデータ構造と変更された前記プロ
グラムの一部を追加ロードするデータ構造/プログラム
追加ロード手段と、 前記実行中のプログラムを一時的に停止させるプログラ
ム実行一時停止手段と、 前記プログラム実行一時停止手段によって停止された実
行中のプログラムが使用していたデータ構造から、前記
データ構造/プログラム追加ロード手段によって追加ロ
ードされたデータ構造へデータを変換して移動させるデ
ータ変換移動手段と、 前記プログラム実行一時停止手段によって停止された前
記実行中のプログラムを、同プログラムに制御が渡った
場合に、前記データ構造/プログラム追加ロード手段に
よって追加ロードされたプログラムに制御が移るように
前記実行中のプログラムの一部を変更するプログラム制
御移行手段と、 前記データ変換移動手段によるデータの移動、及び前記
プログラム制御移行手段によるプログラムの変更が完了
した後、前記プログラム実行一時停止手段によって一時
的に停止されていたプログラムの実行を再開させるプロ
グラム実行再開手段と、 を具備したことを特徴とする計算機システム。
1. In a computer system, a data structure / program additional loading means for additionally loading a data structure of a program being executed and a part of the changed program, and a program for temporarily stopping the program being executed. Data is converted from the data structure used by the execution suspension means and the program being executed stopped by the program execution suspension means to the data structure additionally loaded by the data structure / program additional loading means. The data conversion moving means for moving, and the program being executed stopped by the program execution temporary stopping means, when control is passed to the program, the program additionally loaded by the data structure / program additional loading means Control is transferred to the running professional After the program control transfer means for changing a part of the RAM, the movement of the data by the data conversion transfer means, and the change of the program by the program control transfer means are completed, the program execution temporary stop means temporarily stops. And a program execution resuming means for resuming execution of the conventional program.
【請求項2】 前記データ構造/プログラム追加ロード
手段によって追加ロードされる前のデータ構造にアクセ
スされた場合にトラップを発生させ、前記追加ロードさ
れたデータ構造に対してデータアクセスされるようにア
クセスを変換する追加ロード前データアクセス手段と、 前記追加ロード前データアクセス手段による変換によっ
てアクセスが完了した場合に、トラップから復帰させる
ための追加ロード前データアクセス完了手段と、 をさらに具備したことを特徴とする請求項1記載の計算
機システム。
2. A trap is generated when the data structure before being additionally loaded by the data structure / program additional loading means is accessed, and the data structure is accessed so that the additional loaded data structure is accessed. And a pre-additional data access completion unit for returning from the trap when the access is completed by the conversion by the pre-additional data access unit. The computer system according to claim 1.
【請求項3】 前記データ変換移動手段によってデータ
が移動された追加ロードされたデータ構造から、前記実
行中のプログラムが使用していたデータ構造に、データ
を逆変換して移動させるデータ逆変換移動手段と、 前記実行中のプログラムに制御が渡った場合に、追加ロ
ードされたプログラムに制御を渡さないように前記実行
中のプログラムの一部を変更するプログラム制御移行中
止手段と、 前記データ構造/プログラム追加ロード手段によって追
加ロードされたデータ構造とプログラムをアンロードす
る追加データ構造/プログラムアンロード手段と、 をさらに具備したことを特徴とする請求項1または請求
項2記載の計算機システム。
3. A data reverse conversion move for reversely converting and moving the data from the additionally loaded data structure to which the data has been moved by the data conversion moving means to the data structure used by the program being executed. Means for changing control of a part of the program being executed so as not to transfer control to the additionally loaded program when the program being executed is given control; The computer system according to claim 1 or 2, further comprising: a data structure additionally loaded by the program additional loading means, and an additional data structure / program unloading means for unloading the program.
【請求項4】 計算機システムにおいて、 実行中のプログラムのデータ構造と変更された前記プロ
グラムの一部を追加ロードし、 前記実行中のプログラムを一時的に停止し、 停止された実行中のプログラムが使用していたデータ構
造から、追加ロードされたデータ構造へデータを変換し
て移動させ、 前記実行中のプログラムに制御が渡った場合に、前記追
加ロードされたプログラムに制御が移るように前記実行
中のプログラムの一部を変更し、 前記データの移動、及びプログラムの変更が完了した
後、一時的に停止されていたプログラムの実行を再開さ
せることを特徴とするプログラム置換方法。
4. In a computer system, a data structure of a program being executed and a part of the changed program are additionally loaded, the program being executed is temporarily stopped, and the stopped program being executed is The data is converted from the used data structure to the additionally loaded data structure and moved, and when control is passed to the running program, the execution is performed so that control is transferred to the additionally loaded program. A method of replacing a program, characterized in that a part of an internal program is changed, and after the movement of the data and the change of the program are completed, the execution of the temporarily stopped program is resumed.
【請求項5】 前記データの移動、及びプログラムの変
更が完了し、一時的に停止されていたプログラムの実行
が再開された後、 前記実行中のプログラムの一部によって追加ロードされ
る前のデータ構造にアクセスされた場合にトラップを発
生させ、前記追加ロードされたデータ構造に対してデー
タアクセスされるようにアクセスを変換し、 この変換によってアクセスが完了した場合に、トラップ
から復帰させることにより移動されたデータにアクセス
されるようにすることを特徴とする請求項4記載のプロ
グラム置換方法。
5. The data before the additional loading by a part of the running program after the movement of the data and the change of the program are completed and the execution of the temporarily stopped program is resumed. A trap is generated when the structure is accessed, the access is converted so that the data is accessed to the additionally loaded data structure, and when the access is completed by this conversion, the trap is returned to move the data. 5. The program replacement method according to claim 4, wherein the accessed data is accessed.
【請求項6】 前記データの移動、及びプログラムの変
更が完了し、一時的に停止されていたプログラムの実行
が再開された後、 追加ロードされたデータ構造から、前記実行中のプログ
ラムが使用していたデータ構造に、データを逆変換して
移動させ、 前記実行中のプログラムに制御が渡った場合に、追加ロ
ードされたプログラムに制御を渡さないように前記実行
中のプログラムの一部を変更し、 前記追加ロードされたデータ構造とプログラムをアンロ
ードすることを特徴とする請求項4記載のプログラム置
換方法。
6. After the data movement and the program change are completed, and the execution of the temporarily stopped program is resumed, the additionally loaded data structure is used by the executing program. The data is converted back to the existing data structure and moved, and when control is passed to the running program, a part of the running program is changed so as not to pass control to the additionally loaded program. 5. The method according to claim 4, further comprising unloading the additionally loaded data structure and the program.
JP22761394A 1994-09-22 1994-09-22 Computer system and program substituting method Pending JPH0895772A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22761394A JPH0895772A (en) 1994-09-22 1994-09-22 Computer system and program substituting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22761394A JPH0895772A (en) 1994-09-22 1994-09-22 Computer system and program substituting method

Publications (1)

Publication Number Publication Date
JPH0895772A true JPH0895772A (en) 1996-04-12

Family

ID=16863685

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22761394A Pending JPH0895772A (en) 1994-09-22 1994-09-22 Computer system and program substituting method

Country Status (1)

Country Link
JP (1) JPH0895772A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10103970A (en) * 1996-09-26 1998-04-24 Hitachi Ltd Navigation system and information medium for navigation
JP2000137604A (en) * 1998-10-30 2000-05-16 Oki Electric Ind Co Ltd System for succeeding data
JP2000207191A (en) * 1999-01-08 2000-07-28 Fujitsu Ltd Coexistence processing system for multiple format data and computer-readable storage medium
US6502176B1 (en) 1999-02-24 2002-12-31 Hitachi, Ltd. Computer system and methods for loading and modifying a control program without stopping the computer system using reserve areas
US7313681B2 (en) 2003-11-20 2007-12-25 International Business Machines Corporation Apparatus, system, and method for adapter fastload
JP2010079837A (en) * 2008-09-29 2010-04-08 Fujitsu Ltd Program update method and program update device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10103970A (en) * 1996-09-26 1998-04-24 Hitachi Ltd Navigation system and information medium for navigation
JP2000137604A (en) * 1998-10-30 2000-05-16 Oki Electric Ind Co Ltd System for succeeding data
JP2000207191A (en) * 1999-01-08 2000-07-28 Fujitsu Ltd Coexistence processing system for multiple format data and computer-readable storage medium
US6502176B1 (en) 1999-02-24 2002-12-31 Hitachi, Ltd. Computer system and methods for loading and modifying a control program without stopping the computer system using reserve areas
US7313681B2 (en) 2003-11-20 2007-12-25 International Business Machines Corporation Apparatus, system, and method for adapter fastload
JP2010079837A (en) * 2008-09-29 2010-04-08 Fujitsu Ltd Program update method and program update device

Similar Documents

Publication Publication Date Title
US9015659B2 (en) Method, computer program product, and system for non-blocking dynamic update of statically typed class-based object-oriented software
US6766471B2 (en) User-level checkpoint and restart for groups of processes
US20120254865A1 (en) Hypervisor replacing method and information processing device
JPH06110678A (en) Program execution system and dynamic change method for execution program
US20070294675A1 (en) Method and apparatus for handling exceptions during binding to native code
US6754848B1 (en) Method, system and program products for operationally migrating a cluster through emulation
JPH0728679A (en) Locking system of checkin/checkout model
US20050257080A1 (en) Method of checkpointing state of virtual memory for process
US7360223B2 (en) Arrangements and methods for invoking an upcall in a computer system
US20040122834A1 (en) Apparatus and method for switching mode in a computer system
US6957367B2 (en) System and method for controlling activity of temporary files in a computer system
JPH0895772A (en) Computer system and program substituting method
JP2850808B2 (en) Data processing device and data processing method
JP4155052B2 (en) Emulator, emulation method and program
JPH07152551A (en) Computer system and program executing method
JP2555920B2 (en) Online real-time processor
JPH02304635A (en) Program runaway detecting system
JPH0773078A (en) File copy shift system
JP2002024037A (en) Method for updating dynamic link library file
JPH09146782A (en) Method for handling occurance of abnormality in inter-job data succession
JP2671160B2 (en) Exception handling method
JPH06214848A (en) Data base managing system
JP3729573B2 (en) Processing takeover method for parallel processing system
JPH1021067A (en) Dynamic correction method for program
CN117742803A (en) Method and device for improving real-time performance of time-sharing operating system