JPH04363721A - プログラム入替え方式 - Google Patents

プログラム入替え方式

Info

Publication number
JPH04363721A
JPH04363721A JP3138804A JP13880491A JPH04363721A JP H04363721 A JPH04363721 A JP H04363721A JP 3138804 A JP3138804 A JP 3138804A JP 13880491 A JP13880491 A JP 13880491A JP H04363721 A JPH04363721 A JP H04363721A
Authority
JP
Japan
Prior art keywords
program
switching
subprogram
version
task
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
JP3138804A
Other languages
English (en)
Inventor
Hiroyuki Hori
保里 裕之
Hideki Sato
秀樹 佐藤
Hiroshi Kobayashi
博 小林
Akibumi Nakabashi
晃文 中橋
Naoki Miwa
直樹 三和
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.)
Hitachi Ltd
Hitachi Information and Control Systems Inc
Original Assignee
Hitachi Ltd
Hitachi Process Computer Engineering Inc
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 Hitachi Ltd, Hitachi Process Computer Engineering Inc filed Critical Hitachi Ltd
Priority to JP3138804A priority Critical patent/JPH04363721A/ja
Publication of JPH04363721A publication Critical patent/JPH04363721A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プログラム入替え方式
に係わり、特に計算機システムを停止させずにプログラ
ムを入替える場合の入替え方式に関する。
【0002】
【従来の技術】オンラインシステムを停止させずにプロ
グラムを入替える場合、特開平1−232432号のよ
うに、現バージョンのプログラムを走行させたまま新バ
ージョンのプログラムを走行させ、予めプログラム内に
設定された入替え可能なポイントで入替えが行われてい
た。
【0003】
【発明が解決しようとする課題】上記従来技術では、入
替えタイミングは予めプログラム内に設定されたポイン
トであり、プログラム毎に定められたものである。従っ
て、複数プログラムを入替える場合に、入替えが個々の
プログラム毎に行われるため、新バージョンと現バージ
ョンのプログラムが混在して動作するタイミングが発生
し、同一バージョンで動作することを前提とする複数プ
ログラム入替え時には、バージョンの不一致に起因する
障害発生の可能性がある。
【0004】本発明の目的(1)は、複数プログラムの
入替えを一斉に行うことができる入替え方式を提供する
ことである。
【0005】本発明の目的(2)は、複数プログラムを
入替える場合に、プログラム数増加に伴いバージョン切
替え時間が増大しないようなプログラム入替え方式を提
供することである。
【0006】本発明の目的(3)は、1プログラムが使
用するサブプログラム群の入替えを行う場合、サブプロ
グラムの新バージョンと現バージョンが混在しないよう
な入替え方式を提供することである。
【0007】本発明の目的(4)は、複数プログラムか
ら呼ばれる共通サブプログラムの入替え方式において、
現バージョンの削除タイミングを提供することである。
【0008】本発明の目的(5)は、プログラム入替え
中のプログラムファイルの存在を保証し、プログラム起
動失敗を防止することである。
【0009】
【課題を解決するための手段】上記目的(1)を達成す
るために、システム共通領域にプログラム切替え開始フ
ラグを有することと、プログラムのチェックポイント処
理内で切替え開始フラグの判定を行うことである。
【0010】上記目的(2)を達成するために、サブプ
ログラムの新バージョンと現バージョンの切替え処理プ
ログラムと、該プログラム実行開始アドレスを格納する
ジャンプテーブルの前記新バージョン用と現バージョン
用とを有し、プログラム切替え要求時に前記切替えプロ
グラムを起動し、前記新バージョン用と現バージョン用
ジャンプテーブルを切替えることにより、前記サブプロ
グラムの新バージョンと現バージョンの切替えを行うこ
とである。
【0011】上記目的(3)を達成するために、サブプ
ログラムのジャンプテーブルとジャンプテーブル内の該
当エントリのアドレスを計算し、サブプログラムにジャ
ンプするための切替え処理プログラムと、切替え処理プ
ログラムジャンプ命令とジャンプテーブル内エントリの
テーブル先頭からの相対アドレスとを格納するサブプロ
グラムインデックステーブルと、ジャンプテーブル先頭
アドレスを格納するテーブルとを有し、プログラム起動
時にジャンプテーブル先頭アドレスをプログラム内に読
込む手段と、チェックポイントで切替え要求があれば新
ジャンプテーブル先頭アドレスをプログラム内に読込む
手段とを有すること。
【0012】上記目的(4)を達成するために、サブプ
ログラムインデックステーブル内の各エントリに、サブ
プログラムを現在呼出し中のプログラム数を示すリンク
カウンタを有し、プログラム入替え開始後にリンクカウ
ンタの値が0になった時点で現バージョンプログラムの
登録抹消を行うことである。
【0013】上記目的(5)を達成するために、複数フ
ァイルの名称変更処理を割込み禁止状態で実行する手段
を有することである。
【0014】
【作用】本発明(1)のプログラム入替え方式では、プ
ログラム実行中に新バージョンをローディングし、後に
プログラム切替え要求によりプログラム切替え開始フラ
グを書換え、実行中のプログラムがチェックポイントで
切替え開始フラグを判定し、新バージョンへの切替えを
行うので、複数のプログラムがひとつの切替え開始フラ
グにより切替えタイミングを指定できる。
【0015】本発明(2)のプログラム入替え方式では
、プログラム切替え要求時にサブプログラムジャンプテ
ーブルの新バージョンと現バージョンの切替え処理プロ
グラムを起動し、サブプログラムジャンプテーブルの切
替えを行うため、プログラム実体のアクセスが不要であ
り、プログラム数が増大してもバージョン切替え時間は
増大しない。
【0016】本発明(3)のプログラム入替え方式では
、プログラム起動時にジャンプテーブル先頭アドレスを
プログラム内に読込み、このアドレスをサブプログラム
コール時に使用し、チェックポイントで切替え要求があ
れば新ジャンプテーブル先頭アドレスをプログラム内に
読込み、このアドレスをサブプログラムコール時に使用
するので、プログラム入替え要求により新ジャンプテー
ブル先頭アドレスを読込むまでは、同一バージョンのサ
ブプログラム群を使用することになる。
【0017】本発明(4)のプログラム入替え方式では
、プログラム入替え開始後にリンクカウンタの値が0に
なった時点で現バージョンプログラムの登録抹消を行う
ことにより、どのプログラムからも参照されないタイミ
ングで共通サブプログラムの登録を抹消できる。
【0018】本発明(5)のプログラム入替え方式では
、プログラム実行中に新プログラムファイルをローディ
ングし、新プログラムファイルの名称を現バージョンプ
ログラム用に、現バージョンプログラムファイルの名称
を旧バージョンプログラム用に変更する処理を、1回の
ファイル名称変更処理プログラムの呼出しで行うことに
より、ファイル名称変更処理プログラムが割込み禁止状
態で実行されるため、ファイル名称変更中のプログラム
起動要求は発生せず、起動要求時は常にプログラムファ
イルが存在することになる。
【0019】
【実施例】
実施例1:実施例1は、プログラムローディング後、プ
ログラム切替え開始を要求し、プログラムが切替え要求
を判定し切替えを行うことにより、複数プログラムの一
斉入替えを行う場合の例である。
【0020】図1は、本発明の一実施例に係わるプログ
ラム入替え方式の構成図である。
【0021】本実施例は、補助記憶装置101内に新プ
ログラム103と現プログラム104とを格納するプロ
グラム格納領域102と、主記憶装置105内に新プロ
グラム107と現プログラム108とを格納するプログ
ラム格納領域106と、新プログラム103を補助記憶
装置101のプログラム格納領域102に格納(115
)し、新プログラム107を主記憶装置105のプログ
ラム格納領域106に格納(116)するプログラムロ
ーディング手段110と、補助記憶装置101内の新プ
ログラム103と現プログラム104及び主記憶装置1
05内の新プログラム107と現プログラム108の切
替え開始を要求(119)するプログラム切替え開始要
求手段112と、プログラム切替え開始要求を格納する
プログラム切替え開始フラグ113と、前記切替え開始
フラグ113の内容によりプログラム切替え開始を検出
(120)するプログラム切替え開始時期検出手段10
9と、前記プログラム切替え開始時期検出手段109に
より起動(121)されプログラム切替え処理(117
)を実行するプログラム切替え手段111と、入替えプ
ログラム個数を格納する入替えプログラム個数格納エリ
ア114とから構成される。
【0022】図2は、前記構成を用いて入替えを行う場
合のプログラム入替え手順を示す。まず、プログラムロ
ーディング手段110によりプログラムローディング(
115)を行う。プログラムローディング115は、新
プログラム登録(115a)、タスク制御ブロック等の
生成(115b)、現タスクの制御フラグON(115
c)の各手順により達成される。このうち新プログラム
登録は、図3に示すように、補助記憶装置101内のプ
ログラム格納領域102に現プログラム104が登録さ
れている状態において、操作員の指示に応じてプログラ
ムローディング手段110が例えば磁気テープ等にすで
に準備されている新プログラム103をプログラム格納
領域102に格納する。なお、この登録処理においては
その後補助記憶装置101内の新プログラム103を主
記憶装置内のプログラム格納領域106106にも格納
する。
【0023】新プログラム登録(115a)後、新プロ
グラム103にタスク制御ブロック等の生成(115b
)を行う。図17に示すように、タスク制御ブロック3
06はタスク属性309と入替え要求フラグ310から
構成され、新プログラム103毎に生成されて、補助記
憶装置101と主記憶装置105に記憶される。また、
この時にスタックエリア308も新プログラム103毎
に生成されて、主記憶装置105にのみ記憶される。な
お、以下においてはタスク制御ブロック306,スタッ
クエリア308,プログラムを含めてタスクと称する。
【0024】新タスク制御ブロック等の生成(115b
)の後に、主記憶装置105内の現プログラム108に
付与されたタスク制御ブロック306内の入替え要求フ
ラグ310をON(115c)とする。
【0025】プログラムローディング(115)後、操
作員の指示に応じてプログラム切替え開始要求手段11
2によりプログラム切替え開始要求(119)を行う。 プログラム切替え開始要求(119)では、図4に示す
ように、切替え開始要求手段112が、主記憶装置10
5内の複数のタスクを参照し、そのタスク制御ブロック
の入替え要求フラグがONとなっている個数を加算する
。入替えタスク個数は入替えプログラム個数格納エリア
114に格納(119a)する。次に操作員の指示によ
りプログラム切替え開始フラグ113がON(119b
)とされる。
【0026】プログラム切替え開始要求(119)後、
プログラム切替え開始時期検出手段109により、プロ
グラム切替え開始時期検出(121)を行う。ここで、
プログラムは、図5に示すようにチェックポイント処理
501と、プログラム処理502と、終了処理503か
ら構成されている。そして、チェックポイント処理50
1は、図6のように構成される。
【0027】図6では、まずプログラム切替え開始フラ
グ113の内容チェック601を行い、OFFならばプ
ログラム切替え要求が発行されていないのでタスク入替
えチェックポイント処理501を終了し、プログラム5
02の処理に入る。プログラム切替え開始フラグ113
がONならば、602において現タスクのタスク制御ブ
ロック306の入替え要求フラグ310のチェックを行
い、OFFならばこのプログラムについてのタスク入替
え不要でありタスク入替えチェックポイント処理501
を終了しプログラム502の処理に入る。入替え要求フ
ラグがONならば、タスク入替え要である。以上の処理
がプログラム切替え開始時期検出(121)に相当し、
602においてタスク入替え要であるとされた場合に、
図1のプログラム切替手段111による入替え処理11
7に移る。
【0028】プログラム切替手段111による入替え処
理117においては、図2の117aで新旧プログラム
の入替えを行うが、この詳細は図6に示されている。図
6の603では現プログラムの内容を準備された新プロ
グラムに置き換える。つまり、図1の補助記憶装置10
1あるいは主記憶装置105の現プログラムを廃棄し、
代わりに夫々の新プログラムを現プログラムとする。ま
たこの移動に伴い、604において新旧プログラムに付
随するタスク制御ブロック306の入替えを行い、60
5において新プログラムを現プログラムとして以後の運
用を開始する。またこれによりこのプログラムの入替え
が完了したので、606においてこのプログラムに付随
するタスク制御ブロック306内のタスク入替え要求フ
ラグ310をOFFして入替え処理117aを終了する
。 図2に戻り、117bでは入替えプログラム個数格納エ
リア114に記憶された個数から1を減算する。
【0029】117cでは入替えプログラム個数格納エ
リア114の記憶個数をチェックし、0の場合プログラ
ム切替開始フラグ113をOFFし、0でない場合12
1での処理に戻る。
【0030】以上のように、各プログラムがプログラム
切替え開始フラグ113により切替え要否を調べるため
、複数のプログラムを入替える場合、プログラム切替え
開始フラグ113により、プログラム切替え開始要求発
行以降、すべての入替えプログラムが現プログラムから
新プログラムへ移行できる。
【0031】実施例2:実施例2は、サブプログラムの
ジャンプテーブル先頭アドレスをタスク起動時に保存し
、チェックポイントでテーブルごと切替えることにより
、1タスク内での新サブプログラムと現サブプログラム
との混在を防止するサブプログラム入替え方式の例であ
る。
【0032】図7はサブプログラムをコールするタスク
のメインプログラムとサブプログラムの配置図を示す。 補助記憶装置101のプログラム格納領域には、新メイ
ンプログラム702と、現メインプログラム703と、
新サブプログラム704と、現サブプログラム705が
格納され、主記憶装置105のプログラム格納領域には
、新メインプログラム707と、現メインプログラム7
08と、新サブプログラム709と、現サブプログラム
710が格納される。
【0033】図8はサブプログラムコールに用いるテー
ブル構成を示す。サブプログラムのジャンプテーブル先
頭アドレス格納テーブル801は、現ジャンプテーブル
先頭アドレス802と新ジャンプテーブル先頭アドレス
803を格納し、サブプログラムインデックステーブル
804は、タスクからサブプログラムへリンクする場合
のリンケージテーブルとして使用され、切替え処理プロ
グラムへのジャンプ命令805とジャンプテーブル内相
対アドレス806とをサブプログラムの登録個数分格納
し、タスク内スタックエリア807はタスクがリンクす
るジャンプテーブル先頭アドレス808を格納する。サ
ブプログラムへのジャンプアドレスを格納するジャンプ
テーブルは、現ジャンプテーブル809と新ジャンプテ
ーブル810により構成される。現ジャンプテーブル8
09はリンクカウンタ810とサブプログラムの登録個
数分のジャンプアドレス811とを格納し、新ジャンプ
テーブル812はリンクカウンタ813とサブプログラ
ム登録個数分のジャンプアドレス814とを格納する。 タスク内スタックエリア807内のジャンプテーブル先
頭アドレス808とサブプログラムインデックステーブ
ル804内のジャンプテーブル内相対アドレス806と
を加算815することによりサブプログラムのジャンプ
テーブルアドレス816が得られる。
【0034】図9は、タスクのサブプログラムコール処
理を示す。タスク901は、まずサブプログラムのジャ
ンプテーブル先頭アドレス808セット処理902を行
い、サブプログラムコールを行うと、コールしたサブプ
ログラムに対応するサブプログラムインデックステーブ
ル903のエントリにリンクし、該エントリに格納され
た切替え処理プログラム906へのジャンプ命令を実行
905し、切替え処理プログラム906へジャンプした
後、切替え処理プログラム906からサブプログラムコ
ール907を行いサブプログラム908を実行する。サ
ブプログラムの実行終了後は、切替え処理プログラム9
06へリターンし、さらに切替え処理プログラム906
からタスク901へリターンする。
【0035】図10は上記サブプログラムコール処理中
の、サブプログラムジャンプテーブルの先頭アドレスセ
ット処理902を示す。サブプログラムジャンプテーブ
ル先頭アドレスセット処理は、前記実施例1で説明した
プログラム切替え開始フラグ113のチェック1001
を行い、ONならば新ジャンプテーブル先頭アドレス8
03をサブプログラムのジャンプテーブル先頭アドレス
格納テーブル801からタスク内スタックエリア807
に格納1002する。プログラム切替え開始フラグ11
3がOFFならば、現ジャンプテーブル先頭アドレス8
02をサブプログラムのジャンプテーブル先頭アドレス
格納テーブル801からタスク内スタックエリア807
に格納1003する。上記処理によりタスク901は使
用すべきジャンプテーブルの先頭アドレスをタスク内ス
タックエリアに保持できる。
【0036】図11は、図9に示したタスクのサブプロ
グラムコール処理中の切替え処理プログラム906の処
理を示す。切替え処理プログラムは、前記サブプログラ
ムジャンプテーブル先頭アドレスセット処理902によ
りタスク内のスタックエリア807に格納されたジャン
プテーブル先頭アドレス808と、サブプログラムイン
デックステーブル804内に格納されたジャンプテーブ
ル内相対アドレス806とを加算805し、サブプログ
ラムのジャンプテーブルアドレス806を計算1101
し、このジャンプテーブルアドレス806が示すエリア
に格納されたサブプログラムジャンプアドレス814を
用いてサブプログラムをコール1102する。その後、
サブプログラム処理を実施し、処理終了後リターン11
03する。
【0037】以上のように、サブプログラムを入替える
場合、タスク内スタックエリア807に持つジャンプテ
ーブル先頭アドレス808の更新を、ジャンプテーブル
の先頭アドレスセット処理902で行うことにより、9
02を除く処理ではジャンプテーブル先頭アドレス80
8の更新は発生せず、同一ジャンプテーブルを使用する
ことになり、現サブプログラムと新サブプログラムが混
在して実行されることを防止できる。また、上記ジャン
プテーブル先頭アドレス808の更新処理のトリガとな
るのは、プログラム切替え開始フラグ113であるため
、タスクの入替えとの同期をとることができる。
【0038】実施例3:実施例3は、実施例2のサブプ
ログラムをコールするタスクが無限に繰返す処理を有し
、永久に停止しない無停止型の場合に、タスクをサブプ
ログラムで構成することにより、部分的入替えを可能と
する入替え方式の例である。
【0039】図12は、サブプログラムで構成する無停
止型タスクを示す図である。
【0040】タスク1200は、サブプログラムのコー
ル1203を無限に繰り返すループ1204を有する構
造である。前記実施例2で説明した図7の構成において
新バージョンサブプログラム709は、現バージョンサ
ブプログラム710が登録されている状態でローディン
グされ、以下のように、タスク1200が動作中に現バ
ージョンサブプログラム710から新バージョンサブプ
ログラム709への切替えが行われる。
【0041】タスクは、図12に示すように、サブプロ
グラムジャンプテーブルの先頭アドレスセット処理12
01でサブプログラムのジャンプテーブル先頭アドレス
808を読込んだ後、サブプログラムコール1203を
繰返す。
【0042】図13は、前記タスク入替えチェックポイ
ント1202でのタスク入替えチェックポイントルーチ
ンの処理を示す。
【0043】タスク入替えチェックポイントルーチン1
300は、前記実施例1で説明したプログラム切替え開
始フラグ113をチェック1301し、OFFならばプ
ログラム切替え不要とみなし、タスク入替えチェックポ
イントルーチン1300を終了する。プログラム切替え
開始フラグ113をチェック1301しONならば、サ
ブプログラムのジャンプテーブル先頭アドレス格納テー
ブル801から新バージョンのジャンプテーブル先頭ア
ドレス803をタスク内スタックエリア807に格納1
302し、前記実施例1で説明したタスク制御ブロック
306内の入替え要求フラグ310をチェック1303
する。入替え要求フラグ310がOFFならばタスクの
入替えは不要とみなし、タスク入替えチェックポイント
ルーチン1300を終了する。入替え要求フラグ310
がONならば、タスクの入替えが必要であるとみなし、
タスクのプログラムファイル入替え1304,タスク制
御ブロック入替え1305,新バージョンタスクの起動
1306,タスク入替え要求フラグOFF1307を行
い,現バージョンタスク終了処理1308を行う。上記
のように、タスク入替えチェックポイント1202の処
理を完了すると、以後のサブプログラムコール903で
は、タスク内スタックエリア807に格納された新バー
ジョンのジャンプテーブル先頭アドレス803を使用し
て、図9に示す処理に従い新バージョンのサブプログラ
ムをコール903する。
【0044】繰返しの中にタスク入替えチェックポイン
ト1202を組込んでおくと、上記入替えチェックポイ
ントルーチンが切替え開始フラグ113を判定1301
し、ONのとき、サブプログラムのジャンプテーブル先
頭アドレス格納テーブルから新バージョンのジャンプテ
ーブル先頭アドレスをタスク内スタックエリア710に
格納1302する。その後、タスクの入替え要求フラグ
310をチェック1303し、ONならばタスクのプロ
グラムファイルを入替える1304が、OFFならばチ
ェックポイント以降の処理を実行する。
【0045】タスクの入替え要求フラグがOFFの場合
、タスク入替えチェックポイントルーチンを終了し、タ
スクがサブプログラムコール1203を行うと、前記実
施例2で説明した図9のようにサブプログラムをコール
する。
【0046】上記のようにして、サブプログラムで構成
する無停止型タスク1200はサブプログラムコール1
203した時に新バージョンサブプログラムがコールさ
れ、無停止タスク1200が入替わらなくても、無停止
タスク1200を入替えるのと同等の結果となる。
【0047】実施例4:実施例4は、複数プログラムか
ら共用されるサブプログラムのジャンプテーブルごとに
有するリンクカウンタが0のとき該サブプログラムがど
のプログラムからもリンクされていないことを検出し、
該サブプログラムの登録抹消を行うことにより、複数プ
ログラムから共用されるサブプログラムの入替えを可能
とする入替え方式の例である。
【0048】図14はタスクとサブプログラムのリンク
構成図である。入替え要求発行後、入替え未完の状態で
動作する入替え未完のタスク1401(タスク1,タス
ク2,タスク3)は、スタックエリア1402内のジャ
ンプテーブル先頭アドレス1403を用いて現バージョ
ンサブプログラムジャンプテーブル1404を使用し、
入替え完了の状態で動作する入替え完了のタスク140
6(タスク4,タスク5,タスク6)は、スタックエリ
ア1407内のジャンプテーブル先頭アドレス1408
を用いて新バージョンサブプログラムジャンプテーブル
1409を使用しているとき、現バージョンサブプログ
ラムジャンプテーブル1404内のリンクカウンタ14
05には入替え未完のタスク1401の個数が格納され
、新バージョンサブプログラムジャンプテーブル140
9内のリンクカウンタ1410には入替え完了のタスク
1406の個数が格納される。
【0049】図15は、複数プログラムから共用される
サブプログラムの入替えにも適用可能なプログラム入替
え手順を示す図である。
【0050】このプログラム入替え手順では、プログラ
ムローディング201,プログラム切替え開始要求20
2,プログラム切替え要求検出203の各手順は、前記
実施例1で説明した手順と同一である。
【0051】プログラム切替え204では、前記実施例
1で説明した処理と同様に、新バージョンと現バージョ
ンタスク入替え204a,入替えプログラム個数格納エ
リア内に格納された入替えタスク個数より1減算204
b,入替えプログラム個数格納エリアの値をチェック2
04cする。入替えプログラム個数が0ならば入替え完
了とみなし、現バージョンサブプログラムのジャンプテ
ーブル809内のリンクカウンタ810をチェック15
01する。リンクカウンタ810が0以外ならば、現バ
ージョンジャンプテーブル809を利用しているプログ
ラムがあることを示しており、入替え未完であるとみな
し、プログラム切替え開始要求検出203以降の処理を
繰返す。リンクカウンタ810が0ならば、現バージョ
ンジャンプテーブル809を利用しているプログラムが
無いことを示しており、入替え完了とみなし、サブプロ
グラムのジャンプテーブル先頭アドレス格納テーブル8
01の新バージョンのジャンプテーブル先頭アドレス8
03を現バージョンのジャンプテーブル先頭アドレス8
02に変更1502する。その後、プログラム切替え開
始フラグ113をOFF204dし、プログラム切替え
204を終了する。
【0052】上記処理により、ジャンプテーブル内のリ
ンクカウンタ810を利用して複数プログラムから共用
されるサブプログラムのリンクされないタイミングを検
出し、現バージョンから新バージョンへの切替えが可能
となる。また、現バージョンリンクカウンタ810を使
用し、プログラムからのリンク状態のチェックをするこ
とにより、リンク状態での現バージョンサブプログラム
の削除を防止できる。 実施例5:実施例5は、新バージョンと現バージョンと
旧バージョンのプログラムファイル名称の変更を1回の
ファイル名称変更処理プログラム呼出しで行うプログラ
ム入替え方式の例である。
【0053】図16は、プログラムファイル名称の同時
変更によるプログラム入替え方式を表す図である。
【0054】補助記憶装置1601上の新バージョンプ
ログラムファイル1602は、現バージョンプログラム
ファイル1603とは異なる領域に格納される。また、
プログラム入替え後の異常発生に備えて、旧バージョン
プログラムファイル1604の領域を設ける。
【0055】プログラム切替え要求を発行すると、バー
ジョン切替えプログラム1606が起動され、バージョ
ン切替えプログラムより複数ファイル名称同時変更シス
テムコール1605が起動され、新バージョンプログラ
ムファイルから現バージョンプログラムファイルへの名
称変更1607と、現バージョンプログラムファイルか
ら旧バージョンプログラムファイルへの名称変更160
8が、1回のシステムコール1605の起動により実行
される。前記システムコール1605は、ファイル名称
変更処理においてオペレーティングシステムのファイル
管理機構を利用してファイルロック処理を行う。
【0056】前記ファイル管理機構は、ロック中のファ
イルに対して他プログラムよりアクセスした場合、アク
セスエラーとはならずロック解除待ちとし、ロック解除
後ロック解除待ち中のプログラムをアクセス可能とする
機構を有する。
【0057】上記システムコール及びファイル管理機構
により、起動要求発行時のファイル非存在に起因する起
動失敗を防止できる。
【0058】
【発明の効果】本発明(1)によれば、複数の関連する
プログラムから成るプログラム群が動作している場合に
、このプログラム群に属するプログラムの入替えを一斉
に実施することが可能となる効果がある。
【0059】また、本発明(2)によれば、サブプログ
ラムジャンプテーブル先頭アドレスを書換えるのに要す
る時間だけで、1ジャンプテーブルに格納できるサブプ
ログラムジャンプアドレスの個数分のプログラム入替え
が可能となる効果がある。
【0060】また、本発明(3)によれば、複数のサブ
プログラムを呼ぶプログラムが動作している場合に、該
サブプログラムをバージョン単位に複数個同時に入替え
ることが可能となる効果がある。
【0061】また、本発明(4)によれば、複数プログ
ラムから呼ばれる共通サブプログラムを、どのプログラ
ムからも呼ばれないタイミングで消去することが可能と
なる効果がある。
【0062】また、本発明(5)によれば、任意のタイ
ミングで起動要求が発生するプログラムを入替える場合
に、起動要求時にプログラムファイルが存在しないこと
を防止する効果がある。
【図面の簡単な説明】
【図1】プログラム入替え方式の構成図。
【図2】プログラム入替え手順を示す図。
【図3】プログラムローディング手順を示す図。
【図4】プログラム切替開始要求手段を示す図。
【図5】プログラム切替開始要求検出手段を示す図。
【図6】タスク入替えチェックポイントルーチンを示す
図。
【図7】サブプログラムをコールするタスクの構成図。
【図8】サブプログラムコールに用いるテーブル構成を
示す図。
【図9】タスクのサブプログラムコール処理を示す図。
【図10】サブプログラムジャンプテーブル先頭アドレ
スセット処理を示す図。
【図11】切替え処理プログラムの処理を示す図。
【図12】サブプログラムにより構成される無停止タス
クを示す図。
【図13】入替えチェックポイントルーチンを示す図。
【図14】タスクとサブプログラムのリンク構成図。
【図15】プログラム入替え手順を示す図。
【図16】プログラムファイル名称の同時変更によるプ
ログラム入替え方式図。
【図17】タスクの構成図。
【符号の説明】
101…補助記憶装置、102…プログラム格納領域、
103…新バージョンプログラム、104…現バージョ
ンプログラム、105…主記憶装置、106…プログラ
ム格納領域、107…新バージョンプログラム、108
…現バージョンプログラム、109…プログラム切替え
開始要求検出手段、110…プログラムローディング手
段、111…プログラム切替え手段、112…プログラ
ム切替え開始要求検出手段、113…プログラム切替え
開始フラグ、114…入替えプログラム個数格納エリア

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】主記憶装置と補助記憶装置とを有する計算
    機システムにおいて、主記憶装置と補助記憶装置にプロ
    グラム格納領域を有し、プログラムを主記憶装置と補助
    記憶装置のプログラム格納領域に格納するプログラムロ
    ーディング手段と、新バージョンプログラムと現バージ
    ョンプログラムの切替え開始を要求するプログラム切替
    え開始要求手段と、プログラム切替え開始要求を格納す
    るプログラム切替え開始フラグと、プログラム切替え開
    始要求の有無を検出するプログラム切替え開始要求検出
    手段と、プログラム切替え処理を実行するプログラム切
    替え手段とを有し、前記ローディング手段とプログラム
    切替え手段とを独立して動作せしむることを特徴とする
    プログラム入替え方式。
  2. 【請求項2】請求項第1項の構成に加え、サブプログラ
    ムと、サブプログラム実行開始アドレスを格納するサブ
    プログラムジャンプテーブルと、該テーブルの新バージ
    ョンと現バージョンの切替え処理プログラムを有し、プ
    ログラム切替え要求時に前記切替え処理プログラムを起
    動し、前記サブプログラムジャンプテーブルの新バージ
    ョンと現バージョンの切替えを行うことを特徴とするプ
    ログラム入替え方式。
  3. 【請求項3】請求項第2項の構成に加え、メインプログ
    ラム毎に、上記サブプログラムジャンプテーブルの先頭
    アドレスを格納するエリアを有し、サブプログラムジャ
    ンプ時には該エリアを参照し、サブプログラム実行アド
    レスを求めることを特徴とするプログラム入替え方式。
  4. 【請求項4】複数プログラムから共用されるサブプログ
    ラムの新バージョンと現バージョンと、該サブプログラ
    ムの現バージョンがどのプログラムからもリンクされて
    いないことを検出する手段を有し、リンクしていないこ
    とを検出したタイミングで該現バージョンの登録抹消を
    行うことを特徴とするプログラム入替え方式。
  5. 【請求項5】新バージョンプログラム,現バージョンプ
    ログラム,旧バージョンプログラム格納領域と、複数フ
    ァイルの名称変更処理を割込み禁止状態で行うプログラ
    ムとを有し、現バージョンプログラム実行中に新バージ
    ョンプログラムファイルをローディングし、新バージョ
    ンプログラムファイルの名称を現バージョンプログラム
    用に、現バージョンプログラムファイルの名称を旧バー
    ジョンプログラム用に変更する処理を1回のファイル名
    称変更処理プログラム呼出しで行うことを特徴とするプ
    ログラム入替え方式。
JP3138804A 1991-06-11 1991-06-11 プログラム入替え方式 Pending JPH04363721A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3138804A JPH04363721A (ja) 1991-06-11 1991-06-11 プログラム入替え方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3138804A JPH04363721A (ja) 1991-06-11 1991-06-11 プログラム入替え方式

Publications (1)

Publication Number Publication Date
JPH04363721A true JPH04363721A (ja) 1992-12-16

Family

ID=15230628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3138804A Pending JPH04363721A (ja) 1991-06-11 1991-06-11 プログラム入替え方式

Country Status (1)

Country Link
JP (1) JPH04363721A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104992A (ja) * 1993-10-07 1995-04-21 Nec Corp 動的リンクプログラムの実時間置換方式
JP2014167778A (ja) * 2013-02-28 2014-09-11 Kyocera Document Solutions Inc 電子機器、及びアプリケーション記憶プログラム
WO2018150820A1 (ja) * 2017-02-17 2018-08-23 日立オートモティブシステムズ株式会社 情報処理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07104992A (ja) * 1993-10-07 1995-04-21 Nec Corp 動的リンクプログラムの実時間置換方式
JP2014167778A (ja) * 2013-02-28 2014-09-11 Kyocera Document Solutions Inc 電子機器、及びアプリケーション記憶プログラム
WO2018150820A1 (ja) * 2017-02-17 2018-08-23 日立オートモティブシステムズ株式会社 情報処理装置
JPWO2018150820A1 (ja) * 2017-02-17 2019-07-18 日立オートモティブシステムズ株式会社 情報処理装置

Similar Documents

Publication Publication Date Title
US5701457A (en) Method of designated time interval reservation access process of online updating and backing up of large database versions without reserving exclusive control
US20020073410A1 (en) Replacing software at a telecommunications platform
US20060136503A1 (en) Dynamic seamless reconfiguration of executing parallel software
JPH06110678A (ja) プログラム実行方式及び実行プログラムの動的変更方法
US20020073409A1 (en) Telecommunications platform with processor cluster and method of operation thereof
US6256751B1 (en) Restoring checkpointed processes without restoring attributes of external data referenced by the processes
US6336215B1 (en) Apparatus and method for on-line code only replacement of a running program using checkpoints
CN112596953B (zh) 数据库日志重演方法、装置、设备及存储介质
JPH04363721A (ja) プログラム入替え方式
JPH0981409A (ja) 相互ホットスタンバイシステム待機系選択方式
JP2555920B2 (ja) オンラインリアルタイム処理装置
JPH05307478A (ja) データベース管理システムの構成法
JPS628234A (ja) 共用プログラム制御方式
US20140157279A1 (en) Information processing apparatus, information processing system, information processing method and control program storage medium
JPH1091405A (ja) ソフトウェア保守方法
JP2002024037A (ja) ダイナミック・リンク・ライブラリ・ファイルの更新方法
JPS63115234A (ja) 自動プログラムパツチ方式
JP2005284925A (ja) コンピュータシステムおよびプログラム更新方法
JPH03196222A (ja) プログラム入替え方法
JPS63233445A (ja) 内部フアイル名のロ−カル付加方式
JP2528882B2 (ja) メモリ障害時のフォ−ルバック運用方式
JPH01196627A (ja) ソフトウェアの更新方式
JPH02226350A (ja) 計算機システムのデータ管理方法
JP2851039B2 (ja) ワークステーションバックアップシステム
JPH02224122A (ja) メモリパッチデータのダイナミックリンク方式