JPH04218842A - プログラムの再実行方法 - Google Patents

プログラムの再実行方法

Info

Publication number
JPH04218842A
JPH04218842A JP3077569A JP7756991A JPH04218842A JP H04218842 A JPH04218842 A JP H04218842A JP 3077569 A JP3077569 A JP 3077569A JP 7756991 A JP7756991 A JP 7756991A JP H04218842 A JPH04218842 A JP H04218842A
Authority
JP
Japan
Prior art keywords
program
main memory
data
area
space
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
JP3077569A
Other languages
English (en)
Inventor
Toyohiko Kagimasa
豊彦 鍵政
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
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3077569A priority Critical patent/JPH04218842A/ja
Publication of JPH04218842A publication Critical patent/JPH04218842A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Retry When Errors Occur (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算機システムの障害
回復方法に係わり、特に大容量主記憶を有する計算機シ
ステムに好適な主記憶回復方法に関する。
【0002】
【従来の技術】近年、計算機システムの主記憶の容量が
大幅に(例えば、数Gバイトに)増加され、それに伴い
データベースシステム以外のユーザプログラムでも大量
のデータを扱うものが出現してきた。計算機システムに
おいてそのようなユーザプログラムが複数本並列に処理
されている場合に、システムに障害が発生するとそれら
のユーザプログラムは最初から処理を実行し直さなけれ
ばならない。このため多くの時間が無駄になっていた。
【0003】このような背景の中で、計算機システムの
障害発生時に、保持されている主記憶内のデータを再利
用しようとするいくつかの方法が提案されている。
【0004】従来の主記憶データの部分的な回復方法に
ついては、特開昭61−285555号公報に記載され
ている。 この第1の従来技術では、システムは仮想記憶方式を採
っており、実記憶装置はバッテリ・バックアップによる
不揮発性領域を持っている。すなわち、電源断の障害が
発生してもバッテリがある間は、実記憶装置の不揮発性
領域の内容は失われない。ユーザプログラム(アプリケ
ーションプログラム)は仮想記憶領域に対して実記憶の
不揮発性領域への割り当てをユーザ定義の識別子を指定
したスーパーバイザコールにより要求する。これに対し
てオペレーティングシステム(OS)は不揮発性領域に
対するユーザ定義の識別子を不揮発性領域の割当て情報
テーブルに保持する。障害発生後のシステム再立ち上げ
時に、ユーザプログラムは、使用者識別子を指定して障
害発生前に使用していた不揮発性領域の実記憶を仮想記
憶に割り当てるよう要求する。OSは、割り当て情報テ
ーブルをサーチして要求不揮発性領域を見つけ出し仮想
記憶に割り当てる。これにより、障害発生時のデータを
ユーザプログラムに取り込むことができる。
【0005】また、主記憶データの回復ではないが、主
記憶データを保存し、再利用する方法については、アデ
ィソン・ウェスレー社(Addison−Wesley
 Publishing Company)刊の「4.
3ビーエスディー・ユニックス・オペレーティングシス
テム」(1989年)第230頁(4.3 BSD U
NIX Operating System (198
9)pp230)に記載されている。この第2の従来技
術では、システムが障害を検知すると主記憶装置の内容
をダンプファイルに出力し、システム再立ち上げ後に障
害解析プログラムを用いてダンプファイルを入力するこ
とにより、障害の原因を解析することができる。一般に
、主記憶データの回復のためには、プログラムの実行中
に、その実行履歴をジャーナルとして保存し、障害回復
にあたっては、そのジャーナルを使用して主記憶データ
を回復するのがよく行なわれている。この第3の従来技
術では、障害発生前の、データが正しい状態まで回復で
きる。
【0006】
【発明が解決しようとする課題】上記第1および第2の
従来技術はともに、データベースシステムや障害解析プ
ログラムなどの自ら回復および解析処理を行なうプログ
ラムを対象としている。不揮発性指定の仮想記憶要求を
識別子つきで発行したり、特別な形式のダンプファイル
を入力して処理するようアプリケーションプログラムを
書いておく必要があり、そのような処理をしていない通
常のアプリケーションプログラムは回復またはデータの
再利用ができないという問題点があった。
【0007】また、第1の従来技術は不揮発性指定でユ
ーザプログラムが前もって要求した仮想記憶領域のデー
タのみを保存、再利用が可能であり、その他の領域は回
復できない。さらに、第1の従来技術は不揮発性主記憶
装置を前提としており、不揮発性主記憶装置を持たない
システムにおいてはデータの回復ができないという問題
点があった。つまり揮発性主記憶装置の場合でも、電源
が正常である限り、ハードウェアとしては主記憶の内容
が保存されていることを考慮していなかった。また、第
2の従来技術は、障害発生時の主記憶データを2次補助
記憶装置に保存し参照することができるが、主記憶に回
復することは考えていない。さらに、いったん2次記憶
装置にファイルの形で主記憶装置の内容を出力するので
、保存の処理に時間がかかってしまうという問題もあっ
た。
【0008】第3の従来技術は、ジャーナル取得という
特別の処理を実行するように作成されたプログラムにの
みしか適用できない。また、ジャーナル取得のための処
理のオーバヘッドが大きくなる。この第3の従来技術は
障害が発生して計算機システムがシステムダウンを起こ
しても、障害の影響を受けないアプリケーションプログ
ラムが存在し、それらは、OSが仮想記憶空間を回復し
てやれば、アプリケーションプログラムが特別な回復処
理を行なわなくても、障害発生時点からの再実行が可能
であることを考慮していなかった。例えば、アプリケー
ションプログラムからのスーパバイザコールの処理では
なく、OSの仮想記憶空間内での制御処理のバグによる
システムダウンならば、すべてのアプリケーションプロ
グラムの仮想記憶空間は破壊されておらず、再実行が可
能である。
【0009】本発明の目的は、システムの障害発生後に
ユーザによって指定されたユーザプログラムを障害発生
前の状態へ迅速に回復可能な方法および装置を提供する
ことにある。
【0010】
【課題を解決するための手段】上記目的は、障害発生後
のシステム再立ち上げ時に、主記憶装置に残されたデー
タのうち回復する主記憶空間または主記憶領域のデータ
を保存しつつシステムを再立ち上げし、上記保存データ
から障害発生時に実行されていた主記憶空間または主記
憶領域を回復することにより達成される。
【0011】
【作用】システム障害発生後のシステム再立ち上げ時に
、主記憶装置のデータが障害により消滅または破壊され
ていなければ、回復すべき主記憶空間を指定して再立ち
上げを起動する。オペレーティングシステムは、回復を
指定された主記憶空間に使用されていた主記憶装置のデ
ータを保存しつつシステムを再立ち上げし、上記保存デ
ータから障害発生時に実行されていた主記憶空間を回復
するので、回復のための特別な処理をしていないアプリ
ケーションプログラムにおいても主記憶空間を回復し、
対応するジョブまたはプロセスを再実行することが可能
になる。
【0012】
【実施例】以下、本発明の第1および第2の実施例を説
明する。両実施例ともに、デマンドページングの仮想記
憶方式を採る計算機システムにおいて本発明を実施する
ものであり、本発明で言うところの主記憶空間は、これ
らの実施例では仮想記憶空間に当たる。仮想記憶空間以
外の主記憶空間の例としては、補助記憶装置を持たず、
仮想的な主記憶ページのアドレスを全て実記憶装置のペ
ージアドレスに変換して、実記憶装置のフラグメンテー
ションを防止するのに効果があるリロケーション方式が
ある。本発明はリロケーション方式においても仮想記憶
方式と同様に適用可能であり本質的な効果も変らないの
で、より多くのシステムで採用されている仮想記憶方式
の例で説明する。第1および第2の実施例では、最大容
量2ギガバイトの仮想記憶および実記憶は、ページと呼
ばれる4キロバイトの固定長単位に分割され、ページ単
位で実記憶装置を仮想記憶に割り当てる。量的に実記憶
装置に置ききれない仮想記憶の内容はページ単位で、磁
気ディスクなどの補助記憶装置に置かれるページデータ
セットに退避され、必要になるごとにページ単位でオペ
レーティングシステム(OS)により実記憶装置にロー
ドされる。また、多重仮想記憶方式であるので、実行す
るジョブごとに容量2ギガバイトの仮想記憶空間を使用
することができる。第1実施例と第2実施例は前提とす
る実記憶装置の性質が異なっている。第1実施例の実記
憶装置は多くのシステムで採用されている揮発性の実記
憶装置であり、実記憶装置の電源が切れた場合には、保
持しているデータは消滅する。第2実施例の実記憶装置
は一部が不揮発性であり、実記憶装置の電源が切れても
、データを一定時間保持することが可能である。
【0013】本発明の第1実施例を図1から図5により
説明する。
【0014】まず、図1,2,3により、第1実施例の
構成を説明する。図2は、データベース管理システム(
DBMS)が実行される場合を例にとった仮想記憶空間
の構成を示している。仮想記憶空間30は、大きく空間
固有領域27とシステム共通領域28,29に分けられ
る。共通領域28,29はすべての仮想記憶空間にとっ
て共通にアクセス可能な記憶領域であり、主にOSが使
用する領域31,32,39が置かれる。空間固有領域
27は個々のプログラムに与えられる空間ごとに異なっ
た内容を格納できる記憶領域であり、空間に対応するジ
ョブのプログラム33、データ34,35、アドレス変
換テーブル38が置かれる。
【0015】図1は、第1実施例の計算機システム全体
の構成を示す。第1実施例のハードウェアは、実記憶装
置1、ページデータセット4、DBデータセット6、後
で述べる変形例に使用するダンプデータセット7を格納
する補助記憶装置である複数の磁気ディスク装置、シス
テムを操作するための端末であるコンソール5を含む。
【0016】300は本発明の回復処理を実行するCP
Uである。第1実施例のソフトウェアは、OSプログラ
ム10、OS核プログラム14、OS核制御データ領域
16、OS核制御データ交代領域20、アドレス変換テ
ーブル領域17、DBMSプログラム15、DBMS制
御データ18、DBバッファ19、アプリケーション・
プログラム(AP)11,12を含む。OS核プログラ
ム14は、仮想記憶確保ルーチン21,仮想記憶回復ル
ーチン22,空間生成ルーチン23を有する。仮想記憶
回復ルーチン22は、システム障害の発生後に実行され
るため、ソフトウェア障害においてもルーチンが破壊さ
れないように、ハードウェアの書き込み保護が可能な実
記憶装置の領域に置く。
【0017】図3は、OS核制御データとアドレス変換
テーブルのテーブル構造を示す。第1実施例の仮想記憶
は、セグメント(1メガバイト)とページ(4キロバイ
ト)の階層的な領域分割によるデマンドページング方式
を採る多重仮想記憶である。したがって、仮想記憶アド
レスから実記憶アドレスへのアドレス変換は、セグメン
トテーブル(SGT)とページテーブル(PGT)の2
段テーブルを使用して行なわれる。SGTエントリは対
応する仮想記憶セグメントのPGTの実記憶アドレスを
保持し、PGTエントリは対応する仮想記憶ページに割
り当てられている実記憶ページアドレスを保持する。O
Sの基本制御テーブルSCT61、仮想記憶空間の管理
情報を保持する制御テーブルAST62,63、実記憶
装置ページの管理情報を保持する制御テーブルエントリ
RSTE64〜70は、OS核制御データ領域16に置
かれる。仮想記憶空間のSGT54,55、とPGT5
6〜60はアドレス変換テーブル領域17に置かれる。 SCT61はシステムに一つだけ存在し、システムに存
在する仮想記憶空間のASTをチェインしたディスパッ
チング・キューのポインタ71,実記憶空きページに対
応するRSTE66,67がチェインされる空きページ
・キューのポインタ72、OSに割り当てられた実記憶
ページに対応するRSTE70がチェインされるOS割
り当てキューのポインタ78、OSが使用する仮想記憶
の共通領域28,29に対応するPGT60のポインタ
74のフィールドを有する。AST62,63は仮想記
憶空間ごとに作成され、空間のSGTポインタ77、空
間に割り当てられた実記憶ページに対応するRSTE6
4,65がチェインされる空間割り当てキューのポイン
タ76のフィールドを有する。
【0018】次に、第1実施例の動作の説明を図4によ
り説明する。図4は、仮想記憶回復ルーチン22の処理
フローを示す。ソフトウェアのバグによる障害またはハ
ードウェアの障害によるシステムダウンが発生すると、
計算機システムのオペレータはシステムダウン前のシス
テムメッセージを解読して、障害の種類と影響の範囲を
判定する。障害に影響されないと判断したジョブに障害
発生時点から再実行したいジョブがあれば、このジョブ
に対して割り当てられた仮想記憶空間の回復をともなう
システムの再立ち上げを行なうため、オペレータはコン
ソール5から仮想記憶回復ルーチン22を起動する。障
害発生などの理由によりシステムの再立ち上げを行なう
が、重要な仮想記憶空間を回復したい時に、コンソール
5からの指定により仮想記憶回復ルーチン22は起動さ
れる。例えば、図1のAP12およびDBMS15の空
間を回復し、通常のバッチジョブであるAP11は回復
しないという場合が考えられる。ただし、実記憶装置の
電源障害が発生してデータが消滅してしまった場合は、
仮想記憶の回復はできないので、通常のIPLによりシ
ステムの再立ち上げを行なう。仮想記憶回復ルーチン2
2は、まず、オペレータがコンソール5から回復する1
個または複数個の仮想記憶空間を指定する識別子を入力
し(ステップ101)、回復指定のない空間が使用して
いる実記憶領域のRSTEを空きページキュー72にチ
ェインすることにより実記憶を解放し(ステップ102
)、さらにそれらの空間が使用している、補助記憶内の
ページデータセット領域4を解放する(ステップ103
)。しかし、回復指定のある空間に対してはこれらの解
放は行なわない。上記のステップで解放した実記憶と補
助記憶およびOS核制御データ交代領域20を用いて、
OSプログラム10と本ルーチン以外のOS核プログラ
ム14を障害前と同位置に再ロードし、OS核制御デー
タを初期設定することによりシステム再立ち上げを行な
う(ステップ104)。このとき、OSは再ロードされ
ると、通常のIPLと同様にそのOSのための新空間を
作成し、OS核制御データ交代領域20にそのOS用の
制御データを初期設定する。つまりそのOSのためのR
STE、ASTを生成し、このASTへのポインタをS
CTに格納する。システム再立ち上げ後に、回復指定の
ある空間に対して、新空間を生成し、OS核制御データ
領域16にある、回復指定のあるOSに対するAST,
RSTEなどの旧OS核制御データを他のOS核制御デ
ータ領域20にコピーしてその新空間用の新しいAST
、RSTEを作成し、先に生成されているSCTにこの
新しいASTへのポインタを格納する。こうして制御デ
ータの初期設定が終了する。つまり障害発生時の空間状
態にするためASTなどの制御データの設定がなされ(
ステップ105)、上記の新空間のASTに対して、ア
ドレス変換テーブル領域17にある障害発生時の旧空間
のSGT,PGTをチェインして障害発生時の仮想記憶
空間を復元する(ステップ106)。
【0019】回復指定のある空間すべての回復が終了し
た後に、ディスパッチャ(図示しない)に制御を渡し、
システムの処理を再開する(ステップ107)。仮想記
憶確保ルーチン21は、AP11,12からの仮想記憶
確保の要求に対して、仮想記憶を確保しSGTやPGT
を更新する公知の処理を行なうため、第1実施例では動
作を説明しない。同様に、空間生成ルーチン23も仮想
記憶空間を生成する公知の処理を行なうため、第1実施
例では動作を説明しない。
【0020】次に、第1実施例の一変形例を説明する。 本変形例は、障害発生時の仮想記憶の内容を一旦ダンプ
することにより、回復のためのデータを保存する方法で
ある。
【0021】構成の相違点は、図1に示すダンプデータ
セット7が必要になり、OS核制御データ交代領域20
が不要になることである。図5は、変形例の仮想記憶回
復ルーチン22の処理フローを示す。まず、オペレータ
がコンソール5から回復する1個または複数個の仮想記
憶空間を指定する識別子を入力し(ステップ111)、
回復指定のある空間の仮想記憶とOS核制御データをダ
ンプデータセット7に出力して保存し(ステップ112
)、全実記憶と補助記憶を用いて再IPLを起動し、O
Sプログラム10とOS核プログラム14を再ロードす
る。IPL後システムはレディ状態となり、システムの
再立ち上げが行なわれたことになる(ステップ113)
。その後、オペレータはコンソール5から仮想記憶回復
ルーチン22後半部を起動するコマンドを入力し、後半
部の処理が開始される(ステップ114)。回復指定の
ある空間ごとにダンプデータセット7中のAST,RS
TEなどの旧OS核制御データを参照して、新しいAS
Tを作成して新空間を生成し、障害発生時の空間状態に
するためASTなどの制御データを設定し(ステップ1
15)、上記の新空間のASTに対して、ダンプデータ
セット7中のSGT,PGTを参照して、新空間のSG
T,PGTを作成してASTにチェインして障害発生時
の仮想記憶空間を復元する(ステップ116)。回復指
定のある空間すべての回復が終了した後に、ディスパッ
チャ(図示しない)に制御を渡し、システムの処理を再
開する(ステップ117)。
【0022】本変形例では、ダンプデータセット7は磁
気ディスク装置に置かれているが、ダンプの入出力を高
速化するために、半導体ディスク装置または拡張記憶装
置に置いても良い。拡張記憶装置とは、近年のメインフ
レームが採用している半導体メモリで構成される記憶装
置であり、主記憶装置よりアクセス性能が落ちるが命令
でのアクセスが可能である。本変形例は、ダンプの入出
力のため回復時間が長くなるという欠点はあるが、ダン
プすることにより、システム再立ち上げが通常のIPL
と同様に全実記憶と補助記憶が使用可能であるため、多
くの仮想記憶空間を回復することが可能になる。第1実
施例のいま一つの変形例としては、主記憶装置がすべて
不揮発性であるという構成が考えられるが、その場合で
も上記の方法はほとんど変らない。実記憶装置1の電源
障害があっても、仮想記憶回復ルーチン22を起動して
仮想記憶の回復が可能になるというところが相違点であ
る。
【0023】次に、本発明の第2実施例を図6から図1
0により説明する。
【0024】まず、図6,7により、第2実施例の構成
を説明する。図6は、第2実施例の計算機システム全体
の構成を示す。第2実施例のハードウェアは、実記憶装
置201,実記憶装置201の揮発性領域202と不揮
発性領域203、ページデータセット204、DBデー
タセット206を格納する複数の補助記憶装置、システ
ムを操作するための端末であるコンソール205より成
る。CPUは、本発明に直接関連はないので図示しない
。不揮発性領域203は、回復の可能性を高めるために
非常用バッテリによりバックアップされる。したがって
、システムの電源が切れた場合でもその領域の内容は、
一定時間保持されるため、システムの再立ち上げ時に再
利用が可能である。第2実施例のソフトウェアは、不揮
発性領域203に置かれるOS核プログラム214、O
S核制御データ領域216、OS核制御データ交代領域
220、不揮発部アドレス変換テーブル領域217、D
BMSプログラム215、DBMS制御データ218、
DBバッファ219、揮発性領域202に置かれるOS
プログラム210、揮発部アドレス変換テーブル領域2
13、アプリケーション・プログラム(AP)211,
212から成る。OS核プログラム214は、仮想記憶
確保ルーチル221、仮想記憶回復ルーチン222、空
間生成ルーチン223を有する。仮想記憶回復ルーチン
222は、システム障害の発生後に実行されるため、ソ
フトウェア障害においてもルーチンが破壊されないよう
に、ハードウェアの書き込み保護が可能な実記憶装置の
領域に置く。仮想記憶空間の構成は第1実施例と同様で
あり、図2に示されている。
【0025】図7は、OS核制御データとアドレス変換
テーブルのテーブル構造を示す。
【0026】第2実施例の仮想記憶は、セグメント(1
メガバイト)とページ(4キロバイト)の階層的な領域
分割によるデマンドページング方式と多重仮想記憶であ
る。したがって、仮想記憶アドレスから実記憶アドレス
へのアドレス変換は、セグメントテーブル(SGT)と
ページテーブル(PGT)の2段テーブルを使用して行
なわれる。SGTエントリは対応する仮想記憶セグメン
トのPGTの実記憶アドレスを保持し、PGTエントリ
は対応する仮想記憶ページに割り当てられている実記憶
ページアドレスを保持する。実記憶装置201の揮発性
領域202を使用する仮想記憶空間のSGT254とP
GT256,257は揮発性領域202にある揮発部ア
ドレス変換テーブル領域213に置かれ、不揮発性領域
203を使用する仮想記憶空間のSGT255とPGT
258,259およびOSが使用する共通領域のPGT
260は不揮発生性領域203にある不揮発部アドレス
変換テーブル領域217に置かれる。OSの基本制御テ
ーブルSCT261、仮想記憶空間の管理情報を保持す
る制御テーブルAST262,263、実記憶装置ペー
ジの管理情報を保持する制御テーブルエントリRSTE
264〜270は、不揮発性領域203にあるOS核制
御データ領域216に置かれる。SCT261はシステ
ムに一つだけ存在し、システムに存在する仮想記憶空間
のASTをチェインしたディスパッチング・キューのポ
インタ271、揮発性領域202の実記憶空きページに
対応するRSTE266,267がチェインされる揮発
空きページ・キューのポインタ272、不揮発性領域2
03の実記憶空きページに対応するRSTE268,2
69がチェインされる不揮発空きページ・キューのポイ
ンタ273、OSに割り当てられた実記憶ページに対応
するRSTE270がチェインされるOS割り当てキュ
ーのポインタ278、OSが使用する仮想記憶の共通領
域に対応するPGT260のポインタ274のフィール
ドを有する。AST262,263は仮想空間ごとに作
成され、不揮発性要求の空間であることを示す不揮発フ
ラグNV275,空間のSGTポインタ277,空間に
割り当てられた実記憶ページに対応するRSTE264
,265がチェインされる空間割り当てキューのポイン
タ276のフイールドを有する。
【0027】次に、第2実施例の動作の説明を図8,9
,10により説明する。図8は、空間生成ルーチン22
3の処理フローを示す。空間生成ルーチン223は、A
P211,212やDBMSプログラム215がジョブ
としてシステムにより起動される時に実行される。まず
、AST262,263をOSの要求としてOS核制御
データ領域216に確保し(ステップ281)、AST
を初期設定後ディスパッチング・キュー271にチェイ
ンし(ステップ282)。オペレータがコンソール5よ
り入力したかまたはジョブ制御言語に記述されたジョブ
の起動パラメタから不揮発性実記憶を使用するか否かの
指定をチェックし(ステップ283)、不揮発指定なら
ば(ステップ284)ASTのNVフラグをオンとし(
ステップ286)、不揮発指定でないならばASTのN
Vフラグをオフとする(ステップ285)。空間の要求
としてSGTの仮想記憶領域を確保し(ステップ287
)、SGTを初期設定後ASTのSGTポインタ77に
SGTアドレスを設定する(ステップ288)。その後
、その他の公知の空間生成処理を行なう(ステップ28
9)。
【0028】図9は、仮想記憶確保ルーチン221の処
理フローを示す。仮想記憶確保ルーチン221は、OS
210,214または空間のプログラム211,212
,215が仮想記憶領域の確保要求を発行すると実行さ
れる。まず、OSからの要求か空間からの要求かを判定
し(ステップ401)、OSからの要求ならば共通領域
のPGT260から空き領域をサーチし(ステップ40
3)、空間からの要求ならば空間のPGT256,25
7,258,259から空き領域をサーチする(ステッ
プ402)。要求量以上の空き領域があるかどうか判定
し(ステップ404)、あればステップ413に行き、
なければOS要求か空間のNVフラグ275がオンかを
判定する(ステップ405)。成り立つならば、PGT
エントリに空きがあるかを判定し(ステップ406)、
あればステップ408に行き、なければ新セグメント用
にPGTを不揮発部アドレス変換テーブル領域217に
確保し(ステップ407)、不揮発空きページキュー2
73からRSTEを取出しASTまたはSCT261の
割り当てキュー276,278にチェインする(ステッ
プ408)。ステップ405の条件が成り立たなければ
揮発性領域202から領域確保をして同様にステップ4
09〜411を行なう。その後、PGTエントリに新た
にチェインしたRSTEに対応する実記憶ページのアド
レスを設定し(ステップ412)、確保領域が使用中で
あることをPGTに設定し確保した仮想記憶アドレスを
要求元に返す(ステップ413)。
【0029】図10は、仮想記憶回復ルーチン222の
処理フローを示す。障害発生などの理由によりシステム
の再立ち上げを行なうが、重要な仮想記憶空間を回復し
たい時に、コンソール5からの指定により仮想記憶回復
ルーチン222は起動される。
【0030】例えば、図6のAP212およびDBMS
215の空間を回復し、通常のバッチジョブであるAP
211は回復しないという場合が考えられる。仮想記憶
回復ルーチン222は、まず、オペレータがコンソール
5から回復する1個または複数個の仮想記憶空間を指定
する識別子と実記憶装置201の電源障害があったかど
うかを入力し(ステップ421)、実記憶装置の電源障
害の指定を判定し(ステップ422)、実記憶装置の電
源障害があった場合は揮発性領域202のデータは消滅
しているので、揮発性領域202の全RSTEを揮発空
きページキュー272にチェインすることにより揮発性
領域202の全実記憶を解放する(ステップ423)。 実記憶装置の電源障害がなかった場合は、回復指定のな
い空間が使用している揮発性領域のRSTEを揮発空き
ページキュー272にチェインすることにより揮発性領
域202の実記憶を解放する(ステップ424)。回復
指定がなく、かつASTのNVオンの空間が使用してい
る不揮発性領域のRSTEを不揮発空きページキュー2
73にチェインすることにより不揮発性領域203の実
記憶を解放し(ステップ425)、上記のステップで実
記憶を解放した空間が使用しているページデータセット
領域204を解放することにより補助記憶を解放する(
ステップ426)。上記のステップで解放した実記憶と
補助記憶およびOS核制御データ交代領域220を用い
て、OSプログラム210と本ルーチン以外のOS核プ
ログラム214を障害前と同位置に再ロードし、OS核
制御データを初期設定することによりシステム再立ち上
げを行なう(ステップ427)。このとき、OSは再ロ
ードされると、通常のIPLと同様にOS核制御データ
交代領域220に制御データを初期設定する。システム
再立ち上げ後に、回復指定のある空間ごとにOS核制御
データ領域216にあるAST,RSTEなどの旧OS
核制御データを参照して、新しいASTを作成して新空
間を生成し、障害発生時の空間状態にするためASTな
どの制御データを設定し(ステップ428)、上記の新
空間のASTに対して、アドレス変換テーブル領域21
7にある障害発生時の旧空間のSGT,PGTをチェイ
ンして障害発生時の仮想記憶空間を復元する(ステップ
429)。回復指定のある空間すべての回復が終了した
後に、ディスパッチャ(図示しない)に制御を渡し、シ
ステムの処理を再開する(ステップ430)。
【0031】第2実施例の図6では、DBMSプログラ
ム215が不揮発性指定の空間として動作する例が示さ
れている。DBMS制御データ218およびDBバッフ
ァ219は不揮発性領域203に置かれるので、電源障
害が発生してもデータは消滅せず、DBMSプログラム
215はシステム再立ち上げ後も、それらのデータを参
照して処理を再開できる。
【0032】
【発明の効果】本発明によれば、主記憶装置の物理的な
障害でない限り、特別な回復処理のプログラムを持たな
いジョブまたはプロセスでも、障害の発生後も主記憶空
間のデータを回復でき、システム再立ち上げ後にジョブ
またはプロセスを障害発生時の状態から再実行が可能で
ある。また、主記憶装置が揮発性であっても電源障害が
ない限り上記の効果がある。
【0033】さらに、主記憶装置の一部領域が不揮発性
である構成では、消失が許されないデータを処理するジ
ョブや再計算に時間がかかるジョブなどの重要なジョブ
またはプロセスの起動時に主記憶空間の不揮発性指定を
行なうことにより、電源障害が発生しても主記憶装置の
物理的な障害でない限り、重要なジョブまたはプロセス
の主記憶空間の回復および再実行が可能となる。この場
合、回復するジョブまたはプロセスは特別な回復処理の
プログラムを持たなくてもよく、主記憶装置の一部をバ
ッテリ・バックアップなどの機構で不揮発化するだけの
少ないコストで実現できる。
【図面の簡単な説明】
【図1】第1実施例の計算機システムの構成を示すブロ
ック図である。
【図2】第1および第2実施例の仮想記憶空間の構成図
である。
【図3】第1実施例のOS制御テーブルの構成図である
【図4】第1実施例の仮想記憶回復ルーチンのフローチ
ャートである。
【図5】第1実施例における一変形例の仮想記憶回復ル
ーチンのフローチャートである。
【図6】第2実施例の計算機システムの構成を示すブロ
ック図である。
【図7】第2実施例のOS制御テーブルの構成図である
【図8】第2実施例の空間生成ルーチンのフローチャー
トである。
【図9】第2実施例の仮想記憶確保ルーチンのフローチ
ャートである。
【図10】第2実施例の仮想記憶回復ルーチンのフロー
チャートである。
【符号の説明】
1…実記憶装置、2…揮発性領域、3…不揮発性領域、
4…ページデータセット、5…コンソール、13…揮発
部アドレス変換テーブル領域、17…不揮発部アドレス
変換テーブル領域、16…OS核制御データ領域、20
…OS核制御データ交代領域、21…仮想記憶確保ルー
チン、22…仮想記憶回復処理、23…空間生成ルーチ
ン。

Claims (28)

    【特許請求の範囲】
  1. 【請求項1】計算機システムで障害が発生したためその
    計算機の動作を中断した後に、そこで実行されていた複
    数のプログラムを再実行する方法であって、それらの複
    数のプログラムのうち、その障害の影響を受けない少な
    くとも一つのユーザプログラムが使用していたデータ(
    ユーザデータ)、そのユーザプログラムが使用する仮想
    アドレスを実アドレスに変換するためのアデレス変換情
    報、およびそのユーザプログラムの実行のために制御プ
    ログラムが使用していた特定の制御情報を破壊しないで
    、その制御プログラムを再度その計算機システムの主記
    憶にロードし、そのユーザプログラムの、先に中断され
    た点以降の部分を、そのユーザデータ、そのアデレス変
    換情報、およびその特定の制御情報を引き続き使用して
    再実行させるステップを有するもの。
  2. 【請求項2】そのユーザプログラムの、再実行は、その
    制御プログラムが使用すべき制御情報として、そのユー
    ザプログラムの、先に中断された点以降の部分を、その
    ユーザデータを引き続き使用して実行させるための制御
    情報を、その特定の制御データから生成するステップを
    有する請求項1の方法。
  3. 【請求項3】該ユーザデータは、該計算機システムの主
    記憶に保持されたデータ及びその計算機システムの補助
    記憶に該主記憶から退避されたページデータセットを含
    む請求項1記載の方法。
  4. 【請求項4】該主記憶の内、該ユーザデータ、該アドレ
    ス変換情報と該特定の制御情報に割り当てられた領域以
    外の領域を該制御プログラムの再ロードの前に開放する
    ステップをさらに有し、該制御プログラムの再ロードは
    、その解放された領域に行う請求項1記載の方法。
  5. 【請求項5】該ユーザデータの内の該主記憶に保持され
    た部分、該アドレス変換情報と該特定の制御情報を該制
    御プログラムの再ロードの前に、該主記憶から該計算機
    システムの補助記憶に退避し、該制御プログラムの再ロ
    ード後に、該退避されたユーザデータ、該アドレス変換
    情報と該特定の制御情報を、該主記憶に再ロードするス
    テップをさらに有し、該一つのプログラムの再実行は、
    該再ロードされたユーザデータ、アドレス変換情報と特
    定の制御情報に基づいて行う請求項1記載の方法。
  6. 【請求項6】該主記憶の一部の領域は、不揮発性の領域
    であり、該計算機システムでいずれかのプログラムを起
    動するときに、そのプログラムについて、該不揮発性の
    領域の要求があるとき、そのプログラムが使用するデー
    タ、そのプログラムのためのアドレス変換情報、及びそ
    のプログラムの制御のために制御プログラムが使用する
    制御情報を、該不揮発性の領域に割り当てるステップを
    さらに有し、該再ロードと該一つのプログラムの再実行
    は、該障害が該計算機システムの電源の障害であるとき
    、該一つのユーザプログラムが該不揮発性領域を割り当
    てられたプログラムであるときに行う請求項1記載の方
    法。
  7. 【請求項7】計算機システムで障害が発生したためその
    計算機の動作を中断した後に、その計算機システムを再
    立ち上げする方法であって、それらの複数のプログラム
    が割り当てられていた複数の空間の内の選択された一つ
    の空間に割り当てられたデータ(ユーザデータ)、その
    空間の仮想アドレスを実アドレスに変換するためのアド
    レス変換情報、およびその空間の仮想アドレスを実アド
    レスに変換するためのアドレス変換情報、およびその空
    間を使用する一つのユーザプログラムの実行のために制
    御プログラムが使用していた特定の制御情報を破壊しな
    いで、その制御プログラムを再度その計算機システムの
    主記憶にロードし、そのユーザプログラムの、先に中断
    された点以降の部分を、そのユーザデータとそのアドレ
    ス変換情報を引き続き使用して実行させるための新たな
    制御情報を、その特定の制御データから生成するステッ
    プを有するもの。
  8. 【請求項8】該ユーザデータは、該計算機システムの主
    記憶に保持されたデータ及びその計算機システムの補助
    記憶に該主記憶から退避されたページデータセットを含
    む請求項7記載の方法。
  9. 【請求項9】該主記憶の内、該ユーザデータ、該アドレ
    ス変換情報と該特定の制御情報に割り当てられた領域以
    外の領域を該制御プログラムの再ロードの前に開放する
    ステップをさらに有し、該制御プログラムの再ロードは
    、その解放された領域に行う請求項7記載の方法。
  10. 【請求項10】該ユーザデータの内の該主記憶に保持さ
    れた部分、該アドレス変換情報と該特定の制御情報を該
    制御プログラムの再ロードの前に、該主記憶から該計算
    機システムの補助記憶に退避し、該制御プログラムの再
    ロード後に該退避されたユーザデータ、該アドレス変換
    情報と該特定の制御情報を該主記憶に再ロードするステ
    ップをさらに有し、該新たな制御情報の生成は、該再ロ
    ードされた特定の制御情報に基づいて行う請求項7記載
    の方法。
  11. 【請求項11】該主記憶の一部の領域は、不揮発性の領
    域であり、該計算機システムでいずれかのプログラムを
    起動するときに、そのプログラムについて、該不揮発性
    の領域の要求があるとき、そのプログラムが使用するデ
    ータ、そのプログラムのためのアドレス変換情報、及び
    そのプログラムの制御のために制御プログラムが使用す
    る制御情報を、該不揮発性の領域に割り当てるステップ
    をさらに有し、該再ロードとが一つのプログラムの再実
    行は、該障害が該計算機システムの電源の障害であると
    き、該一つのプログラムが該不揮発性領域を割り当てら
    れたプログラムであるときに行われる請求項7記載の方
    法。
  12. 【請求項12】計算機システムの障害発生後のユーザプ
    ログラム回復方法であって、計算機システムの障害発生
    後に、回復すべきユーザプログラムを指定し、該システ
    ム内の主記憶に記憶されている内容のうち、少なくとも
    前記指定されたユーザプログラムに関連するデータの内
    容を確保し、前記システムのOSに関連するプログラム
    を前記主記憶に再ロードし、前記確保されたデータを用
    いて少なくとも前記再ロードされたOSに関連するプロ
    グラムのためのデータを前記主記憶に作成し、前記指定
    されたユーザプログラムを障害発生時の実行状態に回復
    することを特徴とするユーザプログラム回復方法。
  13. 【請求項13】前記データ確保ステップにおいて、前記
    指定されたユーザプログラムおよび前記指定されたユー
    ザプログラムに関連するデータの内容を前記システムの
    補助記憶装置にダンプ出力し、前記データ作成ステップ
    において、前記補助記憶装置にダンプ出力された内容を
    用いて前記再ロードされたOSに関連するプログラムの
    ためのデータを作成し、前記ユーザプログラム回復ステ
    ップにおいて、前記補助記憶装置にダンプ出力された内
    容を用いて前記指定されたユーザプログラムを回復する
    ことを特徴とする請求項12のユーザプログラム回復方
    法。
  14. 【請求項14】前記計算機システムは仮想記憶方式を採
    用し、前記確保されたデータは仮想記憶管理用テーブル
    群を含み、前記指定されたユーザプログラムの仮想記憶
    空間が障害発生時の実行状態に回復されることを特徴と
    する請求項12のプログラム回復方法。
  15. 【請求項15】計算機システムの障害発生後のユーザプ
    ログラム回復方法であって、計算機システムの障害発生
    時に前記システムの主記憶の内容を保持し、計算機シス
    テムの障害発生後に、回復すべきユーザプログラムを指
    定し、指定されていない前記主記憶内のユーザプログラ
    ム領域を解放し、前記システムのOSプログラムおよび
    OS該プログラムを前記主記憶に再ロードし、前記保持
    されている前記主記憶内の制御データを用いて前記再ロ
    ードされたOSのための制御データを前記主記憶上に作
    成し、前記指定されたユーザプログラムを障害発生時に
    実行されていた状態に回復することを特徴とするユーザ
    プログラム回復方法。
  16. 【請求項16】前記計算機システムは仮想記憶方式を採
    用し、前記保持されたOSのための制御データは仮想記
    憶管理用テーブル群を含み、前記指定されたユーザプロ
    グラムの仮想記憶空間が障害発生時の実行状態に回復さ
    れることを特徴とする請求項15のユーザプログラム回
    復方法。
  17. 【請求項17】前記OS該プログラムは、仮想記憶を確
    保するためのプログラム、前記CPUにより実行される
    仮想記憶を回復するためのプログラムおよび空間を生成
    するためのプログラムを含み、少なくとも前記仮想記憶
    回復プログラムは書き込み保護がなされていることを特
    徴とする請求項16のユーザプログラム回復方法。
  18. 【請求項18】揮発性領域および不揮発性領域を有する
    主記憶を含む計算機システムの障害発生後のユーザプロ
    グラム回復方法であって、計算機システムの障害発生後
    に、回復すべきユーザプログラムを指定し、計算機シス
    テムの障害発生時に前記主記憶の該揮発性領域の内容が
    保持されているか判定し、前記揮発性領域の内容が保持
    されている場合は指定されていない前記揮発性領域内の
    ユーザプログラム領域を解放し、前記揮発性領域の内容
    が保持されていない場合は前記揮発性領域内のユーザプ
    ログラム領域を解放し、前記システムのOSプログラム
    およびOS該プログラムを前記主記憶に再ロードし、前
    記主記憶内の該不揮発性領域に保持されている制御デー
    タを用いて前記再ロードされたOSのための制御データ
    を前記主記憶内の該不揮発性領域に作成し、前記指定さ
    れたユーザプログラムを障害発生時に実行されていた状
    態に回復することを特徴とするユーザプログラム回復方
    法。
  19. 【請求項19】wherein 前記計算機システムは
    仮想記憶方式を採用し、前記保持されたOSのための制
    御データは仮想記憶管理用テーブル群を含み、前記指定
    されたユーザプログラムの仮想記憶空間が障害発生時の
    実行状態に回復されることを特徴とする請求項18のユ
    ーザプログラム回復方法。
  20. 【請求項20】前記OS該プログラムは、仮想記憶を確
    保するためのプログラム、前記CPUにより実行される
    仮想記憶を回復するためのプログラムおよび空間を生成
    するためのプログラムを含み、少なくとも前記仮想記憶
    回復プログラムは書き込み保護がなされていることを特
    徴とする請求項19のユーザプログラム回復方法。
  21. 【請求項21】計算機システムにおいて、障害発生後の
    システム再立ち上げ時に、主記憶装置に残されたデータ
    のうち回復する主記憶空間または主記憶領域のデータを
    保存した状態でシステムを再立ち上げし、上記保存デー
    タから障害発生時に実行されていた主記憶空間または主
    記憶領域を回復することを特徴とする主記憶回復方法。
  22. 【請求項22】仮想記憶方式を採る計算機システムにお
    いて、障害発生後のシステム再立ち上げ時に、実記憶装
    置および補助記憶装置に残されたデータのうち回復する
    仮想記憶空間のデータを保存しつつシステムを再立ち上
    げし、上記保存データから障害発生時に実行されていた
    仮想記憶空間のうち一部または全部の仮想記憶空間を回
    復することを特徴とする請求項21記載の主記憶回復方
    法。
  23. 【請求項23】障害発生後のシステム再立ち上げでは、
    回復を指定された主記憶空間が使用していた第1の主記
    憶装置領域以外の第2の主記憶装置領域を使用してシス
    テム再立ち上げを行ない、上記第1の主記憶装置領域の
    データから主記憶空間を回復することを特徴とする請求
    項21記載の主記憶回復方法。
  24. 【請求項24】障害発生後のシステム再立ち上げでは、
    回復を指定された仮想記憶空間が使用していた第1の実
    記憶装置領域および補助記憶装置領域以外の第2の実記
    憶装置領域および補助記憶装置領域を使用してシステム
    再立ち上げを行ない、上記第1の実記憶装置領域および
    補助記憶装置領域のデータから仮想記憶空間を回復する
    ことを特徴とする請求項22記載の主記憶回復方法。
  25. 【請求項25】障害発生後のシステム再立ち上げにおい
    ては、まず回復を指定された主記憶空間が使用していた
    主記憶装置領域を含んだ主記憶装置のダンプを2次記憶
    装置に出力してダンプファイルを作成し、その後主記憶
    装置を使用してシステム再立ち上げを行ない、上記ダン
    プファイルのデータから主記憶空間を回復することを特
    徴とする請求項21記載の主記憶回復方法。
  26. 【請求項26】主記憶空間の回復においては、障害発生
    時に主記憶装置に残されたデータ中にあるオペレーティ
    ングシステムの主記憶管理制御テーブルを参照して、障
    害発生時の主記憶空間と同じデータを有する主記憶空間
    を再立ち上げ後のシステムに生成することを特徴とする
    請求項21記載の主記憶回復方法。
  27. 【請求項27】主記憶空間の回復においては、障害発生
    時の主記憶空間と同じデータを有する主記憶空間を再立
    ち上げ後のシステムに生成するとともに、障害発生時に
    主記憶装置に残されたデータ中にあるオペレーティング
    システムのジョブまたはプロセス制御テーブルを参照し
    て、主記憶空間に対応するジョブまたはプロセスを再立
    ち上げ後のシステムに生成し、障害発生時点の状態から
    再実行可能とすることを特徴とする請求項26記載の主
    記憶回復方法。
  28. 【請求項28】主記憶装置の一部が不揮発性記憶である
    計算機システムにおいて、ジョブまたはプロセス起動時
    に主記憶空間を不揮発性とするか否かを指定し、オペレ
    ーティングシステムは上記不揮発性指定の主記憶空間と
    それらの空間の管理情報を保持する制御テーブルを上記
    実記憶装置の不揮発性領域に割り当てることを特徴とす
    る請求項21記載の主記憶回復方法。
JP3077569A 1990-04-11 1991-04-10 プログラムの再実行方法 Pending JPH04218842A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3077569A JPH04218842A (ja) 1990-04-11 1991-04-10 プログラムの再実行方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2-94007 1990-04-11
JP9400790 1990-04-11
JP3077569A JPH04218842A (ja) 1990-04-11 1991-04-10 プログラムの再実行方法

Publications (1)

Publication Number Publication Date
JPH04218842A true JPH04218842A (ja) 1992-08-10

Family

ID=26418647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3077569A Pending JPH04218842A (ja) 1990-04-11 1991-04-10 プログラムの再実行方法

Country Status (1)

Country Link
JP (1) JPH04218842A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282192A (ja) * 1996-04-15 1997-10-31 Nec Corp ジョブ再実行方式
JP2007149085A (ja) * 2005-11-29 2007-06-14 Internatl Business Mach Corp <Ibm> 接続された装置を構成するための初期設定コードの実行
WO2012049794A1 (ja) * 2010-10-14 2012-04-19 日本電気株式会社 分散処理装置及び分散処理システム
JP2012185609A (ja) * 2011-03-04 2012-09-27 Sony Corp 仮想メモリシステム、仮想メモリの制御方法、およびプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282192A (ja) * 1996-04-15 1997-10-31 Nec Corp ジョブ再実行方式
JP2007149085A (ja) * 2005-11-29 2007-06-14 Internatl Business Mach Corp <Ibm> 接続された装置を構成するための初期設定コードの実行
WO2012049794A1 (ja) * 2010-10-14 2012-04-19 日本電気株式会社 分散処理装置及び分散処理システム
JP5966927B2 (ja) * 2010-10-14 2016-08-10 日本電気株式会社 分散処理装置及び分散処理システム
US9946582B2 (en) 2010-10-14 2018-04-17 Nec Corporation Distributed processing device and distributed processing system
JP2012185609A (ja) * 2011-03-04 2012-09-27 Sony Corp 仮想メモリシステム、仮想メモリの制御方法、およびプログラム

Similar Documents

Publication Publication Date Title
US7047380B2 (en) System and method for using file system snapshots for online data backup
US7246211B1 (en) System and method for using file system snapshots for online data backup
US7093089B2 (en) Systems and methods for storing data on computer systems
JPH0683687A (ja) データ処理システム及びその方法
JPH03278126A (ja) 計算機システム立上げ方式
JPH0715664B2 (ja) データ・セツト回復方法
KR950014175B1 (ko) 데이타의 타임제로 백업 복사 방법과 수단
JPH11502339A (ja) ファイルを開いた状態で作動可能なコンピュータバックアップシステム
US20030028723A1 (en) Efficient data backup using a single side file
JPH07311749A (ja) マルチプロセッサシステム及びカーネル置換方法
CN114756355B (zh) 一种计算机操作系统的进程自动快速恢复的方法和装置
JPH04218842A (ja) プログラムの再実行方法
KR100365891B1 (ko) 주기억장치 상주형 데이터베이스 시스템에서 로그 처리를하지 않는 백업/회복 장치 및 그 방법
JP3919274B2 (ja) 状態記録再現機能を有する計算機システム及び状態記録再現プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002258971A (ja) 計算機システムの再立上げ方法
JP2001229053A (ja) ダンプ取得機構を備えた計算機
JPH0744440A (ja) データ退避装置
JP2000122906A (ja) ディスク内容障害回復方法及び計算装置
JP2713218B2 (ja) チェックポイント/リスタート処理方式
JP3463696B2 (ja) オンラインガーベッジコレクション処理方法
JP3822449B2 (ja) スタック保存方法、スタック保存プログラム及び高信頼計算機システム
JP2001273157A (ja) ジョブのチェックポイント処理方式
JP2526726B2 (ja) 多重化ファイル復旧方式
JPS62131313A (ja) システムフリ−ズリスタ−ト方式
JPH06214848A (ja) データベース管理システム