JP2999024B2 - 子プロセスの終了待ち合わせ処理装置 - Google Patents

子プロセスの終了待ち合わせ処理装置

Info

Publication number
JP2999024B2
JP2999024B2 JP3200137A JP20013791A JP2999024B2 JP 2999024 B2 JP2999024 B2 JP 2999024B2 JP 3200137 A JP3200137 A JP 3200137A JP 20013791 A JP20013791 A JP 20013791A JP 2999024 B2 JP2999024 B2 JP 2999024B2
Authority
JP
Japan
Prior art keywords
wait
child process
termination
child
fault
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
JP3200137A
Other languages
English (en)
Other versions
JPH0546411A (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 JP3200137A priority Critical patent/JP2999024B2/ja
Publication of JPH0546411A publication Critical patent/JPH0546411A/ja
Application granted granted Critical
Publication of JP2999024B2 publication Critical patent/JP2999024B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,例えば耐故障性コンピ
ュータシステム等において,子プロセスの終了待ち合わ
せ処理機能に,子プロセスの状態を変更しない機能を追
加することにより,確実に子プロセスの終了状態を親プ
ロセスに認識させることができるようにした子プロセス
の終了待ち合わせ処理装置に関する。
【0002】コンピュータシステムの信頼性を向上させ
るために必要な要素の一つとして,耐故障性(フォール
トトレラント)が挙げられる。そのためのコンピュータ
システムが,近年急速に普及してきているが,それらを
動作させるオペレーティング・システム(OS)の大半
は独自のものであり,そのOSに関して特別な知識を多
く必要とする。
【0003】この対処として,このような耐故障性を有
するコンピュータシステムのOSインタフェースを,現
在,一般的に普及しつつあるUNIX(米国ATT社が
開発したOS)系のオペレーティング・システムに準拠
させることが考慮されているが,既存のインタフェース
に,耐故障性に適した処理を実現できる機能を追加する
必要がある。
【0004】
【従来の技術】図5は従来技術の説明図である。耐故障
性を有するコンピュータシステム30では,各種サービ
スを提供するサーバ(以下,耐故障性サーバという)の
無停止・処理の完全化の実現が重要なポイントとなる。
ここで,通常,耐故障性サーバ31は,各種処理の際
に,それぞれの処理に応じた情報を不揮発メモリ17に
書き込み,自身がクラッシュした後の再起動時,あるい
は待機系の耐故障性サーバ32への切り替えによる処理
引き継ぎ時に,不揮発メモリ17の情報を参照し,今ま
での処理を継続できるようにしている。
【0005】図5に示すような耐故障性サーバ31を,
例えばUNIX系OSの機能で実現した場合,この耐故
障性サーバ31が子プロセスを創成・管理する性格を有
しているときには,自身からの子プロセスの創成,子プ
ロセスの終了,および終了状態または次処理に関する情
報を,不揮発メモリ17に書き込む必要がある。
【0006】そのため,耐故障性サーバ31の処理を,
次のようにすることが考えられている。図5に示す処理
(a) により,子プロセスをいわゆるforkシステムコ
ールによって創成する。カーネル15は,処理(b) によ
り,子プロセスに関する管理情報を作成する。これによ
って,子プロセスは実行可能な状態になる。
【0007】次に耐故障性サーバ31は,処理(c) によ
り,障害時に待機系の耐故障性サーバ32に引き継ぐた
めに,子プロセス有りを示すプロセスID等の情報を,
不揮発メモリ17に設定する。
【0008】親プロセスである耐故障性サーバ31は,
処理(d) により,子プロセスの終了を待ち合わせる。こ
の待ち合わせには,waitまたはwaitpidシス
テムコールが使用される。子プロセスが終了すると,カ
ーネル15は,処理(e) により,子プロセスに関する管
理情報を削除し,耐故障性サーバ31の待ち合わせを解
除する。
【0009】耐故障性サーバ31は,処理Aによって,
子プロセスが終了状態になったことを示す情報を不揮発
メモリ17に設定し,処理Bにより,終了状態に応じた
処理を行う。
【0010】
【発明が解決しようとする課題】しかし,以上のような
処理では,次のような問題がある。もし,図5に示す
(f) のように,子プロセスの終了待ち合わせ完了後,す
なわちwait/waitpidシステムコールの完了
後で,かつ終了状態を不揮発メモリ17に書き込む前の
タイミングで,親プロセスである耐故障性サーバ31に
障害が発生した場合,その処理を引き継いだ待機系の耐
故障性サーバ32が,処理(g) によって不揮発メモリ1
7を参照すると,子プロセスの終了待ち合わせがまだ実
施されていないと認識することになる。
【0011】そこで,耐故障性サーバ32は,処理(h)
によって,再度,子プロセスの終了待ち合わせを実施し
ようとする。しかし,実際には,現用の耐故障性サーバ
31で既にwait/waitpidシステムコールが
完遂されているため,子プロセスの状態は,「親プロセ
スからのwait待ち状態」から「消滅」に変更あるい
は削除されており,処理(i) に示すように,wait/
waitpidシステムコールがエラー復帰してしま
う。
【0012】この結果,待機系の耐故障性サーバ32
は,当該子プロセスの終了状態を獲得できないので,本
来しなければならない処理を実施することができず,以
降の処理に矛盾が発生する。
【0013】本発明は上記問題点の解決を図り,確実に
子プロセスの終了状態を親プロセスが認識できる手段を
提供し,耐故障性サーバ等の子プロセスの終了状態に応
じた処理を完全なものにできるようにすることを目的と
している。
【0014】
【課題を解決するための手段】図1は本発明の原理説明
図である。データ処理装置10は,CPUおよびメモリ
などからなる装置であり,オペレーティング・システム
の核であるカーネル15の終了待ち合わせ処理部16に
よって,子プロセスの終了を待ち合わせる親プロセス1
1の要求を処理する機能を備えている。
【0015】本発明では,終了待ち合わせ処理部16に
対する要求に,終了状態チェック機能の指定ができるよ
うになっている。終了状態チェック機能の指定を行わな
い場合の処理は,従来と同様であり,子プロセスの終了
待ち合わせが完了すると,システムはその子プロセスの
状態を,「親プロセスからのwait待ち状態」から
「消滅」に変更あるいは削除する。
【0016】終了待ち合わせ処理部16に対する要求
に,終了状態チェック機能の指定があると,終了待ち合
わせ処理部16は,指定された子プロセスの状態変更を
行わずに,要求元へ子プロセスの終了状態に関する情報
の返却だけを行うようになっている。
【0017】そこで親プロセス11は,子プロセスの終
了を待ち合わせる場合,まず終了待ち合わせ要求部12
により,終了状態チェック機能を指定して終了待ち合わ
せ処理部16を呼び出す。そして,子プロセスの終了通
知があったならば,不揮発メモリ更新部13により,不
揮発メモリ17における子プロセスの情報を更新または
削除する。その後,終了待ち合わせ要求部14により,
終了状態チェック機能を指定しないで,終了待ち合わせ
処理部16を再度呼び出すことにより,子プロセスの削
除を要求する。
【0018】
【作用】本発明では,親プロセス11からの子プロセス
の終了待ち合わせ処理機能として,例えばwaitpi
dシステムコールに,子プロセスの「親プロセスからの
wait待ち状態」を変化させず,終了状態のみを返却
する終了状態チェック機能を追加する。
【0019】親プロセス11が子プロセスを創成する
と,カーネル15は,その子プロセスに関する情報を作
成する。親プロセス11は,待機系への子プロセス情報
の引き継ぎのため,不揮発メモリ17に子プロセス情報
を記憶する。
【0020】カーネル15が子プロセスの終了を認識す
ると,子プロセスは親からのwait待ち状態になる。
ここで,親プロセス11は,まず終了状態チェック機能
を利用し,終了待ち合わせ要求部12によって子プロセ
スの終了状態を受け取り,その情報を不揮発メモリ17
に記憶する。その後,終了待ち合わせ要求部14によっ
て,再度終了待ち合わせの要求を行い,子プロセスに関
する情報をシステム上から削除する。
【0021】以上のようにすることにより,例えば耐故
障性サーバの親プロセス11がクラッシュし,その処理
を待機系が引き継ぐ場合に,不揮発メモリ17から待ち
合わせに関する情報を得て,適宜処理を再開させること
が可能になる。これによって,耐故障性サーバの子プロ
セスの終了状態に応じた処理を完全なものにすることが
できるようになる。
【0022】
【実施例】図2は,本発明の実施例による終了待ち合わ
せ処理のフローチャートを示す。図1に示す終了待ち合
わせ処理部16は,例えばwait/waitpidシ
ステムコールによって呼び出される。なお,waitシ
ステムコールは,一般に不特定の子プロセスの待ち合わ
せに使用されるのに対し,waitpidシステムコー
ルは,プロセスIDの指定によって特定の子プロセスの
待ち合わせに使用されるシステムサービス機能である。
このwait/waitpidシステムコールにより,
終了待ち合わせ処理部16は,図2に示す処理〜を
次のように実行する。
【0023】 まず,waitシステムコールの場
合,子プロセスがあるかどうか,waitpidシステ
ムコールの場合,指定された子プロセスがあるかどうか
を判定する。該当する子プロセスがない場合,「子プロ
セス無し」で要求元へエラー復帰する。
【0024】 該当する子プロセスがあれば,その子
プロセスはwait待ちかどうかを判定する。子プロセ
スがwait待ちでない場合,処理へ進み,wait
待ちの場合,処理へ進む。
【0025】 子プロセスがwait待ちでない場
合,子プロセスがwait待ちとなるのを待つ。子プロ
セスの実行終了で,子プロセスがwait待ちとなった
ならば,処理へ進む。
【0026】 終了状態チェック機能の指定があるか
どうかを判定する。指定がない場合,処理を実行し,
指定がある場合,処理をスキップする。 子プロセスの「親プロセスからのwait待ち状
態」を「消滅」に変更あるいは削除する。
【0027】 子プロセスの終了状態を,要求元の親
プロセスに返却し,処理を終了する。図3および図4
は,本発明を耐故障性コンピュータシステムに適用した
実施例説明図である。
【0028】最初に,図3に示す処理(a) 〜(n) に従っ
て,親プロセスである耐故障性サーバ31の動作等を説
明する。現用の耐故障性サーバ31が,処理(a) により
forkシステムコールによって子プロセスの創成を依
頼すると,カーネル15は,その子プロセスに関する管
理情報を作成する(処理(b) )。
【0029】プロセス起動が完了すると,耐故障性サー
バ31は,処理(c)によって,子プロセスを起動した旨
(プロセスID等)を不揮発メモリ17に記憶した後,
処理(d) により,終了状態チェック機能付きの子プロセ
ス待ち合わせを実施する。なお,本実施例では,終了状
態チェック機能の指定を,waitpidシステムコー
ルの第3引数に,その旨を示すフラグ(これをWCHE
CKフラグという)を設定することにより行っている。
別の新システムコールとして,当機能を提供するように
してもよい。
【0030】終了状態チェック機能付きの待ち合わせ要
求に対し,待ち合わせ対象の子プロセスがwait待ち
状態であれば,カーネル15は,処理(e) により,通常
の終了待ち合わせのうち,待ち合わせ対象プロセスの状
態変更(あるいは削除)処理をバイパスして,待ち合わ
せ要求元に対象プロセスの終了状態を返却する。
【0031】ここで,現用の耐故障性サーバ31が,何
らかの原因により図3に示す(f) で異常終了したとする
(通常は,その耐故障性サーバ31の存在するプロセッ
サ異常に巻き込まれることが多い)。
【0032】待機系の耐故障性サーバ32が,処理(g)
によって現用での処理の引き継ぎを開始し,処理(h) に
よって不揮発メモリ17を参照する。ここでは,子プロ
セスが存在することになっているため,処理(i) によっ
て,再度,終了状態チェック機能付きの子プロセス待ち
合わせを実施する。
【0033】耐故障性サーバ32は,子プロセスの終了
状態を獲得すると,処理(j) によって子プロセスが終了
した旨(終了状態等)を不揮発メモリ17に記憶した
後,カーネル15による子プロセス管理情報の削除を目
的として,処理(k) により,通常の子プロセス終了待ち
合わせを実施する。
【0034】これによりカーネル15は,処理(l) によ
って待ち合わせ対象の子プロセスの情報を「消滅」に変
更あるいは削除した後,要求元に対象プロセスの終了状
態を返却する。耐故障性サーバ32は,処理(m) によっ
て子プロセスの終了状態に応じた処理を実施し,その
後,処理(n) によって不揮発メモリ17内の情報をクリ
アする。
【0035】一方,図4の(a) に示すように,現用の耐
故障性サーバ31が,子プロセスの終了状態等を不揮発
メモリ17に記憶した直後に異常終了した場合には,次
のような処理になる。
【0036】待機系の耐故障性サーバ32が処理を引き
継ぎ,不揮発メモリ17を参照すると,子プロセス待ち
合わせ済となっている。そこで,図4に示す処理(b) に
より,通常のwait/waitpidシステムコール
を発行する。これにより,カーネル15による子プロセ
ス管理情報の削除を目的とした通常の子プロセス終了待
ち合わせを実施する。その後,処理(c) によって子プロ
セスの終了状態に応じた処理を実施し,処理(d) によっ
て不揮発メモリ17内の情報をクリアする。
【0037】
【発明の効果】以上説明したように,本発明によれば,
UNIX系の耐故障性コンピュータシステム等におい
て,耐故障性サーバの子プロセスの終了状態に応じた処
理の完全性を実現することが可能になる。その結果,コ
ンピュータシステム全体の信頼性を向上させることがで
きる。また,本発明は,既存システムコールの簡単な機
能追加で実現することができ,開発量が少なくて済むと
ともに,既存インタフェースとほとんど同様のインタフ
ェースであるため,ユーザにとって使い勝手がよいとい
う効果がある。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の実施例による終了待ち合わせ処理のフ
ローチャートを示す図である。
【図3】本発明を耐故障性コンピュータシステムに適用
した実施例説明図である。
【図4】本発明を耐故障性コンピュータシステムに適用
した実施例説明図である。
【図5】従来技術の説明図である。
【符号の説明】
10 データ処理装置 11 親プロセス 12 終了待ち合わせ要求部 13 不揮発メモリ更新部 14 終了待ち合わせ要求部 15 カーネル 16 終了待ち合わせ処理部 17 不揮発メモリ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/46 G06F 11/20 G06F 15/16

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 親プロセス(11)が子プロセスの終了を待
    ち合わせる要求を処理する終了待ち合わせ処理手段(16)
    を備えたデータ処理装置において, 前記終了待ち合わせ処理手段(16)は, 終了状態チェック機能の指定があった場合に,指定され
    た子プロセスの状態変更を行わずに,要求元へ子プロセ
    スの終了状態に関する情報の返却だけを行うように構成
    され, 前記親プロセス(11)は, 終了状態チェック機能を指定して前記終了待ち合わせ処
    理手段(16)を呼び出す処理手段(12)と, 子プロセスの終了通知により,不揮発メモリ(17)におけ
    る子プロセスの情報を更新または削除する処理手段(13)
    と, 前記終了待ち合わせ処理手段(16)を,終了状態チェック
    機能を指定しないで再度呼び出すことにより,子プロセ
    スの削除を要求する処理手段(14)とを備えたことを特徴
    とする子プロセスの終了待ち合わせ処理装置。
JP3200137A 1991-08-09 1991-08-09 子プロセスの終了待ち合わせ処理装置 Expired - Fee Related JP2999024B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3200137A JP2999024B2 (ja) 1991-08-09 1991-08-09 子プロセスの終了待ち合わせ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3200137A JP2999024B2 (ja) 1991-08-09 1991-08-09 子プロセスの終了待ち合わせ処理装置

Publications (2)

Publication Number Publication Date
JPH0546411A JPH0546411A (ja) 1993-02-26
JP2999024B2 true JP2999024B2 (ja) 2000-01-17

Family

ID=16419412

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3200137A Expired - Fee Related JP2999024B2 (ja) 1991-08-09 1991-08-09 子プロセスの終了待ち合わせ処理装置

Country Status (1)

Country Link
JP (1) JP2999024B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2718377B2 (ja) * 1994-10-07 1998-02-25 日本電気株式会社 子タスク終了待ち合わせシステム

Also Published As

Publication number Publication date
JPH0546411A (ja) 1993-02-26

Similar Documents

Publication Publication Date Title
US6401216B1 (en) System of performing checkpoint/restart of a parallel program
US6647473B1 (en) Kernel-based crash-consistency coordinator
US6393583B1 (en) Method of performing checkpoint/restart of a parallel program
JP3759410B2 (ja) クラスタ化された計算処理環境において実行する分散ネットワークアプリケーションの管理用リクエストを処理するための方法および装置
JP3154942B2 (ja) 分散チェックポイント生成方法および同方法が適用される計算機システム
US5659682A (en) Scheme to determine completion of directory operations for server recovery
JP3675802B2 (ja) 計算の状態を再構成する方法ならびにシステム
US6338147B1 (en) Program products for performing checkpoint/restart of a parallel program
US7536582B1 (en) Fault-tolerant match-and-set locking mechanism for multiprocessor systems
JPH02228744A (ja) データ処理システム
JPH0773087A (ja) データ処理システムにおけるファイル状態の回復方法
US6434710B1 (en) Commit controlling scheme for transaction processing in system utilizing check point/roll back scheme
JPH0628402A (ja) アクティブなデータ辞書を維持するためのデータ辞書マネージャ
EP1131712A1 (en) Indication of failure in a transaction processing system
EP1001343B1 (en) Highly available asynchronous I/O for clustered computer systems
US20070050541A1 (en) Arrangement and Method for Update of Configuration Cache Data
JP2999024B2 (ja) 子プロセスの終了待ち合わせ処理装置
EP0449660B1 (en) A method and apparatus of generating shadow process
JP3627619B2 (ja) 二相コミット回避方式およびそのプログラム記録媒体
JP2612385B2 (ja) 多重化サブシステム間処理引継ぎ処理方式
JP3494788B2 (ja) プログラム実行管理システム及びプログラム実行管理方法
JP3101353B2 (ja) プロセスの親子関係引き継ぎ処理装置
JP3330006B2 (ja) 情報記憶システムを備えるネットワークシステム、該システムの入力システムならびに
JP4604032B2 (ja) 非共有データベースシステムにおける1段階コミット
JP4238490B2 (ja) データベース管理方法およびシステム

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: 19991019

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

Free format text: PAYMENT UNTIL: 20081105

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20081105

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091105

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees