JPH1078884A - 仮想記憶を利用したデータ復旧方法 - Google Patents

仮想記憶を利用したデータ復旧方法

Info

Publication number
JPH1078884A
JPH1078884A JP8232306A JP23230696A JPH1078884A JP H1078884 A JPH1078884 A JP H1078884A JP 8232306 A JP8232306 A JP 8232306A JP 23230696 A JP23230696 A JP 23230696A JP H1078884 A JPH1078884 A JP H1078884A
Authority
JP
Japan
Prior art keywords
page
processing
data
program
page table
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
JP8232306A
Other languages
English (en)
Inventor
Norikazu Iwata
憲和 岩田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP8232306A priority Critical patent/JPH1078884A/ja
Publication of JPH1078884A publication Critical patent/JPH1078884A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Retry When Errors Occur (AREA)

Abstract

(57)【要約】 【課題】 プログラム作成者が復旧対象とするデータと
保存のタイミング等をプログラムに記述することなく、
データの保存・復旧を可能にする。 【解決手段】 ページテーブル122内のページ記述子
の書き込み可能ビットをオフとしておく。プログラム処
理部111はプログラムの処理を進め、ページテーブル
122のページ記述子の書き込み可能ビットがオフのペ
ージに書き込み要求があると割込みを発生する。該割込
みでデータ保存処理部112は、メモリ120の当該ペ
ージ内容をディスク130に保存し、書き込み可能ビッ
トをオンにする。その後、プログラム処理部111は当
該ページに書き込みを行う。チェックポイントで、異常
が判明した場合、データ復旧処理部113はその時点で
ディスク130に保存されているページをメモリ120
に戻す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、仮想記憶方式を備
えた計算機におけるデータ復旧方法に関するものであ
る。
【0002】
【従来の技術】従来、計算機による情報処理では、実行
中にプログラムの誤りあるいはハードウェアの障害など
の原因からプログラムの作成者にとって予想外の状況が
発生する可能性があるため、ある時点のメモリ上のデー
タをディスクのような不揮発性記憶装置に保存し、保存
が完了してから本来目的とする処理を進め、もし異常事
態に陥っていたことがわかった場合には、処理を中断
し、保存してあった値をメモリ上に戻し、保存時の状態
(プロセッサの状態であるコンテクスト)を再現して処
理を再開する、という一連の復旧処理を行っていた。図
4は、この種の従来の復旧処理のフローチャートを示し
たものである。
【0003】一方、仮想記憶方式の計算機では、プロセ
ッサが処理を進めるプログラムに記述されたアドレス
(論理アドレス)から計算機に実際に装備されたメモリ
の番地(実アドレス)を求めるアドレス変換機構を備え
ている。図2はセグメンテーションページング方式のア
ドレス変換機構であり、論理アドレス200のセグメン
トフィールドSm、ページフィールドPmによりセグメ
ントテーブル210、ページテーブル220−1〜22
0−Nを順次索引してページ記述子内の実ペードアドレ
スを求め、該実ページアドレスにページ内相対アドレス
を結合してメモリの該当ページ230の番地(アドレス
変換先番地)を得ることを示している。図3はページン
グ方式のアドレス変換機構であり、論理アドレス300
のページフィールドPnによりページテーブル310を
直接索引してページ記述子内の実ページアドレスを求
め、該実ページアドレスにページ内相対変位Dを結合し
てアドレス変換先番地を得ることを示している。なお、
図2及び図3の高速変換バッファ240、330は、最
近にアドレス変換して求まった論理アドレスと実ページ
アドレスの対応を格納しておき、セグメントテーブルや
ページテーブルの索引に先立って該変換バッファを参照
し、論理アドレスに対応する実アドレスが格納されてい
れば、該実アドレスを直接入手するものである。
【0004】ここで、ページテーブルのページ記述子
は、参照ビット、更新ビット・アクセス権情報などを含
み、計算機のオペレーティングシステムはページング、
スワッピングのために利用している。高速変換バッファ
の各エントリも、同様にこのページ記述子の写を格納し
ている。アドレス変換機構は、ページ記述子の参照ビッ
トを、その参照ビットを含むページ記述子が対応づけて
いるページのメモリ上の番地をプロセッサが参照したと
きにONにする。また、アドレス変換機構は、ページ記
述子の更新ビットを、その更新ビットを含むページ記述
子が対応づけているページのメモリ上の番地にプロセッ
サが書き込み動作を行ったときにONにする。この両ビ
ットの値を計算機のオペレーティングシステムが参照し
て、内容が参照あるいは書き込まれたことのあるページ
はページアウトしないようにしたり、一度ページアウト
したことのあるページの内容が更新されたことがなけれ
ば、再度同じ内容をページアウトしない処理を実現して
いる。また、ページ記述子のアクセス権情報は読み込み
可能ビット、書き込み可能ビットなどから構成される。
ここで、書き込み可能ビットがOFF(書き込み禁止)
のページ記述子に対応づけられているページのメモリ上
の番地にプロセッサが書き込みを行なおうとすると、プ
ロセッサにメモリ保護割り込みが発生し、プロセッサは
割り込み処理ルーチンを実行することになる。
【0005】
【発明が解決しようとする課題】データの保存・復旧で
は、「どういうデータ」と「いつ保存」するかが重要で
ある。しかし、図4のような従来の方法は、プログラム
の作成者が、どういう順序で、どのデータの値を更新し
ていくかを詳細かつ正確に把握し、復旧対象とするデー
タと保存のタイミングを決める必要があるため、複雑で
誤りを生じやすいという問題があった。
【0006】本発明の目的は、ページテーブル内のペー
ジ記述子を利用し、プロセッサがメモリにデータの書き
込みを行なおうとした時に、その書き込もうとした番地
を含むページを単位としてディスクなどの不揮発性記憶
装置に保存することによって、「どういうデータ」を
「いつ保存するか」をプログラムの作成者が考慮しなく
て済む仮想記憶利用のデータ復旧方法を提供することに
ある。
【0007】
【課題を解決するための手段】復旧が必要なデータはプ
ロセッサが値を変更したデータに限られる。従って、プ
ロセッサが値の変更をしようとする寸前の状態を保存し
ておけば、後からその状態を再現して、プログラムを再
度実行する、という復旧方法が実現できる。このため
に、本発明では、ページ記述子に含まれる書き込み可能
ビットをOFFとしておき、プロセッサがあるページの
データを変更しようとした時に、見掛上メモリ保護割り
込みを発生させ、その割り込み処理ルーチンで変更しよ
うとしたページの内容をディスク等に保存するのと同時
に、プロセッサの(プログラムカウンタやレジスタの値
から構成される)コンテクストを保存する。保存が完了
した後、プロセッサはデータを変更するという本来の処
理を進める。この手順を進めれば、データの更新の度
に、更新前のメモリとコンテクストを保存することが可
能である。なお、そのページが本来の書き込み禁止領域
かどうかは、割込みハンドラ等が判断することで、ペー
ジ記述子の書き込み可能ビットを本来のものと区別して
設ける必要はない。復旧処理では、保存の順番とは逆
に、ディスクから保存したページの内容を元のメモリに
戻し、その時点のコンテクストを設定する。この一連の
手順をオペレーティングシステムで実現することによ
り、オペレーティングシステム以外のプログラムの作成
者は、どういうデータを、いつ保存するかを考慮しなく
て済む。
【0008】
【発明の実施の形態】以下、本発明の一実施例を図面に
より説明する。
【0009】図1は、本発明を実施する計算機システム
の構成例を示すブロック図である。図1において、プロ
セッサ110、メモリ120およびディスク(不揮発性
記憶装置)はバス140で接続されている。プロセッサ
110は、プログラムの処理を実行するプログラム処理
部111、割込み処理でメモリ120の書き込み前のペ
ージとコンテキストをディスク130へ保存するデータ
保存処理部112、ディスク130から保存したページ
とコンテキストをメモリ120に戻すデータ復旧処理部
113、および高速変換バッファ114などから構成さ
れる。なお、プロセッサ110はオペレーティングシス
テム(OS)を具備するが、図1では省略する。メモリ
120内には、アドレス変換のためのセグメントテーブ
ル121やページテーブル122などがあり、ページテ
ーブル122の各エントリのページ記述子に、図2や図
3に示した参照ビット、更新ビット、及び、読み込み可
能ビットや書き込み可能ビットのアクセス権情報などが
格納されている。高速変換バッファ114はメモリ12
0内に設けてもよい。
【0010】図5は、本発明のデータ復旧方法の一実施
例の処理フローチャートであり、以下に、この図5に従
って説明する。
【0011】プログラムはいくつかの処理段階あるいは
時間の経過(チェックポイント)に分けられるので、そ
れを、順に処理(1)、処理(2)、…、処理(n)と
名付け、以下では処理(k)で代表して述べる。kは
1、2、…、nを表わす。プログラムをいくつかの段階
に分ける手法は、オペレーティングシステムがプログラ
ムに対したタイマ例外を代表とする例外を通知すること
によって実現でき、この場合、プログラム作成者は段階
に分ける考慮が不要になる。
【0012】ステップ1:初期設定 ページテーブル内の全エントリのページ記述子の更新ビ
ットをOFFにする。同様に、ページテーブル内の全エ
ントリのページ記述子の書き込み可能ビットをOFFに
する。また、何度まで復旧処理を繰り返すか、その値を
設定する。その後、ステップ2へ移る。
【0013】ステップ2:プログラム処理とデータの保
存 ステップ2はプログラム処理部111の処理のステップ
2−1とデータ保存処理部112の処理のステップ2−
2に分けられる。
【0014】ステップ2−1:処理(K) プログラムの処理を進める。ここで、ページテーブルの
ページ記述子の書き込み可能ビットがOFFのページに
対する書き込みがあると、割り込みが発生してステップ
2−2へ移る。そして、ステップ2−2の処理が終了し
たなら、該当ページへの書き込みを実行する。この時、
ページ記述子の更新ビットがONになる。処理(k)が
終わったら、即ち、次のチェックポイントにきたらステ
ップ3へ移る。
【0015】ステップ2−2:データ保存 メモリのコンテクストとページテーブルと書き込み前の
ページ内容を、割込み処理でディスクに保存する。この
とき、保存したページテーブルのどのページ記述子に対
応するページを保存したかが分かるようにする。ページ
テーブルの該当ページ記述子の書き込み可能ビットをO
Nにし、ステップ2−1に戻す。なお、本来の書き込み
禁止ページに対して書き込みが試みられた場合(この場
合も、該当ページ記述子の書き込み可能ビットはOFF
になっている)、このステップ2−2は実行しないよう
にし、かわって本来のアクセス例外割込みを発生させ
る。
【0016】ステップ3:処理(k)の終了判定 プログラムの処理(k)が、プログラムの誤りやハード
ウェアの障害がなく終了したかどうかを判定する。この
判定は、プロセッサがもつ障害割り込み機能を用いた
り、プログラム内に検査処理手順を設けておくことによ
り実現する。正常に終了した場合は、ステップ4へ移
る。正常でない場合は、ステップ5へ移る。 ステップ4:ページテーブルの設定 ページテーブルの各ページ記述子の書き込み可能ビット
をOFFにする。同様に、テーブルの各ページ記述子の
更新ビットをOFFにする。その後、処理(k)の次の
段階の処理(k+1)を実行するためにステップ2へ移
る。あるいは処理(k)で終了する場合には、プログラ
ムの処理を終了する。
【0017】ステップ5:メモリ、コンテクストの復旧 処理(k)が始まって以降のページ内容はステップ2−
2によりディスク上に保存されているので、それをメモ
リ上に書き戻す。現状のページテーブルを処理(k)が
始まってから最初に保存したページテーブルに変更す
る。現状のコンテクストを処理(k)が始まってから最
初に保存したコンテクストに変更する。コンテクストが
復旧したことによってステップ2へ移る。これにより、
処理(k)の再実行を開始することになる。なお、ステ
ップ5では、復旧処理回数をカウントしておく。そし
て、ステップ3において、このカウント値がステップ1
で設定した復旧処理の繰り返し回数を超えた場合には
「復旧不能」としてプログラムを終了する。
【0018】
【発明の効果】本発明によれば、仮想記憶方式の計算機
において、メモリ上のどのデータがどういう順序で更新
されたかが、ページと呼ばれる単位で、ページテーブル
のページ記述子に保存されるため、プログラムの作成者
が、復旧処理を可能とするために、復旧対象となるデー
タとデータ間の値の更新順序を詳細かつ正確に反映し
た、複雑で誤りやすい手順を表わしたプログラムを作成
しないで済むようにできる。また、保存処理も従来から
行われているページングと同様の手順で実現できるた
め、保存処理に伴う性能低下は仮想記憶を実現に伴う低
下と同程度で済まることができる。
【図面の簡単な説明】
【図1】本発明を実施する計算機システムの構成例を示
すブロック図である。
【図2】セグメンテーションページング方式のアドレス
変換を説明する図である。
【図3】ページング方式のアドレス変換を説明する図で
ある。
【図4】従来のデータ復旧方法の処理フローチャートで
ある。
【図5】本発明のデータ復旧方法の一実施例の処理フロ
ーチャートである。
【符号の説明】
110 プロセッサ 111 プログラム処理部 112 データ保存処理部 113 データ復旧処理部 114 高速変換バッファ 120 メモリ 121 セグメントテーブル 122 ページテーブル 130 ディスク(不揮発性記憶装置)

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 仮想記憶方式を備えた計算機において、
    プログラムの処理実行中に異常状態が発生した場合に、
    それ以前の正常に処理が実行されていた時点の状態に戻
    すためのデータ復旧方法であって、 初期状態において、ページテーブル内のページ記述子に
    含まれる更新ビット及び書き込み可能ビットをOFFに
    設定し、 プロセッサが、前記ページ記述子に含まれる書き込み可
    能ビットがOFFであるページに対してデータ書き込み
    を行おうとした場合に、割り込み処理に移行し、書き込
    み前のページ内容とページテーブルとコンテクストを不
    揮発性記憶装置に保存し、前記書き込み可能ビットをO
    Nとして割り込み処理から復帰し、データの書き込み処
    理を行った後、前記ページ記述子に含まれる更新ビット
    をONとし、 所定の処理段階あるいは時間経過ごと
    に、プログラム処理が正常に終了したか否かを判定し、 正常に終了した場合は、前記ページテーブル内のページ
    記述子に含まれる書き込み可能ビット及び更新ビットを
    OFFとした後にプログラム処理を続行し、 正常に終了しなかった場合は、前記不揮発性記憶装置に
    保存されたページ内容をメモリに書き戻すとともに、現
    状のページテーブル及びコンテクストを前記不揮発性記
    憶装置に保存されたページテーブル及びコンテクストに
    変更することにより、前記データの書き込み前の状態に
    戻す、 ことを特徴とする仮想記憶を利用したデータ復旧方法。
  2. 【請求項2】 前記初期状態において、前記判定時に処
    理が正常に終了しなかった場合のデータ復旧処理の繰り
    返し回数を設定し、 前記データの復旧処理が繰り返し回数を超えた場合には
    プログラム処理を終了する、 ことを特徴とする請求項1記載の仮想記憶を利用したデ
    ータ復旧方法。
JP8232306A 1996-09-02 1996-09-02 仮想記憶を利用したデータ復旧方法 Pending JPH1078884A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8232306A JPH1078884A (ja) 1996-09-02 1996-09-02 仮想記憶を利用したデータ復旧方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8232306A JPH1078884A (ja) 1996-09-02 1996-09-02 仮想記憶を利用したデータ復旧方法

Publications (1)

Publication Number Publication Date
JPH1078884A true JPH1078884A (ja) 1998-03-24

Family

ID=16937149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8232306A Pending JPH1078884A (ja) 1996-09-02 1996-09-02 仮想記憶を利用したデータ復旧方法

Country Status (1)

Country Link
JP (1) JPH1078884A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015127879A (ja) * 2013-12-27 2015-07-09 富士通株式会社 メモリ管理プログラム、メモリ管理方法、及びメモリ管理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015127879A (ja) * 2013-12-27 2015-07-09 富士通株式会社 メモリ管理プログラム、メモリ管理方法、及びメモリ管理装置

Similar Documents

Publication Publication Date Title
US20070050586A1 (en) Memory access control apparatus
EP0762282B1 (en) Atomic update of EDC protected data
US5363502A (en) Hot stand-by method and computer system for implementing hot stand-by method
JPH0810437B2 (ja) 仮想計算機システムのゲスト実行制御方式
US4797816A (en) Virtual memory supported processor having restoration circuit for register recovering
JP4155052B2 (ja) エミュレータ、エミュレーション方法およびプログラム
JPH1078884A (ja) 仮想記憶を利用したデータ復旧方法
JPS6342294B2 (ja)
JP2513060B2 (ja) 故障回復型計算機
KR100365891B1 (ko) 주기억장치 상주형 데이터베이스 시스템에서 로그 처리를하지 않는 백업/회복 장치 및 그 방법
JPH03134747A (ja) プログラムの動的制御システムおよびその方法
JP3168489B2 (ja) Tlb制御方法及び装置
JP2671160B2 (ja) 例外処理方式
JPH0594356A (ja) メモリ上テーブルデータ障害時復旧方式
JP3463696B2 (ja) オンラインガーベッジコレクション処理方法
JPH0133856B2 (ja)
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
JP3822449B2 (ja) スタック保存方法、スタック保存プログラム及び高信頼計算機システム
JP2796162B2 (ja) 命令処理方法
JP2000267936A (ja) ディスクサブシステム
JPH04181331A (ja) 命令リトライ方式
KR100426943B1 (ko) 교환기의이중화시스템에서운용체제오류처리방법
JPH07141120A (ja) 情報記憶媒体障害処理方法
JPS59163663A (ja) 簡易フアイル破壊検知方式
JP3009168B2 (ja) データ処理装置