JPH02113336A - 非同期例外捕獲方式 - Google Patents

非同期例外捕獲方式

Info

Publication number
JPH02113336A
JPH02113336A JP26763388A JP26763388A JPH02113336A JP H02113336 A JPH02113336 A JP H02113336A JP 26763388 A JP26763388 A JP 26763388A JP 26763388 A JP26763388 A JP 26763388A JP H02113336 A JPH02113336 A JP H02113336A
Authority
JP
Japan
Prior art keywords
exception
processing
asynchronous
execution
processing module
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
JP26763388A
Other languages
English (en)
Other versions
JPH0740231B2 (ja
Inventor
Yuji Ogawa
雄司 小川
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP63267633A priority Critical patent/JPH0740231B2/ja
Publication of JPH02113336A publication Critical patent/JPH02113336A/ja
Publication of JPH0740231B2 publication Critical patent/JPH0740231B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は計算機システムにおける非同期例外捕獲方式に
関し、特にリスト処理システム等の如く記憶領域にデー
タを動的に割り付け、処理の実行トトモにガーベノジコ
レクシッンによって前記割り付けられたデータが記憶領
域内で移動するような状況で非同期例外をl’m3!す
る方式に関するものである。
〔従来の技術] 従来、利用者からの要求により非同期例外を起こすこと
ができる計算機システムにおいては、利用者からの要求
により非同期例外を発生する非同期例外発生機構とこれ
で発生した非同期例外を検出する非同期例外検出機構と
を設け、利用者からの非同期例外が発生すると、システ
ムがどの処理を実1〒していようとも即座に現処理を中
断してレジスタの退避を行った後、その非同期例外の種
別に対応して予め利用者が定義した例外捕獲処理へ制御
を渡し、その例外捕獲処理が終了すると、レジスタを例
外発生時の内容に復元してから上記中断した処理を再開
していた。
第3図は上述の如き従来の非同期例外捕獲方式を適用し
た計算機システムのi能プロンク図であり、リスト処理
システム等の如きシステムを示す。
同図に示すシステムは、非同期例外発生機構14゜非同
期例外検出機構15、およびLISP処理系の如き処理
系16で構成され、処理系16では、複数の処理モジュ
ール18−1〜18−mが記憶領域に格納されたデータ
を処理し、実行制御部17が、第4図に示すように、モ
ジュール呼び出し要求を解析する処理Sl、この解析結
果に基づいて要求先の処理モジュール18−1等を呼び
出す処理S2、および処理S2で呼び出した処理モジュ
ール1日−1等の処理終了時のモジュール終了処理S3
を繰り返し実行することにより処理モジュール18−1
〜1B−mへの制御の受け渡しを司り、全体として処理
系16本来の処理を遂行している。また、非同期例外の
種類別に利用者が定義した例外捕獲処理を行う複数の例
外捕獲処理モジュール19−1−19−nが非同期例外
検出機構15と関連して登録されている。このような構
成において、利用者からの成る非同期例外が発生したと
きの動作を説明する。状況としては、例えば処理モジュ
ール18−1が実行され、その実行途中で処理モジュー
ル18−1から処理モジュール18−2が呼び出され、
この処理モジュール18−2の実行中に利用者からの非
同期例外が発生し、たものとする。
先ず、実行制御部17の処理S2によって処理モジュー
ル1日−1が呼び出され、処理モジュール18−1の処
理の途中で処理モジュール18−2の呼び出し要求が実
行制御部17に出されると、実行制御部17は処理S1
によって要求を解析し、処理S2によって処理モジュー
ル18−2を呼び出す。呼び出された処理モジュール1
8−2の実行中に、非同期例外発生機構14において利
用者からの非同期例外が生成されると、非同期例外検出
機構15により、現処理中の処理モジュール18−2の
状態を反映するレジスタの退避が行われた後、その非同
期例外の種別に対応する例えば例外捕獲処理モジュール
19−1が呼び出される。
例外捕獲処理モジュール19−1は予め定義された所定
の処理を実行し、その処理が終了すると、制御が非同期
例外検出機構15に戻り、レジスタの状態が例外発生時
の状態に復元され、処理モジュール18−2の例外発生
直後の命令から処理が再開される。そして、処理モジエ
ール18−2の処理が終了すると、実行制御部17の処
理S3によりモジュール終了処理が行われ、その後実行
制御部17は処理モジュール18−1の残りの処理が実
行されるように制御する。
(発明が解決しようとする課題〕 従来の非同期例外捕獲方式は、利用者からの非同期例外
発生時に即時に現処理を中断して例外捕獲処理を実行す
るため、前述の処理モジュール1日−2の如(処理モジ
ュールの実行途中に例外捕獲処理が実行される場合があ
り得る。ガーベッジコレクションを実施しないシステム
では、そのような方式でもあまり問題は生じないが、リ
スト処理システムの如くガーベッジコレクションが必要
不可欠なシステムでは、次のような問題が生じる。
−Cに、ガーヘソジコレクションでは、記憶領域内で不
要となった部分即ちゴミ(ガーヘソジ)を回収して再利
用可能とするが、併せて現在使用中の部分も処理に都合
の良いように並べ換えることがある。ごのようなガーヘ
ッジコレクションとしては、記憶領域内のデータを扱う
上で使用可能な部分が無くなったときに一括してガーへ
、ジコレクションを行う一括方式や、記憶領域内のデー
タを扱う処理によってデータ構造が変化した時点で即時
にガーヘッジコレクションを行う即時方式等の各種の方
式が知られている0例外捕獲処理モジュール19−1〜
19−nも他の処理モジュール18−1〜18−mと同
様に記憶領域内のデータを扱うため、ガーヘノジコレク
ションが実行されてデータが移動してしまうことがあり
得る。例えば上述の例において、処理モジュール18−
2の実行中、第5図(a)に示すように成るレジスタR
が記憶領域内の成るデータDのアドレスを保持していた
とする。このときに利用者からの非同期例外が発生する
と、非同期例外検出機構15によってレジスタRの内容
が退避され、例外捕獲処理モジュール19−1が呼び出
されるが、このときガーベッジコレクションが実行され
るとデータDの記憶領域内における位置が移動してしま
う可能性がある。そうすると、例外捕獲処理モジュール
19−1が終了し、非同期例外検出機構15によってレ
ジスタRの内容が例外発生直後の状態に戻され、処理モ
ジュール18−2の続きの処理が再開されるが、第5図
[有])に示すように、レジスタRの内容が回復されて
もデータD自体の位置が移動していると、正しくデータ
Dを参照することはできなくなる。同様な問題は、前述
の例において処理モジュール18−1の実行途中で非同
期例外が発生したときにも起こり得るものである。
本発明はこのような事情に迄みて為されたものであり、
その目的は、例外捕獲処理実行中にガーヘッジコレクシ
ョンが発生しても非同期例外発生時に実行中であった処
理モジュールに影響を与えることのない非同期例外捕獲
方式を提供することにある。
〔課題を解決するための手段] 本発明の非同期例外捕獲方式は、上記の目的を達成する
ために、記憶領域に格納されたデータを処理する複数の
処理モジュールと、これら複数の処理モジュールへの制
御の受け渡しを司る実行制御部とを含み、前記記憶領域
に対するガーベッジコレクシッンを行いつつ処理を進め
る計算機システムにおいて、利用者が定義した例外捕獲
処理を例外の種類別に登録するテーブル手段と、非同期
例外の発生時に前記実行制御部の一部の命令を一時的に
所定の分岐命令に変更する変更手段とを設け、前記分岐
命令の実行に応答して、前記発生した非同期例外の種類
に対応して前記テーブル手段に登録された例外捕獲処理
を実行するようにしている。
〔作用〕
本発明の非同期例外捕獲方式においては、テーブル手段
が、利用者の定義した例外捕獲処理を例外の種類別に保
持し、利用者からの非同期例外が発生すると、変更手段
が、複数の処理モジエールへの制御の受け渡しを司る実
行制御部の一部の命令を一時的に所定の分岐命令に変更
し、前記非同期例外が発生した時点で実行中であった処
理モジュールが終了することにより実行制御部に制御が
戻されて前記分岐命令が実行されると、その時点で初め
て、前記発生した非同期例外の種類に対応してテーブル
手段に登録された例外11ftM処理が実行される。
〔実施例] 次に、本発明の実施例について図面を参照して詳細に説
明する。
第1図は本発明の非同期例外捕獲方式を適用した計算機
システムの機能ブロック図であり、非同期例外発生機構
1と、非同期例外検出機構2と、処理系3とで構成され
ている。また、処理系3は、実行制御部4と、複数の処
理モジュール5−1〜5−mと、例外の種類毎の例外捕
獲処理モジュール6−1〜6−nと、第一例外ハンドラ
9と、第例外ハンドラ10と、例外テーブル11とを含
んでいる。
非同期例外発生機構1は、第3図の従来の非同期例外発
生機+j114と同しであり、利用者からの要求により
非同期例外を発生する機構である。
非同期例外検出機構2は、非同期例外発生機構1で発生
した利用者からの非同期例外を検出する機構であり、非
同期例外を検出すると、現実行中の処理を中断してレジ
スタの退避を行い、非同期例外発生時に実行すべきもの
として予め登録された第一例外ハンドラ9を呼び出す機
能を存する。
また、呼び出した第一例外ハンドラ9の処理が終了する
と、レジスタの回復を行って中断した処理を再開する機
能をも有する。
処理系3は、LISP処理系のような処理系であり、第
3図と同様に複数の処理モジュール51〜5−mが記憶
領域に格納されたデータを処理し、システムに唯一存在
する実行制御部4が、第4図に示したモジュール呼び出
し要求解析処理S1、モジュール呼び出し処理S2.モ
ジュール終了処理S3の繰り返しにより処理モジュール
5−1〜5−mへの制御の受け渡しを司り、全体として
処理系3本来の処理を遂行している。
例外捕獲処理モジュール6−1〜6−nは、非同期例外
の種類別に利用者が定義した例外捕獲処理を行うモジュ
ールである。これらの例外捕獲処理モジュール6−1〜
6−nは、第3図と異なり非同期例外検出機構2から直
接には呼ばれない。
例外テーブル11は、利用者が定義した例外捕獲処理を
例外の種類別に登録するテーブル手段であり、その−例
を第2図に示す、同図に示1ように、例外テーブル11
は、複数の要素11−111−2.・・・で構成され、
各要素11−1,112、・・・は、例外の種類を表す
種別、現在利用者から非同期例外の要求中であるか否か
を示す要求フラグ、及びその例外に対する捕獲処理を行
う例外捕獲処理モジュール6−1〜6−nにかかる情報
を登録する捕獲処理指定で構成されている。なお、要求
フラグは初期状態では非同期例外の要求中でないことを
示すオフになっている。
第一例外ハンドラ9は、前述したように、非同期例外を
検出したときに非同期例外検出機構2が呼び出すべき相
手として非同期例外検出機tI2に登録されている。す
なわち、非同期例外発生時には、制御が第一例外ハンド
ラ9に渡ってくるようになっている。この第一例外ハン
ドラ9は、非同期例外検出機構2から制御を引き取ると
、実行制御部4の一部の命令、たとえばモジュール終了
処理(第4図の処理S3)の最初の命令を第二例外ハン
ドラ10への分岐命令に書き換え、例外テーブル11の
今回の例外種別に対応する要素の要求フラグをオンにし
、その後制御を呼び出し元の非同期例外検出機構2に戻
す機能を有する。
第二例外ハンドラ10は、上記第一例外ハンドラ9によ
って実行制御部4のモジニール終了処理S3に埋め込ま
れた分岐命令によって制御が移行して(ると、その分岐
命令を元の命令に書き換え、例外テーブル11中の要求
フラグがオンになっている要素の捕獲処理指定を参照し
て該当する例外捕獲処理モジュール6−1〜6−nを呼
び出す処理を行う。このとき、要求フラグはオフに戻し
ておく。
なお、例外テーブル11.第一例外ハンドラ9および第
二例外ハンドラ10は、機能的には、例外の種類別に利
用者が定義した例外捕捉処理を登録しまたそれを扱う(
管理する)例外テーブル管理手段8を実現し、また、実
行制御部4.第一例外ハンドラ9および第二例外ハンド
ラ10は更に、機能的には、例外発生時に実行制御部4
の一部の命令を一時的に例外捕獲処理への分岐命令に変
更する実行制jIll変更手段7を実現していると言え
る。
次に、このように構成された本実施例の非同期例外捕獲
方式の動作を、従来の技術で説明したと同様の状況に沿
って説明する。
実行制御部4の第4図の処理S2によって呼び出された
処理モジニール5−1が、処理の途中で処理モジニール
5−2の呼び出し要求を実行制御部4に対して出すと、
実行制御部4は処理Stによって要求を解析し、処理S
2によって処理モジュール5−2を呼び出す。呼び出さ
れた処理モジュール5−2の実行中に、非同期例外発生
機構1において利用者からの非同期例外が生成されると
、非同期例外検出機構2により、現処理中の処理モジュ
ール5−2の状態を反映するレジスタの退避が行われた
後、第一例外ハンドラ9が呼び出される。第一例外ハン
ドラ9は、実行制御部4のモジュール終了処理S3の最
初の命令を第二例外ハンドラ10への分岐命令に書き換
え、命令テーブル11の今回の例外種別に対応する要素
の要求フラグをオンに設定し、処理を終える。
第一例外ハンドラ9の処理が終わると、非同期例外検出
機構2によって例外発生時のレジスタが回復され、処理
モジュール5−2の続きの処理が再開される。処理モジ
エール5−2の処理が終了すると、制御が実行制御部4
に戻され、実行制御部4はモジュール終了処理S3を開
始し始める。
このとき、モジュール終了処理S3の最初の命令は第一
例外ハンドラ9によって分岐命令に書き換えられている
ので、実行制御部4から第二例外ハンドラ10へ制御が
渡ることになる。
第二例外ハンドラ10は、実行制御部4のモジュール終
了処理S3の最初の命令すなわち分岐命令を元の命令に
戻し、例外テーブル11の要求フラグがオンになってい
る要素の捕獲処理指定を参照し、該当する例外捕獲処理
モジュールたとえば6−1を呼び出す。また、このとき
要求フラグをオフにする。
上述のようにして例外捕獲処理モジュール61が呼び出
されることによって、前記発生した利用者からの非同期
例外にかかる例外捕獲処理が初めて開始される。そして
、例外捕獲処理が終了すると、制御が実行制御部4のモ
ジュール終了処理S3に渡り、実行制御部4はこれを処
理モジz−ル5−2の終了としてとらえてそのモジュー
ル終了処理S3を行い、処理モジュール5−1の残りの
処理が実行されるように制御する。
〔発明の効果〕
以上説明したように、本発明の非同期例外捕獲方式にお
いては、処理モジュールの実行途中で非同期例外が発生
しても処理モジュールの終了を待ち合わせてから例外捕
獲処理へ制御を渡すため、例外捕獲処理実行中にガーヘ
ンジコレクシジンが発生しても例外発生時に実行中であ
った処理モジュールに影響を与えない、また、非同期例
外が発生した場合に、実行制御部の命令を一時的に分岐
命令に変更しているため、通常の処理に対する効率の低
下が全くないという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の機能ブロック図、第2図は
例外テーブルの構成例を示す図、第3図は従来方式の機
能ブロック図、 第4図は実行制御部の処理の流れを示す図および、 第5図は従来方式の問題点の説明図である。 図において、 l・・・非同期例外発生機構 2・・・非同期例外検出機構 3・・・処理系 4・・・実行制御部 5−1〜5−m・・・処理モジュール 6−1〜6−n・・・例外捕獲処理モジュール7・・・
実行制御変更手段 8・・例外テーブル管理手段 9・・第一例外ハントラ IO・・・第二例外ハンドラ 11 ・例外テーブル

Claims (1)

  1. 【特許請求の範囲】 記憶領域に格納されたデータを処理する複数の処理モジ
    ュールと、これら複数の処理モジュールへの制御の受け
    渡しを司る実行制御部とを含み、前記記憶領域に対する
    ガーベッジコレクションを行いつつ処理を進める計算機
    システムにおいて、利用者が定義した例外捕獲処理を例
    外の種類別に登録するテーブル手段と、 非同期例外の発生時に前記実行制御部の一部の命令を一
    時的に所定の分岐命令に変更する変更手段とを設け、 前記分岐命令の実行に応答して、前記発生した非同期例
    外の種類に対応して前記テーブル手段に登録された例外
    捕獲処理を実行するようにしたことを特徴とする非同期
    例外捕獲方式。
JP63267633A 1988-10-24 1988-10-24 非同期例外捕獲方式 Expired - Fee Related JPH0740231B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63267633A JPH0740231B2 (ja) 1988-10-24 1988-10-24 非同期例外捕獲方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63267633A JPH0740231B2 (ja) 1988-10-24 1988-10-24 非同期例外捕獲方式

Publications (2)

Publication Number Publication Date
JPH02113336A true JPH02113336A (ja) 1990-04-25
JPH0740231B2 JPH0740231B2 (ja) 1995-05-01

Family

ID=17447391

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63267633A Expired - Fee Related JPH0740231B2 (ja) 1988-10-24 1988-10-24 非同期例外捕獲方式

Country Status (1)

Country Link
JP (1) JPH0740231B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0438476A (ja) * 1990-06-01 1992-02-07 Toshiba Corp ディジタル形保護制御計測装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51233A (ja) * 1974-06-19 1976-01-05 Nippon Electric Co

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51233A (ja) * 1974-06-19 1976-01-05 Nippon Electric Co

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0438476A (ja) * 1990-06-01 1992-02-07 Toshiba Corp ディジタル形保護制御計測装置

Also Published As

Publication number Publication date
JPH0740231B2 (ja) 1995-05-01

Similar Documents

Publication Publication Date Title
JP2692609B2 (ja) マルチタスクのプログラムデバッグ方法とその装置
JPH02113336A (ja) 非同期例外捕獲方式
WO1994007202A1 (fr) Appareil de traitement de donnees
JPH09114673A (ja) プログラムロード装置と方法
JPH06149615A (ja) イベント記録方式
JPH0816431A (ja) 利用者プログラムのデバッグ処理システム
JPH02165352A (ja) ダンプ処理方式
JP3039450B2 (ja) スタック領域の切替方法、方式およびスタック領域切替プログラムを記録した記憶媒体
JP3706982B2 (ja) メモリ使用状態の保存方法
JPH03260838A (ja) Cpu使用時間制限方式
JPH01295337A (ja) モニタルーチン制御移行方式
JPH064472A (ja) 入出力優先順位制御方式
JPH0348984A (ja) データフロー型計算機のセルフクリーニング方式
JPH01284937A (ja) リンケージコンベンション方式
JPH0468446A (ja) デバッグ支援装置
JPH10171670A (ja) タスク切り替え装置及びタスク切り替えプログラムを記録した媒体
JPH04148427A (ja) プログラムパッチ方式
JPS638947A (ja) プログラムデバツグサポ−ト方式
JPH05324392A (ja) デバッグ装置
JPS62235645A (ja) マルチプロセスコンピユ−タ動作方法及びマルチプロセスコンピユ−タ
JPH03255554A (ja) 一時ファイル入出力制御方式
JPH0476732A (ja) トランザクションの実行プライオリティ制御方式
JPH02226354A (ja) 情報処理システム
JPH02253336A (ja) プログラム起動方式
JPH0417530B2 (ja)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees