JPH0895771A - サ−ビス処理システム - Google Patents

サ−ビス処理システム

Info

Publication number
JPH0895771A
JPH0895771A JP22707594A JP22707594A JPH0895771A JP H0895771 A JPH0895771 A JP H0895771A JP 22707594 A JP22707594 A JP 22707594A JP 22707594 A JP22707594 A JP 22707594A JP H0895771 A JPH0895771 A JP H0895771A
Authority
JP
Japan
Prior art keywords
module
service
flag
replacement
processing system
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
JP22707594A
Other languages
English (en)
Other versions
JP3437284B2 (ja
Inventor
Kenichi Ito
健一 伊藤
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.)
N T T DATA TSUSHIN KK
NTT Data Group Corp
Original Assignee
N T T DATA TSUSHIN KK
NTT Data Communications Systems 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 N T T DATA TSUSHIN KK, NTT Data Communications Systems Corp filed Critical N T T DATA TSUSHIN KK
Priority to JP22707594A priority Critical patent/JP3437284B2/ja
Publication of JPH0895771A publication Critical patent/JPH0895771A/ja
Application granted granted Critical
Publication of JP3437284B2 publication Critical patent/JP3437284B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 サービスプロセスを停止、消滅させないでプ
ログラムを入れ替えることができる構成のサービス処理
システムを提供する。 【構成】 プログラムを分割した複数のモジュールを外
部記憶装置3にファイルしておき、所要のモジュールを
ローダ121でメインメモリ12にロードする。その
際、各モジュールに対するサービスプロセスの利用状況
を表すフラグ及び当該モジュールに対する入替え要求の
有無を表すフラグをモジュール単位にモジュール管理テ
ーブル(MMT)123に設定する。モジュール制御ル
ーチン(MMR)124は、モジュール入替えを行う際
に、そのモジュールを走行するサービスプロセスを他の
モジュールに移動させるが、移動前後のモジュールに入
替え要求が発生しているときは、移動前に当該プロセス
を休止させ、モジュ−ル入替え後プロセス移動可能な状
態になった時点で当該プロセスの休止解除を行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、メモリにロードされた
プログラムに従って所定のサービスプロセスを実行する
サービス処理システムに関し、特に、上記プログラムの
入替え技術に係る。
【0002】
【従来の技術】従来、コンピュータを用いて種々のサー
ビスプロセスを実行するサービス処理システムにおい
て、プログラムの部分変更が必要になった場合は、プロ
セス停止型とプロセス継続型のいずれかの手法を用いて
当該プログラムの入替えを行っていた。ここに、プロセ
ス停止型の手法は、走行中のサービスプロセスを一旦終
了させ、記憶媒体及びメモリ上のプログラムを変更した
後に当該プロセスを再度起動する方法である。一方、プ
ロセス継続型の手法は、サービスプロセスを継続させた
ままメモリ上のデータ(テキスト領域、データ領域)の
ある位置、即ちメモリアドレスを直接指定して変更する
方法であり、パッチにより修正を行う点に特徴がある。
この場合、変更データは、マシン語レベルで記述する必
要がある。また、同時に記憶媒体のデータも同様に変更
する必要がある。これは、サービスプロセスが終了して
メモリ解放された後に再度起動されるときは、当該記憶
媒体からプログラムがロードされるためである。
【0003】
【発明が解決しようとする課題】ところで、従来のサー
ビス処理システムにおいて、上述の手法を用いてプログ
ラムの入替えを行う場合には、以下のような問題が生じ
ていた。
【0004】(1)プロセス停止型 この方法では、走行中のサービスプロセスを一旦終了す
るため、当該プロセスが保持している資源やその状態を
引き継ぐのが困難となる問題があった。例えば、通信回
線の状態や、プロセスの状態を保持するためには何らか
のファイルに終了時点の情報をファイル化する必要があ
り、そのための特殊処理や記憶領域を用意しなければな
らなかった。また、サービスプロセスを適切に終了させ
る必要があるので、終了のタイミングが限定される問題
もあった。つまり、サービスプロセスを強制終了させる
とサービスそれ自体の中断となるため、一連のサービス
に区切りがついた時点でしか当該プロセスを終了させる
ことができなかった。さらに、サービスプロセスを一旦
終了させ、再起動させるため、プロセス終了処理、プロ
セス生成処理、初期化処理などの時間も必要となる。
【0005】(2)プロセス継続型 この方法では、修正データの作成をマシン語レベルで行
うため、修正個所の特定や修正データの作成に時間がか
かるという問題があった。また、修正データの関数間の
インタフェースミスやマシン語作成バグなどのチェック
による信頼性確認も人手で行う必要があった。また、実
メモリ空間を直接修正するため、修正サイズの制約があ
り、元のメモリ領域より大きいパッチが当てられないと
いう問題もあった。さらに、サービスプロセスの走行状
態が特定できないため、その走行状態によっては、プロ
グラムの変更前後で矛盾を生じる場合がある。例えば、
関数呼出を行っている途中で関数の戻りアドレスを変更
すると暴走してしまう。これを防ぐため、パッチ後に部
分的な初期化処理を施さなければならない場合もあっ
た。
【0006】本発明の課題は、上記問題点に鑑み、サー
ビスプロセスを停止、消滅させないでプログラムを入れ
替えることができ、しかも修正データの作成を高品質且
つ短時間で行える構成のサービス処理システムを提供す
ることにある。
【0007】
【課題を解決するための手段】本発明が提供するサービ
ス処理システムは、メモリにロードされたプログラムを
利用して所定のサービスプロセスを実行するサービス処
理システムにおいて、前記プログラムを分割した複数の
モジュールを格納するモジュール格納手段と、所要のモ
ジュールを前記モジュール格納手段より読み出して前記
メモリにロードするローダと、ロードされたモジュール
に対する前記サービスプロセスの利用状況を表すフラグ
及び当該モジュールに対する入替え要求の有無を表すフ
ラグをモジュール単位に設定するモジュール管理テーブ
ルと、前記モジュール管理テーブルに設定された各フラ
グの参照更新処理、前記ロードされたモジュール同士の
入替え制御、及び個々のモジュールを利用するサービス
プロセスの制御を行うモジュール制御手段と、前記ロー
ドされたモジュールと前記モジュール制御手段とのリン
クを行うリンク手段と、を有し、前記モジュール制御手
段は、前記メモリ上の一のモジュールを走行するサービ
スプロセスを前記リンク手段によりリンクされた他のモ
ジュールに移動させる際に、前記モジュール管理テーブ
ルに設定された各フラグを参照してモジュール入替えが
可能か否かを判定し、入替え可能状態のモジュールに対
してモジュール入替えを実行する構成であることを特徴
とする。
【0008】なお、前記リンク手段は、例えば、各モジ
ュール内にあり他のモジュールから呼び出される関数に
ついて、その関数名とそれぞれの関数を含むモジュール
の位置情報とを対応付けて格納する関数管理テーブル
と、前記関数の呼出しに用いるモジュールの位置情報を
前記モジュール制御手段を呼び出すための割込情報に変
更する割込手段と、から成る。あるいは、前記モジュー
ル制御手段を呼び出す手続きを記述したダイナミックリ
ンクテーブルと、モジュール移動の際に前記ダイナミッ
クリンクテーブルを参照して前記モジュール制御手段と
のリンクを行うダイナミックリンカとから成る。
【0009】また、前記モジュール管理テーブルには、
例えば当該モジュールが他のモジュールに呼び出されて
いる数を表す第1のフラグ、及び当該モジュールが他の
モジュールを呼び出している数を表す第2のフラグが少
なくとも設定され、前記モジュール制御手段は、前記サ
ービスプロセスが走行している第1のモジュールから当
該プロセスを第2のモジュールへ移動させる際に、第1
のモジュールに対応する第2のフラグに所定の数値を加
算し、第2のモジュールへのプロセス移動が可能なとき
は該第2のモジュールに対応する第1のフラグに所定の
数値を加算するとともに、当該プロセスを第2のモジュ
ールから第1のモジュールに戻す際に、第2のモジュー
ルに対応する第1のフラグから前記数値を減算し、第1
のモジュールへのプロセス移動が可能なときは該第1の
モジュールに対応する第2のフラグから前記数値を減算
する構成であることを特徴とする。なお、プロセス移動
が可能か否かの判定処理は、例えば前記モジュール管理
テーブルに、当該モジュールについての入替えが指示さ
れているか否かを表す第3のフラグをモジュール毎に設
定し、モジュール制御手段がプロセス移動を行う際に、
各モジュールに対応する第3のフラグを参照することに
より行う。
【0010】更に、前記モジュール制御手段は、好まし
くは、モジュール入替え中、あるいは入替え要求が発生
しているモジュールに対する前記サービスプロセスをモ
ジュール入替え前に休止させ、モジュール入替えが終了
した時点で当該サービスプロセスの休止状態を解除する
構成とする。
【0011】
【作用】本発明では、まず、プログラムを複数のモジュ
ールに分割してモジュール格納手段に格納しておき、必
要に応じて所要のモジュールをメモリにロードし、モジ
ュール単位にサービスプロセスからの利用状況及び入替
え要求の有無を把握する。利用状況を把握する手法とし
ては、サービスプロセスの持つプログラムカウンタの値
からそのプロセスの走行位置を把握する方法が知られて
いるが、この方法では、命令トレースなどを行う必要が
あるため、実行時のオーバーヘッドが多大になる欠点が
ある。そこで、本発明では、この手法に代えてモジュー
ル管理テーブルを設けるとともに、このモジュール管理
テーブルに、当該モジュールが他のモジュールに呼び出
されている数を示す第1のフラグ、及び当該モジュール
が他のモジュールを呼び出している数を示す第2のフラ
グを設定する。このようにすれば、第1のフラグの数値
が第2のフラグの数値よりも大きい場合は、少なくとも
当該モジュールの領域を走行中のサービスプロセスが存
在すること(走行中)を意味し、第1及び第2のフラグ
が同一数値でゼロ値でない場合は、当該モジュールの領
域を走行していたサービスプロセスが他のモジュールを
呼び出して走行していること(呼出中)を意味し、第1
及び第2のフラグが共にゼロ値の場合は、当該モジュー
ルの領域を走行しているサービスプロセス及び当該モジ
ュールから他のモジュールを呼び出して走行しているサ
ービスプロセスが存在しないこと(未使用)を意味する
ので、プロセス走行位置、即ちサービスプロセスからの
モジュールの利用状況をモジュール単位で容易に把握す
ることができる。
【0012】また、入替え要求の有無の把握について
は、例えば前記モジュール管理テーブルに、当該モジュ
ールについての入替えが指示されているか否かを表す第
3のフラグをモジュール毎に設定する。このようにすれ
ば、モジュール制御手段がプロセス移動を行う際に第3
のフラグを参照することにより、移動前後のモジュール
がプロセス移動可能な状態になっているか否かの判定が
可能となる。
【0013】ここで、サービスプロセスが走行している
モジュールを第1のモジュール、リンク手段によりリン
クされた当該プロセスの移動先のモジュールを第2のモ
ジュールとすると、モジュール制御手段は、第1のモジ
ュールを走行中のプロセスを第2のモジュールへ移動さ
せる際に、まず、第1のモジュールに対応する第2のフ
ラグに所定の数値を加算し、プロセス移動が可能な状態
であれば、第2のモジュールに対応する第1のフラグに
所定の数値を加算する。他方、当該処理を第2のモジュ
ールから第1のモジュールへ戻す際に、第2のモジュー
ルに対応する第1のフラグから前記数値を減算し、プロ
セス移動が可能な状態であれば、第1のモジュールに対
応する第2のフラグから前記数値を減算する。プロセス
移動ができないとき、例えばモジュール管理テーブルの
第3のフラグを参照した結果、いずれかのモジュールに
入替え要求が発生している場合、モジュール制御手段
は、モジュール入替え可能な条件が整うまで当該プロセ
スを休止状態(スリープ状態)とする。そして、各モジ
ュールについて入替えが可能状態となっているかを確認
し、入替えが可能状態にあればモジュール入替えを行っ
た後に当該プロセスの休止解除を行う。
【0014】このように本発明では、各モジュールを走
行するプロセスが、モジュール入替えがあっても消滅し
ないので、当該プロセスが保持している資源やその状態
がそのまま移動先のモジュールに引き継がれる。また、
モジュール単位にプログラム入替えが行われるので、修
正データの作成に高級言語を使うことも可能となる。
【0015】
【実施例】次に、図面を参照して本発明の実施例を詳細
に説明する。図1は、本発明の一実施例に係るサービス
処理システム構成図であり、符号1は所定のプログラム
に従ってサービスプロセスを実行するサービス処理装
置、2はキーボードやマウス等の入力装置、3はモジュ
ール管理ルーチン(MMR)ファイル31とプログラム
モジュールファイル32を格納した外部記憶装置であ
る。
【0016】サービス処理装置1は、装置内各部の制御
を行う中央処理装置11と、上記制御に必要なデータや
プログラムを格納するメインメモリ12とを有する。メ
インメモリ12には、例えばローダ121、サービス処
理プログラム122、モジュール管理テーブル(MM
T)123、MMR124、ダイナミックリンカ12
5、及び関数管理テーブル(FMT)126が格納され
ている。
【0017】ローダ121は、入力装置2からのサービ
ス起動の指示入力により、当該サービスの実現に必要な
サービス処理プログラム122を外部記憶装置3のプロ
グラムモジュールファイル32より読み出してメインメ
モリ12上へロードする。その際、ロードされた各モジ
ュールに対応するMMTエントリを作成する。また、入
力装置2からのモジュール入替え指示により、入替対象
となるモジュールを外部記憶装置3よりメインメモリ1
2上にロードする。ローダ121自身は、システム初期
化時にメインメモリ12上に展開される。
【0018】MMT123は、メインメモリ12上に展
開されているサービス処理プログラムの状態を管理する
テーブルであり、当該サービス処理プログラムを構成す
るモジュール名と、それぞれのモジュールの各種フラグ
と、入替え要求中にスリープ状態となったプロセスをキ
ューイングするスリープキューとが各々対応付けられて
いる。
【0019】図2(a)は、このMMT123の具体例
であり、frag1は、当該モジュールが呼び出された
数を示すフラグ(第1のフラグ)、frag2は、当該
モジュールが他のモジュールを呼び出している数を示す
フラグ(第2のフラグ)、入替え要求fragは、当該
モジュールの入替えが指示されていることを示すフラグ
(第3のフラグ)である。また、入替え要求frag
は、入替え要求なし(値0)、未使用の場合のみ入替え
可能(値1)、未使用及び呼出中に入替え可能(値2)
の3状態を表現する。このMMT123の内容は、前述
のように、ローダ121によるモジュールのローディン
グの際に作成され、サービスプロセス移動処理時及びモ
ジュール入替え処理時等に更新される。
【0020】MMR124は、個々のモジュールの利用
状況を管理・制御するためのルーチンプログラムである
(モジュール制御手段)。
【0021】また、FMT126は、ロードされたモジ
ュールとMMR124とのリンクに用いるテーブルであ
り、図2(b)に示すように、各モジュール内にあり他
のモジュールから呼び出される関数(func1,fu
nc2,・・・)について、その関数名とそれぞれの関
数の位置情報(モジュール内offset)を対応付け
て格納するものである。このFMT126は、各モジュ
ールがメインメモリ12にローディングされる際、ロー
ダ121により作成される。
【0022】なお、FMT126に代えて、ダイナミッ
クリンカ125が有するダイナミックリンクテーブルを
利用することも可能である。即ち、ダイナミックリンク
機能を提供するコンパイラは、一つのサービスを記述し
た一つ以上のプログラムファイルから複数のロード可能
モジュールを生成する。このロード可能モジュールは、
アドレス解決を行う前の状態であり、これらの未解決の
アドレスは、実行する直前までにダイナミックリンカ1
25によりアドレス解決が行われる。そのため、ロード
可能モジュールのアドレス解決が動的に行われるといえ
る。これにより、ダイナミックリンカ125とMMR1
24にてプログラムを複数のモジュールとして管理でき
るため、修正データなどを作成した場合は、修正のある
モジュールだけを記憶媒体上で入れ替えれば良く、通信
回線を介して修正データを転送する場合や、記憶容量の
小さい媒体で修正データを運搬する場合に有利となる。
【0023】次に、上記構成のサービス処理装置1にお
いて、メインメモリ12上のサービス処理プログラム1
22の一部、例えば第1のモジュール(以下、s1と略
称する)を走行しているサービスプロセスを第2のモジ
ュール(以下、s2と略称する)に移動させ、モジュー
ル入替え後にこれを戻す処理について説明する。
【0024】この実施例では、モジュール間を移動する
関数の呼び出しの際に、MMR124を呼び出すように
リンクを行う。つまり、s1→MMR→s2のようにリ
ンクを行う。これを実現する方法は、上述のように、F
MT126の内容を参照し、s1から他のモジュールの
関数を呼び出す箇所を、当該関数名及びその引数をもっ
てMMR124を呼び出すように変更する方法、あるい
は、ダイナミックリンクでのアドレス解決をモジュール
移動の度に行うようにし、ダイナミックリンカ125の
中でMMR124を呼び出す等の方法のいずれであって
も良い。
【0025】以下、図3及び図4を参照してこのサービ
ス処理装置1における全体的な処理の流れを、MMR1
24の制御手順を中心に説明する。図3によれば、ま
ず、上記リンクによりs1からMMR124が呼び出さ
れる。MMR124は、s1が他のモジュールを呼び出
していることを示すため、MMT123にある当該s1
のfrag2を”1”加算するとともに(S(処理st
ep、以下同じ)101)、s1に入替え要求が発生し
ているか否かを知るため、MMT123にあるs1の入
替え要求fragを参照する(S102)。
【0026】ここで、s1に入替え要求が発生している
場合、つまりs1の実行中に、このs1と第3のモジュ
ールs’1(図1参照)との入替え要求が行われた場合
には、frag1及びfrag2を参照してs1の現在
の状態を調べ(S103)、「呼出中」であればs1の
入替え要求fragが”2”か否か、即ちs1が「未使
用及び呼出中に呼出可能」か否かを調べる(S10
4)。s1の入替え要求fragが”2”であれば排他
的にs1とs’1との入替え処理を行い(S105)、
入替え終了後はs1の入替え要求fragをクリア(S
106)するとともに、MMT123及びFMT126
のs1に対応する内容をs’1の内容に更新する。その
後、s1のスリープキューを休止解除する(S10
7)。
【0027】S102においてs1に入替え要求が発生
していない場合(S102)、s1が「呼出中」ではな
く「走行中」の場合(S103)、あるいはs1につい
ての入替え処理が終了した場合(S107)は、s1に
おいて呼び出す関数がどのモジュールにあるか、即ちM
MR124の引数にある関数名func1からサービス
プロセスの移動先がどのモジュールになるかをFMT1
26を検索して把握する。この実施例においては、関数
func1がs2にあることを把握する(S108)。
【0028】続いてs2に入替え要求が発生しているか
否かを知るため、MMT123にあるs2の入替え要求
fragを参照する(S109)。ここで、s2と第四
のモジュールs’2(図1参照)との入替え要求が発生
している場合には、MMT123のfrag1及びfr
ag2を参照してs2の現在の状態を調べ(S11
0)、「走行中」のとき、あるいは「呼出中」であって
s2の入替え要求fragが”2”でないときは(S1
11)、s2のスリープキューに登録し(S112)、
プロセスの休止解除を行って(S114)S109に戻
る。他方、s2が「未使用」のとき、あるいは「呼出
中」であってs2の入替え要求fragが”2”のとき
は、排他的にs2とs’2との入替え処理を行い(S1
15)、入替え終了後はs2の入替え要求fragをク
リア(S116)するとともに、MMT123及びFM
T126のs2に対応する内容をs’2の内容に更新す
る。その後、s2のスリープキューを休止解除する(S
117)。
【0029】S109においてs2に入替え要求が発生
していない場合、及びS117においてs2のスリープ
キューが休止解除された場合は、s2の呼出が行われて
いることを示すため、MMT123にあるs2のfra
g1に”1”を加算する(S118)。その後、s2に
ある関数func1を呼び出し(S119)、制御を当
該関数func1に移す。その後の処理手順を図4に示
す。
【0030】図4を参照すると、func1によるs2
の処理が終了すると、s2を呼び出したMMR124に
制御が戻る。そこで、s2の呼出が終了したことを示す
ため、MMR124は、MMT123にあるs2のfr
ag1を”1”減算する(S120)。
【0031】次に、s2に入替え要求が発生しているか
否かを調べる(S121)。ここで、入替え要求が発生
している場合は、s2の実行中にs2の入替え要求が発
生したことを意味するので、s2について前述のS10
3〜S107と同様の処理を行う(S122〜S12
6)。この場合、サービスプロセスは既にs2の実行を
終了しているので、入替え待ちの休止状態になることは
ない。また、s2の実行中にs1の入替え要求が発生し
た場合には、S124〜S126の後に入替え処理を行
う。図示のフローチャートでは、プロセス休止処理は行
われないが、s1を「呼出中」で入替えを行う場合に
は、プロセス休止処理を行うことも可能である。
【0032】一方、S121においてs2に入替え要求
が発生していない場合、及びS122でs2が「呼出
中」の場合、あるいはS123においてs2の入替え要
求fragが”2”でない場合には、サービスプロセス
の移動先であるs1に入替え要求があるかを知るため
に、MMT124にあるs1の入替え要求fragを参
照する(S127)。入替え要求が発生している場合に
は、前述のS103〜S107の処理を行う。この処理
の終了後、あるいはS127においてs1に入替え要求
が発生していない場合は、s1からの呼出が終了したこ
とを示すため、MMT123にあるs1のfrag2か
ら”1”を減算し(S133)、MMR124の呼出元
であるs1に制御を戻す(S134)。
【0033】なお、上述のS105〜S107、S12
4〜S126の処理においては、実際の入替えを行わ
ず、入替え待ちのプロセスを休止解除することにより、
この休止解除されたサービスプロセスが入替えを行うよ
うにすることもできる。このようにすれば、MMR12
4の制御手順を簡略にすることができる。この場合のフ
ローチャートを図5及び図6に示す。
【0034】図5において、S201〜S203の処理
は、図3のS101〜S103の処理と同様であり、S
204においてs1の入替え要求fragが”2”のと
きは排他制御を行わずにs1のスリープキューを休止解
除する(S205)点が異なる。以後のS206〜S2
17の処理は図3の場合と同様となる。図6の場合も、
図4の処理において、s2の状態が「未使用」のとき、
あるいは「走行中」であるがs2の入替え要求frag
が”2”のときは、排他制御を行わずにs2のスリープ
キューを休止解除する(S222)点、及び、s1に入
替え要求が発生し、s1の入替え要求fragが”2”
のときも排他制御を行わずにs1のスリープキューを休
止解除する(S132)点が異なり、その他は図4の他
の処理と同様となる。
【0035】このように、本実施例のサービス処理シス
テムにおいては、サービスプロセスを停止、消滅させな
いでプログラムを入れ替えることができるので、当該プ
ロセスの保持している資源や状態の引き継ぎの問題を生
じさせることがない。また、プログラムの部分修正や追
加に直接関係ないモジュールについては、保守作業の影
響を受けることなくサービスプロセスを継続することが
可能となり、しかも、サービスプロセスからのモジュー
ルの利用状況を迅速に把握できるので、停止されるサー
ビスプロセスの停止時間が必要最小限に抑えられ、保守
によるサービス停止時間が少なくて済む利点がある。従
って、例えば24時間連続のサービスを行う場合に、プ
ログラム保守作業によるサービス全体に対する影響を小
さくすることができる。また、プログラムの修正等をモ
ジュール単位に行う構成なので、修正データの作成に高
級言語を使うことが可能となり、しかも従来のような修
正サイズの制約もないので、短時間で高信頼性のプログ
ラム修正が可能となる。
【0036】
【発明の効果】以上の説明から明らかなように、本発明
では、プログラムを複数のモジュールに分割し、それを
単位にして各サービスプロセスからの利用状況(走行
中、呼出中、未使用)及び入替え要求の有無を把握する
ようにしたので、サービスプロセス及び個々のモジュー
ルの状態に合わせたモジュール入替え及びプロセス移動
のタイミングを掴むことが極めて容易になり、プログラ
ムの変更前後で生じる矛盾が確実に排除されるという効
果がある。
【0037】また、サービスプロセスからのモジュール
の利用状況及び入替え要求の有無を把握するために、モ
ジュール管理テーブルを設け、これに各種フラグを設定
して随時参照更新可能な構成にしたので、サービスプロ
セスが持つプログラムカウンタを用いる場合に比べてプ
ロセス走行位置の把握が容易となり、処理のオーバーヘ
ッドも格段に軽減される効果がある。
【0038】また、プログラムの修正データを高級言語
で作成できるので、パッチによるマシン語レベルでの修
正に比べ、修正データの作成が短時間で行うことができ
る。この場合は、修正データの大きさの制約が少ないと
いう利点もある。これにより、プログラム修正に関する
時間的及び金銭的なコストを抑えることも可能となる。
更に、モジュールをダイナミックリンク機能を使用して
作成することもできるので、アドレス解決や関数間イン
タフェースの妥当性の検証を容易に行うことも可能とな
る。
【図面の簡単な説明】
【図1】本発明の一実施例に係るサービス処理システム
の構成図。
【図2】(a)は本実施例で用いるモジュール管理テー
ブル(MMT)の内容説明図、(b)は関数管理テーブ
ル(FMT)の内容説明図。
【図3】本実施例におけるサービス処理装置の全体的な
処理手順を示すフローチャート。
【図4】図3の後続手順を示すフローチャート。
【図5】図3で示した処理の一部を簡略化した他の処理
手順を示すフローチャート。
【図6】図4で示した処理の一部を簡略化した他の処理
手順を示すフローチャート。
【符号の説明】
1 サービス処理装置 2 入力装置 3 外部記憶装置 31 モジュール管理ルーチンファイル 32 プログラムモジュールファイル 11 中央処理装置 12 メインメモリ 121 ローダ 122 サービス処理プログラム 123 モジュール管理テーブル(MMT) 124 モジュール制御ルーチン(MMR) 125 ダイナミックリンカ 126 関数管理テーブル(FMT)

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 メモリにロードされたプログラムを利用
    して所定のサービスプロセスを実行するサービス処理シ
    ステムにおいて、 前記プログラムを分割した複数のモジュールを格納する
    モジュール格納手段と、 所要のモジュールを前記モジュール格納手段より読み出
    して前記メモリにロードするローダと、 ロードされたモジュールに対する前記サービスプロセス
    の利用状況を表すフラグ及び当該モジュールに対する入
    替え要求の有無を表すフラグをモジュール単位に設定す
    るモジュール管理テーブルと、 前記モジュール管理テーブルに設定された各フラグの参
    照更新処理、前記ロードされたモジュール同士の入替え
    制御、及び個々のモジュールを利用するサービスプロセ
    スの制御を行うモジュール制御手段と、 前記ロードされたモジュールと前記モジュール制御手段
    とのリンクを行うリンク手段と、を有し、 前記モジュール制御手段は、 前記メモリ上の一のモジュールを走行するサービスプロ
    セスを、前記リンク手段によりリンクされた他のモジュ
    ールへ移動させる際に、前記モジュール管理テーブルに
    設定された各フラグを参照してモジュール入替えが可能
    か否かを判定し、入替え可能状態のモジュールに対して
    モジュール入替えを実行する構成であることを特徴とす
    るサービス処理システム。
  2. 【請求項2】 前記リンク手段は、 前記各モジュール内にあり他のモジュールから呼び出さ
    れる関数について、その関数名とそれぞれの関数を含む
    モジュールの位置情報とを対応付けて格納する関数管理
    テーブルと、前記関数の呼出しに用いるモジュールの位
    置情報を前記モジュール制御手段を呼び出すための割込
    情報に変更する割込手段と、から成ることを特徴とする
    請求項1記載のサービス処理システム。
  3. 【請求項3】 前記リンク手段は、 前記モジュール制御手段を呼び出す手順を記録したダイ
    ナミックリンクテーブルと、モジュール移動の際に前記
    ダイナミックリンクテーブルの記録手順に従って当該モ
    ジュールと前記モジュール制御手段とのリンクを行うダ
    イナミックリンカと、から成ることを特徴とする請求項
    1記載のサービス処理システム。
  4. 【請求項4】 前記モジュール管理テーブルには、当該
    モジュールが他のモジュールに呼び出されている数を表
    す第1のフラグ、及び当該モジュールが他のモジュール
    を呼び出している数を表す第2のフラグが少なくとも設
    定され、 前記モジュール制御手段は、前記サービスプロセスが走
    行している第1のモジュールから前記リンク手段により
    リンクされた第2のモジュールへ当該プロセスを移動さ
    せる際に、第1のモジュールに対応する第2のフラグに
    所定の数値を加算し、第2のモジュールへのプロセス移
    動が可能なときは該第2のモジュールに対応する第1の
    フラグに所定の数値を加算するとともに、当該プロセス
    を第2のモジュールから第1のモジュールに戻す際に、
    第2のモジュールに対応する第1のフラグから前記数値
    を減算し、第1のモジュールへのプロセス移動が可能な
    ときは該第1のモジュールに対応する第2のフラグから
    前記数値を減算する構成であることを特徴とする請求項
    2又は3記載のサービス処理システム。
  5. 【請求項5】 前記モジュール制御手段は、 モジュール入替え中、あるいは入替え要求が発生してい
    るモジュールに対する前記サービスプロセスをモジュー
    ル入替え前に休止させ、モジュール入替えが終了した時
    点で当該サービスプロセスの休止状態を解除する構成で
    あることを特徴とする請求項4記載のサービス処理シス
    テム。
JP22707594A 1994-09-21 1994-09-21 サ−ビス処理システム Expired - Fee Related JP3437284B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22707594A JP3437284B2 (ja) 1994-09-21 1994-09-21 サ−ビス処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22707594A JP3437284B2 (ja) 1994-09-21 1994-09-21 サ−ビス処理システム

Publications (2)

Publication Number Publication Date
JPH0895771A true JPH0895771A (ja) 1996-04-12
JP3437284B2 JP3437284B2 (ja) 2003-08-18

Family

ID=16855132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22707594A Expired - Fee Related JP3437284B2 (ja) 1994-09-21 1994-09-21 サ−ビス処理システム

Country Status (1)

Country Link
JP (1) JP3437284B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322251A (ja) * 1999-04-23 2000-11-24 Internatl Business Mach Corp <Ibm> アプリケーション管理方法
JP2007511018A (ja) * 2003-11-12 2007-04-26 株式会社エヌ・ティ・ティ・ドコモ ソフトウェアをコンポーズする方法及び装置
WO2011158367A1 (ja) 2010-06-17 2011-12-22 富士通株式会社 実行中のプログラムの更新技術
JP2015115073A (ja) * 2013-12-09 2015-06-22 ディスペース デジタル シグナル プロセッシング アンド コントロール エンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH 電子制御装置のメモリ内のソフトウェアを変更する方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322251A (ja) * 1999-04-23 2000-11-24 Internatl Business Mach Corp <Ibm> アプリケーション管理方法
US6718546B1 (en) 1999-04-23 2004-04-06 International Business Machines Corporation Application management
JP2007511018A (ja) * 2003-11-12 2007-04-26 株式会社エヌ・ティ・ティ・ドコモ ソフトウェアをコンポーズする方法及び装置
WO2011158367A1 (ja) 2010-06-17 2011-12-22 富士通株式会社 実行中のプログラムの更新技術
JP2015115073A (ja) * 2013-12-09 2015-06-22 ディスペース デジタル シグナル プロセッシング アンド コントロール エンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH 電子制御装置のメモリ内のソフトウェアを変更する方法

