JP3604171B2 - プロセス自動再起動処理方式 - Google Patents

プロセス自動再起動処理方式 Download PDF

Info

Publication number
JP3604171B2
JP3604171B2 JP06410294A JP6410294A JP3604171B2 JP 3604171 B2 JP3604171 B2 JP 3604171B2 JP 06410294 A JP06410294 A JP 06410294A JP 6410294 A JP6410294 A JP 6410294A JP 3604171 B2 JP3604171 B2 JP 3604171B2
Authority
JP
Japan
Prior art keywords
main process
abnormality
processes
job
unit
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
JP06410294A
Other languages
English (en)
Other versions
JPH07271611A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP06410294A priority Critical patent/JP3604171B2/ja
Publication of JPH07271611A publication Critical patent/JPH07271611A/ja
Application granted granted Critical
Publication of JP3604171B2 publication Critical patent/JP3604171B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【産業上の利用分野】
本発明は、プロセス制御を行う計算機システムにおいて、間欠的な障害が発生したときに自動修復を行うようにしたプロセス自動再起動処理に関する。
【0002】
【従来の技術】
計算機システムの重要性は年々増大する傾向にあり、24時間ノーダウンのシステムが要求されている。そのため、オペレーティングシステム(OS)には、異常発生時におけるリカバリ確認機能が必須とされ、異常が発生してもシステムダウンとならないように、システムのフォルト・トレラント(Fault Torerant)化が必要になってきてきる。
【0003】
このような点に鑑みて、本発明者は特開平2−158843号公報に示されるように、異常が発生したプロセスを新しいアドレス空間に自動的に再起動することにより待機プロセスの準備を不要とした技術を提案している。
【0004】
この従来技術の概略を簡単に説明すると図9に示す通りである。すなわち、ジョブスケジューラにおける異常検出部が主プロセスの異常を検出すると、再起動処理部に対して再起動を指示し、新しく開設したアドレス空間でジョブの再起動を実行するようになっていた。
【0005】
【発明が解決しようとする課題】
しかしながら、前記従来技術では単一のプロセスで構成されたジョブを対象としているため、複数のプロセスで構成されるジョブにおける障害発生時には対応できなかった。すなわち、図10に示すように、ジョブが主プロセスと複数のプロセスとで構成されている場合が問題となっていた。
【0006】
この場合、副プロセスに障害が発生した場合には、正常に動作している主プロセスを用いて異常の生じた副プロセスの復旧が可能であるため問題は生じないものの、主プロセス自体に異常が発生した場合に、異常検出部により異常が検出されると副プロセスはそのまま作動した状態で主プロセスの再起動が行われることになり、再起動された主プロセスと副プロセスとの間で矛盾を生じる可能性があり、危険であった。
【0007】
本発明は前記課題に鑑みてなされたものであり、その目的は複数のジョブがメモリを共有しない複数のプロセスで構成されるシステムにおいて、継続しているプロセスが存在することにより生じる相互干渉を防止してプロセスの再起動を可能とするシステムを提案することにある。
【0008】
【課題を解決するための手段】
本発明の第1の手段はジョブが相互にメモリを共用しない複数のプロセスを含み、複数のプロセスが主プロセスとこの主プロセスによって起動される少なくとも一つの副プロセスからなる計算機システムにおいて、前記ジョブに含まれる複数のプロセスのうちの少なくとも一つのプロセスの異常を検出する異常検出部と前記異常検出部で前記主プロセスの異常を検出したときに、前記主プロセスの終了とともに、異常を生じていない前記副プロセスを強制的に終了させる回収処理部と、前記複数のプロセスのうち少なくとも主プロセスを新たなメモリ空間上で再起動させる再起動処理部とを有するプロセス自動再起動処理方式とするものである。
第2の手段は、再起動される主プロセスが自プロセスの再起動を強制的に打ち切るか否かを判断するものである。
図1には、ジョブが相互にメモリを共用しない複数のプロセスからなる計算機システムにおいて、少なくとも一つのプロセスの異常を検出する異常検出部(21)と、ジョブを構成するプロセスのうち、異常を生じていない残りのプロセスを強制的に終了させてプロセスの情報を回収する回収処理部(101)と、前記プロセスのうち少なくとも主プロセスとなるプロセスを新たなメモリ空間上で再起動させる再起動処理部(16)とを有するプロセス自動再起動処理方式が示されている。
【0009】
図2には、前記再起動処理部(16)に、前記で再起動されたプロセスを強制的に打ち切るか否かを判断する再起動判定部(102)を備えたものが示されている。
【0010】
【作用】
本発明の第1の手段によれば、副プロセスを有する主プロセスに異常が発生した場合、回収処理部により異常を生じていない副プロセスも強制的に終了されるため、異常の生じていない副プロセスのみが動作して主プロセスと矛盾を生じることを防止できる。
【0011】
また、第2の手段によれば、新しいメモリ空間で主プロセスが再起動された後、ジョブ自身に再起動の打ち切りを行うことのできる機能を与えることにより、障害発生時においてもジョブプログラムによる柔軟な対応が可能となる。
【0012】
【実施例1】
以下、本発明を図に基づいて説明する。
〔本実施例のシステム構成〕
図3は、本発明の一実施例である計算機のシステム構成を示している。
【0013】
図3において、10はCPUおおびメモリ等を備えた計算機システム、11および12は計算機資源を使用する処理単位であるプロセスであり、このうち子プロセス群は主プロセスと複数の副プロセスとで構成されている。
【0014】
14はプロセスの起動制御等を行うプロセス制御部、15は回復処理部、16は再起動処理部、17はユーザからの処理要求の単位であるセッションを制御するセッション制御部、18は回復用情報記憶部、19は不揮発メモリ、20はOSの核となるカーネル部、21は異常検出部、22はアドレス空間を管理する空間管理部、23はアドレス空間の管理情報を記憶する空間管理テーブル、A0〜A2はそれぞれ個別の仮想記憶空間であるアドレス空間を表している。また、アドレス空間A1に生成された101は回収処理部を表している。
〔システムの作動状態の概要〕
図3において、セッション制御部17は、ユーザからの処理要求またはコマンド列からなるプロシジャによる処理要求に基づいてセッションを開設する。このセッションでは、例えばアドレス空間Aを獲得し、プロセス11を起動する。プロセス11は計算機資源を使用する処理単位(ジョブ)であり、プログラムの実行環境を形成するものである。また、必要に応じて他のアドレス空間A2〜Anを獲得してその空間で動作する他のプロセス12,,,(主プロセスと副プロセスの複数プロセスでも可)を起動することもできる。
【0015】
セッション制御部17が管理する回復用情報記憶部18は、起動されたプロセス11,12毎に処理依頼等に用いられるメッセージの宛先情報、システム内のプロセスを一意に識別するプロセス識別子、アドレス空間を一意に識別するアドレス空間識別子、起動元のプロセス識別子の情報等を記憶するものである。あるプロセスが他のプロセスを起動したときにセッション制御部17へこれらの情報が通知され、セッション制御部17はこの内容を回復用情報記憶部18に格納し、さらにこれを不揮発メモリ19に待避する機能を有している。
【0016】
不揮発メモリ19はハードウエアの一部であり、プロセスやアドレス空間に異常が発生した場合にも、回復用情報記憶部18の内容を保証するようになっている。
【0017】
カーネル部20に設けられた異常検出部21は、プログラムチェック割り込みやその他のプログラムの異常を検出するものであり、異常を検出した場合、
アドレス空間A1へ異常発生を通知する機能を有している。
【0018】
プロセスを制御するプロセス制御部14等は、回復処理部15、再起動処理部16および回収処理部101を有している。
回復処理部15は、異常検出部21からの異常発生通知があると、関連する回復用情報記憶部18の内容をセッション制御部17に要求し、自プロセス11が起動したプロセス12の資源の回収を行い、アドレス空間A2〜Anを消滅させて実行環境の整理を行うことにより、システムの状態を矛盾のない状態に回復する。
【0019】
回収処理部101は、異常の発生したプロセス(主プロセス)に副プロセスが存在する場合に、これらの副プロセス群を強制的に終了させる機能を有している。
【0020】
さらに再起動処理部16は、前記主プロセスおよび副プロセスが強制的に終了させられた後に、空間管理部22に新しいアドレス空間の創成を依頼し、そのアドレス空間でプロセス12を再起動する機能を有している。
〔システムの正常時の作動状態〕
次に図4を用いてまずシステムが正常に起動された場合の作動状態を説明する。
【0021】
図4および図5において、前記図3と同じ符号のものは同一機能を有するものとする。なお、符号30,31はプロセッサ、32,33は図3に示すカーネル部20に相当するスーパバイザ、40は再起動されたプロセス、41はプロセス制御部を表す。
【0022】
ここで、アドレス空間A1からプロセス12を起動するときの処理の流れについて(1)〜(6)(図では丸付き数字で表示している)にしたがって説明する。
(1) アドレス空間A1は、プロセス11を起動するとき、パラメータで自動再起動を設定してプロセス起動マクロ命令を発行する。
(2) このマクロ命令の発行により、プロセス制御部13のプロセス起動部では、スーパバイザ32に対しアドレス空間の創成を依頼する。
(3) スーパバイザ32は、アドレス空間を創成し、新空間へのメッセージの宛先およびアドレス空間識別子を要求元へ返却する。
(4) 新しく開設されたアドレス空間Ax内で、プロセス制御部13のプロセス起動部が動作し、スーパバイザ32に対し、プログラム実行体の創成、すなわちCPU資源の獲得を依頼する。
(5) プロセス制御部13のプロセス起動部には、スーパバイザ32から返却された情報(新アドレス空間の宛先、新アドレス空間識別子)および自分のプロセス識別子、新プロセス12のプロセス識別子を、セッション制御部17に通知する。
(6) セッション制御部17は、通知された情報を回復用情報記憶部18に登録し、自分のアドレス空間A0がクラッシュしたときに、それらの情報が失われないようにするために、それの情報を不揮発メモリ19に退避する。
【0023】
なお、セッション制御部17もプロセスの一種であるが、本実施例では、セッション制御部17については、待機プロセスを用意することにより、障害発生に迅速に対応できるようにしている。
【0024】
前記図4に示す状態において、アドレス空間A2に異常が発生したときの処理の流れは、以下の図5に示すようになる。
〔障害発生時の作動状態〕
以下の処理の流れを(1)〜(8)(図では丸付き数字で表示している)にしたがって説明する。
(1) 異常がアドレス空間A2におけるプログラムチェック(主プロセス)であったとする。ハードウエアからプログラムチェック割り込みがあると、スーパバイザはこの異常を検出する。
(2) スーパバイザ32は、空間創成依頼を受けたときに、どの空間がどの空間を創成したかという情報を記憶しているので、クラッシュしたアドレス空間A2の起動元を調べ、そのに異常発生を通知する。
(2)’ 回収処理部101は、スーパバイザ32に対して副プロセスの空間回収を依頼する。この空間回収は副プロセス毎に行われ、空間が回収される度に回収処理部101に対してスーパバイザ32より空間終了通知がなされる。この空間回収処理がアドレス空間A2〜Anに展開されている副プロセスの数(n個)だけ繰り返される。
(3) 起動元であるアドレス空間A1における回復処理部15は、セッション制御部17に対してプロセス情報の通知を依頼し、該当する回復用情報記憶部18の内容を獲得する。
(4) 次に回復処理部15は、獲得した情報により削除すべきアドレス空間A2〜Anを知り、スーパバイザに対して削除を依頼して、アドレス空間A2〜Anの回収を行う。
(5) 再起動処理部16は、プロセス11を新しいプロセス40として起動するために、スーパバイザ32にアドレス空間A3の創成を依頼する。
(6) スーパバイザ32は前記依頼に対して新アドレス空間A3を創成し、その宛先とアドレス空間識別子を返却する。
(7) 再起動処理部16は、返却された新アドレス空間の宛先とそのアドレス空間識別子、自分のプロセス識別子、新プロセスの識別子を再度セッション制御部17に通知する。セッション制御部17は、その情報を回復用情報記憶部18に登録する。
(8) アドレス空間A3におけるプログラム制御部41のプロセス起動部は、プロセス実行体の創成(CPUの獲得)をスーパバイザ32に依頼する。
【0025】
異常により、プロセス12で行っていた処理を、新しい空間A3で動作するプロセス40に引き継ぐことができ、副プロセスも含めて異常発生時の状態に復帰することができる。
【0026】
【実施例2】
本実施例2の構成を示したものが図6である。同図は図5とほぼ同じであるが、プロセス制御部13内に再起動処理部16のほかに再起動判定部102が設けられている点が異なる。
【0027】
再起動判定部102は、前記実施例1の処理(8)の後、再起動された主プロセスからの通知に基づいて再起動動作を打ち切るか否かを判定する機能を有している。
【0028】
すなわち、処理(8)において主プロセスが新メモリ空間A3で再起動された後、主プロセスから再起動打ち切り宣言が通知されると、これを受け付けて主プロセスの打ち切り制御を行いこれ以降の再起動動作を行わない。
【0029】
これを概念的に示したものが図7である。すなわちジョブスケジューラ701はジョブ702中に主プロセス703と副プロセス704および705を起動する。この処理中に主プロセス703より異常が検出されると、副プロセス704および705を回収処理部101が回収する。そしてジョブ702全体の終了が認識されると、新たなメモリ空間(図6のA3)にジョブ702’を確保して主プロセス703’を再起動する。そしてこの主プロセス703’からの再起動打ち切り宣言を再起動判定部102が受け付けると、この主プロセス703’は終了され、これ以降の再起動動作は行われない。
【0030】
ジョブ(主プロセス)の再起動の処理手順を示したものが図8である。
同図において、ジョブ702を構成する主プロセス703の終了が検出されると(801)、主プロセス703の終了状態が退避される(802)。次に、ジョブを構成する他の主プロセスがあるか否かが判断され(803)、存在する場合にはジョブの終了がユーザに通知される(805)。存在しない場合には、ジョブを構成する主プロセス703以外の副プロセス704,705が強制終了される(804)。
【0031】
次に、ジョブから打ち切り指示があったか否かが判断されるが(806)、これが肯定枝に分岐するのは主プロセス703’が再起動された場合となる。
ジョブより打ち切り指示がない場合には、退避していた主プロセス703の終了状態を起動情報としてジョブを構成する主プロセス703’を再起動する(807)。
【0032】
以上のように、本実施例2によれば、ジョブ自身に再起動を打ち切る論理を組み込むことにより、ジョブプログラムによる柔軟な対応が可能となりシステムの自動運転に寄与することができる。
【0033】
【発明の効果】
本発明によれば、ジョブを構成する主プロセスに異常が発生した場合に、強制的にその副プロセスも終了させるため、異常が発生したプログラムの一部が動作を継続していることがなくなり、相互干渉による動作不良が防止できる。
【図面の簡単な説明】
【図1】本発明の第1の原理図
【図2】本発明の第2の原理図
【図3】本発明の実施例1の計算機のシステム構成を示す説明図
【図4】実施例1の計算機の動作を示す説明図
【図5】実施例1の計算機の動作を示す説明図
【図6】実施例2の計算機の動作を示す説明図
【図7】実施例2の動作を概念的に示した説明図
【図8】実施例2のジョブの再起動における処理手順を示すフロー図
【図9】従来技術の説明図
【図10】従来技術の説明図
【符号の説明】
10・・計算機システム
11,12・・プロセス
13,14・・プロセス制御部
15・・回復処理部
16・・再起動処理部
17・・セッション制御部
18・・回復用情報記憶部
19・・不揮発メモリ
20・・カーネル部
21・・異常検出部
22・・空間管理部
23・・空間管理テーブル
101・・回収処理部
102・・再起動判定部
701・・ジョブスケジューラ
702・・ジョブ
703・・主プロセス
704,705・・副プロセス

Claims (2)

  1. ジョブが相互にメモリを共用しない複数のプロセスを含み、複数のプロセスが主プロセスとこの主プロセスによって起動される少なくとも一つの副プロセスからなる計算機システムにおいて、
    前記ジョブに含まれる複数のプロセスのうちの少なくとも一つのプロセスの異常を検出する異常検出部と
    前記異常検出部で前記主プロセスの異常を検出したときに、前記主プロセスの終了とともに、異常を生じていない前記副プロセスを強制的に終了させる回収処理部と
    前記複数のプロセスのうち少なくとも主プロセスを新たなメモリ空間上で再起動させる再起動処理部とを有するプロセス自動再起動処理方式。
  2. 再起動される主プロセスが自プロセスの再起動を強制的に打ち切るか否かを判断することを特徴とする請求項1記載のプロセス自動再起動処理方式。
JP06410294A 1994-03-31 1994-03-31 プロセス自動再起動処理方式 Expired - Fee Related JP3604171B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06410294A JP3604171B2 (ja) 1994-03-31 1994-03-31 プロセス自動再起動処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06410294A JP3604171B2 (ja) 1994-03-31 1994-03-31 プロセス自動再起動処理方式

Publications (2)

Publication Number Publication Date
JPH07271611A JPH07271611A (ja) 1995-10-20
JP3604171B2 true JP3604171B2 (ja) 2004-12-22

