JP2871998B2 - プログラム修正方式 - Google Patents

プログラム修正方式

Info

Publication number
JP2871998B2
JP2871998B2 JP5110974A JP11097493A JP2871998B2 JP 2871998 B2 JP2871998 B2 JP 2871998B2 JP 5110974 A JP5110974 A JP 5110974A JP 11097493 A JP11097493 A JP 11097493A JP 2871998 B2 JP2871998 B2 JP 2871998B2
Authority
JP
Japan
Prior art keywords
patch
address
program
patch information
information storage
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.)
Expired - Fee Related
Application number
JP5110974A
Other languages
English (en)
Other versions
JPH06301527A (ja
Inventor
肇 竹村
剛夫 松崎
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.)
NIPPON DENKI SOFUTOEA KK
NEC Corp
Original Assignee
NIPPON DENKI SOFUTOEA KK
Nippon Electric Co Ltd
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 NIPPON DENKI SOFUTOEA KK, Nippon Electric Co Ltd filed Critical NIPPON DENKI SOFUTOEA KK
Priority to JP5110974A priority Critical patent/JP2871998B2/ja
Publication of JPH06301527A publication Critical patent/JPH06301527A/ja
Application granted granted Critical
Publication of JP2871998B2 publication Critical patent/JP2871998B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は計算機システムのプログ
ラム修正方式に関し、特に、システム停止が困難な計算
機システムのプログラムを修正するプログラム修正方式
に関する。
【0002】
【従来の技術】従来のこの種のプログラム修正方式は、
以下のようなものであった。先ず、プログラムエリアに
格納されているプログラムのパッチ箇所の内容を退避エ
リアに退避させ、次いでパッチ箇所を修正プログラムと
入れ換える。その後、入れ換えの済んだプログラムを実
行し、実行結果が正常か否かを判定する。実行結果が正
常である場合は修正処理を終了し、異常である場合は用
意してある別の修正プログラムとの入れ換えを行なう。
このような処理を実行結果が正常になるまで繰り返し行
なう。但し、用意してある全ての修正プログラムを使用
しても実行結果が正常にならない場合は退避エリアに退
避させてあるパッチ箇所の内容を用いてプログラムを元
に戻す(例えば、特開平3−97030号公報)。
【0003】
【発明が解決しようとする課題】上述した従来のプログ
ラム修正方式では、用意してある全ての修正プログラム
を用いても実行結果が正常にならない場合、パッチ箇所
を含むプログラムは最終的に元のプログラムに戻ってし
まうため、パッチ箇所を原因とする障害が発生する場合
があるという問題点があった。
【0004】また、上述した従来のプログラム修正方式
は退避エリアを必要とするため、多くのメモリ資源が必
要になるという問題があった。
【0005】本発明の目的はパッチ箇所の修正がうまく
いかなかった場合に於いても、パッチ箇所を原因とする
障害が発生することがなく、且つ少ないメモリ量でプロ
グラムの修正を行なうことができるプログラム修正方式
を提供することにある。
【0006】
【課題を解決するための手段】本発明は上記目的を達成
するため、ユーザコンソールを有する計算機システムに
於いて、パッチ情報格納エリアと、前記ユーザコンソー
ルから入力された、修正対象プログラム中のパッチ箇所
の内容と置き換えるべき修正プログラムと、前記パッチ
箇所を含むモジュールの先頭アドレス及びサイズから構
成される縮退運転アドレスとを含むパッチ情報を前記パ
ッチ情報格納エリアに格納するパッチ情報格納部と、
記パッチ箇所の内容を前記パッチ情報格納エリアに格納
されている何れの修正プログラムの内容としても、前記
修正対象プログラムの実行結果が異常となった場合、前
記パッチ情報に基づいて算出した前記パッチ箇所を含む
モジュールの先頭アドレス,最終アドレスを出力し、前
記修正対象プログラムの実行時に割り込み信号が発生す
ることにより実行アドレスを前記パッチ箇所を含むモジ
ュールの最終アドレスの次のアドレスに移行させるパッ
チ処理部と、 修正対象プログラムの実行アドレスが前記
パッチ箇所を含むモジュールの先頭アドレスと最終アド
レスとの間のアドレスになった時、割り込み信号を発生
する割り込み回路とを設けたものである。
【0007】
【作用】ユーザコンソールから入力された修正プログラ
ム及び縮退運転アドレスを含むパッチ情報はパッチ情報
格納部によってパッチ情報格納エリアに格納される。
【0008】パッチ処理部はパッチ箇所の内容をパッチ
情報格納エリアに格納されている何れの修正プログラム
の内容としても、修正対象プログラムの実行結果が異常
となった場合、パッチ情報に基づいて算出した前記パッ
チ箇所を含むモジュールの先頭アドレス,最終アドレス
を出力する。割り込み回路は、修正対象プログラムの実
行アドレスが前記パッチ箇所を含むモジュールの先頭ア
ドレスと最終アドレスとの間のアドレスになった時、割
り込み信号を発生する。パッチ処理部は、修正対象プロ
グラムの実行時に割り込み信号が発生すると、実行アド
レスをパッチ箇所を含むモジュールの最終アドレスの次
のアドレスに移行させる。
【0009】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
【0010】図1は本発明の実施例のブロック図であ
り、CPU10と、ユーザコンソール19とから構成さ
れている。
【0011】CPU10はオペレーティングシステム
(OS)11と、プログラムエリア12と、パッチ情報
が格納されるパッチ情報格納エリア13とを含んでい
る。尚、プログラムエリア12中の12aはパッチ箇所
を示しており、パッチ情報格納エリア13は複数のエリ
ア13a,13b,…,13nから構成されている。
【0012】オペレーティングシステム11はパッチ情
報がパッチ情報格納エリア13に格納されているか否か
を監視するパッチ情報有無認識部15と、ユーザコンソ
ール19からCPU10に入力されたパッチ情報をパッ
チ情報格納エリア13に格納するパッチ情報格納部16
と、パッチ箇所12aをパッチ情報に含まれている修正
プログラムで置き換えると共に、置き換えの済んだプロ
グラムを実行し、実行結果に従った処理を行なうパッチ
処理部17とを含んでいる。
【0013】図2はパッチ情報有無認識部15がパッチ
情報格納エリア13にパッチ情報が格納されているか否
かを管理するために使用するパッチ情報管理テーブル2
0の内容例を示した図である。
【0014】同図に示すように、パッチ情報管理テーブ
ル20にはパッチ情報格納エリア13の各エリア13
a,13b,…,13nに対応したパッチ情報有無フラ
グ21a,21b,…,21nと、パッチ処理フラグ2
2a,22b,…,22nとが格納される。
【0015】パッチ情報有無フラグ21a,21b,
…,21nはパッチ情報格納エリア13の各エリア13
a,13b,…,13nにパッチ情報が格納されている
か否かを有/無によって示すフラグである。
【0016】パッチ処理フラグ22a,22b,…,2
2nはパッチ情報格納エリア13のエリア13a,13
b,…,13nに格納されているパッチ情報を使用した
プログラム修正が、未実行であるか、実行中であるか或
いは実行完了であるかを未/中/完によって示すフラグ
である。
【0017】図3はパッチ情報格納エリア13の各エリ
ア13a,13b,…,13nに格納されるパッチ情報
30のフォーマットの一例を示した図である。
【0018】同図に示すように、パッチ情報30は、他
のパッチ情報と当該パッチ情報30とを区別するための
パッチID31と、パッチ実行後の実行結果が異常とな
った場合の回復処理レベルを規定する障害レベル情報3
2と、パッチ情報30に含まれている修正プログラムの
数を示すパッチ数33と、修正プログラム34a,34
b,…,34nと、パッチ箇所を示すアドレス情報35
a,35b,…35nと、対応する修正プログラム34
a,34b,…34nについての処理が未実行である
か、実行済みであるかを未/完によって示す処理フラグ
36a,36b,…36nと、パッチ処理が失敗した場
合に縮退運転させるエリアを示す縮退運転アドレス37
とから構成されている。尚、処理フラグ36a,36
b,…36nは初期状態に於いては“未”となっている
ものである。
【0019】次に、各図を参照して本実施例の動作を説
明する。
【0020】ユーザコンソール19からCPU10にパ
ッチ情報30が入力されると、オペレーティングシステ
ム11のパッチ情報格納部16はパッチ情報30を、そ
れに含まれているパッチID31に従ってパッチ情報格
納エリア13に設けられているエリア13a,13b,
…,13nの内の所定のエリア(この例では、エリア1
3aとする)に格納する。
【0021】更に、パッチ情報格納部16はパッチ情報
を格納したエリア13aと対応するパッチ情報管理テー
ブル20中のパッチ情報有無フラグ21aを“有”と
し、パッチ処理フラグ22aを「未実行」を示す“未”
とする。
【0022】パッチ情報有無認識部15はパッチ情報管
理テーブル20のパッチ情報有無フラグ21a,21
b,…21nを順次検索しており、その内容が“有”に
なっているパッチ情報有無フラグを探し出すと、対応す
るパッチ処理フラグの内容が「未実行」を示す“未”に
なっているか否かを判断する。そして、“未”になって
いる場合は、その内容を「実行中」を示す“中”に変更
し、更に、上記探し出したパッチ情報有無フラグと対応
するパッチ情報格納エリア13中のエリアを示す情報を
パッチ処理部17に渡す。
【0023】この例では、パッチ情報有無フラグ21a
の内容が“有”になっており、対応するパッチ処理フラ
グ22aの内容が“未”になっているので、パッチ情報
有無認識部15はパッチ処理フラグ22aの内容を「実
行中」を示す“中”に変更し、更に、パッチ情報有無フ
ラグ21aと対応するパッチ情報格納エリア13中のエ
リア13aを示す情報をパッチ処理部17に渡すことに
なる。
【0024】パッチ処理部17はパッチ情報有無認識部
15からパッチ情報格納エリア13中のエリア13aを
示す情報が渡されると、そこに格納されているパッチ情
報30のパッチ数33が「0」か否かを、即ちパッチ情
報30に未処理の修正プログラムが存在するか否かを判
断する。
【0025】そして、「0」でないと判断した場合、即
ち未処理の修正プログラムが存在すると判断した場合
は、パッチ処理部17は処理フラグ36a,36b,
…,36nを検索し、その内容が“未”になっているも
のの1つ(例えば、処理フラグ36aとする)を選択す
る。
【0026】処理フラグ36aを選択すると、パッチ処
理部17は選択した処理フラグ36aと対応するアドレ
ス情報35aに基づいてプログラムエリア12中のパッ
チ箇所12aのアドレス,サイズを求め、更に、処理フ
ラグ36aと対応する修正プログラム34aをパッチ箇
所12aにロードし、実行させる。
【0027】パッチ処理部17は修正済みのプログラム
の実行が終了すると、実行結果と障害レベル情報32と
に基づいて実行結果が正常レベルであるか否かを判断す
る。
【0028】実行結果が正常レベルである場合は、パッ
チ処理部17は処理フラグ36aの内容を「実行完了」
を示す“完”にし、続いてパッチ情報有無フラグ21a
を“無”にし、更にパッチ処理フラグ22aを“完”に
した後、ユーザコンソール19に対してパッチID31
によって示されるパッチ処理が正常に終了した旨のメッ
セージを出力する。
【0029】また、実行結果が異常となった場合は、パ
ッチ処理部17は処理フラグ36aを「実行完了」を示
す“完”にし、パッチ数33を−1した後、パッチ数3
3が「0」になっているか否かを判断する。
【0030】「0」になっていないと判断した場合、即
ちパッチ情報30に未処理の修正プログラムが存在する
と判断した場合は、パッチ処理部17は内容が“未”に
なっている処理フラグを1つ選択し、前述したと同様の
処理を行なう。
【0031】「0」になっていると判断した場合、即
ち、パッチ情報30に未処理の修正プログラムが存在し
ないと判断した場合は、パッチ処理部17はパッチ情報
有無フラグ21aを“無”にし、パッチ処理フラグ22
aを“完”にし、更にユーザコンソール19に対してパ
ッチ処理が失敗したので、縮退運転を行なう旨のメッセ
ージを出力した後、以下に述べる処理を行なう。
【0032】パッチ処理部17は縮退運転アドレス37
に基づいて、プログラムエリア12に於ける縮退運転の
アドレス,サイズを求める。ここで、縮退運転アドレス
37にはパッチ箇所12aを含むモジュールの先頭アド
レス及びそのサイズが縮退アドレス,サイズとして格納
されている。
【0033】パッチ処理部17は縮退運転アドレス37
に基づいて縮退運転のアドレス、即ちパッチ箇所12a
を含むモジュールの先頭アドレスを図4に示す割り込み
回路内のレジスタ41にセットし、上記縮退運転アドレ
スに上記サイズを加算したアドレス、即ちパッチ箇所1
2aを含むモジュールの最終アドレスを図4に示すレジ
スタ42にセットする。尚、図4に示す構成の割り込み
回路はパッチ情報格納エリア13の各エリア13a,1
3b,…,13nに対応して設けられている。
【0034】レジスタ41にセットされたモジュールの
先頭アドレスA1は比較器43によってプログラムの実
行アドレスA0と比較され、比較器43はA1≦A0と
なることにより、その出力信号を“1”とする。また、
レジスタ42にセットされたモジュールの最終アドレス
A2は比較器44によってプログラムの実行アドレスA
0と比較され、比較器44はA2≧A0となることによ
り、その出力信号を“1”とする。
【0035】比較器43,44の出力信号はアンドゲー
ト45で論理積がとられ、アンドゲート45の出力信号
はパッチ処理部17に対する割り込み信号となる。即
ち、プログラムの実行アドレスA0が縮退運転アドレス
情報37によって示されるパッチ箇所12aを含むモジ
ュール内のアドレスになった場合、パッチ処理部17に
割り込みがかかることになる。
【0036】パッチ処理部17はアンドゲート45の出
力信号によって割り込みがかけられると、レジスタ42
にセットしたアドレスの次のアドレス、即ちパッチ箇所
12aを含むモジュールの次のモジュールの先頭アドレ
スにプログラムの実行アドレスを移行させると共に、レ
ジスタ41にセットしたアドレスからレジスタ42にセ
ットしたアドレスまでを実行していない旨のステータス
をセットし、更に、レジスタ41にセットしたアドレス
からレジスタ42にセットしたアドレスまでの部分を縮
退運転した旨のメッセージをユーザコンソール19に出
力する。尚、上記ステータスはプログラムエリア12に
格納されたプログラムから参照可能な部分であれば何処
にセットしても構わず、このステータスを参照すること
により、縮退運転の有無を判断することができる。
【0037】以上、本発明を実施例に基づいて具体的に
説明したが、本発明は実施例に限定されるものではな
く、その要旨を逸脱しない範囲に於いて種々変更可能で
あることはいうまでもない。
【0038】
【発明の効果】以上説明したように、本発明は、パッチ
箇所の修正がうまくいかなかった場合、例えばパッチ箇
所を含むモジュール等の縮退運転アドレスによって示さ
れる部分を縮退運転するものであるので、パッチ箇所の
修正がうまくいかなかった場合に於いても、パッチ箇所
を原因とする障害を防ぐことができる効果がある。
【0039】また、本発明によれば、従来の技術のよう
に、パッチ箇所の内容を退避させておく退避エリアが不
要になるので、プログラム修正に伴うメモリ資源を少な
いものにすることができる効果がある。
【図面の簡単な説明】
【図1】本発明の実施例のブロック図である。
【図2】パッチ情報管理テーブル20の構成例を示す図
である。
【図3】パッチ情報30の内容例を示す図である。
【図4】割り込み回路の一例を示すブロック図である。
【符号の説明】
10…CPU 11…オペレーティングシステム 12…プログラムエリア 12a…パッチ箇所 13…パッチ情報格納エリア 13a〜13n…エリア 15…パッチ情報有無認識部 16…パッチ情報格納部 17…パッチ処理部 19…ユーザコンソール 20…パッチ情報管理テーブル 21a〜21n…パッチ情報有無フラグ 22a〜…パッチ処理フラグ 30…パッチ情報 31…パッチID 32…障害レベル情報 33…パッチ数 34a〜34n…修正プログラム 35a〜35n…アドレス情報 36a〜36n…処理フラグ 37…縮退運転アドレス情報 41,42…レジスタ 43,44…比較器 45…アンドゲート

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 ユーザコンソールを有する計算機システ
    ムに於いて、 パッチ情報格納エリアと、 前記ユーザコンソールから入力された、修正対象プログ
    ラム中のパッチ箇所の内容と置き換えるべき修正プログ
    ラムと、前記パッチ箇所を含むモジュールの先頭アドレ
    ス及びサイズから構成される縮退運転アドレスとを含む
    パッチ情報を前記パッチ情報格納エリアに格納するパッ
    チ情報格納部と、前記パッチ箇所の内容を前記パッチ情報格納エリアに格
    納されている何れの修正プログラムの内容としても、前
    記修正対象プログラムの実行結果が異常となった場合、
    前記パッチ情報に基づいて算出した前記パッチ箇所を含
    むモジュールの先頭アドレス,最終アドレスを出力し、
    前記修正対象プログラムの実行時に割り込み信号が発生
    することにより実行アドレスを前記パッチ箇所を含むモ
    ジュールの最終アドレスの次のアドレスに移行させるパ
    ッチ処理部と、 修正対象プログラムの実行アドレスが前記パッチ箇所を
    含むモジュールの先頭アドレスと最終アドレスとの間の
    アドレスになった時、割り込み信号を発生する割り込み
    回路 とを備えたことを特徴とするプログラム修正方式。
JP5110974A 1993-04-14 1993-04-14 プログラム修正方式 Expired - Fee Related JP2871998B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5110974A JP2871998B2 (ja) 1993-04-14 1993-04-14 プログラム修正方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5110974A JP2871998B2 (ja) 1993-04-14 1993-04-14 プログラム修正方式

Publications (2)

Publication Number Publication Date
JPH06301527A JPH06301527A (ja) 1994-10-28
JP2871998B2 true JP2871998B2 (ja) 1999-03-17

Family

ID=14549217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5110974A Expired - Fee Related JP2871998B2 (ja) 1993-04-14 1993-04-14 プログラム修正方式

Country Status (1)

Country Link
JP (1) JP2871998B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0397030A (ja) * 1989-09-11 1991-04-23 Hitachi Ltd プログラム修正方式
JPH04165548A (ja) * 1990-10-30 1992-06-11 Fujitsu Ltd メモリアドレス制御方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0397030A (ja) * 1989-09-11 1991-04-23 Hitachi Ltd プログラム修正方式
JPH04165548A (ja) * 1990-10-30 1992-06-11 Fujitsu Ltd メモリアドレス制御方式

Also Published As

Publication number Publication date
JPH06301527A (ja) 1994-10-28

Similar Documents

Publication Publication Date Title
US5471620A (en) Data processor with means for separately receiving and processing different types of interrupts
US6990659B1 (en) Device for rewriting software programs in peripheral devices connected to a network
JPH05324489A (ja) 記憶装置
JP2004046453A (ja) シングルチップマイクロコンピュータおよびそのブート領域切り替え方法
CN105391755A (zh) 一种分布式系统中数据处理方法、装置及系统
JP2871998B2 (ja) プログラム修正方式
JP2000242484A (ja) 制御プログラムの変更方法
US20070226172A1 (en) File-management apparatus, file-management method, and computer product
JPH05225076A (ja) 共通情報管理方法及びシステム
US20210314141A1 (en) Byzantine fault tolerance algorithm-based blockchain consensus method, apparatus, and system
JP3260711B2 (ja) メモリパトロール方法と制御回路
JPH056281A (ja) 情報処理装置
JPS5826043B2 (ja) プロセツサのリセツト方式
US20220156074A1 (en) Electronic device and multiplexing method of spatial
JPH04205144A (ja) マイクロプロセッサ
KR100216045B1 (ko) 프로그램형 제어기의 비트 연산 처리방법 및 그 장치
JPS59163663A (ja) 簡易フアイル破壊検知方式
JP2000172539A (ja) ネットワーク上のファイル比較方法
JP3652878B2 (ja) 副ロードモジュールのトランザクション同期置換方式
JP2626545B2 (ja) 耐故障コンピュータシステム
JP2633874B2 (ja) 増設処理方式
JPS59144955A (ja) 情報処理装置
JPH01113835A (ja) 情報処理装置における記憶障害回避方式
JP2798102B2 (ja) データ処理ルール適用方式
JPH08194462A (ja) 外字パターンの表示方法

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080108

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090108

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100108

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110108

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees