JPH1049402A - プログラムパッチ方法およびシステム - Google Patents

プログラムパッチ方法およびシステム

Info

Publication number
JPH1049402A
JPH1049402A JP8199331A JP19933196A JPH1049402A JP H1049402 A JPH1049402 A JP H1049402A JP 8199331 A JP8199331 A JP 8199331A JP 19933196 A JP19933196 A JP 19933196A JP H1049402 A JPH1049402 A JP H1049402A
Authority
JP
Japan
Prior art keywords
patch
area
program
size
resident
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.)
Granted
Application number
JP8199331A
Other languages
English (en)
Other versions
JP3105791B2 (ja
Inventor
Shogo Banba
昇吾 番場
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.)
HOKKAIDO NIPPON DENKI SOFTWARE KK
NEC Solution Innovators Ltd
Original Assignee
HOKKAIDO NIPPON DENKI SOFTWARE KK
NEC Software Hokkaido 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 HOKKAIDO NIPPON DENKI SOFTWARE KK, NEC Software Hokkaido Ltd filed Critical HOKKAIDO NIPPON DENKI SOFTWARE KK
Priority to JP08199331A priority Critical patent/JP3105791B2/ja
Publication of JPH1049402A publication Critical patent/JPH1049402A/ja
Application granted granted Critical
Publication of JP3105791B2 publication Critical patent/JP3105791B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 パッチ領域のうち、実際に使用している領域
のみをプログラムと共に主記憶に常駐することにより、
パッチ処理の操作性を向上し、かつパッチ処理の時間を
短縮する。 【解決手段】 プログラムメイン部1に修正を実施する
場合に必要となる領域としてあらかじめ設けられている
パッチ領域3と、パッチ領域内3に設けられ、プログラ
ムメイン部1がパッチ領域を実際に必要としたサイズが
格納されるパッチサイズ格納域4と、プログラムメイン
部1より呼ばれ、プログラムメイン部1が動作する上で
最初に必要な各種初期化処理を行い、かつ、パッチ領域
3のうちパッチサイズ格納域4で指定されたサイズ分の
領域と、プログラムメイン部1とを主記憶に常駐するプ
ログラム初期化部2とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラムパッチ
方法およびシステムに関し、特に主記憶を効率よく使用
するプログラムパッチ方法およびシステムに関するもの
である。
【0002】
【従来の技術】従来のプログラムパッチ方法として、た
とえば、「特開平2−35333号公報」および「特開
平2−224122号公報」に記載されている方法があ
る。
【0003】次に、図6(a)を参照して、「特開平2
−35333号公報」の境界情報定義方法について説明
する。この方法は、プログラムメイン部などが主記憶に
置かれる常駐モジュール7と、常駐モジュール7が緊急
修正などで必要とするためにあらかじめ設けられてい
る、ZAP領域の使用部8およびZAP領域の未使用部
9と、使用部8と未使用部9とを識別するための境界情
報記憶部10と、プログラムメイン部が動作するうえで
必要な各種初期化処理を行い、その後、常駐モジュール
7とZAP領域の使用部8を常駐して終了する、システ
ム初期化用非常駐モジュール11とを使用する。
【0004】境界情報記憶部10では、通常使用される
ことのないコード列や、境界位置を示すポインタ情報な
どを格納している。通常、プログラムモジュールの緊急
修正などのために、固定的にあらかじめパッチ領域を確
保し、修正が発生した際、用意されたパッチ領域のうち
必要なだけを使用する。そのため、あらかじめ確保して
おいたパッチ領域が、必要とされるよりも大きくとられ
ている場合、必要としないパッチ領域の部分も主記憶に
残るために無駄が増える。しかし、確保するパッチ領域
が小さすぎると、必要なパッチができなくなる欠点があ
る。そのために、このようにパッチを使用している範囲
を識別可能にする方法がとられている。
【0005】次に、図6(b)を参照して、「特開平2
−224122号公報」のダイナミックリンク方法につ
いて説明する。この方法は、パッチデータを格納するパ
ッチデータファイル15と、パッチデータがどこにマッ
ピングされるのかを示すマッピングテーブル16と、パ
ッチデータファイルとマッピングテーブルにパッチデー
タ情報を登録する機能をもつパッチデータ登録機能12
と、パッチデータファイルをパッチデータエリア17お
よびマッピングテーブルにロードするパッチデータロー
ド機能14と、OS・プログラム18と、パッチデータ
エリアのアドレスを解決するためのアドレス解決機能1
3を使用する。OS・プログラム18は、マッピングテ
ーブル16をもとに、パッチデータをダイナミックにロ
ードしてパッチデータエリア17に格納している。
【0006】
【発明が解決しようとする課題】上述した従来の技術の
第1の問題点は、パッチデータに関する管理が複雑であ
ることである。その理由は、従来の技術における境界情
報定義方法の場合、境界情報を検索するための検索処理
が必要であるからである。また、従来の技術におけるダ
イナミックリンク方法の場合、必要なパッチデータのみ
を主記憶に残すための管理、および管理をするための処
理が必要であるからである。
【0007】第2の問題点は、従来の技術において境界
情報定義方法、およびダイナミックリンク方法は、必要
なパッチデータのみを主記憶に残すための処理時間が多
くかかることである。その理由は、境界情報定義方法の
場合、境界情報はパッチデータ使用部と未使用部の間に
位置しているため、検索するためにはパッチ領域の先頭
(あるいは最後部)から順次サーチする必要があり、こ
の検索ロジック処理の追加が必要となるからである。ま
た、ダイナミックリンク方法は、対象モジュールと必要
なパッチデータとの関連づけをする機構が必要であり、
パッチをロードする処理時間も余計に費やすからであ
る。その他にも、パッチ領域を共有する方法などが考え
られるが、ファイル管理と似た管理機構が必要であり、
同様な問題が残るからである。
【0008】第3の問題点は、従来の境界情報定義方法
の場合、境界情報を厳密に区別することは実質不可能で
あることである。その理由は、ZAP領域の使用部8で
使用するパッチデータは、命令コードのみならずデータ
域として定義する場合もあるため、使用される値は任意
であり、ZAP領域の未使用部9との境界を示す境界情
報記憶部10とパッチデータの一部が合致する可能性が
必ずあり、本来の境界と異なって判断されるからであ
る。
【0009】第4の問題点は、パッチ領域の大きさによ
って、処理時間の遅延などの影響が発生することであ
る。その理由は、境界情報を定義する方法の場合、境界
情報をサーチするための検索処理時間はパッチ領域に比
例して多くなるからである。
【0010】本発明の目的は、パッチ領域のうち、実際
に使用している領域のみをプログラムと共に主記憶に常
駐することにより、パッチ処理の操作性を向上し、かつ
パッチ処理の時間を短縮することにある。
【0011】
【課題を解決するための手段】本発明のプログラムパッ
チ方法は、プログラムの修正のために必要とされるパッ
チ領域内にパッチデータ格納域を設け、かつ、前記パッ
チデータ格納域内の実際にパッチデータが格納された領
域のサイズを示すパッチサイズ格納域を前記パッチ領域
に設け、実際にパッチデータが格納された領域を、プロ
グラムと共に主記憶に常駐する。
【0012】本発明のプログラムパッチシステムは、
(a)オペレーティングシステムよりロードされ、プロ
グラムの主要な処理を遂行し、最初に動作するプログラ
ムメイン部と、(b)前記プログラムメイン部に修正を
実施する場合に、必要となる領域としてあらかじめ設け
られているパッチ領域と、(c)前記パッチ領域内に設
けられ、前記プログラムメイン部がパッチ領域を実際に
必要としたサイズが格納される、パッチサイズ格納域
と、(d)前記プログラムメイン部より呼ばれ、前記プ
ログラムメイン部が動作する上で最初に必要な各種初期
化処理を行い、かつ、前記パッチ領域のうち前記パッチ
サイズ格納域で指定されたサイズ分の領域と、前記プロ
グラムメイン部とを主記憶に常駐するプログラム初期化
部と、を備える。
【0013】本発明の作用は以下のようである。
【0014】パッチ領域内に実際に格納されているパッ
チデータの大きさを、パッチ領域内の最後部に有してい
る。このため、パッチデータがどこまで格納されている
かを検索などにより調べる必要がない。パッチ初期化部
にもつ常駐サイズ算出、および常駐終了手段において
は、[プログラムが常駐すべきサイズ]=[プログラム
メインサイズ]+[パッチ領域のうちパッチサイズ格納
域にあるパッチデータ量]であるため、これを算出し、
この部分のみ常駐させる。
【0015】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。図1は、本発明の実
施の形態を示す構成図である。図1を参照すると、本発
明のプログラムパッチシステムは、プログラムメイン部
1と、プログラムメイン部1により最初に呼ばれるプロ
グラム初期化部2と、その間に位置するパッチ領域3と
からなり、さらに、パッチ領域3の最後部にはパッチデ
ータサイズを格納するパッチサイズ格納域4が設けられ
る。プログラムの緊急修正などで、プログラムメイン部
1の範囲内でパッチを行う場合もあるが、修正量が多く
なるとプログラムメイン部1だけでは修正ができないた
め、パッチ領域3をプログラムメイン部1の延長として
使用する。なお、パッチ領域3を使用する際は、先頭よ
り順次確保し、確保した領域の大きさがパッチサイズ格
納域4に登録される。プログラム初期化部2はプログラ
ムメイン部1より呼ばれ、プログラムメイン部1の初期
起動時に必要な処理を実行し、必要な処理が終われば、
常駐するのに必要な部分をオペレーティングシステムへ
報告する。
【0016】次に、図1の実施の形態の動作について図
2を参照して説明する。図2は、図1の実施の形態の動
作を示す説明図である。プログラムがオペレーティング
システムからロードされた直後、プログラムメイン部1
が動作する。プログラムメイン部1からは、まずプログ
ラム初期化部2を呼ぶ(図2(a))。
【0017】プログラム初期化部2では、プログラムメ
イン部1で必要な各種初期化処理が行われた後、主記憶
に常駐すべきサイズをチェックする。常駐サイズチェッ
クでは、パッチサイズ格納域4に格納されているパッチ
データサイズをもとに、パッチ領域3のうち、実際にパ
ッチデータが格納されている部分5(サイズをnとす
る)とプログラムメイン部1の大きさ(サイズをmとす
る)を合算し、m+nを先頭より常駐するようにする
(図2(b))。
【0018】その後、オペレーティングシステムに常駐
サイズを通知し、終了する。オペレーティングシステム
は指定されたサイズを主記憶に常駐し、それ以外は開放
する(図2(c))。未使用パッチ領域6は開放された
部分である。
【0019】次に、本発明の第1の実施例について図面
を参照して詳細に説明する。図3は、本発明の第1の実
施例を示す構成図である。図3を参照すると、プログラ
ムメイン部1はオペレーティングシステムよりロードさ
れ最初に動作する部分であり、プログラムの主要な動作
を行う。プログラム初期化部2はプログラムメイン部1
より呼ばれ、プログラムメイン部1が動作する上で最初
に必要な各種初期化処理を行うのと共に、初期化処理な
どは一度行えば不要となるので、不要となる部分を、終
了と同時に主記憶から開放する処理を最後に行う。プロ
グラムメイン部1で緊急修正が発生した際に、必要とな
る領域を設けているのがパッチ領域3である。パッチ領
域3は、不要な領域の開放の際に都合がよいように、プ
ログラムメイン部1とプログラム初期化部2の間に位置
している。またパッチ領域3の最後部には、パッチ領域
3に格納されたパッチデータの大きさを格納しておく、
パッチサイズ格納域4を設けている。パッチ領域3にパ
ッチデータを格納する時には、パッチデータを先頭より
必要なだけ埋めると共に、パッチサイズ格納域4にもパ
ッチデータを格納した大きさ(この場合、“000
7”)を登録しておかなければならない。
【0020】次に、図3の実施例の動作について、図4
を参照して詳細に説明する。図4は、図3の実施例の動
作を示す説明図である。プログラムがオペレーティング
システムからロードされ、プログラムメイン部1が呼ば
れる。プログラムメイン部1では、まず、各種初期化処
理を行うためにプログラム初期化部2を呼ぶ(図4の
A)。プログラム初期化部2では、プログラムメイン部
1が動作するうえで必要な各種初期化処理を実施する。
その後、プログラム全体の中で必要としなくなった部分
を開放する。開放する対象は、プログラム初期化部2自
身および、パッチ領域3のうち実際に使用されていない
部分とパッチサイズ格納域4である。パッチ領域3での
使用部分の大きさは、パッチサイズ格納域4に入ってい
るサイズ(図4の例では7バイトとなっている)を参照
し(図4のB)、パッチ領域3の先頭よりそのサイズ分
(図4の例では先頭から7バイト)までなので(図4の
C)、それ以降はすべて開放することになる。プログラ
ム初期化部2では、こうして得られたパッチ領域3の使
用部とプログラムメイン部1の大きさ(サイズmとす
る)を合算したサイズ(図4の例ではm+7バイト)
を、オペレーティングシステムに対し、主記憶常駐する
旨通知を行い、終了する。こうすることで、パッチ領域
3の未使用部分を常駐することなく、効率的に主記憶を
使用することが可能となる(図4のD)。
【0021】さらに本発明の第2の実施例について、図
5を参照して説明する。図5は、本発明の第2の実施例
を示す構成図である。図5(a)の場合は、パッチサイ
ズをプログラム初期化部2にもつ形式である。この場
合、従来よりもパッチサイズ格納域4が追い出されてい
る分、パッチ領域3が広くなっているが、反面、パッチ
データを格納する際には、プログラム初期化部2のどの
位置にパッチサイズ格納域4が存在するかを知っておく
必要がある。
【0022】図5(b)の場合は、プログラム初期化部
2をプログラムメイン部1の一部として有する形式であ
る。プログラムの各種初期化処理がプログラムメイン部
1の処理と分離できない場合には、このような形をと
る。従来よりも、プログラム初期化部2が開放できない
分だけ主記憶に常駐するサイズは大きくなる。
【0023】図5(c)の場合は、パッチ領域3以外を
すべてプログラムメイン部1に有する形式である。プロ
グラムの各処理が分離しない分、処理間のつながりは明
確化されやすいが、反面、図5(b)以上に、主記憶に
常駐するサイズは大きい。
【0024】上述したように、作成するプログラムによ
って、さまざまな構成をもつことが可能である。
【0025】
【発明の効果】第1の効果は、パッチデータに関する複
雑な管理が不要であるということである。その理由は、
実際にパッチデータが格納されている大きさを知るため
に、検索処理などを使用せず、あらかじめその大きさを
登録しているからである。
【0026】第2の効果は、パッチデータを常駐するま
での処理が短時間で行われるということである。その理
由は、常駐する大きさは単純な加算処理(プログラムメ
イン部の大きさ+パッチサイズ格納域にあるサイズ)で
済むためである。
【0027】第3の効果は、実際にパッチデータが格納
されている領域を厳密に判別可能であるということであ
る。その理由は、従来のようなパッチデータ使用域と未
使用域の境界を示す境界情報はパッチデータの一部と重
複する可能性があったが、パッチデータサイズ格納を有
した本方法はその可能性がないからである。
【0028】第4の効果は、パッチ領域の大きさに関す
る制限が無いことである。その理由は、パッチ領域を大
きくすることによって、上述したような検索処理による
時間の遅延などの要因がないからである。
【図面の簡単な説明】
【図1】本発明の実施の形態を示す構成図である。
【図2】図1の実施の形態の動作を示す説明図である。
【図3】本発明の第1の実施例を示す構成図である。
【図4】図3の実施例の動作を示す説明図である。
【図5】本発明の第2の実施例を示す構成図である。
【図6】従来の技術を示す説明図である。
【符号の説明】
1 プログラムメイン部 2 プログラム初期化部 3 パッチ領域 4 パッチサイズ格納域 5 実際にパッチデータが格納されている部分 6 未使用パッチ領域 7 常駐モジュール 8 ZAP領域の使用部 9 ZAP領域の未使用部 10 境界情報記憶部 11 システム初期化用非常駐モジュール 12 パッチデータ登録機能 13 アドレス解決機能 14 パッチデータロード機能 15 パッチデータファイル 16 マッピングテーブル 17 パッチデータエリア 18 OS・プログラム

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 プログラムの修正のために必要とされる
    パッチ領域内にパッチデータ格納域を設け、かつ、前記
    パッチデータ格納域内の実際にパッチデータが格納され
    た領域のサイズを示すパッチサイズ格納域を前記パッチ
    領域に設け、実際にパッチデータが格納された領域を、
    プログラムと共に主記憶に常駐することを特徴とするプ
    ログラムパッチ方法。
  2. 【請求項2】(a)オペレーティングシステムよりロー
    ドされ、プログラムの主要な処理を遂行し、最初に動作
    するプログラムメイン部と、(b)前記プログラムメイ
    ン部に修正を実施する場合に、必要となる領域としてあ
    らかじめ設けられているパッチ領域と、(c)前記パッ
    チ領域内に設けられ、前記プログラムメイン部がパッチ
    領域を実際に必要としたサイズが格納される、パッチサ
    イズ格納域と、(d)前記プログラムメイン部より呼ば
    れ、前記プログラムメイン部が動作する上で最初に必要
    な各種初期化処理を行い、かつ、前記パッチ領域のう
    ち、前記パッチサイズ格納域で指定されたサイズ分の領
    域と、前記プログラムメイン部とを主記憶に常駐するプ
    ログラム初期化部と、を有することを特徴とするプログ
    ラムパッチシステム。