Also Published As

Publication number Publication date
JP3437284B2 (ja) 2003-08-18

Similar Documents

Publication Publication Date Title
US4685125A (en) Computer system with tasking
US5355484A (en) Dynamically established event monitors in event management services of a computer system
US5625821A (en) Asynchronous or synchronous operation of event signaller by event management services in a computer system
US7707583B2 (en) Robust sharing of runtime systems
US5313584A (en) Multiple I/O processor system
US6834385B2 (en) System and method for utilizing dispatch queues in a multiprocessor data processing system
US7426732B2 (en) Placing a task of a multithreaded environment in a known state
US7587721B2 (en) Sharing objects in runtime systems
EP0528222A2 (en) Notification of event handlers in broadcast or propagation mode by event management services in a computer system
US20050283785A1 (en) Preemptive multi-tasking with cooperative groups of tasks
US20090113398A1 (en) Managing the tracing of the execution of a computer program
CA2820081A1 (en) Distributed computing architecture
KR100400165B1 (ko) 처리 시스템 스케쥴링
US7770177B2 (en) System for memory reclamation based on thread entry and release request times
US7401335B2 (en) Single stack kernel
JPH06243112A (ja) マルチプロセッサ装置
US6336215B1 (en) Apparatus and method for on-line code only replacement of a running program using checkpoints
JP3437284B2 (ja) サ−ビス処理システム
US20240078227A1 (en) Lifecycle tracking of data objects
US5613133A (en) Microcode loading with continued program execution
US20120144369A1 (en) Tracking ownership of memory in a data processing system through use of a memory monitor
JP2006031203A (ja) 車載情報端末
Hölscher et al. Examining and Supporting Multi-Tasking in EV3OSEK
JPH0519179B2 (ja)
Huxtable et al. Dynamic supervisors-their design and construction

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080606

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090606

Year of fee payment: 6

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

Year of fee payment: 7

Free format text: PAYMENT UNTIL: 20100606

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

Free format text: PAYMENT UNTIL: 20100606

Year of fee payment: 7

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

Year of fee payment: 8

Free format text: PAYMENT UNTIL: 20110606

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

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120606

Year of fee payment: 9

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

Year of fee payment: 10

Free format text: PAYMENT UNTIL: 20130606

LAPS Cancellation because of no payment of annual fees