JPS60214046A - 異常終了処理制御方式 - Google Patents

異常終了処理制御方式

Info

Publication number
JPS60214046A
JPS60214046A JP59070380A JP7038084A JPS60214046A JP S60214046 A JPS60214046 A JP S60214046A JP 59070380 A JP59070380 A JP 59070380A JP 7038084 A JP7038084 A JP 7038084A JP S60214046 A JPS60214046 A JP S60214046A
Authority
JP
Japan
Prior art keywords
processing
abnormal termination
processing block
blocks
control
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.)
Granted
Application number
JP59070380A
Other languages
English (en)
Other versions
JPS6365978B2 (ja
Inventor
Hirokazu Horiguchi
堀口 広和
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 JP59070380A priority Critical patent/JPS60214046A/ja
Publication of JPS60214046A publication Critical patent/JPS60214046A/ja
Publication of JPS6365978B2 publication Critical patent/JPS6365978B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 (a1発明の技術分野 本発明は電子計算機システムに係り、特にプログラムの
実行の異常終了処理を制御する方式に関する。
(b)技術の背景 プログラムの実行中に、予め発生を予定してそのプログ
ラムで処理を規定している異常事象以外にオペレーティ
ングシステムで検出されプログラムの実行が打ち切られ
る異常事象が発生し得る。
本発明はこのようなオペレーティングシステムで検出さ
れる異常事象を対象とするので、以下において、単に異
常事象、異常終了等と言う場合の1異常」は、特に断ら
ない限りこのような異常事象の異常を指すものとする。
プログラミング・システムには、このような異常事象に
対処して、オペレーティングシステムの容易している異
常終了出口の登録機能を利用して、異常事象発生時に異
常終了出口処理として、異常発生を通知するメソセージ
出力、計算機のレジスタ、メモリ等の内容の出力、プロ
グラム実行過程のトレース情報等の出力、エラー情報の
集計及び出力、使用中であったファイルの後処理等を行
った上で、実行中であったプログラムを終了させる為の
、いわゆる異常終了処理機能が準備される。
異常発生時において、そのような異常終了処理が十分に
行われれば、その後の異常発生原因の探索、或いは異常
発生の影響の波及範囲の極小化等が容易になる。
(C)従来技術と問題点 例えばFORTRAN等のプログラミング言語で計算機
利用者が作成したプログラム(以下において、ユーザ・
プログラムという)等を実行する場合には、そのプログ
ラミング・システムが提供する初期設定処理によって異
常終了出口アドレスが該システムに登録され、その後ユ
ーザ・プログラム本体に制御が渡る。
このプログラム実行中に、異常終了事象、例えば一般の
プログラムによる書込みを禁止されている主記憶領域に
書込みアクセスを要求する事象等、が起こった場合には
、そのオペレーティング・システムに準備された制御機
能によって、先に登録した異常終了出口に制御が渡る。
従来のシステムにおいては、こ\で異常終了処理プログ
ラムをロードして、異常終了処理を実行する。この異常
終了処理中に、更に異常終了事象が発生すると、それま
での処理は継続出来なくなり、異常終了事象が再度発生
した旨のメツセージを出力するのみで、処理を終了させ
る。
この結果、異常終了事象が重ねて発生すると、異常終了
処理が満足に行われないことになるが、例えば上記の例
のような異常終了事象は1原因から複数の事象を発生ず
る可能性が大きく、その処理の改善が必要とされた。
この改善方式が本出願人による別の特許出願(特願昭5
8−115615 r異常終了処理中の異常終了制御方
式」)に開示されている。それによれば、第1図に示す
ように異常処理プログラム1機能車位毎の処理ブロック
1−1.1−2.1−.3等に分割した構成とし、又各
処理ブロックに対応するコントロール・ルーチン2−1
.2−2.2−3等を設ける。
又、それらを制御する異常終了処理制御部4があり、異
常終了事象が発注すると異常終了処理制御部4が最初の
処理ブロックのコントロール・ルーチン1−1に制御を
渡す。
コントロール・ルーチン1−1は次のコントロール・ル
ーチン1−2の入口アドレスを次アドレス格納域5に格
納した後、処理ブロック1−1に制御を渡す。処理ブロ
ック1−1は分担する異常終了処理を正常に終わればコ
ントロール・ルーチン2−1に制御を戻し、該ルーチン
はコントロール・ルーチン2−2に制御を渡す。
コントロール・ルーチン2−2は2〜1と同様に、次の
コントロール・ルーチン2−3のアドレスヲ次アドレス
格納域5にセントし、以下同様に処理が進む。
処理ブロック1−1.1−2等の実行中に異常終了事象
が発生すると、異常終了出口アドレスを経て異常終了処
理制御部4に制御が渡り、該制御部4は実行中であった
処理ブロックをスキップして、次アドレス格納域5の内
容により、次の処理ブロックのコントロール・ルーチン
に制御を渡す。
このようにして、途中で異常終了事象が重ねて発生して
も、機能別に実行可能な異常終了処理はすべて完了する
こことができるので、以前のシステムで要望された異常
終了処理の改善は一応達成される。
しかし、この方式においては、機能別の各処理ブロック
ごとにそれを制御するコントロール・ルーチンを設ける
ので、処理ブロックの追加があると対応するコントロー
ル・ルーチンも追加を要し、且つ隣接のコントロール・
ルーチンにも手を加える必要がある等、異常終了処理プ
ログラムの改良が困難であり、又特殊なプログラム構造
であるために、プログラムの理解を困難にする等の欠点
があった。
(d)発明の目的 本発明の目的は、上記の欠点を除き、異常終了処理中に
更に異常終了事象が発生しても、一部の処理をスキップ
するのみで、残りの処理を完了することができ、且つ開
発及び保守の容易な異常終了処理プログラムの構造を有
する異常終了処理制御方式を提供するにある。
(e1発明の構成 この目的は本発明によれば、電子計算機システムで実行
されるプログラムの異常終了処理の制御において、該異
常終了処理プログラムを機能iJi位別の処理ブロック
に分割し、該ブロックの入口アドレスを内容とする項を
処理ブロックの実行順序に配列して記憶する処理ブロッ
ク表記憶手段と、上記処理ブロックの実行が異常終了す
る場合に、次ぎに実行する処理ブロックを上記処理ブロ
ック表の項アドレスによって指定する手段と、異常終了
処理において、上記処理ブロック表に従って、先頭の項
アドレス又は上記指定の項アドレスによって定まる処理
ブロックから順次上記処理ブロックを起動する制御手段
を持つ異常終了処理制御方式により達成される。
即ち、異常終了処理プログラムを機能別の処理ブロック
に分割し、その入口アドレスを処理ブロック表に処理順
に登録しておき、共通の1制御手段が処理ブロック表に
よって、順次処理ブロックを呼び出して実行する。又処
理ブロックの実行中に再度異常終了事象が発生した時は
、処理ブロック表の次の項にスキップして処理を続行す
る。
このような構成であるので、例えば処理ブロックの追加
は該追加ブロックの作成と、それを処理ブロック表の適
当な項に挿入するのみでよく、共通の制御ルーチンには
変更を要しない。又、各処理ブロックは分担する異常終
了処理のみを考慮した独立のサブルーチンとすればよい
(f)発明の実施例 第2図は本発明実施例の構成図である。本発明において
異常終了処理プログラムは機能別の処理ブロック20−
1.20−2等に分割される。
又、処理ブロック表22を設け、その各項23−1.2
3−2等にそれぞれ各処理ブロック20−1.20−2
等の入口アドレスを格納し、その末尾型24には線表の
末尾を示す終了表示(例えば2進数表示ですべて1とす
る)を設定する。
以上の構成において、処理ブロックの実行を制御するた
めに、全処理ブロック20−1〜20−nに共通の異常
終了処理制御部(以下において制御部と呼ふ)26を設
ける。制御部26は異常終了事象の発生によって制御を
渡され、以下に述べるように所要の処理ブロック20−
1〜20−nを順次実行させる。
本発明実施例においても、ユーザ・プログラムの実行開
始における初期設定において、前記の従来システムと同
様に異常終了出口アドレスの登録が行われ、該ユーザ・
プログラムの実行中に異常終了事象が発生すると、その
オペレーティング・システムの制御によって先に登録し
た異常終了出口アドレスの異常終了出口ルーチンに制御
が渡る。
本発明において、この異常終了出口ルーチンは第2図の
制御部26を主記憶にロードして、制御を渡す。
第3図は制御部26の処理の流れ図である。+1ilJ
御部26は入口30に制御が渡ると、まず初期設定処理
としてステップ31において、前記ユーザ・プログラム
の場合と同じオペレーティング・システムの機能を使用
して異常終了出口アドレスを登録する。
これにより、その後の異常終了処理中に異常終了事象が
発生すると、該登録した異常終了出口アドレスに制御が
渡るようになる。
次ぎにステップ32で、第2図の項アドレスレジスタ2
8を処理ブロック表の最初の項を指す環アドレス値に初
期設定する。本例において、項アドレスは処理ブロック
表の項番号で表示するものとすれば、初期値は0である
ステップ33〜38は処理ブロック20−1〜20−n
を順次実行する為の繰り返し処理部分を示し、まずステ
・7プ33で処理ブロック表22から項アドレスレジス
タ28の指す項を読み、ステップ34でそれが終了表示
かを識別する。
項内容が終了表示でない場合、ステップ36でその項が
指す処理ブロック (最初は20−1で示す処理ブロッ
ク1)を呼び出す。即ち、要すればその処理ブロックを
主記憶にロードした後、該処理ブロックに制御を渡す。
各処理ブロックは制御を渡された時、ステップ37の位
置で処理を実行し、処理が終わると呼出元である制御部
26の復帰アドレスへ戻る。この制御の授受は、公知の
サブルーチン呼出及び復帰の制御方法によることができ
る。
制御部26は処理ブロック20−1〜20−〇からステ
ップ38に制御が戻ると、こ\で項アドレスを次の項ア
ドレスに更新(本例では項アドレスを1だけ増分)し、
ステップ33からの処理ループの繰り返しへ戻る。
以上のようにして、呼び出した処理ブロックの処理が正
常に終了する限り、処理ブロック表22の各項に格納さ
れた入口アドレスの順序に従って、処理ブロック20−
1〜20−nが実行され、最後にステ・ノブ34で処理
ブロック表の項24の終了表示を検出することにより、
ステップ39へ進み、処理を終わる。
もし、ある処理ブロックiの実行中に更に異常終了事象
が発生した場合は、前記のように、先に登録した異常終
了出口アドレス40へ制御が渡るので、制御部26はス
テップ41で、再再度の異常終了事象発生に備えて、異
常終了出口アドレス(前と同じアドレス)を再登録する
次にステップ42で、項アドレスレジスク28を次のア
ドレスに更新する。即ち項アドレスレジスタ28には実
行中であった処理ブロックiを指すアドレス値i−1が
格納されているので、これを増分してiに更新する。こ
れにより、処理ブロックiのそれ以降の処理はスキップ
され、次の処理ブロックi+1呼出の準備ができる。
こ\で制御部26はステップ33の通常の処理ループへ
戻り、処理ブロックi+1の実行から処理を再開する。
その後、何れかの処理ブロックの実行で異常終了事象が
発生した場合も同様に、その処理ブロックの残りの処理
をスキップして、次の処理ブロックへ進み、かくしてす
べての処理ブロックによる処理を通った後、前記のよう
にステップ39の終了処理に行くことができる。
この構成によれば、処理ブロックを追加する場合、例え
ば第2図に破線で示すように処理ブロックaを追加する
場合は、該処理ブロック20−aを作成し、その入口ア
ドレスを例えば処理ブロック表22の項24に格納し、
項25を追加してこ\に終了表示を設定することにより
、他に何等の変更等を要せず処理ブロックの追加ができ
る。このことは以上の処理の流れの説明から明らがであ
ろう。
(g)発明の効果 以上の説明から明らかなように本発明によれば、異常終
了事象が多重に発生する場合の異常終了処理がより完全
になり、且つ該異常終了処理の機能追加及び変更が容易
になるので、計算機システムの利用度及び信顛度を改善
するという著しい工業的効果がある。
【図面の簡単な説明】
第1図は従来の異常終了処理の構成例の図、第2図は本
発明実施例の構成図、 第3図は異常終了処理制御部の処理の流れ図である。図
において、 20−1〜20−n及び20−aは処理ブロック、22
は処理ブロック表、 23−1〜23−n、 24.25は項、26は異常終
了処理制御部、 28は項アドレスレジスタ 30〜42は処理の流れにおけるステップを示す。 茅 1 図 亭 2F2’1

Claims (1)

    【特許請求の範囲】
  1. 電子計算機システムで実行されるプログラムの異常終了
    処理の制御において、該異常終了処理プログラムを機能
    単位別の処理ブロックに分割し、該ブロックの入口アド
    レスを内容とする項を処理ブロックの実行順序に配列し
    て記憶する処理プロ・7り表記憶手段と、上記処理ブロ
    ックの実行が異常終了する場合に、次ぎに実行する処理
    ブロックを上記処理ブロック表の項アドレスによって指
    定する手段と、異常終了処理において、上記処理ブロッ
    ク表に従って、先頭の項アドレス又は上記指定の項アド
    レスによって定まる処理ブロックから順次上記処理ブロ
    ックを起動する制御手段とを有することを特徴とする異
    常終了処理制御方式。
JP59070380A 1984-04-09 1984-04-09 異常終了処理制御方式 Granted JPS60214046A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59070380A JPS60214046A (ja) 1984-04-09 1984-04-09 異常終了処理制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59070380A JPS60214046A (ja) 1984-04-09 1984-04-09 異常終了処理制御方式

Publications (2)

Publication Number Publication Date
JPS60214046A true JPS60214046A (ja) 1985-10-26
JPS6365978B2 JPS6365978B2 (ja) 1988-12-19

Family

ID=13429775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59070380A Granted JPS60214046A (ja) 1984-04-09 1984-04-09 異常終了処理制御方式

Country Status (1)

Country Link
JP (1) JPS60214046A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6446107A (en) * 1987-08-13 1989-02-20 Niigata Engineering Co Ltd Automatic machine tool

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6446107A (en) * 1987-08-13 1989-02-20 Niigata Engineering Co Ltd Automatic machine tool

Also Published As

Publication number Publication date
JPS6365978B2 (ja) 1988-12-19

Similar Documents

Publication Publication Date Title
US5701493A (en) Exception handling method and apparatus in data processing systems
US6529985B1 (en) Selective interception of system calls
US4780819A (en) Emulator system utilizing a program counter and a latch coupled to an emulator memory for reducing fletch line of instructions stored in the emulator memory
US20070006200A1 (en) Microprocessor instruction that allows system routine calls and returns from all contexts
US5261101A (en) Method for calling and returning from subroutine that is invoked by either a near call or a far call
JP2539913B2 (ja) デ―タ処理システム
US4095268A (en) System for stopping and restarting the operation of a data processor
US9841994B2 (en) Implementation of multi-tasking on a digital signal processor with a hardware stack
US4394729A (en) Jump return stack
EP0417916B1 (en) Procedure state descriptor system for digital data processors
JPS60214046A (ja) 異常終了処理制御方式
JP2883488B2 (ja) 命令処理装置
JPS5835648A (ja) プログラム実行制御方式
JPS61184644A (ja) 仮想計算機システム制御方式
JP2591818B2 (ja) 補助機能の選択制御方法
JPS60193046A (ja) 命令例外検出方式
JPH0262633A (ja) プログラム間通知方式
JPH02133833A (ja) インサーキツトエミユレータ制御装置
JPS62290942A (ja) デバツガ起動方式
JPH01201728A (ja) プログラム修正方式
JPS6380334A (ja) マイクロプロセツサ
JPH01128135A (ja) スタック制御方式
JPS6118224B2 (ja)
JPH0417530B2 (ja)
JPS6146531A (ja) マイクロプロセツサ