JP08199331A 1996-07-29 1996-07-29 プログラムパッチシステム Expired - Fee Related JP3105791B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08199331A JP3105791B2 (ja) 1996-07-29 1996-07-29 プログラムパッチシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08199331A JP3105791B2 (ja) 1996-07-29 1996-07-29 プログラムパッチシステム

Publications (2)

Publication Number Publication Date
JPH1049402A true JPH1049402A (ja) 1998-02-20
JP3105791B2 JP3105791B2 (ja) 2000-11-06

Family

ID=16406026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08199331A Expired - Fee Related JP3105791B2 (ja) 1996-07-29 1996-07-29 プログラムパッチシステム

Country Status (1)

Country Link
JP (1) JP3105791B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004302747A (ja) * 2003-03-31 2004-10-28 Oki Electric Ind Co Ltd パッチ処理方法および伝送装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004302747A (ja) * 2003-03-31 2004-10-28 Oki Electric Ind Co Ltd パッチ処理方法および伝送装置

Also Published As

Publication number Publication date
JP3105791B2 (ja) 2000-11-06

Similar Documents

Publication Publication Date Title
US6976221B2 (en) System and method for flexible software linking
US8037292B2 (en) Method for accelerating BIOS running
US6374353B1 (en) Information processing apparatus method of booting information processing apparatus at a high speed
US7055146B1 (en) Method and system for dynamically inserting modifications for identified programs
US7917723B2 (en) Address translation table synchronization
US7203831B2 (en) System and method for performing remote BIOS updates
US6332172B1 (en) Method and system for virtual memory compression in an embedded system
US7882198B2 (en) Shared JAVA JAR files
JP3209793B2 (ja) データ処理装置
JPH0644085A (ja) アクセスを実行する方法及び装置並びにコンピュータシステム
US8788799B2 (en) Server computer, computer system, and file management method
JP2005063449A (ja) オブジェクトからオブジェクトへのJavaネイティブインタフェースマッピングの方法及び装置
JP2010526364A (ja) 記憶装置およびデータスマグリングの方法
US7100172B2 (en) System and method for changing operation of an application without recompiling
KR100494499B1 (ko) 실행중인 파일에 대한 실시간 데이터 수정 방법 및 이를이용한 바이러스 치료방법
US20060129520A1 (en) System and method for automatically updating a program in a computer
JP2000242484A (ja) 制御プログラムの変更方法
JP3105791B2 (ja) プログラムパッチシステム
US6718405B2 (en) Hardware chain pull
CN114090502A (zh) 一种资源管理方法、装置、设备及存储介质
JP2856152B2 (ja) カーネルデバッガにおけるソフトウェアブレークポイント管理方式
JP3425724B2 (ja) システム無中断プログラム切替え方法
CN117234953B (zh) 一种基于影子代码缓存的内核调试方法
JP2002024037A (ja) ダイナミック・リンク・ライブラリ・ファイルの更新方法
US20060020834A1 (en) Accessing information associated with an advanced configuration and power interface environment

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000801

LAPS Cancellation because of no payment of annual fees