JPH04127333A - アプリケーションタスクの障害検出方式 - Google Patents
アプリケーションタスクの障害検出方式Info
- Publication number
- JPH04127333A JPH04127333A JP2249182A JP24918290A JPH04127333A JP H04127333 A JPH04127333 A JP H04127333A JP 2249182 A JP2249182 A JP 2249182A JP 24918290 A JP24918290 A JP 24918290A JP H04127333 A JPH04127333 A JP H04127333A
- Authority
- JP
- Japan
- Prior art keywords
- task
- application
- stack
- application task
- operating system
- 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
Links
- 238000001514 detection method Methods 0.000 claims description 4
- 238000000034 method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はオペレーティングシステムにおけるアプリケー
ションタスクの障害検出方式に関する。
ションタスクの障害検出方式に関する。
従来、通常、あるアプリケーションタスクでサブルーチ
ンが更に他のサブルーチンを呼出すネスティングという
操作が何回ら行われた場合、サブルーチンに引渡すデー
タや、サブルーチンの処理が終了した後、サブルーチン
を呼出した側のルーチンの処理を続行するために必要な
情報を格納するために使用されるスタック領域が拡大し
ていく構成になっている。そして、この各アプリケーシ
ョンタスクの使用しているスタック領域の範囲はチエツ
クされていない。
ンが更に他のサブルーチンを呼出すネスティングという
操作が何回ら行われた場合、サブルーチンに引渡すデー
タや、サブルーチンの処理が終了した後、サブルーチン
を呼出した側のルーチンの処理を続行するために必要な
情報を格納するために使用されるスタック領域が拡大し
ていく構成になっている。そして、この各アプリケーシ
ョンタスクの使用しているスタック領域の範囲はチエツ
クされていない。
従って、スタック領域が拡大していき、そのアプリケー
ションタスクに割当てられているスタック領域の範囲よ
りも更に拡大してしまった場合、他のアプリケーション
タスクで使用しているスタック領域や、データ領域を破
壊してしまい、その結果、池のアプリクージョンタスク
の実行を妨げてしまうという問題点がある。
ションタスクに割当てられているスタック領域の範囲よ
りも更に拡大してしまった場合、他のアプリケーション
タスクで使用しているスタック領域や、データ領域を破
壊してしまい、その結果、池のアプリクージョンタスク
の実行を妨げてしまうという問題点がある。
本発明の目的は、問題を起したアプリケーションタスク
を直ちに識別でき、他のアプリケーションタスクの実行
に影響を及ぼすことを防止できるアプリクージョンタス
クの障害検出方式を提供することにある。
を直ちに識別でき、他のアプリケーションタスクの実行
に影響を及ぼすことを防止できるアプリクージョンタス
クの障害検出方式を提供することにある。
本発明のアプリケーションタスクの障害検出方式は、複
数のアプリクージョンタスクを時分割で実行させる環境
を有し、前記アプリクージョンタスクがサブルーチンを
呼出すときに使用するスタック領域の範囲を各アプリク
ージョンタスクに割当て管理するオペレーティングシス
テムにおいて、定期的に、すべてのアグリゲーションタ
スクの使用しているスタック領域が前記オペレーティン
グシステムによって管理しているスタック領域の範囲と
越えていないかどうかを順次確認し、越えていることを
検出した場合には、該当のアプリケーションタスクの実
行を停止する構成である。
数のアプリクージョンタスクを時分割で実行させる環境
を有し、前記アプリクージョンタスクがサブルーチンを
呼出すときに使用するスタック領域の範囲を各アプリク
ージョンタスクに割当て管理するオペレーティングシス
テムにおいて、定期的に、すべてのアグリゲーションタ
スクの使用しているスタック領域が前記オペレーティン
グシステムによって管理しているスタック領域の範囲と
越えていないかどうかを順次確認し、越えていることを
検出した場合には、該当のアプリケーションタスクの実
行を停止する構成である。
〔実施例〕
次に、本発明の実施例について図面を参照して説明する
。
。
第1図は本発明の一実施例を説明するためにアプリケー
ションタスクとそれに割当てられるスタック領域の関係
を示した図である。各アプリアゲ−ジョンタスク1−1
〜1−Nに対して、メモリ5の中にスタック領域3−1
〜3−Nが割当てられる。各アプリケーションタスクが
サブルーチンを呼出すときに、サブルーチンに引渡すデ
ータや、サブルーチンの処理が終了してサブルーチンを
呼出した側のルーチンに処理が戻ったときに、前の続き
の処理を行うために保持しておく必要がある情報がスタ
ック領域3−1〜3−Nに格納される。スタック領域3
−1〜3−Nは高いアドレスの方から低いアドレスの方
へと成長していき、現在使用されているアドレスはスタ
ックポインタ2−1〜2〜Nで示される。各アプリケー
ションタスクに使用が許容されているスタック領域の下
限アドレス4−1〜4−Nは、オペレーティングシステ
ム内のテーブル(図示せず)によって管理される。
ションタスクとそれに割当てられるスタック領域の関係
を示した図である。各アプリアゲ−ジョンタスク1−1
〜1−Nに対して、メモリ5の中にスタック領域3−1
〜3−Nが割当てられる。各アプリケーションタスクが
サブルーチンを呼出すときに、サブルーチンに引渡すデ
ータや、サブルーチンの処理が終了してサブルーチンを
呼出した側のルーチンに処理が戻ったときに、前の続き
の処理を行うために保持しておく必要がある情報がスタ
ック領域3−1〜3−Nに格納される。スタック領域3
−1〜3−Nは高いアドレスの方から低いアドレスの方
へと成長していき、現在使用されているアドレスはスタ
ックポインタ2−1〜2〜Nで示される。各アプリケー
ションタスクに使用が許容されているスタック領域の下
限アドレス4−1〜4−Nは、オペレーティングシステ
ム内のテーブル(図示せず)によって管理される。
第2図は本発明の一実j1例の処理の流れを示すフロー
チャートであり、オペレーティングシステムにおいてア
プリクージョンタスクを時分割で実行させる環境を実現
するために必要なアプリケーションタスク切替処理に、
各アプリケーションタスクで使用しているスタック領域
の範囲をチエツクする処理が追加されている。
チャートであり、オペレーティングシステムにおいてア
プリクージョンタスクを時分割で実行させる環境を実現
するために必要なアプリケーションタスク切替処理に、
各アプリケーションタスクで使用しているスタック領域
の範囲をチエツクする処理が追加されている。
アプリケーションタスク切替処理はタイマー割込みによ
り定期的に起動される。アプリケーションタスク切替処
理では、アプリケーションタスク1−1〜1〜Nのスタ
ックポインタ2−1〜2−Nとスタック領域の下限アド
レス4−1〜4−Nがタスクごとに順次比較され(ステ
ップ10)、スタックポインタが下限アドレスよりも小
さい値のときには、アプリケーションタスクに割当てら
れているステータスフラグにスタックオーバーフロービ
ットを立てる(ステップ11)、スタックポインタが下
限アドレスよりも大きい値のときには、タスク番号をチ
エツクしくステップ12)、最大値でない場合、タスク
番号に「1」を加え更新しステップ10へ戻る。ステッ
プ12で・タスク番号が最大値であることか確認された
場合、すなわち、すべてのアプリケーションタスクに対
するチエツクか終了したら、アプリクージョンタスクの
切替処理を行う(ステップ13)。このとき、ステータ
スフラグにスタックオーハーフロービットが立っている
と、そのアプリケーションタスクには切替えを行わない
。
り定期的に起動される。アプリケーションタスク切替処
理では、アプリケーションタスク1−1〜1〜Nのスタ
ックポインタ2−1〜2−Nとスタック領域の下限アド
レス4−1〜4−Nがタスクごとに順次比較され(ステ
ップ10)、スタックポインタが下限アドレスよりも小
さい値のときには、アプリケーションタスクに割当てら
れているステータスフラグにスタックオーバーフロービ
ットを立てる(ステップ11)、スタックポインタが下
限アドレスよりも大きい値のときには、タスク番号をチ
エツクしくステップ12)、最大値でない場合、タスク
番号に「1」を加え更新しステップ10へ戻る。ステッ
プ12で・タスク番号が最大値であることか確認された
場合、すなわち、すべてのアプリケーションタスクに対
するチエツクか終了したら、アプリクージョンタスクの
切替処理を行う(ステップ13)。このとき、ステータ
スフラグにスタックオーハーフロービットが立っている
と、そのアプリケーションタスクには切替えを行わない
。
本発明は以上説明したように、サブルーチンの呼出しが
何度もネスティングしたために、スタック領域がオーバ
ーツーローしたアプリケーションタスクを、オペレーテ
ィングシステムが確認し、実行状態にさせないようにし
たので、問題を起したアプリケーションタスクを直ちに
識別でき、他のアプリケーションタスクの実行に影響を
及ぼすことを防止できるという効果を有する。
何度もネスティングしたために、スタック領域がオーバ
ーツーローしたアプリケーションタスクを、オペレーテ
ィングシステムが確認し、実行状態にさせないようにし
たので、問題を起したアプリケーションタスクを直ちに
識別でき、他のアプリケーションタスクの実行に影響を
及ぼすことを防止できるという効果を有する。
第11図は本発明の一実施例を説明するためにアプリケ
ーションタスクとそれに割当てられるスタック領域の関
係を示した図、第2図は本発明の一実施例の処理の流れ
を示すフローチャートである。 1−1〜l−N・・・・タスク1〜タスクN、21〜2
N・・・・・タスク1〜タスクNのスタックポインタ、
3−1〜3−N・・・・・・タスク1〜タスクNに割当
てられたスタック領域、4−1〜l−N・・タスク1〜
タスクNに対するスタック領域の下限アドレス、5・・
・・−・メモリ。
ーションタスクとそれに割当てられるスタック領域の関
係を示した図、第2図は本発明の一実施例の処理の流れ
を示すフローチャートである。 1−1〜l−N・・・・タスク1〜タスクN、21〜2
N・・・・・タスク1〜タスクNのスタックポインタ、
3−1〜3−N・・・・・・タスク1〜タスクNに割当
てられたスタック領域、4−1〜l−N・・タスク1〜
タスクNに対するスタック領域の下限アドレス、5・・
・・−・メモリ。
Claims (1)
- 複数のアプリケーションタスクを時分割で実行させる環
境を有し、前記アプリケーションタスクがサブルーチン
を呼出すときに使用するスタック領域の範囲を各アプリ
ケーションタスクに割当て管理するオペレーティングシ
ステムにおいて、定期的に、すべてのアプリケーション
タスクの使用しているスタック領域が前記オペレーティ
ングシステムによって管理しているスタック領域の範囲
を越えていないかどうかを順次確認し、越えていること
を検出した場合には、該当のアプリケーションタスクの
実行を停止することを特徴とするオペレーティングシス
テムにおけるアプリケーションタスクの障害検出方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2249182A JPH04127333A (ja) | 1990-09-19 | 1990-09-19 | アプリケーションタスクの障害検出方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2249182A JPH04127333A (ja) | 1990-09-19 | 1990-09-19 | アプリケーションタスクの障害検出方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04127333A true JPH04127333A (ja) | 1992-04-28 |
Family
ID=17189124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2249182A Pending JPH04127333A (ja) | 1990-09-19 | 1990-09-19 | アプリケーションタスクの障害検出方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04127333A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09114698A (ja) * | 1995-10-16 | 1997-05-02 | Nec Corp | プログラム開発装置 |
-
1990
- 1990-09-19 JP JP2249182A patent/JPH04127333A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09114698A (ja) * | 1995-10-16 | 1997-05-02 | Nec Corp | プログラム開発装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS62162146A (ja) | マルチプロセッサシステムの試験方法 | |
US5261084A (en) | Error judgment method | |
JPH04127333A (ja) | アプリケーションタスクの障害検出方式 | |
JPH04266141A (ja) | スタックオーバーフロー検出方式 | |
JPH04127261A (ja) | マルチプロセッサシステム | |
JPH0540635A (ja) | プログラム出口の動的非アクテイブ化方法および装置 | |
JPH07210421A (ja) | スレッド環境におけるデバッグ方法 | |
WO1990005951A1 (en) | Method of handling unintended software interrupt exceptions | |
JPH0784786A (ja) | プログラム実行制御方法 | |
JPH0359727A (ja) | マイクロプロセッサにおける退避・復元方式 | |
JPH05324593A (ja) | マルチ・プロセッサシステムにおけるタスク管理方式 | |
JPH02183342A (ja) | 割込み制御装置 | |
JPS58221448A (ja) | マイクロコンピユ−タ | |
JPH01258040A (ja) | スタック情報の退避,復元処理方式 | |
JPH02272661A (ja) | エリア割付け装置 | |
JPH02304624A (ja) | 情報処理装置 | |
JPH02178748A (ja) | 仮想記憶計算システムの仮想記憶制御方法 | |
JPH02211562A (ja) | 情報処理システム | |
JPH04195539A (ja) | システムコール処理方式 | |
JPS626329A (ja) | デ−タ転送回路 | |
JPH04217032A (ja) | アドレス空間割り付け方式 | |
JPS63120303A (ja) | 汎用コントロ−ラ | |
JPH0439739A (ja) | 計算機システムの共有サブルーチン交換方式 | |
JPH0497435A (ja) | 例外処理制御方式 | |
JPH07107666B2 (ja) | 計算機システム |