Family

ID=13248385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06410294A Expired - Fee Related JP3604171B2 (ja) 1994-03-31 1994-03-31 プロセス自動再起動処理方式

Country Status (1)

Country Link
JP (1) JP3604171B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2809271B2 (ja) * 1996-04-15 1998-10-08 日本電気株式会社 ジョブ再実行方式
JP2018018122A (ja) * 2016-07-25 2018-02-01 富士通株式会社 情報処理プログラム、情報処理装置および情報処理方法
CN110471784B (zh) * 2019-07-29 2023-03-14 创新先进技术有限公司 基于Electron平台的播放终端异常处理方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59140568A (ja) * 1983-01-31 1984-08-11 Fujitsu Ltd プログラム異常処理方式
JP2509811B2 (ja) * 1986-06-25 1996-06-26 株式会社日立製作所 タスク管理方式
JPH02158843A (ja) * 1988-12-12 1990-06-19 Fujitsu Ltd プロセス自動再起動処理方式
JP3101353B2 (ja) * 1991-08-09 2000-10-23 富士通株式会社 プロセスの親子関係引き継ぎ処理装置
JPH05165539A (ja) * 1991-12-18 1993-07-02 Hitachi Ltd バッチプログラムの自動再起動制御方式
JPH07111685B2 (ja) * 1993-05-24 1995-11-29 日本電気株式会社 システム稼動維持方式

Also Published As

Publication number Publication date
JPH07271611A (ja) 1995-10-20

Similar Documents

Publication Publication Date Title
JP3196004B2 (ja) 障害回復処理方法
JP3345626B2 (ja) マルチプロセッサシステムにおけるプロセッサ異常対策装置およびマルチプロセッサシステムにおけるプロセッサ異常対策方法
US5664088A (en) Method for deadlock recovery using consistent global checkpoints
US7007192B2 (en) Information processing system, and method and program for controlling the same
JPH0820965B2 (ja) プログラムの実行を続行する方法
JP4315016B2 (ja) コンピュータシステムの系切替方法
JP3481737B2 (ja) ダンプ採取装置およびダンプ採取方法
JPH07311749A (ja) マルチプロセッサシステム及びカーネル置換方法
JP2755437B2 (ja) 通信制御プログラムの連続運転保証処理方法
JP3604171B2 (ja) プロセス自動再起動処理方式
JPH07113898B2 (ja) 障害検出方式
JP2002049509A (ja) データ処理システム
JP2772052B2 (ja) 資源情報引き継ぎ処理方法
JP2785992B2 (ja) サーバプログラムの管理処理方式
JP2710668B2 (ja) 計算機システム
JP3122371B2 (ja) 計算機システム
JP2716537B2 (ja) 複合システムにおけるダウン監視処理方式
JP4788516B2 (ja) 動的置き換えシステム、動的置き換え方法およびプログラム
JPH02158843A (ja) プロセス自動再起動処理方式
JP2909128B2 (ja) 起動処理の引き継ぎ処理装置
JPH02114364A (ja) マルチプロセッサシステム
JP2785342B2 (ja) 処理システム
JP2999024B2 (ja) 子プロセスの終了待ち合わせ処理装置
JPS62212865A (ja) マルチプロセツサ制御方式
JPS597982B2 (ja) 計算機システムのシステム障害時の再開始方式

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040629

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040921

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040928

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20071008

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081008

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081008

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091008

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091008

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101008

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees