JPH0644252B2 - プログラムの動的制御システムおよびその方法 - Google Patents
プログラムの動的制御システムおよびその方法Info
- Publication number
- JPH0644252B2 JPH0644252B2 JP2275150A JP27515090A JPH0644252B2 JP H0644252 B2 JPH0644252 B2 JP H0644252B2 JP 2275150 A JP2275150 A JP 2275150A JP 27515090 A JP27515090 A JP 27515090A JP H0644252 B2 JPH0644252 B2 JP H0644252B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- code section
- program
- memory reference
- available
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 8
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/141—Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
- Retry When Errors Occur (AREA)
Description
【発明の詳細な説明】 (技術分野) 本発明は、プログラム作動を動的に制御する方法および
システムに関する。
システムに関する。
(背景技術) コンピュータのメモリーは、しばしばページあるいはペ
ージ・フレームに分割される。プログラムが実行される
時、メモリーのいくつかの使用可能ページを割当てられ
る。プログラム実行の際、プログラムは、情報、データ
あるいはサブルーチンについてメモリーを参照する。あ
るプログラム、あるいはプログラムにおけるコードの特
別な選択は、以下本文ではメモリー参照と称する、要求
される全ての情報、データおよびサブルーチンが、使用
するコードの特別なセクションに対して割当てられた使
用可能メモリーに順番に置かれることを必要とする。
ージ・フレームに分割される。プログラムが実行される
時、メモリーのいくつかの使用可能ページを割当てられ
る。プログラム実行の際、プログラムは、情報、データ
あるいはサブルーチンについてメモリーを参照する。あ
るプログラム、あるいはプログラムにおけるコードの特
別な選択は、以下本文ではメモリー参照と称する、要求
される全ての情報、データおよびサブルーチンが、使用
するコードの特別なセクションに対して割当てられた使
用可能メモリーに順番に置かれることを必要とする。
コードの特別なセクションがこのようなメモリー参照を
行う時割当てられたメモリーにおいて参照が使用不能の
場合には、プログラムはページ誤りに遭遇し、エラーが
発生する。このようなエラー条件を避けるため、プログ
ラムが実行される前に全ての要求されるメモリー参照が
プログラムに対して使用可能であることを確認するため
事前の検査を行うことが慣例である。全てのメモリー参
照は割当てられたメモリーに対してマークされあるいは
ワイヤードされて、これらメモリー参照が、前記の特別
なコード・セクションが実行される前に、メモリーから
消去あるいは移動できないようにする。この検査プログ
ラムの実行は長い期間を要し、その多くは、全ての要求
されたメモリー参照がたいてい使用可能であるため無駄
となる。プログラムが実行された後メモリーに戻り全て
のメモリー参照のマークあるいはワイヤリングを解除す
るためより多くの時間が失われる。
行う時割当てられたメモリーにおいて参照が使用不能の
場合には、プログラムはページ誤りに遭遇し、エラーが
発生する。このようなエラー条件を避けるため、プログ
ラムが実行される前に全ての要求されるメモリー参照が
プログラムに対して使用可能であることを確認するため
事前の検査を行うことが慣例である。全てのメモリー参
照は割当てられたメモリーに対してマークされあるいは
ワイヤードされて、これらメモリー参照が、前記の特別
なコード・セクションが実行される前に、メモリーから
消去あるいは移動できないようにする。この検査プログ
ラムの実行は長い期間を要し、その多くは、全ての要求
されたメモリー参照がたいてい使用可能であるため無駄
となる。プログラムが実行された後メモリーに戻り全て
のメモリー参照のマークあるいはワイヤリングを解除す
るためより多くの時間が失われる。
(発明の概要) 従って、本発明の目的は、予め検査プログラムを実行す
る際生じる時間的損失なしに、ページ誤りを避けるため
に全てのメモリー参照の存在を要求するプログラムある
いは特別なコード・セクションを作動させ得ることにあ
る。
る際生じる時間的損失なしに、ページ誤りを避けるため
に全てのメモリー参照の存在を要求するプログラムある
いは特別なコード・セクションを作動させ得ることにあ
る。
また、本発明の目的は、全てのメモリー参照がたいてい
存在するものであるため、要求される全てのメモリー参
照が存在することを仮定し、またメモリー参照が使用で
きない時このような少ない事例を斟酌する手順を提供す
るデータ処理システムおよび作動方法の提供にある。
存在するものであるため、要求される全てのメモリー参
照が存在することを仮定し、またメモリー参照が使用で
きない時このような少ない事例を斟酌する手順を提供す
るデータ処理システムおよび作動方法の提供にある。
本発明によれば、プログラムあるいはプログラムにおけ
る特別なコード・セクションの動作中要求される全ての
メモリー参照を見出してマークを付すための検査プログ
ラムの事前の実行を必要としない、改善されたデータ処
理システムおよび作動方法が提供される。事前のメモリ
ー参照検査およびメモリー参照のマーク付けの実施に費
やされる時間が、実行後割当てられた記憶域に戻って全
てのメモリー参照のマーク付けを解除しなければならな
い際に費やされる時間と共に節減される。
る特別なコード・セクションの動作中要求される全ての
メモリー参照を見出してマークを付すための検査プログ
ラムの事前の実行を必要としない、改善されたデータ処
理システムおよび作動方法が提供される。事前のメモリ
ー参照検査およびメモリー参照のマーク付けの実施に費
やされる時間が、実行後割当てられた記憶域に戻って全
てのメモリー参照のマーク付けを解除しなければならな
い際に費やされる時間と共に節減される。
データ処理システムの作動においては、プログラムの1
つのセクションにより要求される全てのメモリー参照が
割当てられた記憶場所において得られることを前提とす
る。もしこの前提が正しくないことが明らかになれば、
プログラムの実行の割込みを行い、割込みの前に前記の
特別なコード・セクションが完了した全てのものを取り
消す。記憶域における要求されたメモリー参照を見出
し、これを割当てられた記憶場所に書込み、特別なコー
ド・セクションを再び始動して、要求される時必要なメ
モリー参照を供給する。
つのセクションにより要求される全てのメモリー参照が
割当てられた記憶場所において得られることを前提とす
る。もしこの前提が正しくないことが明らかになれば、
プログラムの実行の割込みを行い、割込みの前に前記の
特別なコード・セクションが完了した全てのものを取り
消す。記憶域における要求されたメモリー参照を見出
し、これを割当てられた記憶場所に書込み、特別なコー
ド・セクションを再び始動して、要求される時必要なメ
モリー参照を供給する。
この改善されたテータ処理システムは、特定の会社から
のコンピュータに依存するものではない。本願の譲受人
であるData General社が供給する周知のどんなデータ
処理システムでも、本発明の実施のため本発明のソフト
ウエアにより修正することができる。
のコンピュータに依存するものではない。本願の譲受人
であるData General社が供給する周知のどんなデータ
処理システムでも、本発明の実施のため本発明のソフト
ウエアにより修正することができる。
(実施例) 問題: オペレーティング・システムは、完全に完了するかある
いは全く実行されない一連の複数の操作を実施するコー
ドの特別なセクションを実行するために用意されてい
る。このコードは、全てではないが実施される操作のあ
るもので結果を生じ得る故に、その実行の中途において
ページ誤りにより割込みされてはならない。しかし、こ
のコードは、一連の操作の実施中に、駐在しないかも知
れず、従って許されないページ誤りを惹起するおそれが
あるページに対するメモリー参照を行うことがある。
いは全く実行されない一連の複数の操作を実施するコー
ドの特別なセクションを実行するために用意されてい
る。このコードは、全てではないが実施される操作のあ
るもので結果を生じ得る故に、その実行の中途において
ページ誤りにより割込みされてはならない。しかし、こ
のコードは、一連の操作の実施中に、駐在しないかも知
れず、従って許されないページ誤りを惹起するおそれが
あるページに対するメモリー参照を行うことがある。
通常の解決法 このような特別なコード・セクションに入る前に、オペ
レーティング・システムはページ誤りを生じ得るメモリ
ー参照を予め調べる。
レーティング・システムはページ誤りを生じ得るメモリ
ー参照を予め調べる。
メモリー参照が行われるページは、もしこれらのページ
がまだメモリーになければ、メモリーに強制的に送ら
れ、メモリーから除去することができないようにマーク
が付される。(この操作は通常、ページのメモリーへの
「ワイヤリング」あるいは「ロッキング」と呼ばれ
る。)次いで、ページ誤りが生じないこと、および全て
の一連の操作が完了することを確認して、特別なコード
・セクションが実行される。特別なコード・セクション
が完了すると、全ての前にマークされたページがマーク
解除されて、これらページを再びメモリーから除去でき
るようにする。
がまだメモリーになければ、メモリーに強制的に送ら
れ、メモリーから除去することができないようにマーク
が付される。(この操作は通常、ページのメモリーへの
「ワイヤリング」あるいは「ロッキング」と呼ばれ
る。)次いで、ページ誤りが生じないこと、および全て
の一連の操作が完了することを確認して、特別なコード
・セクションが実行される。特別なコード・セクション
が完了すると、全ての前にマークされたページがマーク
解除されて、これらページを再びメモリーから除去でき
るようにする。
通常の解決法による問題は下記のとおり。
即ち、(1)遅いこと、および(2)大半の場合に無駄な努
力であることである。ほとんどのこのようなメモリー参
照では、ページは既にメモリーに存在し、メモリーから
除去されることはない。各ページを見出し、これを特別
なコード実行に先立ちマークし、特別なコードの実行後
にマーク解除する時間は、特に小さな比率においてのみ
生じる問題を避けるのに用いられるため、重大である。
力であることである。ほとんどのこのようなメモリー参
照では、ページは既にメモリーに存在し、メモリーから
除去されることはない。各ページを見出し、これを特別
なコード実行に先立ちマークし、特別なコードの実行後
にマーク解除する時間は、特に小さな比率においてのみ
生じる問題を避けるのに用いられるため、重大である。
ページ誤り条件を避けるため全てのメモリー参照の存在
を要求する特別なコード・セクション11に入る前に、オ
ペレーティング・システムは最初に、ページ誤りを生じ
得るメモリー参照13を予め調べる。もしこのメモリー産
業が割当てられたメモリーに存在しなければ、判断ブロ
ック15により示されるように、必要なメモリー参照を見
出すため記憶域17において探索が行われる。メモリー
参照が見出されると、これは割当てられた記憶域19に
書込まれ、次いでフローチャートは全てのメモリー参照
の事前検査のためブロック13へ戻り、これらが全てこの
時割当てられたメモリーに存在することを確認する。再
び、フローチャートは判断ブロック15を通り、答えは全
てのメモリー参照がその時割当てられたメモリーにある
ことである「yes」である。次いで、メモリー参照の
全てがメモリーに対してマークあるいはワイヤードさ
れ、特別なコード・セクションが実行される前にメモリ
ー参照を消去できないようにする。次いで、特別なコー
ド・セクションが23で実行される。プロセスのこの時
点に達すると、前に割当てられたメモリーに対しマーク
あるいはワイヤードされた全てのメモリー参照がこの時
25においてマーク解除され、メモリーから消去あるいは
除去することを許される。問題に対する通常の解決法の
実行に際し、全てのメモリー参照の存在の事前検査、見
当たらないものを割当てられたメモリーに対する探索お
よび書込み、更には特別なコード・セクションが実行開
始できる前に要求されるメモリー参照の各々のマーク付
けにおいて多量の時間が失われる。特別なセクションが
実行完了した後、全ての割当てられた記憶場所へ行き全
てのメモリー参照のマーク付け解除を行うのに再び時間
が費やされ、その結果オペレーティング・システムに対
してメモリーのセクションが再び使用できるようにな
る。
を要求する特別なコード・セクション11に入る前に、オ
ペレーティング・システムは最初に、ページ誤りを生じ
得るメモリー参照13を予め調べる。もしこのメモリー産
業が割当てられたメモリーに存在しなければ、判断ブロ
ック15により示されるように、必要なメモリー参照を見
出すため記憶域17において探索が行われる。メモリー
参照が見出されると、これは割当てられた記憶域19に
書込まれ、次いでフローチャートは全てのメモリー参照
の事前検査のためブロック13へ戻り、これらが全てこの
時割当てられたメモリーに存在することを確認する。再
び、フローチャートは判断ブロック15を通り、答えは全
てのメモリー参照がその時割当てられたメモリーにある
ことである「yes」である。次いで、メモリー参照の
全てがメモリーに対してマークあるいはワイヤードさ
れ、特別なコード・セクションが実行される前にメモリ
ー参照を消去できないようにする。次いで、特別なコー
ド・セクションが23で実行される。プロセスのこの時
点に達すると、前に割当てられたメモリーに対しマーク
あるいはワイヤードされた全てのメモリー参照がこの時
25においてマーク解除され、メモリーから消去あるいは
除去することを許される。問題に対する通常の解決法の
実行に際し、全てのメモリー参照の存在の事前検査、見
当たらないものを割当てられたメモリーに対する探索お
よび書込み、更には特別なコード・セクションが実行開
始できる前に要求されるメモリー参照の各々のマーク付
けにおいて多量の時間が失われる。特別なセクションが
実行完了した後、全ての割当てられた記憶場所へ行き全
てのメモリー参照のマーク付け解除を行うのに再び時間
が費やされ、その結果オペレーティング・システムに対
してメモリーのセクションが再び使用できるようにな
る。
新しい解決法: 本発明によれば、プログラムあるいは特別なコード・セ
クションが必要とする全てのメモリー参照が既にメモリ
ーにあることの仮定がなされる。このような仮定が90%
以上の時間正しいためページ誤りは生じることがなく、
検査プログラムを実行してプログラムあるいは特別なコ
ード・セクションが実行される前にメモリー参照をマー
クする必要がなく、そして割当てられたメモリーにおい
て全てのメモリー参照をロック解除してその結果メモリ
ーのこの部分をオペレーティング・システムに使用可能
とする必要がないので時間を失う必要がないことにより
実質的な時間が節減される。第2図においては、改善さ
れたオペレーティング・システムが示され、番号30によ
り全体的に示される。再び、全てのメモリー参照の存在
を要求するオペレーティング・システムにより実行され
る特別なコード・セクションが実施前に31に保持され
る。全ての要求されるメモリー参照が割当てられたメモ
リーにおいて使用可能であると仮定がなされる。
クションが必要とする全てのメモリー参照が既にメモリ
ーにあることの仮定がなされる。このような仮定が90%
以上の時間正しいためページ誤りは生じることがなく、
検査プログラムを実行してプログラムあるいは特別なコ
ード・セクションが実行される前にメモリー参照をマー
クする必要がなく、そして割当てられたメモリーにおい
て全てのメモリー参照をロック解除してその結果メモリ
ーのこの部分をオペレーティング・システムに使用可能
とする必要がないので時間を失う必要がないことにより
実質的な時間が節減される。第2図においては、改善さ
れたオペレーティング・システムが示され、番号30によ
り全体的に示される。再び、全てのメモリー参照の存在
を要求するオペレーティング・システムにより実行され
る特別なコード・セクションが実施前に31に保持され
る。全ての要求されるメモリー参照が割当てられたメモ
リーにおいて使用可能であると仮定がなされる。
オペレーティング・システムが実行開始する前に、ペー
ジ誤りハンドラ・ルーチンが、フローチャートのブロッ
ク37〜43においてセットアウトされるタスクを実行する
ため35において変更され、その結果もしメモリー参照が
見当たらないことが判ってもシステムはクラッシュする
ことがない。
ジ誤りハンドラ・ルーチンが、フローチャートのブロッ
ク37〜43においてセットアウトされるタスクを実行する
ため35において変更され、その結果もしメモリー参照が
見当たらないことが判ってもシステムはクラッシュする
ことがない。
最も一般的な事態は、ページ誤りが生じることなくフロ
ーチャートの各ステップを特別なコード・セクションが
進行することである。
ーチャートの各ステップを特別なコード・セクションが
進行することである。
特別なコード・セクションはブロック45において実行す
る。ブロック47ではページ誤りが生じることがなく、コ
ード・セクションは49において実行を完了する。完了す
ると、ページ誤りハンドラ・ルーチンはブロック51でそ
の通常の状態に戻される。特別なコード・セクションの
実行中ページ誤りが生ずれば、修正された誤りハンドラ
・ルーチンが最初にブロック37においてプログラムの実
行に割込みを行い、プログラムを停止しクラッシュを阻
止する。次いで、このルーチンは特別なコード・セクシ
ョンにより既に実施された全てを取り消して、存在する
コードの実行の断片がないようにする。この時、見当た
らないメモリー参照がブロック41において探され、43に
おいて割当てられた記憶場所に対してロードされる。次
いで、この特別なコード・セクションが45において開
始され、判断ブロック47がページ誤りが生じたかどう
かを照会する。ページ誤りが生じる場合には、判断ブロ
ックにおける答えは「yes」であり、プログラムはス
テップ37、39、41、43へ進み、再び45へ戻ってプログラ
ムを再び開始する。ほとんどの事態において、事前検
査、各メモリー参照をメモリーにワイヤーすること、次
いで特別なコード・セクションの実行の完了後に割当て
られたメモリーに行き、メモリーのこの部分をオペレー
ティング・システムに対して使用可能にするため用いら
れた全てのメモリー参照をワイヤリング解除あるいはマ
ーキング解除して不要な時間を費やすよりは、コンピュ
ータをクリーンな状態にするように、実施されたプログ
ラムの部分を消去し、次いで始めから再び開始するこ
と、およびもし別のメモリー参照が必要とされる場合で
も、このプロセスを反復することを厭わない方が遥かに
早いことが判った。
る。ブロック47ではページ誤りが生じることがなく、コ
ード・セクションは49において実行を完了する。完了す
ると、ページ誤りハンドラ・ルーチンはブロック51でそ
の通常の状態に戻される。特別なコード・セクションの
実行中ページ誤りが生ずれば、修正された誤りハンドラ
・ルーチンが最初にブロック37においてプログラムの実
行に割込みを行い、プログラムを停止しクラッシュを阻
止する。次いで、このルーチンは特別なコード・セクシ
ョンにより既に実施された全てを取り消して、存在する
コードの実行の断片がないようにする。この時、見当た
らないメモリー参照がブロック41において探され、43に
おいて割当てられた記憶場所に対してロードされる。次
いで、この特別なコード・セクションが45において開
始され、判断ブロック47がページ誤りが生じたかどう
かを照会する。ページ誤りが生じる場合には、判断ブロ
ックにおける答えは「yes」であり、プログラムはス
テップ37、39、41、43へ進み、再び45へ戻ってプログラ
ムを再び開始する。ほとんどの事態において、事前検
査、各メモリー参照をメモリーにワイヤーすること、次
いで特別なコード・セクションの実行の完了後に割当て
られたメモリーに行き、メモリーのこの部分をオペレー
ティング・システムに対して使用可能にするため用いら
れた全てのメモリー参照をワイヤリング解除あるいはマ
ーキング解除して不要な時間を費やすよりは、コンピュ
ータをクリーンな状態にするように、実施されたプログ
ラムの部分を消去し、次いで始めから再び開始するこ
と、およびもし別のメモリー参照が必要とされる場合で
も、このプロセスを反復することを厭わない方が遥かに
早いことが判った。
第2図に戻り、特別なコード・セクションがブロック49
において実行を完了した後、プログラムあるいはコード
・セクションの次の部分が本発明のシステムにより提供
される同じ保護を必要としない場合は、ページ誤りハン
ドラ・ルーチンがブロック51において変更されてオペレ
ーティング・システムをその通常の作動状態に戻す。
において実行を完了した後、プログラムあるいはコード
・セクションの次の部分が本発明のシステムにより提供
される同じ保護を必要としない場合は、ページ誤りハン
ドラ・ルーチンがブロック51において変更されてオペレ
ーティング・システムをその通常の作動状態に戻す。
以上のことから、本発明の改善されたオペレーティング
・システムが全てのメモリー参照の存在を要求するプロ
グラムあるいは特別なコード・セクションの実施におい
て必要な時間を実質的に短縮することが明らかである。
全てのメモリー参照が存在することを仮定し、次いで先
に進むことにより、プログラムはたいてい、実行の終了
時に割当てられたメモリーにもう一度進んでメモリー参
照のマーク解除を行うためだけに、割当てられたメモリ
ーに進み、メモリー参照を見出してこれにマークを付さ
ねばならない時間を無駄にすることなく完了する。本発
明のオペレーティング・システムは、全てのものが存在
することを前提とし、メモリー参照が存在しないほとん
ど稀な事態において、システムがクラッシュせずに割込
みされ、コンピュータがきれいにされ、メモリー参照が
見出され割当てられたメモリーにロードされ、プログラ
ムが再び開始されてかなりの時間を節減するように、ペ
ージ誤りハンドラ・ルーチンを修正する。
・システムが全てのメモリー参照の存在を要求するプロ
グラムあるいは特別なコード・セクションの実施におい
て必要な時間を実質的に短縮することが明らかである。
全てのメモリー参照が存在することを仮定し、次いで先
に進むことにより、プログラムはたいてい、実行の終了
時に割当てられたメモリーにもう一度進んでメモリー参
照のマーク解除を行うためだけに、割当てられたメモリ
ーに進み、メモリー参照を見出してこれにマークを付さ
ねばならない時間を無駄にすることなく完了する。本発
明のオペレーティング・システムは、全てのものが存在
することを前提とし、メモリー参照が存在しないほとん
ど稀な事態において、システムがクラッシュせずに割込
みされ、コンピュータがきれいにされ、メモリー参照が
見出され割当てられたメモリーにロードされ、プログラ
ムが再び開始されてかなりの時間を節減するように、ペ
ージ誤りハンドラ・ルーチンを修正する。
本発明についてはその特定の望ましい実施態様に関して
記載したが、当業者には多くの変更および修正が直ちに
明らかであろう。従って、従来技術に照らしてかかる全
ての変更および修正を包含するよう頭書の特許請求の範
囲ができるだけ広義において解釈されるべきである。
記載したが、当業者には多くの変更および修正が直ちに
明らかであろう。従って、従来技術に照らしてかかる全
ての変更および修正を包含するよう頭書の特許請求の範
囲ができるだけ広義において解釈されるべきである。
第1図は必要なメモリー参照が存在しない時ページ誤り
エラーを避けるための周知の解決のためのプログラムの
フローチャート、および第2図は本発明の改善されたデ
ータ処理システムを示すフローチャートである。
エラーを避けるための周知の解決のためのプログラムの
フローチャート、および第2図は本発明の改善されたデ
ータ処理システムを示すフローチャートである。
Claims (5)
- 【請求項1】プログラムの継続する動作のために必要な
メモリー参照が要求しても得られない場合に、プログラ
ムのクラッシュ条件から保護されるデータ処理システム
において、 プログラムを実行するための手段と、 必要なメモリー参照の不在時にプログラムを実行する手
段に割込みを行う手段と、 割込み前にプログラムが行った全てのことを取り消す手
段と、 プログラムの作動時に必要なメモリー参照を要求する手
段と、 記憶域における前記メモリー参照を見出して、これを使
用可能な割当てられた記憶場所に置く手段と、 プログラムを再開して、該プログラムの実行のための手
段に対し前記メモリー参照を使用可能にする手段と を設けることを特徴とするデータ処理システム。 - 【請求項2】割込みと、割込みに先立ちプログラムが行
ったことを全て取り消す手段とが、修正されたページ誤
りハンドラ・ルーチンにより実施されることを特徴とす
る請求項1記載のデータ処理システム。 - 【請求項3】現在使用できないメモリー参照を要求する
プログラムのコードの特別なセクションにおけるページ
誤りを阻止する方法において、 前記特別なコード・セクションの継続する動作のため要
求されるメモリー参照を要求し、 前記メモリー参照が割当てられた記憶場所において使用
できないことを判定し、 前記特別なコード・セクションの作動に割込みを行い、 該特別なコード・セクションが割込み前に行った全ての
ことを取り消し、 記憶場所における必要なメモリー参照を見出し、 必要なメモリー参照を取出し、 前記メモリー参照を割当てられた記憶場所に書込み、 前記特別なコード・セクションの実行を再開して、前記
特別なコード・セクションにより要求される時、要求さ
れたメモリー参照を供給する ステップを含むことを特徴とする方法。 - 【請求項4】全てのメモリー参照の存在を要求するか、
あるいはページ誤り条件が結果として生じるコードの特
別なセクションの作動におけるページ誤り条件を阻止す
る方法において、 前記特別なコード・セクションの作動のため要求される
メモリー参照を要求し、 該メモリー参照が割当てられたメモリーにおいて得られ
るかどうかを判定し、 (a)もしそうであれば、該要求されたメモリー参照に対
するアクセスを行い、 (b)もしそうでなければ、プログラムの作動に割込みを
行い、 割込み前に前記特別なコード・セクションが行った全て
のことを取り消し、 記憶場所における必要なメモリー参照を見出し、 前記メモリー参照を記憶場所から読出し、 該メモリー参照を、前記特別なコード・セクションの作
動のため割当てられた記憶領域に書込み、 前記特別なコード・セクションの作動を再開して、前記
特別なコード・セクションにより要求される時、要求さ
れたメモリー参照を使用できるようにする ステップを含むことを特徴とする方法。 - 【請求項5】1つのコード・セクションにより要求され
る全てのメモリー参照が割当てられたメモリーにおいて
使用できることを前提とするデータ処理システムの作動
において、もしこの前提が正しくなければ、 メモリー参照が割当てられたメモリーにおいて使用でき
ないことを判定し、 前記コード・セクションの実行に割込みを行い、 前記コード・セクションが割込み前に完了した全てのこ
とを取り消し、 記憶場所における必要なメモリー参照を見出し、 該メモリー参照を割当てられたメモリーに書込み、 前記コード・セクションの実行を再開し、 前記コード・セクションにより要求される時、要求され
たメモリー参照を供給する ことを特徴とする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US42418489A | 1989-10-19 | 1989-10-19 | |
US424184 | 1989-10-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03134747A JPH03134747A (ja) | 1991-06-07 |
JPH0644252B2 true JPH0644252B2 (ja) | 1994-06-08 |
Family
ID=23681776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2275150A Expired - Lifetime JPH0644252B2 (ja) | 1989-10-19 | 1990-10-12 | プログラムの動的制御システムおよびその方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US5860098A (ja) |
EP (1) | EP0424031B1 (ja) |
JP (1) | JPH0644252B2 (ja) |
CA (1) | CA2025197C (ja) |
DE (1) | DE69028474T2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6969635B2 (en) * | 2000-12-07 | 2005-11-29 | Reflectivity, Inc. | Methods for depositing, releasing and packaging micro-electromechanical devices on wafer substrates |
US5854928A (en) * | 1996-10-10 | 1998-12-29 | Hewlett-Packard Company | Use of run-time code generation to create speculation recovery code in a computer system |
ES2149518T3 (es) * | 1997-01-29 | 2000-11-01 | Ver Deutscher Werkzeugmaschine | Sistema y metodo de correccion de fallos. |
US6309044B1 (en) | 1998-04-10 | 2001-10-30 | Hewlett-Packard Company | Two stage print cartridge capping technique |
US7523455B2 (en) | 2002-05-03 | 2009-04-21 | Hewlett-Packard Development Company, L.P. | Method and system for application managed context switching |
CN116340037B (zh) * | 2023-02-21 | 2024-02-20 | 广东聚瑞科技有限公司 | 一种***的动态维护方法、***及存储介质 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3800291A (en) * | 1972-09-21 | 1974-03-26 | Ibm | Data processing system memory relocation apparatus and method |
US3898623A (en) * | 1973-06-05 | 1975-08-05 | Ibm | Suspension and restart of input/output operations |
US4047243A (en) * | 1975-05-27 | 1977-09-06 | Burroughs Corporation | Segment replacement mechanism for varying program window sizes in a data processing system having virtual memory |
US4429363A (en) * | 1981-10-15 | 1984-01-31 | International Business Machines Corporation | Method and apparatus for managing data movements from a backing store to a caching buffer store |
US4466059A (en) * | 1981-10-15 | 1984-08-14 | International Business Machines Corporation | Method and apparatus for limiting data occupancy in a cache |
EP0109981B1 (de) * | 1982-12-07 | 1987-06-16 | Ibm Deutschland Gmbh | Ausfallgesicherte Datenverarbeitungsanlage |
US4524415A (en) * | 1982-12-07 | 1985-06-18 | Motorola, Inc. | Virtual machine data processor |
US4499539A (en) * | 1982-12-20 | 1985-02-12 | International Business Machines Corporation | Method and apparatus for limiting allocated data-storage space in a data-storage unit |
US4868738A (en) * | 1985-08-15 | 1989-09-19 | Lanier Business Products, Inc. | Operating system independent virtual memory computer system |
US4703481A (en) * | 1985-08-16 | 1987-10-27 | Hewlett-Packard Company | Method and apparatus for fault recovery within a computing system |
JPS6280743A (ja) * | 1985-10-01 | 1987-04-14 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | アドレス変換例外処理方法 |
JPH0727462B2 (ja) * | 1985-10-11 | 1995-03-29 | 株式会社日立製作所 | データ処理装置におけるページフォールト実行再開方法 |
US4761737A (en) * | 1986-01-16 | 1988-08-02 | International Business Machines Corporation | Method to automatically increase the segment size of unix files in a page segmented virtual memory data processing system |
US4774659A (en) * | 1986-04-16 | 1988-09-27 | Astronautics Corporation Of America | Computer system employing virtual memory |
DE3735828C2 (de) * | 1986-10-24 | 1994-11-10 | Hitachi Ltd | Verfahren zur Wiederaufnahme der Ausführung von Anweisungen nach einer Unterbrechung in einer mikroprogrammgesteuerten Datenverarbeitungsvorrichtung |
JPS63240632A (ja) * | 1987-03-27 | 1988-10-06 | Nec Corp | 情報処理装置 |
US5063497A (en) * | 1987-07-01 | 1991-11-05 | Digital Equipment Corporation | Apparatus and method for recovering from missing page faults in vector data processing operations |
US5119483A (en) * | 1988-07-20 | 1992-06-02 | Digital Equipment Corporation | Application of state silos for recovery from memory management exceptions |
-
1990
- 1990-09-12 CA CA002025197A patent/CA2025197C/en not_active Expired - Fee Related
- 1990-10-11 DE DE69028474T patent/DE69028474T2/de not_active Expired - Fee Related
- 1990-10-11 EP EP90311166A patent/EP0424031B1/en not_active Expired - Lifetime
- 1990-10-12 JP JP2275150A patent/JPH0644252B2/ja not_active Expired - Lifetime
-
1993
- 1993-01-13 US US08/003,602 patent/US5860098A/en not_active Expired - Lifetime
-
1995
- 1995-06-06 US US08/466,334 patent/US5617558A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5617558A (en) | 1997-04-01 |
EP0424031A2 (en) | 1991-04-24 |
EP0424031B1 (en) | 1996-09-11 |
CA2025197A1 (en) | 1991-04-20 |
CA2025197C (en) | 1998-04-21 |
DE69028474T2 (de) | 1997-11-13 |
US5860098A (en) | 1999-01-12 |
EP0424031A3 (en) | 1992-03-04 |
JPH03134747A (ja) | 1991-06-07 |
DE69028474D1 (de) | 1996-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0788052B1 (en) | I/O control apparatus having check recovery function | |
EP0880096B1 (en) | File backup system | |
US4924466A (en) | Direct hardware error identification method and apparatus for error recovery in pipelined processing areas of a computer system | |
KR100316981B1 (ko) | 플래시 메모리를 구비한 마이크로컴퓨터 및 플래시 메모리에 프로그램을 저장하는 방법 | |
KR100631770B1 (ko) | 플래시 메모리의 실시간 처리방법 | |
RU2248627C2 (ru) | Способ и устройство для изменения содержимого запоминающих устройств блоков управления | |
US6658541B2 (en) | Computer system and a database access method thereof | |
US7096389B2 (en) | System and method for dynamically moving checksums to different memory locations | |
JPH0644252B2 (ja) | プログラムの動的制御システムおよびその方法 | |
JPH04237349A (ja) | キャッシュメモリシステムおよびキャッシュメモリコントローラ | |
JPH0789328B2 (ja) | データ処理装置 | |
JP4358943B2 (ja) | 自動バックアップシステム及び自動バックアッププログラムを記録した記録媒体 | |
KR20010055981A (ko) | 안전기억장치를 이용한 주기억장치 상주형 데이터베이스회복 방법 | |
JP2000267936A (ja) | ディスクサブシステム | |
JP3130798B2 (ja) | バス転送装置 | |
KR100308251B1 (ko) | 실행시간백업정보의통합관리방법및그시스템 | |
JPS61141047A (ja) | 障害情報の退避方式 | |
JPS6250938A (ja) | 主記憶常駐化デ−タベ−ス復旧方式 | |
JPH04105159A (ja) | 業務代行方式 | |
JPS585856A (ja) | 論理装置のエラ−回復システム | |
JPS62131313A (ja) | システムフリ−ズリスタ−ト方式 | |
JPH0552538B2 (ja) | ||
WO1995019599A9 (en) | File backup system | |
JPH0192859A (ja) | 故障入出力装置代替方式 | |
JPH04273553A (ja) | 計算機システム |